svg-layout-designer-react/src/Interfaces/IContainerModel.ts
Eric Nguyen ad126c6c28 Merged PR 170: Add new eslint rules
- naming-convention
- prefer-arrow-callback
- func-style
- import/no-default-export
2022-08-26 16:13:21 +00:00

30 lines
862 B
TypeScript

import { IContainerProperties } from './IContainerProperties';
export interface IContainerModel {
children: IContainerModel[]
parent: IContainerModel | null
properties: IContainerProperties
userData: Record<string, string | number>
}
/**
* Macro for creating the interface
* Do not add methods since they will be lost during serialization
*/
export class ContainerModel implements IContainerModel {
public children: IContainerModel[];
public parent: IContainerModel | null;
public properties: IContainerProperties;
public userData: Record<string, string | number>;
constructor(
parent: IContainerModel | null,
properties: IContainerProperties,
children: IContainerModel[] = [],
userData = {}) {
this.parent = parent;
this.properties = properties;
this.children = children;
this.userData = userData;
}
};