UNPKG

eventstorming

Version:
75 lines 5.92 kB
import { EventPositionEntity } from "../entity/EventPositionEntity"; export class Renderer { constructor(svgGenerator) { this.stickyEntities = []; this.originPosition = { x: 0, y: 0 }; this._svgGenerator = svgGenerator; } createEntity(node, nodes) { let position = this.calculatePosition(nodes); let newEntity = new EventPositionEntity(position, node); this.handForChildNode(node, position, newEntity); this.stickyEntities.push(newEntity); return newEntity; } handForChildNode(node, position, newEntity) { if (node.hasRelatedChild()) { for (let index in node.relatedNodes) { let subPosition = this.calculateSubPosition(position, newEntity, node.relatedNodes[index]); let subEntity = new EventPositionEntity(subPosition, node.relatedNodes[index]); newEntity.subEntity.push(subEntity); } } } updateEntity(node, nodes) { let position = { x: 0, y: 0 }; for (let stickIndex in this.stickyEntities) { if (this.stickyEntities[stickIndex].id === node.id) { position = this.stickyEntities[stickIndex].pos; } } let newEntity = new EventPositionEntity(position, node); this.handForChildNode(node, position, newEntity); for (let stickIndex in this.stickyEntities) { if (this.stickyEntities[stickIndex].entity.id === node.id) { this.stickyEntities[stickIndex] = newEntity; } } return newEntity; } calculatePositions(nodes) { let positions = []; return positions; } calculateSubPosition(parentPosition, parentNode, currentNode) { return { x: parentPosition.x + 50, y: parentPosition.x + 50 }; } calculatePosition(nodes) { let position = { x: 0, y: 0 }; if (nodes.length > 1) { this.originPosition = { x: this.originPosition.x + 150, y: this.originPosition.y }; position = this.originPosition; } return position; } render() { let result = this._svgGenerator.build(this.stickyEntities); return result; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVuZGVyL1JlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSWxFLE1BQU07SUFRSixZQUFZLFlBQTBCO1FBUHRDLG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxtQkFBYyxHQUFjO1lBQzFCLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBSUEsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFpQixFQUFFLEtBQW9CO1FBQ2xELElBQUksUUFBUSxHQUFjLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFpQixFQUFFLFFBQW1CLEVBQUUsU0FBOEI7UUFDN0YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQixHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxXQUFXLEdBQWMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN0RyxJQUFJLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBRS9FLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUF5QixFQUFFLEtBQW9CO1FBQzFELElBQUksUUFBUSxHQUFjO1lBQ3hCLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRUYsR0FBRyxDQUFBLENBQUMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25ELFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksU0FBUyxHQUFHLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWpELEdBQUcsQ0FBQSxDQUFDLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQzFDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRyxDQUFDLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLFNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBRWhDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELG9CQUFvQixDQUFDLGNBQXlCLEVBQUUsVUFBK0IsRUFBRSxXQUEyQjtRQUMxRyxNQUFNLENBQUM7WUFDTCxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsR0FBRyxFQUFFO1lBQ3hCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLEVBQUU7U0FDekIsQ0FBQTtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFvQjtRQUM1QyxJQUFJLFFBQVEsR0FBYztZQUN4QixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVGLEVBQUUsQ0FBQSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHO2dCQUNwQixDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsR0FBRztnQkFDOUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN6QixDQUFDO1lBRUYsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDakMsQ0FBQztRQUVELE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDakIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YifQ==