You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
frontend/src/app/structures/HostRecord.ts

55 lines
1.1 KiB

export default class HostRecord {
public value = '';
public type: 'paragraph'|'header1'|'header2'|'header3'|'header4'|'block_code'|'click_link' = 'paragraph';
public CreatedAt: string;
public PageId: string;
public UUID: string;
public UpdatedAt: string;
public Value: any;
constructor(value = '') {
this.value = value;
}
load(data: any) {
this.type = data.Type;
[
'CreatedAt',
'PageId',
'UUID',
'UpdatedAt',
'Value',
].forEach(field => {
if ( field in data ) {
this[field] = data[field];
}
});
}
toSave() {
const data: any = {
Type: this.type
};
[
'CreatedAt',
'PageId',
'UUID',
'UpdatedAt',
'Value',
].forEach(field => {
if ( field in this ) {
data[field] = this[field];
}
});
if ( !data.Value ) {
data.Value = {};
}
data.Value.Value = this.value;
return data;
}
}