UNPKG

armisa-models

Version:
77 lines (71 loc) 2.16 kB
import { ISelfCheckTree } from "../../SelfModels/SelfCheckTree"; export interface ISpecifierCheckTreeView { id: number; isFromChild: boolean; isFromParent: boolean; code: IStructrulCodeTreeViewJson; multiCode?: boolean; } export interface IStructrulCodeFullName { id: number; code: string; name: string; } export interface IStructrulCodeTreeViewJson { isFromChild?: boolean; id: number; parentId: number; code: string; name: string; firstName?: string; isExpanded: boolean; isLoading: boolean; children: IStructrulCodeTreeViewJson[] | null; childCount: number; fullName?: IStructrulCodeFullName[]; check: ISelfCheckTree; } export class StructrulCodeTreeViewCode { static deserialize( data: IStructrulCodeTreeViewJson, children: IStructrulCodeTreeViewJson[] | null ): StructrulCodeTreeViewCode { return new StructrulCodeTreeViewCode( data.id, data.parentId, data.code, data.name, data.isExpanded, data.isLoading, data.childCount, data.check ?? 0, children, data.fullName ?? [], data.firstName || '', ); } public children: StructrulCodeTreeViewCode[] | null; constructor( public id: number, public parentId: number, public code: string, public name: string, public isExpanded: boolean, public isLoading: boolean, public childCount: number, public check: ISelfCheckTree, children: IStructrulCodeTreeViewJson[] | null, public fullName?: IStructrulCodeFullName[], public firstName?: string ) { if (children) { this.children = children.map( (item: IStructrulCodeTreeViewJson): StructrulCodeTreeViewCode => { return StructrulCodeTreeViewCode.deserialize(item, item.children); } ); } else { this.children = null; } } }