@bptlab/openbpt-modeler-typed-pn-variants 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/assets/icons/pn-fire-transition.svg +6 -0
  4. package/assets/icons/pn-inhibitor-arc.svg +30 -0
  5. package/assets/icons/pn-place.svg +62 -0
  6. package/assets/icons/pn-transition.svg +46 -0
  7. package/assets/icons/pn-unfire-transition.svg +6 -0
  8. package/assets/icons/reset.svg +1 -0
  9. package/assets/icons/toggle-off.svg +1 -0
  10. package/assets/icons/toggle-on.svg +1 -0
  11. package/assets/simulation.css +265 -0
  12. package/assets/tpn-js.css +101 -0
  13. package/dist/lib/BaseViewer.js +181 -0
  14. package/dist/lib/BaseViewer.js.map +1 -0
  15. package/dist/lib/CustomModeler.js +100 -0
  16. package/dist/lib/CustomModeler.js.map +1 -0
  17. package/dist/lib/NavigatedViewer.js +14 -0
  18. package/dist/lib/NavigatedViewer.js.map +1 -0
  19. package/dist/lib/Viewer.js +53 -0
  20. package/dist/lib/Viewer.js.map +1 -0
  21. package/dist/lib/auto-place/CustomAutoPlace.js +10 -0
  22. package/dist/lib/auto-place/CustomAutoPlace.js.map +1 -0
  23. package/dist/lib/auto-place/CustomAutoPlaceUtil.js +51 -0
  24. package/dist/lib/auto-place/CustomAutoPlaceUtil.js.map +1 -0
  25. package/dist/lib/auto-place/index.js +9 -0
  26. package/dist/lib/auto-place/index.js.map +1 -0
  27. package/dist/lib/common/copy-paste/CommonCopyPaste.js +58 -0
  28. package/dist/lib/common/copy-paste/CommonCopyPaste.js.map +1 -0
  29. package/dist/lib/common/copy-paste/ModdleCopy.js +168 -0
  30. package/dist/lib/common/copy-paste/ModdleCopy.js.map +1 -0
  31. package/dist/lib/common/copy-paste/index.js +10 -0
  32. package/dist/lib/common/copy-paste/index.js.map +1 -0
  33. package/dist/lib/common/editor-actions/EditorActions.js +110 -0
  34. package/dist/lib/common/editor-actions/EditorActions.js.map +1 -0
  35. package/dist/lib/common/editor-actions/index.js +7 -0
  36. package/dist/lib/common/editor-actions/index.js.map +1 -0
  37. package/dist/lib/common/keyboard/KeyboardBindings.js +101 -0
  38. package/dist/lib/common/keyboard/KeyboardBindings.js.map +1 -0
  39. package/dist/lib/common/keyboard/index.js +8 -0
  40. package/dist/lib/common/keyboard/index.js.map +1 -0
  41. package/dist/lib/common/search/CommonSearchProvider.js +72 -0
  42. package/dist/lib/common/search/CommonSearchProvider.js.map +1 -0
  43. package/dist/lib/common/search/index.js +9 -0
  44. package/dist/lib/common/search/index.js.map +1 -0
  45. package/dist/lib/core/index.js +6 -0
  46. package/dist/lib/core/index.js.map +1 -0
  47. package/dist/lib/declarations-panel/Util.js +32 -0
  48. package/dist/lib/declarations-panel/Util.js.map +1 -0
  49. package/dist/lib/declarations-panel/cmd/IdentifierCommitHandler.js +34 -0
  50. package/dist/lib/declarations-panel/cmd/IdentifierCommitHandler.js.map +1 -0
  51. package/dist/lib/declarations-panel/cmd/MultiCommandHandler.js +24 -0
  52. package/dist/lib/declarations-panel/cmd/MultiCommandHandler.js.map +1 -0
  53. package/dist/lib/declarations-panel/cmd/index.js +19 -0
  54. package/dist/lib/declarations-panel/cmd/index.js.map +1 -0
  55. package/dist/lib/declarations-panel/context/DeclarationsPanelContext.js +10 -0
  56. package/dist/lib/declarations-panel/context/DeclarationsPanelContext.js.map +1 -0
  57. package/dist/lib/declarations-panel/context/index.js +2 -0
  58. package/dist/lib/declarations-panel/context/index.js.map +1 -0
  59. package/dist/lib/declarations-panel/hooks/index.js +2 -0
  60. package/dist/lib/declarations-panel/hooks/index.js.map +1 -0
  61. package/dist/lib/declarations-panel/hooks/useService.js +7 -0
  62. package/dist/lib/declarations-panel/hooks/useService.js.map +1 -0
  63. package/dist/lib/declarations-panel/provider/DeclarationsProvider.js +107 -0
  64. package/dist/lib/declarations-panel/provider/DeclarationsProvider.js.map +1 -0
  65. package/dist/lib/declarations-panel/provider/IdentifierService.js +107 -0
  66. package/dist/lib/declarations-panel/provider/IdentifierService.js.map +1 -0
  67. package/dist/lib/declarations-panel/provider/SimulationModeService.js +14 -0
  68. package/dist/lib/declarations-panel/provider/SimulationModeService.js.map +1 -0
  69. package/dist/lib/declarations-panel/provider/index.js +14 -0
  70. package/dist/lib/declarations-panel/provider/index.js.map +1 -0
  71. package/dist/lib/declarations-panel/provider/properties/ArcProps.js +123 -0
  72. package/dist/lib/declarations-panel/provider/properties/ArcProps.js.map +1 -0
  73. package/dist/lib/declarations-panel/provider/properties/IdProps.js +47 -0
  74. package/dist/lib/declarations-panel/provider/properties/IdProps.js.map +1 -0
  75. package/dist/lib/declarations-panel/provider/properties/ModelDeclarations.js +193 -0
  76. package/dist/lib/declarations-panel/provider/properties/ModelDeclarations.js.map +1 -0
  77. package/dist/lib/declarations-panel/provider/properties/NameProps.js +43 -0
  78. package/dist/lib/declarations-panel/provider/properties/NameProps.js.map +1 -0
  79. package/dist/lib/declarations-panel/provider/properties/PlaceProps.js +135 -0
  80. package/dist/lib/declarations-panel/provider/properties/PlaceProps.js.map +1 -0
  81. package/dist/lib/declarations-panel/provider/properties/ReferenceSelect.js +21 -0
  82. package/dist/lib/declarations-panel/provider/properties/ReferenceSelect.js.map +1 -0
  83. package/dist/lib/declarations-panel/provider/properties/TokenProps.js +116 -0
  84. package/dist/lib/declarations-panel/provider/properties/TokenProps.js.map +1 -0
  85. package/dist/lib/declarations-panel/provider/properties/Util.js +112 -0
  86. package/dist/lib/declarations-panel/provider/properties/Util.js.map +1 -0
  87. package/dist/lib/declarations-panel/provider/properties/VariableArcProps.js +107 -0
  88. package/dist/lib/declarations-panel/provider/properties/VariableArcProps.js.map +1 -0
  89. package/dist/lib/declarations-panel/provider/properties/index.js +8 -0
  90. package/dist/lib/declarations-panel/provider/properties/index.js.map +1 -0
  91. package/dist/lib/declarations-panel/render/DeclarationsPanel.js +197 -0
  92. package/dist/lib/declarations-panel/render/DeclarationsPanel.js.map +1 -0
  93. package/dist/lib/declarations-panel/render/DeclarationsPanelRenderer.js +154 -0
  94. package/dist/lib/declarations-panel/render/DeclarationsPanelRenderer.js.map +1 -0
  95. package/dist/lib/declarations-panel/render/PanelHeaderProvider.js +55 -0
  96. package/dist/lib/declarations-panel/render/PanelHeaderProvider.js.map +1 -0
  97. package/dist/lib/declarations-panel/render/PanelPlaceholderProvider.js +17 -0
  98. package/dist/lib/declarations-panel/render/PanelPlaceholderProvider.js.map +1 -0
  99. package/dist/lib/declarations-panel/render/index.js +9 -0
  100. package/dist/lib/declarations-panel/render/index.js.map +1 -0
  101. package/dist/lib/draw/CustomRenderer.js +361 -0
  102. package/dist/lib/draw/CustomRenderer.js.map +1 -0
  103. package/dist/lib/draw/TextRenderer.js +52 -0
  104. package/dist/lib/draw/TextRenderer.js.map +1 -0
  105. package/dist/lib/draw/index.js +8 -0
  106. package/dist/lib/draw/index.js.map +1 -0
  107. package/dist/lib/import/CustomImporter.js +177 -0
  108. package/dist/lib/import/CustomImporter.js.map +1 -0
  109. package/dist/lib/import/CustomTreeWalker.js +178 -0
  110. package/dist/lib/import/CustomTreeWalker.js.map +1 -0
  111. package/dist/lib/import/Importer.js +47 -0
  112. package/dist/lib/import/Importer.js.map +1 -0
  113. package/dist/lib/import/index.js +7 -0
  114. package/dist/lib/import/index.js.map +1 -0
  115. package/dist/lib/moddle/CustomModdle.js +86 -0
  116. package/dist/lib/moddle/CustomModdle.js.map +1 -0
  117. package/dist/lib/moddle/index.js +15 -0
  118. package/dist/lib/moddle/index.js.map +1 -0
  119. package/dist/lib/moddle/resources/dc.json +99 -0
  120. package/dist/lib/moddle/resources/diagramSchema.js +210 -0
  121. package/dist/lib/moddle/resources/diagramSchema.js.map +1 -0
  122. package/dist/lib/moddle/resources/modelSchema.js +254 -0
  123. package/dist/lib/moddle/resources/modelSchema.js.map +1 -0
  124. package/dist/lib/modeling/CustomElementFactory.js +66 -0
  125. package/dist/lib/modeling/CustomElementFactory.js.map +1 -0
  126. package/dist/lib/modeling/CustomLabelEditing.js +177 -0
  127. package/dist/lib/modeling/CustomLabelEditing.js.map +1 -0
  128. package/dist/lib/modeling/CustomModeling.js +40 -0
  129. package/dist/lib/modeling/CustomModeling.js.map +1 -0
  130. package/dist/lib/modeling/CustomUpdater.js +291 -0
  131. package/dist/lib/modeling/CustomUpdater.js.map +1 -0
  132. package/dist/lib/modeling/CustomVerification.js +111 -0
  133. package/dist/lib/modeling/CustomVerification.js.map +1 -0
  134. package/dist/lib/modeling/ElementFactory.js +56 -0
  135. package/dist/lib/modeling/ElementFactory.js.map +1 -0
  136. package/dist/lib/modeling/LabelUtil.js +151 -0
  137. package/dist/lib/modeling/LabelUtil.js.map +1 -0
  138. package/dist/lib/modeling/UpdateLabelHandler.js +86 -0
  139. package/dist/lib/modeling/UpdateLabelHandler.js.map +1 -0
  140. package/dist/lib/modeling/UpdateModdlePropertiesHandler.js +88 -0
  141. package/dist/lib/modeling/UpdateModdlePropertiesHandler.js.map +1 -0
  142. package/dist/lib/modeling/UpdatePropertiesHandler.js +136 -0
  143. package/dist/lib/modeling/UpdatePropertiesHandler.js.map +1 -0
  144. package/dist/lib/modeling/behavior/AdaptiveLabelPositioningBehavior.js +169 -0
  145. package/dist/lib/modeling/behavior/AdaptiveLabelPositioningBehavior.js.map +1 -0
  146. package/dist/lib/modeling/behavior/LabelBehavior.js +255 -0
  147. package/dist/lib/modeling/behavior/LabelBehavior.js.map +1 -0
  148. package/dist/lib/modeling/behavior/index.js +8 -0
  149. package/dist/lib/modeling/behavior/index.js.map +1 -0
  150. package/dist/lib/modeling/behavior/util/GeometricUtil.js +99 -0
  151. package/dist/lib/modeling/behavior/util/GeometricUtil.js.map +1 -0
  152. package/dist/lib/modeling/behavior/util/LabelLayoutUtil.js +178 -0
  153. package/dist/lib/modeling/behavior/util/LabelLayoutUtil.js.map +1 -0
  154. package/dist/lib/modeling/behavior/util/LineAttachmentUtil.js +175 -0
  155. package/dist/lib/modeling/behavior/util/LineAttachmentUtil.js.map +1 -0
  156. package/dist/lib/modeling/index.js +36 -0
  157. package/dist/lib/modeling/index.js.map +1 -0
  158. package/dist/lib/palette/CustomContextPadProvider.js +182 -0
  159. package/dist/lib/palette/CustomContextPadProvider.js.map +1 -0
  160. package/dist/lib/palette/CustomPaletteProvider.js +93 -0
  161. package/dist/lib/palette/CustomPaletteProvider.js.map +1 -0
  162. package/dist/lib/palette/TokenModals.js +105 -0
  163. package/dist/lib/palette/TokenModals.js.map +1 -0
  164. package/dist/lib/palette/index.js +28 -0
  165. package/dist/lib/palette/index.js.map +1 -0
  166. package/dist/lib/replace/ReplaceMenuProvider.js +84 -0
  167. package/dist/lib/replace/ReplaceMenuProvider.js.map +1 -0
  168. package/dist/lib/replace/index.js +9 -0
  169. package/dist/lib/replace/index.js.map +1 -0
  170. package/dist/lib/rules/CustomRuleProvider.js +107 -0
  171. package/dist/lib/rules/CustomRuleProvider.js.map +1 -0
  172. package/dist/lib/rules/index.js +8 -0
  173. package/dist/lib/rules/index.js.map +1 -0
  174. package/dist/lib/simulation/EventHelper.js +6 -0
  175. package/dist/lib/simulation/EventHelper.js.map +1 -0
  176. package/dist/lib/simulation/Utils.js +8 -0
  177. package/dist/lib/simulation/Utils.js.map +1 -0
  178. package/dist/lib/simulation/binding-utils/arcPlaceInfoLogic.js +157 -0
  179. package/dist/lib/simulation/binding-utils/arcPlaceInfoLogic.js.map +1 -0
  180. package/dist/lib/simulation/binding-utils/bindingUtils.js +64 -0
  181. package/dist/lib/simulation/binding-utils/bindingUtils.js.map +1 -0
  182. package/dist/lib/simulation/binding-utils/earlyReturnLogic.js +107 -0
  183. package/dist/lib/simulation/binding-utils/earlyReturnLogic.js.map +1 -0
  184. package/dist/lib/simulation/binding-utils/exactSynchro.js +102 -0
  185. package/dist/lib/simulation/binding-utils/exactSynchro.js.map +1 -0
  186. package/dist/lib/simulation/binding-utils/helpers.js +141 -0
  187. package/dist/lib/simulation/binding-utils/helpers.js.map +1 -0
  188. package/dist/lib/simulation/binding-utils/inhibitorLogic.js +166 -0
  189. package/dist/lib/simulation/binding-utils/inhibitorLogic.js.map +1 -0
  190. package/dist/lib/simulation/binding-utils/linkingLogic.js +384 -0
  191. package/dist/lib/simulation/binding-utils/linkingLogic.js.map +1 -0
  192. package/dist/lib/simulation/context-pads/ContextPads.js +141 -0
  193. package/dist/lib/simulation/context-pads/ContextPads.js.map +1 -0
  194. package/dist/lib/simulation/context-pads/FireTransitionHandler.js +481 -0
  195. package/dist/lib/simulation/context-pads/FireTransitionHandler.js.map +1 -0
  196. package/dist/lib/simulation/context-pads/FireTransitionUtils.js +169 -0
  197. package/dist/lib/simulation/context-pads/FireTransitionUtils.js.map +1 -0
  198. package/dist/lib/simulation/context-pads/FormJsAdapter.js +99 -0
  199. package/dist/lib/simulation/context-pads/FormJsAdapter.js.map +1 -0
  200. package/dist/lib/simulation/context-pads/index.js +8 -0
  201. package/dist/lib/simulation/context-pads/index.js.map +1 -0
  202. package/dist/lib/simulation/palette/Palette.js +36 -0
  203. package/dist/lib/simulation/palette/Palette.js.map +1 -0
  204. package/dist/lib/simulation/palette/index.js +6 -0
  205. package/dist/lib/simulation/palette/index.js.map +1 -0
  206. package/dist/lib/simulation/reset-simulation/ResetSimulation.js +36 -0
  207. package/dist/lib/simulation/reset-simulation/ResetSimulation.js.map +1 -0
  208. package/dist/lib/simulation/reset-simulation/index.js +6 -0
  209. package/dist/lib/simulation/reset-simulation/index.js.map +1 -0
  210. package/dist/lib/simulation/simulation-history/SimulationHistory.js +158 -0
  211. package/dist/lib/simulation/simulation-history/SimulationHistory.js.map +1 -0
  212. package/dist/lib/simulation/simulation-history/index.js +6 -0
  213. package/dist/lib/simulation/simulation-history/index.js.map +1 -0
  214. package/dist/lib/simulation/simulator/Simulator.js +131 -0
  215. package/dist/lib/simulation/simulator/Simulator.js.map +1 -0
  216. package/dist/lib/simulation/simulator/index.js +6 -0
  217. package/dist/lib/simulation/simulator/index.js.map +1 -0
  218. package/dist/lib/simulation/toggle-simulation-mode/DisableModeling.js +85 -0
  219. package/dist/lib/simulation/toggle-simulation-mode/DisableModeling.js.map +1 -0
  220. package/dist/lib/simulation/toggle-simulation-mode/ToggleSimulationMode.js +65 -0
  221. package/dist/lib/simulation/toggle-simulation-mode/ToggleSimulationMode.js.map +1 -0
  222. package/dist/lib/simulation/toggle-simulation-mode/index.js +8 -0
  223. package/dist/lib/simulation/toggle-simulation-mode/index.js.map +1 -0
  224. package/dist/lib/util/EventBusEvents.js +70 -0
  225. package/dist/lib/util/EventBusEvents.js.map +1 -0
  226. package/dist/lib/util/FileUtil.js +35 -0
  227. package/dist/lib/util/FileUtil.js.map +1 -0
  228. package/dist/lib/util/HtmlUtil.js +67 -0
  229. package/dist/lib/util/HtmlUtil.js.map +1 -0
  230. package/dist/lib/util/Util.js +60 -0
  231. package/dist/lib/util/Util.js.map +1 -0
  232. package/dist/lib/util/constants.js +6 -0
  233. package/dist/lib/util/constants.js.map +1 -0
  234. package/dist/lib/util/emptyDiagram.js +12 -0
  235. package/dist/lib/util/emptyDiagram.js.map +1 -0
  236. package/dist/lib/util/generated-icons.js +12 -0
  237. package/dist/lib/util/generated-icons.js.map +1 -0
  238. package/dist/scripts/build-icons.js +30 -0
  239. package/dist/scripts/build-icons.js.map +1 -0
  240. package/dist/tsconfig.tsbuildinfo +1 -0
  241. package/index.js +1 -0
  242. package/package.json +83 -0
@@ -0,0 +1,181 @@
1
+ import Diagram from "diagram-js";
2
+ import { query as domQuery } from "min-dom";
3
+ import { innerSVG } from "tiny-svg";
4
+ import { MODELER_PREFIX } from "./util/constants";
5
+ import CustomModdle from "./moddle";
6
+ import { importDiagram } from "./import/Importer";
7
+ import { assign, omit } from "min-dash";
8
+ export default class BaseViewer extends Diagram {
9
+ constructor(options) {
10
+ const { container, modules = [], additionalModules = [], moddleExtensions = {}, } = options;
11
+ const moddle = new CustomModdle(moddleExtensions);
12
+ const staticModules = [
13
+ {
14
+ moddle: ["value", moddle],
15
+ },
16
+ ];
17
+ const baseViewerModules = [
18
+ ...modules,
19
+ ...additionalModules,
20
+ ...staticModules,
21
+ ];
22
+ const diagramOptions = assign(
23
+ // Keep the original options, but remove container and modules
24
+ omit(options, [
25
+ "container",
26
+ "canvas",
27
+ "modules",
28
+ "additionalModules",
29
+ "moddleExtensions",
30
+ ]), {
31
+ canvas: {
32
+ container: container,
33
+ },
34
+ modules: baseViewerModules,
35
+ });
36
+ super(diagramOptions);
37
+ this._moddle = moddle;
38
+ // Inject customModeler after calling super
39
+ this.get("injector").invoke(function (injector) {
40
+ injector.customModeler = this;
41
+ });
42
+ this.get("eventBus").fire("attach"); // Needed for key listeners to work
43
+ }
44
+ importXML(xml) {
45
+ const self = this;
46
+ return new Promise(function (resolve, reject) {
47
+ // hook in pre-parse listeners +
48
+ // allow xml manipulation
49
+ xml = self._emit("import.parse.start", { xml: xml }) || xml;
50
+ const moddle = self.get("moddle");
51
+ moddle.ids.clear();
52
+ moddle
53
+ .fromXML(xml, `${MODELER_PREFIX}:Definitions`)
54
+ .then(function (result) {
55
+ let definitions = result.rootElement;
56
+ const { references, warnings, elementsById } = result;
57
+ const context = {
58
+ references,
59
+ elementsById,
60
+ warnings,
61
+ };
62
+ definitions =
63
+ self._emit("import.parse.complete", {
64
+ definitions,
65
+ context,
66
+ }) || definitions;
67
+ self.importDefinitions(definitions);
68
+ self.collectIds(moddle, elementsById);
69
+ self._emit("import.render.start", { definitions: definitions });
70
+ self.showModel(definitions);
71
+ self._emit("import.render.complete", {});
72
+ self._emit("import.done", { error: null, warnings: null });
73
+ resolve();
74
+ })
75
+ .catch(function (err) {
76
+ self._emit("import.parse.failed", {
77
+ error: err,
78
+ });
79
+ self._emit("import.done", { error: err, warnings: err.warnings });
80
+ return reject(err);
81
+ });
82
+ });
83
+ }
84
+ importDefinitions(definitions) {
85
+ this._definitions = definitions;
86
+ }
87
+ collectIds(moddle, elementsById) {
88
+ for (let id in elementsById) {
89
+ moddle.ids.claim(id, elementsById[id]);
90
+ }
91
+ }
92
+ showModel(definitions) {
93
+ this.clear();
94
+ // We currently assume that we only import single diagrams
95
+ const rootDiagram = definitions.diagram;
96
+ importDiagram(this, definitions, rootDiagram);
97
+ }
98
+ saveXML(options) {
99
+ options = options || {};
100
+ const self = this;
101
+ let definitions = this._definitions;
102
+ return new Promise(function (resolve, reject) {
103
+ if (!definitions) {
104
+ const err = new Error("no xml loaded");
105
+ return reject(err);
106
+ }
107
+ // allow to fiddle around with definitions
108
+ definitions =
109
+ self._emit("saveXML.start", {
110
+ definitions: definitions,
111
+ }) || definitions;
112
+ self
113
+ .get("moddle")
114
+ .toXML(definitions, options)
115
+ .then(function (result) {
116
+ let xml = result.xml;
117
+ try {
118
+ xml =
119
+ self._emit("saveXML.serialized", {
120
+ error: null,
121
+ xml: xml,
122
+ }) || xml;
123
+ self._emit("saveXML.done", {
124
+ error: null,
125
+ xml: xml,
126
+ });
127
+ }
128
+ catch (e) {
129
+ console.error("error in saveXML life-cycle listener", e);
130
+ }
131
+ return resolve({ xml: xml });
132
+ })
133
+ .catch(function (err) {
134
+ return reject(err);
135
+ });
136
+ });
137
+ }
138
+ _emit(type, event) {
139
+ return this.get("eventBus").fire(type, event);
140
+ }
141
+ saveSVG() {
142
+ const self = this;
143
+ return new Promise(function (resolve, reject) {
144
+ self._emit("saveSVG.start");
145
+ let svg, err;
146
+ try {
147
+ const canvas = self.get("canvas");
148
+ // Retrieve the layer of the canvas holding all modeled elements
149
+ const contentNode = canvas.getActiveLayer();
150
+ // Get bounds of the layer to determine the overall size of the exported SVG
151
+ const bbox = contentNode.getBBox();
152
+ const { width, height, x, y } = bbox;
153
+ // Derive the layer's content as SVG
154
+ const defsNode = domQuery("defs", canvas._svg);
155
+ const contents = innerSVG(contentNode);
156
+ const defs = defsNode ? "<defs>" + innerSVG(defsNode) + "</defs>" : "";
157
+ svg = `<?xml version="1.0" encoding="utf-8"?>
158
+ <!-- created with diagram-js -->
159
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
160
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
161
+ width="${width}" height="${height}"
162
+ viewBox="${x} ${y} ${width} ${height}" version="1.1">
163
+ ${defs}
164
+ ${contents}
165
+ </svg>`;
166
+ }
167
+ catch (e) {
168
+ err = e;
169
+ }
170
+ self._emit("saveSVG.done", {
171
+ error: err,
172
+ svg: svg,
173
+ });
174
+ if (!err) {
175
+ return resolve({ svg: svg });
176
+ }
177
+ return reject(err);
178
+ });
179
+ }
180
+ }
181
+ //# sourceMappingURL=BaseViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseViewer.js","sourceRoot":"","sources":["../../lib/BaseViewer.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { assign, omit } from "min-dash";
2
+ import BaseViewer from "./BaseViewer";
3
+ // diagram-js modules
4
+ import ZoomScrollModule from "diagram-js/lib/navigation/zoomscroll";
5
+ import MoveCanvasModule from "diagram-js/lib/navigation/movecanvas";
6
+ import BendPointsModule from "diagram-js/lib/features/bendpoints";
7
+ import ConnectModule from "diagram-js/lib/features/connect";
8
+ import ConnectionPreviewModule from "diagram-js/lib/features/connection-preview";
9
+ import ContextPadModule from "diagram-js/lib/features/context-pad";
10
+ import CreateModule from "diagram-js/lib/features/create";
11
+ import EditorActionsModule from "./common/editor-actions";
12
+ import GridSnappingModule from "diagram-js/lib/features/grid-snapping";
13
+ import KeyboardMoveSelectionModule from "diagram-js/lib/features/keyboard-move-selection";
14
+ import LassoToolModule from "diagram-js/lib/features/lasso-tool";
15
+ import ModelingModule from "diagram-js/lib/features/modeling";
16
+ import MoveModule from "diagram-js/lib/features/move";
17
+ import OutlineModule from "diagram-js/lib/features/outline";
18
+ import PaletteModule from "diagram-js/lib/features/palette";
19
+ import ResizeModule from "diagram-js/lib/features/resize";
20
+ import RulesModule from "diagram-js/lib/features/rules";
21
+ import SelectionModule from "diagram-js/lib/features/selection";
22
+ import SnappingModule from "diagram-js/lib/features/snapping";
23
+ import TranslateModule from "diagram-js/lib/i18n/translate";
24
+ // Custom common Modules
25
+ import SearchPadModule from "./common/search";
26
+ import KeyboardModule from "./common/keyboard";
27
+ import CopyPasteModule from "./common/copy-paste";
28
+ // Modeler-specific modules
29
+ import CustomPaletteModule from "./palette";
30
+ import CustomCoreModule from "./core";
31
+ import CustomModelingModule from "./modeling";
32
+ import CustomRulesModule from "./rules";
33
+ import CustomAutoPlaceModule from "./auto-place";
34
+ // Declarations panel modules
35
+ import DeclarationsPanelModule from "./declarations-panel/render";
36
+ import DeclarationsProviderModule from "./declarations-panel/provider";
37
+ // Simulation modules
38
+ import ToggleSimulationModeModule from "./simulation/toggle-simulation-mode";
39
+ import SimulationContextPadsModule from "./simulation/context-pads";
40
+ import SimulatorModule from "./simulation/simulator";
41
+ import SimulationPaletteModule from "./simulation/palette";
42
+ import ResetSimulationModule from "./simulation/reset-simulation";
43
+ import SimulationHistoryModule from "./simulation/simulation-history";
44
+ import emptyDiagram from "./util/emptyDiagram";
45
+ export default class CustomModeler extends BaseViewer {
46
+ constructor(options) {
47
+ const { declarationsPanel, additionalModules = [] } = options;
48
+ const builtinModules = [
49
+ ConnectModule,
50
+ ConnectionPreviewModule,
51
+ ContextPadModule,
52
+ CreateModule,
53
+ LassoToolModule,
54
+ ModelingModule,
55
+ MoveCanvasModule,
56
+ MoveModule,
57
+ OutlineModule,
58
+ PaletteModule,
59
+ RulesModule,
60
+ SelectionModule,
61
+ ZoomScrollModule,
62
+ EditorActionsModule,
63
+ KeyboardModule,
64
+ CopyPasteModule,
65
+ GridSnappingModule,
66
+ BendPointsModule,
67
+ ResizeModule,
68
+ SnappingModule,
69
+ KeyboardMoveSelectionModule,
70
+ TranslateModule,
71
+ SearchPadModule,
72
+ ];
73
+ const customModules = [
74
+ CustomPaletteModule,
75
+ CustomCoreModule,
76
+ CustomModelingModule,
77
+ CustomAutoPlaceModule,
78
+ CustomRulesModule,
79
+ DeclarationsPanelModule,
80
+ DeclarationsProviderModule,
81
+ ToggleSimulationModeModule,
82
+ SimulatorModule,
83
+ SimulationContextPadsModule,
84
+ SimulationPaletteModule,
85
+ ResetSimulationModule,
86
+ SimulationHistoryModule,
87
+ ];
88
+ const modules = [...builtinModules, ...customModules, ...additionalModules];
89
+ const diagramOptions = assign(
90
+ // Keep the original options, but remove additionalModules
91
+ omit(options, ["additionalModules"]),
92
+ // Add the modules as property
93
+ { declarationsPanel, modules });
94
+ super(diagramOptions);
95
+ }
96
+ createNew() {
97
+ return this.importXML(emptyDiagram);
98
+ }
99
+ }
100
+ //# sourceMappingURL=CustomModeler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomModeler.js","sourceRoot":"","sources":["../../lib/CustomModeler.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,qBAAqB;AACrB,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,uBAAuB,MAAM,4CAA4C,CAAC;AACjF,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,uCAAuC,CAAC;AACvE,OAAO,2BAA2B,MAAM,iDAAiD,CAAC;AAC1F,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,aAAa,MAAM,iCAAiC,CAAC;AAC5D,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,wBAAwB;AACxB,OAAO,eAAe,MAAM,iBAAiB,CAAC;AAC9C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,2BAA2B;AAC3B,OAAO,mBAAmB,MAAM,WAAW,CAAC;AAC5C,OAAO,gBAAgB,MAAM,QAAQ,CAAC;AACtC,OAAO,oBAAoB,MAAM,YAAY,CAAC;AAC9C,OAAO,iBAAiB,MAAM,SAAS,CAAC;AACxC,OAAO,qBAAqB,MAAM,cAAc,CAAC;AAEjD,6BAA6B;AAC7B,OAAO,uBAAuB,MAAM,6BAA6B,CAAC;AAClE,OAAO,0BAA0B,MAAM,+BAA+B,CAAC;AAEvE,qBAAqB;AACrB,OAAO,0BAA0B,MAAM,qCAAqC,CAAC;AAC7E,OAAO,2BAA2B,MAAM,2BAA2B,CAAC;AACpE,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,uBAAuB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAClE,OAAO,uBAAuB,MAAM,iCAAiC,CAAC;AAEtE,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAE/C,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,UAAU;IACnD,YAAY,OAAO;QACjB,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAE9D,MAAM,cAAc,GAAG;YACrB,aAAa;YACb,uBAAuB;YACvB,gBAAgB;YAChB,YAAY;YACZ,eAAe;YACf,cAAc;YACd,gBAAgB;YAChB,UAAU;YACV,aAAa;YACb,aAAa;YACb,WAAW;YACX,eAAe;YACf,gBAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,eAAe;YACf,kBAAkB;YAClB,gBAAgB;YAChB,YAAY;YACZ,cAAc;YACd,2BAA2B;YAC3B,eAAe;YACf,eAAe;SAChB,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,mBAAmB;YACnB,gBAAgB;YAChB,oBAAoB;YACpB,qBAAqB;YACrB,iBAAiB;YACjB,uBAAuB;YACvB,0BAA0B;YAC1B,0BAA0B;YAC1B,eAAe;YACf,2BAA2B;YAC3B,uBAAuB;YACvB,qBAAqB;YACrB,uBAAuB;SACxB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAE5E,MAAM,cAAc,GAAG,MAAM;QAC3B,0DAA0D;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACpC,8BAA8B;QAC9B,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAC/B,CAAC;QAEF,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { assign } from "min-dash";
2
+ import MoveCanvasModule from "diagram-js/lib/navigation/movecanvas";
3
+ import ZoomScrollModule from "diagram-js/lib/navigation/zoomscroll";
4
+ import Viewer from "./Viewer";
5
+ export default class NavigatedViewer extends Viewer {
6
+ constructor(options) {
7
+ const navigationModules = [MoveCanvasModule, ZoomScrollModule];
8
+ const navigatedViewerOptions = assign({}, options, {
9
+ modules: navigationModules,
10
+ });
11
+ super(navigatedViewerOptions);
12
+ }
13
+ }
14
+ //# sourceMappingURL=NavigatedViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigatedViewer.js","sourceRoot":"","sources":["../../lib/NavigatedViewer.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,MAAM;IACjD,YAAY,OAAO;QACjB,MAAM,iBAAiB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE/D,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;YACjD,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QAEH,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,53 @@
1
+ import { assign } from "min-dash";
2
+ import CustomCoreModule from "./core";
3
+ import TranslateModule from "diagram-js/lib/i18n/translate";
4
+ import SelectionModule from "diagram-js/lib/features/selection";
5
+ import OverlaysModule from "diagram-js/lib/features/overlays";
6
+ import BaseViewer from "./BaseViewer";
7
+ export default class Viewer extends BaseViewer {
8
+ constructor(options) {
9
+ const { modules = [] } = options;
10
+ const viewerModules = [
11
+ CustomCoreModule,
12
+ TranslateModule,
13
+ SelectionModule,
14
+ OverlaysModule,
15
+ ];
16
+ const mergedModules = [...modules, ...viewerModules];
17
+ const viewerOptions = assign({}, options, { modules: mergedModules });
18
+ super(viewerOptions);
19
+ }
20
+ }
21
+ /* ## Extending the Viewer
22
+ *
23
+ * In order to extend the viewer pass extension modules to bootstrap via the
24
+ * `additionalModules` option. An extension module is an object that exposes
25
+ * named services.
26
+ *
27
+ * The following example depicts the integration of a simple
28
+ * logging component that integrates with interaction events:
29
+ *
30
+ *
31
+ * ```javascript
32
+ *
33
+ * // logging component
34
+ * function InteractionLogger(eventBus) {
35
+ * eventBus.on('element.hover', function(event) {
36
+ * console.log()
37
+ * })
38
+ * }
39
+ *
40
+ * InteractionLogger.$inject = [ 'eventBus' ]; // minification save
41
+ *
42
+ * // extension module
43
+ * var extensionModule = {
44
+ * __init__: [ 'interactionLogger' ],
45
+ * interactionLogger: [ 'type', InteractionLogger ]
46
+ * };
47
+ *
48
+ * // extend the viewer
49
+ * const extendedViewer = new Viewer({ additionalModules: [ extensionModule ] });
50
+ * extendedViewer.importXML(...);
51
+ * ```
52
+ */
53
+ //# sourceMappingURL=Viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../../lib/Viewer.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,gBAAgB,MAAM,QAAQ,CAAC;AACtC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAE9D,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAC5C,YAAY,OAAO;QACjB,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACjC,MAAM,aAAa,GAAG;YACpB,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,cAAc;SACf,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC;QAErD,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAEtE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG"}
@@ -0,0 +1,10 @@
1
+ import { getNewShapePosition } from "./CustomAutoPlaceUtil";
2
+ export default function CustomAutoPlace(eventBus) {
3
+ eventBus.on("autoPlace", function (context) {
4
+ const shape = context.shape;
5
+ const source = context.source;
6
+ return getNewShapePosition(source, shape);
7
+ });
8
+ }
9
+ CustomAutoPlace.$inject = ["eventBus"];
10
+ //# sourceMappingURL=CustomAutoPlace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomAutoPlace.js","sourceRoot":"","sources":["../../../lib/auto-place/CustomAutoPlace.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,QAAQ;IAC9C,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,OAAO;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { getMid, asTRBL } from "diagram-js/lib/layout/LayoutUtil";
2
+ import { findFreePosition, generateGetNextPosition, getConnectedDistance, } from "diagram-js/lib/features/auto-place/AutoPlaceUtil";
3
+ import { MODELER_PREFIX } from "../util/constants";
4
+ // CustomModelerTodo: Define which elements may be auto-placed.
5
+ export function getNewShapePosition(source, element) {
6
+ if (element.type === `${MODELER_PREFIX}:Place` ||
7
+ element.type === `${MODELER_PREFIX}:Transition`) {
8
+ return getFlowNodePosition(source, element);
9
+ }
10
+ }
11
+ /**
12
+ * Always try to place element right of source;
13
+ * compute actual distance from previous nodes in flow.
14
+ */
15
+ export function getFlowNodePosition(source, element) {
16
+ const sourceTrbl = asTRBL(source);
17
+ const sourceMid = getMid(source);
18
+ // CustomModelerTodo: Define which connection type is used for auto-placement.
19
+ const horizontalDistance = getConnectedDistance(source, {
20
+ filter: function filter(connection) {
21
+ return connection.type === `${MODELER_PREFIX}:Arc`;
22
+ },
23
+ });
24
+ // CustomModelerTodo: Define the margin and minimum distance between elements.
25
+ const margin = 30;
26
+ const minDistance = 80;
27
+ const orientation = "left";
28
+ const position = {
29
+ x: sourceTrbl.right + horizontalDistance + element.width / 2,
30
+ y: sourceMid.y + getVerticalDistance(orientation, minDistance),
31
+ };
32
+ const nextPositionDirection = {
33
+ y: {
34
+ margin: margin,
35
+ minDistance: minDistance,
36
+ },
37
+ };
38
+ return findFreePosition(source, element, position, generateGetNextPosition(nextPositionDirection));
39
+ }
40
+ function getVerticalDistance(orientation, minDistance) {
41
+ if (orientation.indexOf("top") !== -1) {
42
+ return -1 * minDistance;
43
+ }
44
+ else if (orientation.indexOf("bottom") !== -1) {
45
+ return minDistance;
46
+ }
47
+ else {
48
+ return 0;
49
+ }
50
+ }
51
+ //# sourceMappingURL=CustomAutoPlaceUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomAutoPlaceUtil.js","sourceRoot":"","sources":["../../../lib/auto-place/CustomAutoPlaceUtil.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO;IACjD,IACE,OAAO,CAAC,IAAI,KAAK,GAAG,cAAc,QAAQ;QAC1C,OAAO,CAAC,IAAI,KAAK,GAAG,cAAc,aAAa,EAC/C,CAAC;QACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAM,EAAE,OAAO;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjC,8EAA8E;IAC9E,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,EAAE;QACtD,MAAM,EAAE,SAAS,MAAM,CAAC,UAAU;YAChC,OAAO,UAAU,CAAC,IAAI,KAAK,GAAG,cAAc,MAAM,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IAEH,8EAA8E;IAC9E,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG;QACf,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,kBAAkB,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC;QAC5D,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC;KAC/D,CAAC;IACF,MAAM,qBAAqB,GAAG;QAC5B,CAAC,EAAE;YACD,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,WAAW;SACzB;KACF,CAAC;IACF,OAAO,gBAAgB,CACrB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,uBAAuB,CAAC,qBAAqB,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAW,EAAE,WAAW;IACnD,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC;IAC1B,CAAC;SAAM,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,WAAW,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ // Candidate for common module
2
+ import AutoPlaceModule from "diagram-js/lib/features/auto-place";
3
+ import CustomAutoPlace from "./CustomAutoPlace";
4
+ export default {
5
+ __depends__: [AutoPlaceModule],
6
+ __init__: ["customAutoPlace"],
7
+ customAutoPlace: ["type", CustomAutoPlace],
8
+ };
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/auto-place/index.js"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,eAAe;IACb,WAAW,EAAE,CAAC,eAAe,CAAC;IAC9B,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { getBusinessObject } from "../../util/Util";
2
+ import { forEach, isArray, isUndefined } from "min-dash";
3
+ function copyProperties(source, target, properties) {
4
+ if (!isArray(properties)) {
5
+ properties = [properties];
6
+ }
7
+ forEach(properties, function (property) {
8
+ if (!isUndefined(source[property])) {
9
+ target[property] = source[property];
10
+ }
11
+ });
12
+ }
13
+ function removeProperties(element, properties) {
14
+ if (!isArray(properties)) {
15
+ properties = [properties];
16
+ }
17
+ forEach(properties, function (property) {
18
+ if (element[property]) {
19
+ delete element[property];
20
+ }
21
+ });
22
+ }
23
+ const LOW_PRIORITY = 750;
24
+ export default function CommonCopyPaste(customElementFactory, eventBus, moddleCopy) {
25
+ eventBus.on("copyPaste.copyElement", LOW_PRIORITY, function (context) {
26
+ const { descriptor, element } = context;
27
+ const businessObject = (descriptor.oldBusinessObject =
28
+ getBusinessObject(element));
29
+ descriptor.type = element.type;
30
+ copyProperties(businessObject, descriptor, "name");
31
+ descriptor.di = {};
32
+ // fill and stroke will be set to DI
33
+ copyProperties(businessObject.di, descriptor.di, ["fill", "stroke"]);
34
+ if (isLabel(descriptor)) {
35
+ return descriptor;
36
+ }
37
+ });
38
+ eventBus.on("copyPaste.pasteElement", function (context) {
39
+ const { cache, descriptor } = context;
40
+ const oldBusinessObject = descriptor.oldBusinessObject;
41
+ let newBusinessObject;
42
+ // do NOT copy business object if external label
43
+ if (isLabel(descriptor)) {
44
+ descriptor.businessObject = getBusinessObject(cache[descriptor.labelTarget]);
45
+ return;
46
+ }
47
+ newBusinessObject = customElementFactory.create(oldBusinessObject.$type);
48
+ descriptor.businessObject = moddleCopy.copyElement(oldBusinessObject, newBusinessObject);
49
+ copyProperties(descriptor, newBusinessObject, ["color", "name"]);
50
+ removeProperties(descriptor, "oldBusinessObject");
51
+ });
52
+ }
53
+ CommonCopyPaste.$inject = ["customElementFactory", "eventBus", "moddleCopy"];
54
+ // helpers //////////
55
+ function isLabel(element) {
56
+ return !!element.labelTarget;
57
+ }
58
+ //# sourceMappingURL=CommonCopyPaste.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonCopyPaste.js","sourceRoot":"","sources":["../../../../lib/common/copy-paste/CommonCopyPaste.js"],"names":[],"mappings":"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"}