@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,169 @@
1
+ /**
2
+ * Computes the cartesian product of a list of arrays.
3
+ *
4
+ * @param {Array<Array<any>>} valuesList - An array of arrays, each containing possible values for a dimension.
5
+ * @returns {Array<Array<any>>} The cartesian product as an array of arrays, where each inner array is a combination of values.
6
+ */
7
+ export function cartesianProduct(valuesList) {
8
+ if (valuesList.length === 1)
9
+ return valuesList;
10
+ return [
11
+ valuesList.reduce((acc, list) => acc.flatMap((a) => list.map((b) => [...a, b[0]])), [[]]),
12
+ ];
13
+ }
14
+ /**
15
+ * Finds tokens in a given place that match the allowed values specified by arc elements, variable type, and binding.
16
+ *
17
+ * @param {Object} place - The place object containing businessObject and marking information.
18
+ * @param {Object[]>} arcElements - Array of arc element objects used to determine allowed values.
19
+ * @param {Object} variableType - The variable type object with `id` and `alias` properties.
20
+ * @param {Object|Object[]>} binding - The binding(s) mapping data class keys to values.
21
+ * @returns {Object[]>|null} An array of matching token objects if any are found, otherwise `null`.
22
+ */
23
+ export function findMatchingToken(place, arcElements, variableType, binding) {
24
+ var _a;
25
+ const marking = ((_a = place === null || place === void 0 ? void 0 : place.businessObject) === null || _a === void 0 ? void 0 : _a.marking) || [];
26
+ if (!marking.length)
27
+ return null;
28
+ const bindingArray = Array.isArray(binding) ? binding : [binding];
29
+ // Build a map of allowed vales per color.id: Map<colorId, Set<value>>
30
+ const allowedValuesByColor = new Map();
31
+ arcElements.forEach((el, i) => {
32
+ var _a, _b;
33
+ const color = (_b = (_a = place === null || place === void 0 ? void 0 : place.businessObject) === null || _a === void 0 ? void 0 : _a.color) === null || _b === void 0 ? void 0 : _b[i];
34
+ const [isVariable, colorId] = checkIfColorIsVariable(variableType, color);
35
+ if (!colorId || !el.variableName)
36
+ return;
37
+ const dataClassKey = `${colorId}:${el.variableName}:${isVariable}`;
38
+ bindingArray.forEach((b) => {
39
+ var _a;
40
+ const value = b[dataClassKey];
41
+ if (value === undefined)
42
+ return;
43
+ const set = (_a = allowedValuesByColor.get(colorId)) !== null && _a !== void 0 ? _a : new Set(); // getOrDefault
44
+ set.add(value);
45
+ allowedValuesByColor.set(colorId, set);
46
+ });
47
+ });
48
+ // If no allowed values were found, return early
49
+ if (!allowedValuesByColor.size)
50
+ return null;
51
+ // Filter tokens: a token matches if ALL its values are in the allowed sets
52
+ const matches = marking.filter((token) => {
53
+ const values = (token === null || token === void 0 ? void 0 : token.values) || [];
54
+ if (!values.length)
55
+ return false;
56
+ return values.every((tv) => {
57
+ var _a;
58
+ const colorId = (_a = tv === null || tv === void 0 ? void 0 : tv.dataClass) === null || _a === void 0 ? void 0 : _a.id;
59
+ if (!colorId)
60
+ return false;
61
+ const allowedSet = allowedValuesByColor.get(colorId);
62
+ return allowedSet ? allowedSet.has(tv.value) : false;
63
+ });
64
+ });
65
+ return matches.length > 0 ? matches : null;
66
+ }
67
+ /**
68
+ * Collect values for generated variables on outgoing arcs.
69
+ * Reserves identifiers for generated variables.
70
+ *
71
+ * @param {Array} outgoingArcs - Transition outgoing arcs
72
+ * @param {Object} identifierService - Service providing reserveIdentifier / generateUniqueId
73
+ * @returns {{generatedBinding: Object, reservations: Array}} - Generated binding and reservations
74
+ */
75
+ export function generateValuesForBinding(outgoingArcs, identifierService) {
76
+ var _a;
77
+ const generatedVariables = new Map(); // variableName -> color
78
+ const reservations = [];
79
+ const generatedBinding = {};
80
+ for (const arc of outgoingArcs || []) {
81
+ const elements = ((_a = arc.businessObject.inscription) === null || _a === void 0 ? void 0 : _a.inscriptionElements) || [];
82
+ const targetPlace = arc.target;
83
+ elements.forEach((el, i) => {
84
+ var _a, _b;
85
+ if (!el.isGenerated)
86
+ return;
87
+ if (!el.variableName)
88
+ return;
89
+ if (generatedVariables.has(el.variableName))
90
+ return; // keep first occurrence
91
+ const color = (_b = (_a = targetPlace === null || targetPlace === void 0 ? void 0 : targetPlace.businessObject) === null || _a === void 0 ? void 0 : _a.color) === null || _b === void 0 ? void 0 : _b[i];
92
+ if (!color)
93
+ return;
94
+ generatedVariables.set(el.variableName, color);
95
+ });
96
+ }
97
+ for (const [variableName, color] of generatedVariables.entries()) {
98
+ const dataClassKey = `${color.id}:${variableName}:false`; // only non-variable data classes can be generated
99
+ try {
100
+ const token = identifierService.reserveIdentifier(color);
101
+ reservations.push(token);
102
+ generatedBinding[dataClassKey] = token.id;
103
+ }
104
+ catch (e) {
105
+ generatedBinding[dataClassKey] =
106
+ identifierService.generateUniqueId(color);
107
+ }
108
+ }
109
+ return { generatedBinding, reservations };
110
+ }
111
+ /**
112
+ * Extracts and maps token values from a given binding based on inscription elements, variable type, and color.
113
+ *
114
+ * @param {Object} place - The place object, typically containing an `id` property.
115
+ * @param {Object[]} inscriptionElements - Array of inscription element objects to process.
116
+ * @param {Object} variableType - The variable type object, expected to have `id` and `alias` properties.
117
+ * @param {Object} color - The color object, expected to have `id` and `alias` properties.
118
+ * @param {Object|Object[]} bindings - The binding(s) containing token values, can be a single object or an array of objects.
119
+ * @param {Object} generatedBinding - An object containing generated binding values, keyed by variable name.
120
+ * @returns {Object[]} An array of mapped value objects, each mapping the color id to its corresponding value.
121
+ */
122
+ export function getTokenValueMapFromBinding(place, inscriptionElements, variableType, color, bindings, generatedBinding) {
123
+ const bindingArray = Array.isArray(bindings) ? bindings : [bindings];
124
+ const mappedValues = [];
125
+ inscriptionElements.forEach((el) => {
126
+ if (el.dataClass != color)
127
+ return;
128
+ const [isVariable, colorId] = checkIfColorIsVariable(variableType, color);
129
+ if (!colorId || !el.variableName)
130
+ return;
131
+ const dataClassKey = `${colorId}:${el.variableName}:${isVariable}`;
132
+ let values;
133
+ if (el.isGenerated) {
134
+ const value = generatedBinding[dataClassKey]; // This is okay, as only non-variable data classes can be generated
135
+ values = value !== undefined ? [value] : [];
136
+ }
137
+ else {
138
+ values = bindingArray
139
+ .map((b) => b === null || b === void 0 ? void 0 : b[dataClassKey])
140
+ .filter((v) => v !== undefined && v !== null);
141
+ }
142
+ if (!values.length) {
143
+ console.warn(`Value for key "${dataClassKey}" not found in binding for place ${place.id}.`);
144
+ return;
145
+ }
146
+ values.forEach((value) => mappedValues.push({ [colorId]: value }));
147
+ });
148
+ return mappedValues;
149
+ }
150
+ export function deduplicate(mappedValues) {
151
+ const seen = new Set();
152
+ return mappedValues.filter((item) => {
153
+ const key = Object.entries(item)
154
+ .sort(([a], [b]) => a.localeCompare(b))
155
+ .map(([k, v]) => `${k}:${v}`)
156
+ .join("|");
157
+ if (seen.has(key))
158
+ return false;
159
+ seen.add(key);
160
+ return true;
161
+ });
162
+ }
163
+ function checkIfColorIsVariable(variableType, color) {
164
+ return [
165
+ (variableType === null || variableType === void 0 ? void 0 : variableType.id) === color.id && (variableType === null || variableType === void 0 ? void 0 : variableType.alias) === color.alias,
166
+ color.id,
167
+ ];
168
+ }
169
+ //# sourceMappingURL=FireTransitionUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FireTransitionUtils.js","sourceRoot":"","sources":["../../../../lib/simulation/context-pads/FireTransitionUtils.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { domify } from "min-dom";
2
+ /**
3
+ * Lightweight adapter to render a binding form using `form-js` when available.
4
+ * Falls back to a simple DOM-based form when `form-js` cannot be loaded.
5
+ *
6
+ * API: createBindingForm(container, vars, valueOptions) -> { getValues(): Object, destroy(): void }
7
+ */
8
+ export async function createBindingForm(container, vars, valueOptions) {
9
+ // Try to dynamically require form-js (works in bundlers that support optional dependencies)
10
+ try {
11
+ const mod = require("form-js");
12
+ const FormJS = mod && (mod.default || mod.Form || mod);
13
+ if (typeof FormJS === "function" || typeof FormJS === "object") {
14
+ // Attempt to use a reasonable API if present. As form-js APIs vary, fall back to DOM if we
15
+ // can't detect a render method.
16
+ if (typeof FormJS === "function") {
17
+ // best-effort: instantiate FormJS with container and a simple schema
18
+ try {
19
+ const schema = {
20
+ type: "form",
21
+ components: vars.map((v) => ({ key: v, type: "select", label: v })),
22
+ };
23
+ const form = new FormJS({ container, schema });
24
+ return {
25
+ getValues: () => {
26
+ // try common API methods
27
+ if (typeof form.get === "function")
28
+ return form.get();
29
+ if (typeof form.getValues === "function")
30
+ return form.getValues();
31
+ return {};
32
+ },
33
+ destroy: () => {
34
+ if (typeof form.destroy === "function")
35
+ form.destroy();
36
+ },
37
+ };
38
+ }
39
+ catch (e) {
40
+ // fall through to DOM fallback
41
+ }
42
+ }
43
+ }
44
+ }
45
+ catch (e) {
46
+ // module not present or failed to load -> fall back
47
+ }
48
+ // DOM fallback implementation (synchronous)
49
+ // Render predictable markup: wrapper .bts-fire-row, label .bts-fire-label,
50
+ // select .bts-fire-field-select and set data-var on the select.
51
+ const selects = {};
52
+ vars.forEach((v) => {
53
+ const wrapper = domify(`<div class="bts-fire-row"></div>`);
54
+ const label = domify(`<label class="bts-fire-label">${v}</label>`);
55
+ const sel = document.createElement("select");
56
+ sel.classList.add("bts-fire-field-select");
57
+ sel.setAttribute("data-var", v);
58
+ const opts = Array.from(valueOptions.get(v) || []);
59
+ if (opts.length === 0) {
60
+ const o = document.createElement("option");
61
+ o.value = "";
62
+ o.text = "(no values)";
63
+ sel.appendChild(o);
64
+ }
65
+ else {
66
+ // sort for deterministic ordering
67
+ opts.sort().forEach((val) => {
68
+ const o = document.createElement("option");
69
+ o.value = val;
70
+ o.text = val;
71
+ sel.appendChild(o);
72
+ });
73
+ }
74
+ wrapper.appendChild(label);
75
+ wrapper.appendChild(sel);
76
+ container.appendChild(wrapper);
77
+ selects[v] = sel;
78
+ });
79
+ return {
80
+ getValues: () => {
81
+ const out = {};
82
+ for (const v of vars) {
83
+ const val = selects[v].value;
84
+ if (val !== "")
85
+ out[v] = val;
86
+ }
87
+ return out;
88
+ },
89
+ destroy: () => {
90
+ for (const v of vars) {
91
+ const sel = selects[v];
92
+ if (sel && sel.parentNode)
93
+ sel.parentNode.remove();
94
+ }
95
+ },
96
+ };
97
+ }
98
+ export default createBindingForm;
99
+ //# sourceMappingURL=FormJsAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormJsAdapter.js","sourceRoot":"","sources":["../../../../lib/simulation/context-pads/FormJsAdapter.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import ContextPads from "./ContextPads";
2
+ import { FireTransitionHandler } from "./FireTransitionHandler";
3
+ export default {
4
+ __init__: ["contextPads", "fireTransitionHandler"],
5
+ contextPads: ["type", ContextPads],
6
+ fireTransitionHandler: ["type", FireTransitionHandler],
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/simulation/context-pads/index.js"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAe;IACb,QAAQ,EAAE,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAClD,WAAW,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAClC,qBAAqB,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACvD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { domify, classes as domClasses } from "min-dom";
2
+ import { TOGGLE_MODE_EVENT } from "../EventHelper";
3
+ export default function Palette(eventBus, canvas) {
4
+ var self = this;
5
+ this._canvas = canvas;
6
+ this.entries = [];
7
+ this._init();
8
+ eventBus.on(TOGGLE_MODE_EVENT, function (context) {
9
+ var active = context.active;
10
+ if (active) {
11
+ domClasses(self.container).remove("hidden");
12
+ }
13
+ else {
14
+ domClasses(self.container).add("hidden");
15
+ }
16
+ });
17
+ }
18
+ Palette.prototype._init = function () {
19
+ this.container = domify('<div class="bts-palette hidden"></div>');
20
+ this._canvas.getContainer().appendChild(this.container);
21
+ };
22
+ Palette.prototype.addEntry = function (entry, index) {
23
+ var childIndex = 0;
24
+ this.entries.forEach(function (entry) {
25
+ if (index >= entry.index) {
26
+ childIndex++;
27
+ }
28
+ });
29
+ this.container.insertBefore(entry, this.container.childNodes[childIndex]);
30
+ this.entries.push({
31
+ entry: entry,
32
+ index: index,
33
+ });
34
+ };
35
+ Palette.$inject = ["eventBus", "canvas"];
36
+ //# sourceMappingURL=Palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Palette.js","sourceRoot":"","sources":["../../../../lib/simulation/palette/Palette.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,QAAQ,EAAE,MAAM;IAC9C,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAEtB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC;IAEb,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAU,OAAO;QAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE5B,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG;IACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,wCAAwC,CAAC,CAAC;IAElE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,KAAK,EAAE,KAAK;IACjD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK;QAClC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,CAAC,OAAO,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import Palette from "./Palette";
2
+ export default {
3
+ __init__: ["tokenSimulationPalette"],
4
+ tokenSimulationPalette: ["type", Palette],
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/simulation/palette/index.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe;IACb,QAAQ,EAAE,CAAC,wBAAwB,CAAC;IACpC,sBAAsB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { domify, classes as domClasses, event as domEvent } from "min-dom";
2
+ import { TOGGLE_MODE_EVENT, RESET_SIMULATION_EVENT, FIRE_TRANSITION_EVENT, } from "../EventHelper";
3
+ import generatedIcons from "../../util/generated-icons";
4
+ export default function ResetSimulation(eventBus, tokenSimulationPalette) {
5
+ this._eventBus = eventBus;
6
+ this._tokenSimulationPalette = tokenSimulationPalette;
7
+ this._init();
8
+ eventBus.on(FIRE_TRANSITION_EVENT, () => {
9
+ domClasses(this._paletteEntry).remove("disabled");
10
+ });
11
+ eventBus.on(TOGGLE_MODE_EVENT, (event) => {
12
+ const active = (this._active = event.active);
13
+ if (!active) {
14
+ this.resetSimulation();
15
+ }
16
+ });
17
+ eventBus.on(RESET_SIMULATION_EVENT, () => {
18
+ domClasses(this._paletteEntry).add("disabled");
19
+ });
20
+ }
21
+ ResetSimulation.prototype._init = function () {
22
+ this._paletteEntry = domify(`
23
+ <div class="bts-entry disabled" title="Reset Simulation">
24
+ <img src="${generatedIcons["reset"]}" alt="Reset Simulation" width="20" height="20"/>
25
+ </div>
26
+ `);
27
+ domEvent.bind(this._paletteEntry, "click", () => {
28
+ this.resetSimulation();
29
+ });
30
+ this._tokenSimulationPalette.addEntry(this._paletteEntry, 1);
31
+ };
32
+ ResetSimulation.prototype.resetSimulation = function () {
33
+ this._eventBus.fire(RESET_SIMULATION_EVENT);
34
+ };
35
+ ResetSimulation.$inject = ["eventBus", "tokenSimulationPalette"];
36
+ //# sourceMappingURL=ResetSimulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetSimulation.js","sourceRoot":"","sources":["../../../../lib/simulation/reset-simulation/ResetSimulation.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,UAAU,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,QAAQ,EAAE,sBAAsB;IACtE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC1B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IAEtD,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACtC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACvC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,CAAC,SAAS,CAAC,KAAK,GAAG;IAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;;oBAEV,cAAc,CAAC,OAAO,CAAC;;GAExC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,eAAe,CAAC,SAAS,CAAC,eAAe,GAAG;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,eAAe,CAAC,OAAO,GAAG,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import ResetSimulation from "./ResetSimulation";
2
+ export default {
3
+ __init__: ["resetSimulation"],
4
+ resetSimulation: ["type", ResetSimulation],
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/simulation/reset-simulation/index.js"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,eAAe;IACb,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,158 @@
1
+ import { domify, classes as domClasses, event as domEvent } from "min-dom";
2
+ import { RESET_SIMULATION_EVENT, TOGGLE_MODE_EVENT } from "../EventHelper";
3
+ import generatedIcons from "../../util/generated-icons";
4
+ export default function SimulationHistory(eventBus, tokenSimulationPalette, commandStack) {
5
+ this._eventBus = eventBus;
6
+ this._tokenSimulationPalette = tokenSimulationPalette;
7
+ this._commandStack = commandStack;
8
+ // track simulation state to avoid undoing commands from before simulation
9
+ this._simulationActive = false;
10
+ this._commandsDuringSimulation = 0;
11
+ // baseline index in the command stack when entering simulation (private API)
12
+ this._baselineStackIdx = null;
13
+ this._init();
14
+ // update enabled state when the command stack changes or when the simulation is reset
15
+ eventBus.on("commandStack.changed", () => {
16
+ const canUndo = this._commandStack && typeof this._commandStack.canUndo === "function"
17
+ ? this._commandStack.canUndo()
18
+ : true;
19
+ const canRedo = this._commandStack && typeof this._commandStack.canRedo === "function"
20
+ ? this._commandStack.canRedo()
21
+ : false;
22
+ const undoEl = this._paletteEntry && this._paletteEntry.querySelector
23
+ ? this._paletteEntry.querySelector('[data-role="undo"]')
24
+ : null;
25
+ const redoEl = this._paletteEntry && this._paletteEntry.querySelector
26
+ ? this._paletteEntry.querySelector('[data-role="redo"]')
27
+ : null;
28
+ if (this._simulationActive) {
29
+ // if commandStack exposes private _stackIdx use it to prevent undoing
30
+ // commands before simulation started
31
+ const currentIdx = this._commandStack && typeof this._commandStack._stackIdx === "number"
32
+ ? this._commandStack._stackIdx
33
+ : null;
34
+ const allowUndo = (() => {
35
+ if (!canUndo)
36
+ return false;
37
+ if (currentIdx === null || this._baselineStackIdx === null) {
38
+ // fallback: require at least one recorded command during session
39
+ return this._commandsDuringSimulation > 0;
40
+ }
41
+ return currentIdx > this._baselineStackIdx;
42
+ })();
43
+ const allowRedo = (() => {
44
+ if (!canRedo)
45
+ return false;
46
+ if (currentIdx === null || this._baselineStackIdx === null) {
47
+ return this._commandsDuringSimulation > 0 && canRedo;
48
+ }
49
+ // allow redo if there is any redo target beyond current (normal canRedo)
50
+ return canRedo;
51
+ })();
52
+ // count commands that happened during the active simulation session
53
+ this._commandsDuringSimulation += 1;
54
+ if (undoEl) {
55
+ if (allowUndo)
56
+ domClasses(undoEl).remove("disabled");
57
+ else
58
+ domClasses(undoEl).add("disabled");
59
+ }
60
+ if (redoEl) {
61
+ if (allowRedo)
62
+ domClasses(redoEl).remove("disabled");
63
+ else
64
+ domClasses(redoEl).add("disabled");
65
+ }
66
+ }
67
+ else {
68
+ // normal mode: reflect full command stack state
69
+ if (undoEl) {
70
+ if (canUndo)
71
+ domClasses(undoEl).remove("disabled");
72
+ else
73
+ domClasses(undoEl).add("disabled");
74
+ }
75
+ if (redoEl) {
76
+ if (canRedo)
77
+ domClasses(redoEl).remove("disabled");
78
+ else
79
+ domClasses(redoEl).add("disabled");
80
+ }
81
+ }
82
+ });
83
+ eventBus.on(RESET_SIMULATION_EVENT, () => {
84
+ const undoEl = this._paletteEntry && this._paletteEntry.querySelector
85
+ ? this._paletteEntry.querySelector('[data-role="undo"]')
86
+ : null;
87
+ const redoEl = this._paletteEntry && this._paletteEntry.querySelector
88
+ ? this._paletteEntry.querySelector('[data-role="redo"]')
89
+ : null;
90
+ if (undoEl)
91
+ domClasses(undoEl).add("disabled");
92
+ if (redoEl)
93
+ domClasses(redoEl).add("disabled");
94
+ });
95
+ // Only allow undo/redo when simulation mode is active
96
+ eventBus.on(TOGGLE_MODE_EVENT, (event) => {
97
+ const active = event && event.active;
98
+ const undoEl = this._paletteEntry && this._paletteEntry.querySelector
99
+ ? this._paletteEntry.querySelector('[data-role="undo"]')
100
+ : null;
101
+ const redoEl = this._paletteEntry && this._paletteEntry.querySelector
102
+ ? this._paletteEntry.querySelector('[data-role="redo"]')
103
+ : null;
104
+ if (!active) {
105
+ // switching out of simulation: disable and clear counters
106
+ this._simulationActive = false;
107
+ this._commandsDuringSimulation = 0;
108
+ if (undoEl)
109
+ domClasses(undoEl).add("disabled");
110
+ if (redoEl)
111
+ domClasses(redoEl).add("disabled");
112
+ return;
113
+ }
114
+ // entering simulation: mark active but do not enable undo/redo until
115
+ // at least one command happens while simulation is active
116
+ this._simulationActive = true;
117
+ this._commandsDuringSimulation = 0;
118
+ // record baseline command stack index if available (private API)
119
+ this._baselineStackIdx =
120
+ this._commandStack && typeof this._commandStack._stackIdx === "number"
121
+ ? this._commandStack._stackIdx
122
+ : null;
123
+ if (undoEl)
124
+ domClasses(undoEl).add("disabled");
125
+ if (redoEl)
126
+ domClasses(redoEl).add("disabled");
127
+ });
128
+ }
129
+ SimulationHistory.prototype._init = function () {
130
+ // create a container with both undo and redo entries
131
+ this._paletteEntry = domify(`
132
+ <div class="bts-entry-group">
133
+ <div class="bts-entry disabled" title="Undo" data-role="undo">
134
+ <img src="${generatedIcons["pn-unfire-transition"]}" alt="Unfire Transition" width="16" height="24"/>
135
+ </div>
136
+ <div class="bts-entry disabled" title="Redo" data-role="redo">
137
+ <img src="${generatedIcons["pn-fire-transition"]}" alt="Fire Transition" width="16" height="24"/>
138
+ </div>
139
+ </div>
140
+ `);
141
+ const undoEl = this._paletteEntry.querySelector('[data-role="undo"]');
142
+ const redoEl = this._paletteEntry.querySelector('[data-role="redo"]');
143
+ domEvent.bind(undoEl, "click", () => {
144
+ if (this._commandStack)
145
+ this._commandStack.undo();
146
+ });
147
+ domEvent.bind(redoEl, "click", () => {
148
+ if (this._commandStack && typeof this._commandStack.redo === "function")
149
+ this._commandStack.redo();
150
+ });
151
+ this._tokenSimulationPalette.addEntry(this._paletteEntry, 1);
152
+ };
153
+ SimulationHistory.$inject = [
154
+ "eventBus",
155
+ "tokenSimulationPalette",
156
+ "commandStack",
157
+ ];
158
+ //# sourceMappingURL=SimulationHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimulationHistory.js","sourceRoot":"","sources":["../../../../lib/simulation/simulation-history/SimulationHistory.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import SimulationHistory from "./SimulationHistory";
2
+ export default {
3
+ __init__: ["simulationHistory"],
4
+ simulationHistory: ["type", SimulationHistory],
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/simulation/simulation-history/index.js"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,eAAe;IACb,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC/B,iBAAiB,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC;CAC/C,CAAC"}