UNPKG

eventstorming

Version:
53 lines 4.64 kB
export class SVGGenerator { buildBody(node) { return `<svg width="1024" height="1024" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"> ${node} </svg>`; } buildNode(stickyEntities, extend, options) { let extendField = ''; let sameLevelField = ''; let color = '#FFCC33'; if (extend && extend['level'] === 'same') { sameLevelField = extend['content']; } if (extend && extend['level'] === 'child') { extendField = extend['content']; } if (options && options['color']) { color = options['color']; } let entity = stickyEntities.entity; let pos = stickyEntities.pos; return `<g> <rect x="${pos.x}" y="${pos.y}" width="100" height="100" rx="2" ry="2" fill="${color}"/> <text x="${pos.x}" y="${pos.y + 30}" fill="#000"> <tspan x="${pos.x + 5}" dy="0">${entity.name}</tspan> </text>${extendField} </g>${sameLevelField}`; } buildWithChild(stickyEntity) { let result = ''; let childNodes = stickyEntity.subEntity; for (let childIndex in childNodes) { result = result + this.buildNode(childNodes[childIndex], {}, { color: '#0095DD' }); } return this.buildNode(stickyEntity, { level: 'child', content: result }); } buildNodes(stickyEntities) { let result = ''; for (let index in stickyEntities) { let stickyEntity = stickyEntities[index]; if (stickyEntity.hasRelatedChild()) { result = result + this.buildWithChild(stickyEntity); } else { result = result + this.buildNode(stickyEntity); } } return result; } build(stickyEntities) { let baseNodeString = this.buildNodes(stickyEntities); return this.buildBody(baseNodeString); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1ZHR2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbmRlci9TVkdHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTTtJQUNKLFNBQVMsQ0FBQyxJQUFJO1FBQ1osTUFBTSxDQUFDLCtGQUErRixJQUFJLFNBQVMsQ0FBQTtJQUNySCxDQUFDO0lBRUQsU0FBUyxDQUFDLGNBQW1DLEVBQUUsTUFBZSxFQUFFLE9BQWdCO1FBQzlFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBRXRCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN6QyxjQUFjLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLEdBQUcsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDO1FBRTdCLE1BQU0sQ0FBQzt5QkFDYyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLGtEQUFrRCxLQUFLO3lCQUN6RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRTs0QkFDcEIsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxDQUFDLElBQUk7dUJBQ3JDLFdBQVc7a0JBQ2hCLGNBQWMsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBaUM7UUFDOUMsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLElBQUksVUFBVSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDeEMsR0FBRyxDQUFBLENBQUMsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztZQUNqQyxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0lBQ3hFLENBQUM7SUFFRCxVQUFVLENBQUMsY0FBcUM7UUFDOUMsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDakMsSUFBSSxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLEVBQUUsQ0FBQSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sTUFBTSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQXFDO1FBQ3pDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGIn0=