mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-10-08 14:51:32 +00:00
206
lib/insights/diagram/models/diagram.model.ts
Normal file
206
lib/insights/diagram/models/diagram.model.ts
Normal file
@@ -0,0 +1,206 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2016 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export class DiagramModel {
|
||||
diagramBeginX: number;
|
||||
diagramBeginY: number;
|
||||
diagramHeight: number;
|
||||
diagramWidth: number;
|
||||
elements: DiagramElementModel[] = [];
|
||||
flows: DiagramFlowElementModel[] = [];
|
||||
pools: DiagramPoolElementModel[] = [];
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.diagramBeginX = obj.diagramBeginX;
|
||||
this.diagramBeginY = obj.diagramBeginY;
|
||||
this.diagramHeight = obj.diagramHeight;
|
||||
this.diagramWidth = obj.diagramWidth;
|
||||
if (obj.elements) {
|
||||
obj.elements.forEach((element: DiagramElementModel) => {
|
||||
this.elements.push(new DiagramElementModel(element));
|
||||
});
|
||||
}
|
||||
if (obj.flows) {
|
||||
obj.flows.forEach((flow: DiagramFlowElementModel) => {
|
||||
this.flows.push(new DiagramFlowElementModel(flow));
|
||||
});
|
||||
}
|
||||
if (obj.pools) {
|
||||
obj.pools.forEach((pool: DiagramPoolElementModel) => {
|
||||
this.pools.push(new DiagramPoolElementModel(pool));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramElementModel {
|
||||
completed: boolean;
|
||||
current: boolean;
|
||||
height: string;
|
||||
id: string;
|
||||
name: string;
|
||||
type: string;
|
||||
width: string;
|
||||
value: string;
|
||||
x: string;
|
||||
y: string;
|
||||
properties: DiagramElementPropertyModel[] = [];
|
||||
dataType: string = '';
|
||||
eventDefinition: DiagramEventDefinitionModel;
|
||||
taskType: string = '';
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.completed = !!obj.completed;
|
||||
this.current = !!obj.current;
|
||||
this.height = obj.height || '';
|
||||
this.id = obj.id || '';
|
||||
this.name = obj.name || '';
|
||||
this.type = obj.type || '';
|
||||
this.width = obj.width || '';
|
||||
this.value = obj.value || '';
|
||||
this.x = obj.x || '';
|
||||
this.y = obj.y || '';
|
||||
this.taskType = obj.taskType || '';
|
||||
if (obj.properties) {
|
||||
obj.properties.forEach((property: DiagramElementPropertyModel) => {
|
||||
this.properties.push(new DiagramElementPropertyModel(property));
|
||||
});
|
||||
}
|
||||
this.dataType = obj.dataType || '';
|
||||
if (obj.eventDefinition) {
|
||||
this.eventDefinition = new DiagramEventDefinitionModel(obj.eventDefinition);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramElementPropertyModel {
|
||||
name: string;
|
||||
type: string;
|
||||
value: any;
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.name = obj.name;
|
||||
this.type = obj.type;
|
||||
this.value = obj.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramFlowElementModel {
|
||||
completed: boolean;
|
||||
current: boolean;
|
||||
id: string;
|
||||
properties: any[] = [];
|
||||
sourceRef: string;
|
||||
targetRef: string;
|
||||
type: string;
|
||||
waypoints: DiagramWayPointModel[] = [];
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.completed = !!obj.completed;
|
||||
this.current = !!obj.current;
|
||||
this.id = obj.id;
|
||||
this.properties = obj.properties;
|
||||
this.sourceRef = obj.sourceRef;
|
||||
this.targetRef = obj.targetRef;
|
||||
this.type = obj.type;
|
||||
if (obj.waypoints) {
|
||||
obj.waypoints.forEach((waypoint: DiagramWayPointModel) => {
|
||||
this.waypoints.push(new DiagramWayPointModel(waypoint));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramWayPointModel {
|
||||
x: number;
|
||||
y: number;
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.x = obj.x;
|
||||
this.y = obj.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramEventDefinitionModel {
|
||||
timeCycle: string;
|
||||
type: string;
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.timeCycle = obj.timeCycle;
|
||||
this.type = obj.type;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramPoolElementModel {
|
||||
height: string;
|
||||
id: string;
|
||||
name: string;
|
||||
properties: any;
|
||||
lanes: DiagramLaneElementModel[] = [];
|
||||
width: string;
|
||||
x: number;
|
||||
y: number;
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.height = obj.height;
|
||||
this.id = obj.id;
|
||||
this.name = obj.name;
|
||||
this.properties = obj.properties;
|
||||
this.width = obj.width;
|
||||
this.x = obj.x;
|
||||
this.y = obj.y;
|
||||
if (obj.lanes) {
|
||||
obj.lanes.forEach((lane: DiagramLaneElementModel) => {
|
||||
this.lanes.push(new DiagramLaneElementModel(lane));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class DiagramLaneElementModel {
|
||||
height: number;
|
||||
id: string;
|
||||
name: string;
|
||||
width: number;
|
||||
x: number;
|
||||
y: number;
|
||||
|
||||
constructor(obj?: any) {
|
||||
if (obj) {
|
||||
this.height = obj.height;
|
||||
this.id = obj.id;
|
||||
this.name = obj.name;
|
||||
this.width = obj.width;
|
||||
this.x = obj.x;
|
||||
this.y = obj.y;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user