| 1234567891011121314151617181920212223 |
- import {JsonSerializer} from "./JsonSerializer.js";
- import Node from "../../../graph/node/Node.js";
- import Edge from "../../../graph/edge/Edge.js";
- import Graph from "../../../graph/Graph.js";
- import {DZWFData} from "../../dzwf/DZWFData.js";
- import SerializerError from "../../../errors/SerializerError.js";
- export default class DzwfJsonSerializer implements JsonSerializer<{ dzwfData: DZWFData, graph: Graph<Node, Edge<Node>> }> {
- serialize(data: { dzwfData: DZWFData, graph: Graph<Node, Edge<Node>> }): string {
- const { dzwfData, graph } = data;
- for(const element of dzwfData.elements) {
- const node = graph.getNode(element.id);
- if(!node)
- throw new SerializerError(`Can't find node with id ${element.id} in result graph`);
- element.diagram.position.x = node.getX();
- element.diagram.position.y = node.getY();
- }
- return JSON.stringify(dzwfData);
- }
- }
|