@fecp/designer 5.5.48 → 5.5.49

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 (283) hide show
  1. package/es/_virtual/_commonjsHelpers.mjs +2 -0
  2. package/es/_virtual/collection.mjs +4 -0
  3. package/es/_virtual/css.escape.mjs +2 -0
  4. package/es/_virtual/css.escape2.mjs +4 -0
  5. package/es/_virtual/index.mjs +4 -4
  6. package/es/_virtual/index2.mjs +2 -2
  7. package/es/designer/package.json.mjs +1 -1
  8. package/es/designer.css +198 -5
  9. package/es/node_modules/bpmn-js/lib/BaseViewer.mjs +279 -0
  10. package/es/node_modules/bpmn-js/lib/NavigatedViewer.mjs +21 -0
  11. package/es/node_modules/bpmn-js/lib/Viewer.mjs +22 -0
  12. package/es/node_modules/bpmn-js/lib/core/index.mjs +11 -0
  13. package/es/node_modules/bpmn-js/lib/draw/BpmnRenderUtil.mjs +100 -0
  14. package/es/node_modules/bpmn-js/lib/draw/BpmnRenderer.mjs +1505 -0
  15. package/es/node_modules/bpmn-js/lib/draw/PathMap.mjs +294 -0
  16. package/es/node_modules/bpmn-js/lib/draw/TextRenderer.mjs +66 -0
  17. package/es/node_modules/bpmn-js/lib/draw/index.mjs +12 -0
  18. package/es/node_modules/bpmn-js/lib/features/drilldown/DrilldownBreadcrumbs.mjs +67 -0
  19. package/es/node_modules/bpmn-js/lib/features/drilldown/DrilldownCentering.mjs +77 -0
  20. package/es/node_modules/bpmn-js/lib/features/drilldown/DrilldownOverlayBehavior.mjs +128 -0
  21. package/es/node_modules/bpmn-js/lib/features/drilldown/SubprocessCompatibility.mjs +149 -0
  22. package/es/node_modules/bpmn-js/lib/features/drilldown/index.mjs +18 -0
  23. package/es/node_modules/bpmn-js/lib/features/label-editing/LabelUtil.mjs +31 -0
  24. package/es/node_modules/bpmn-js/lib/import/BpmnImporter.mjs +184 -0
  25. package/es/node_modules/bpmn-js/lib/import/BpmnTreeWalker.mjs +296 -0
  26. package/es/node_modules/bpmn-js/lib/import/Importer.mjs +114 -0
  27. package/es/node_modules/bpmn-js/lib/import/Util.mjs +9 -0
  28. package/es/node_modules/bpmn-js/lib/import/index.mjs +11 -0
  29. package/es/node_modules/bpmn-js/lib/util/CompatibilityUtil.mjs +39 -0
  30. package/es/node_modules/bpmn-js/lib/util/DiUtil.mjs +24 -0
  31. package/es/node_modules/bpmn-js/lib/util/DrilldownUtil.mjs +16 -0
  32. package/es/node_modules/bpmn-js/lib/util/LabelUtil.mjs +78 -0
  33. package/es/node_modules/bpmn-js/lib/util/ModelUtil.mjs +22 -0
  34. package/es/node_modules/bpmn-js/lib/util/PoweredByUtil.mjs +64 -0
  35. package/es/node_modules/bpmn-moddle/dist/index.esm.mjs +3666 -0
  36. package/es/node_modules/css.escape/css.escape.mjs +73 -0
  37. package/es/node_modules/diagram-js/lib/Diagram.mjs +30 -0
  38. package/es/node_modules/diagram-js/lib/command/CommandInterceptor.mjs +69 -0
  39. package/es/node_modules/diagram-js/lib/core/Canvas.mjs +618 -0
  40. package/es/node_modules/diagram-js/lib/core/ElementFactory.mjs +27 -0
  41. package/es/node_modules/diagram-js/lib/core/ElementRegistry.mjs +109 -0
  42. package/es/node_modules/diagram-js/lib/core/EventBus.mjs +202 -0
  43. package/es/node_modules/diagram-js/lib/core/GraphicsFactory.mjs +124 -0
  44. package/es/node_modules/diagram-js/lib/core/index.mjs +18 -0
  45. package/es/node_modules/diagram-js/lib/draw/BaseRenderer.mjs +37 -0
  46. package/es/node_modules/diagram-js/lib/draw/DefaultRenderer.mjs +62 -0
  47. package/es/node_modules/diagram-js/lib/draw/Styles.mjs +39 -0
  48. package/es/node_modules/diagram-js/lib/draw/index.mjs +10 -0
  49. package/es/node_modules/diagram-js/lib/features/change-support/ChangeSupport.mjs +35 -0
  50. package/es/node_modules/diagram-js/lib/features/change-support/index.mjs +8 -0
  51. package/es/node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.mjs +215 -0
  52. package/es/node_modules/diagram-js/lib/features/interaction-events/index.mjs +8 -0
  53. package/es/node_modules/diagram-js/lib/features/keyboard/Keyboard.mjs +111 -0
  54. package/es/node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.mjs +79 -0
  55. package/es/node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.mjs +47 -0
  56. package/es/node_modules/diagram-js/lib/features/keyboard/index.mjs +10 -0
  57. package/es/node_modules/diagram-js/lib/features/outline/Outline.mjs +59 -0
  58. package/es/node_modules/diagram-js/lib/features/outline/index.mjs +8 -0
  59. package/es/node_modules/diagram-js/lib/features/overlays/Overlays.mjs +321 -0
  60. package/es/node_modules/diagram-js/lib/features/overlays/index.mjs +8 -0
  61. package/es/node_modules/diagram-js/lib/features/root-elements/RootElementsBehavior.mjs +24 -0
  62. package/es/node_modules/diagram-js/lib/features/root-elements/index.mjs +8 -0
  63. package/es/node_modules/diagram-js/lib/features/selection/Selection.mjs +57 -0
  64. package/es/node_modules/diagram-js/lib/features/selection/SelectionBehavior.mjs +67 -0
  65. package/es/node_modules/diagram-js/lib/features/selection/SelectionVisuals.mjs +80 -0
  66. package/es/node_modules/diagram-js/lib/features/selection/index.mjs +18 -0
  67. package/es/node_modules/diagram-js/lib/i18n/translate/index.mjs +7 -0
  68. package/es/node_modules/diagram-js/lib/i18n/translate/translate.mjs +9 -0
  69. package/es/node_modules/diagram-js/lib/layout/LayoutUtil.mjs +82 -0
  70. package/es/node_modules/diagram-js/lib/model/index.mjs +69 -0
  71. package/es/node_modules/diagram-js/lib/navigation/keyboard-move/KeyboardMove.mjs +82 -0
  72. package/es/node_modules/diagram-js/lib/navigation/keyboard-move/index.mjs +12 -0
  73. package/es/node_modules/diagram-js/lib/navigation/movecanvas/MoveCanvas.mjs +67 -0
  74. package/es/node_modules/diagram-js/lib/navigation/movecanvas/index.mjs +8 -0
  75. package/es/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomScroll.mjs +113 -0
  76. package/es/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomUtil.mjs +13 -0
  77. package/es/node_modules/diagram-js/lib/navigation/zoomscroll/index.mjs +8 -0
  78. package/es/node_modules/diagram-js/lib/util/ClickTrap.mjs +14 -0
  79. package/es/node_modules/diagram-js/lib/util/Collections.mjs +39 -0
  80. package/es/node_modules/diagram-js/lib/util/Cursor.mjs +16 -0
  81. package/es/node_modules/diagram-js/lib/util/Elements.mjs +50 -0
  82. package/es/node_modules/diagram-js/lib/util/EscapeUtil.mjs +17 -0
  83. package/es/node_modules/diagram-js/lib/util/Event.mjs +19 -0
  84. package/es/node_modules/diagram-js/lib/util/GraphicsUtil.mjs +10 -0
  85. package/es/node_modules/diagram-js/lib/util/IdGenerator.mjs +10 -0
  86. package/es/node_modules/diagram-js/lib/util/Math.mjs +6 -0
  87. package/es/node_modules/diagram-js/lib/util/Mouse.mjs +34 -0
  88. package/es/node_modules/diagram-js/lib/util/Platform.mjs +6 -0
  89. package/es/node_modules/diagram-js/lib/util/PositionUtil.mjs +9 -0
  90. package/es/node_modules/diagram-js/lib/util/RenderUtil.mjs +29 -0
  91. package/es/node_modules/diagram-js/lib/util/SvgTransformUtil.mjs +25 -0
  92. package/es/node_modules/diagram-js/lib/util/Text.mjs +195 -0
  93. package/es/node_modules/didi/dist/index.esm.mjs +269 -0
  94. package/es/node_modules/ids/dist/index.esm.mjs +90 -0
  95. package/es/node_modules/inherits-browser/dist/index.es.mjs +6 -0
  96. package/es/node_modules/min-dash/dist/index.esm.mjs +239 -0
  97. package/es/node_modules/min-dom/dist/index.esm.mjs +253 -0
  98. package/es/node_modules/moddle/dist/index.esm.mjs +523 -0
  99. package/es/node_modules/moddle-xml/dist/index.esm.mjs +1057 -0
  100. package/es/node_modules/object-refs/index.mjs +14 -0
  101. package/es/node_modules/object-refs/lib/collection.mjs +55 -0
  102. package/es/node_modules/object-refs/lib/refs.mjs +106 -0
  103. package/es/node_modules/saxen/dist/index.esm.mjs +632 -0
  104. package/es/node_modules/tiny-svg/dist/index.esm.mjs +361 -0
  105. package/es/packages/vue/src/assets/model/bizTask.svg.mjs +4 -0
  106. package/es/packages/vue/src/assets/model/childProcess.svg.mjs +4 -0
  107. package/es/packages/vue/src/assets/model/end.svg.mjs +4 -0
  108. package/es/packages/vue/src/assets/model/gateway.svg.mjs +4 -0
  109. package/es/packages/vue/src/assets/model/inclusiveGateway.svg.mjs +4 -0
  110. package/es/packages/vue/src/assets/model/mergeGateway.svg.mjs +4 -0
  111. package/es/packages/vue/src/assets/model/parallelGateway.svg.mjs +4 -0
  112. package/es/packages/vue/src/assets/model/rde.svg.mjs +4 -0
  113. package/es/packages/vue/src/assets/model/service.svg.mjs +4 -0
  114. package/es/packages/vue/src/assets/model/signTask.svg.mjs +4 -0
  115. package/es/packages/vue/src/assets/model/start.svg.mjs +4 -0
  116. package/es/packages/vue/src/assets/model/task.svg.mjs +4 -0
  117. package/es/packages/vue/src/assets/model/wait.svg.mjs +4 -0
  118. package/es/packages/vue/src/assets/model-grey/bizTask.svg.mjs +4 -0
  119. package/es/packages/vue/src/assets/model-grey/childProcess.svg.mjs +4 -0
  120. package/es/packages/vue/src/assets/model-grey/end.svg.mjs +4 -0
  121. package/es/packages/vue/src/assets/model-grey/gateway.svg.mjs +4 -0
  122. package/es/packages/vue/src/assets/model-grey/inclusiveGateway.svg.mjs +4 -0
  123. package/es/packages/vue/src/assets/model-grey/mergeGateway.svg.mjs +4 -0
  124. package/es/packages/vue/src/assets/model-grey/parallelGateway.svg.mjs +4 -0
  125. package/es/packages/vue/src/assets/model-grey/rde.svg.mjs +4 -0
  126. package/es/packages/vue/src/assets/model-grey/service.svg.mjs +4 -0
  127. package/es/packages/vue/src/assets/model-grey/signTask.svg.mjs +4 -0
  128. package/es/packages/vue/src/assets/model-grey/start.svg.mjs +4 -0
  129. package/es/packages/vue/src/assets/model-grey/task.svg.mjs +4 -0
  130. package/es/packages/vue/src/assets/model-grey/wait.svg.mjs +4 -0
  131. package/es/packages/vue/src/components/all.mjs +3 -0
  132. package/es/packages/vue/src/components/bus/approvalHistory/flowChart.vue.mjs +3 -4
  133. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/component/NodeItem.vue.mjs +113 -0
  134. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/component/timeline.vue.mjs +241 -0
  135. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/importer/BpmnImporter.mjs +210 -0
  136. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/importer/index.mjs +11 -0
  137. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/CustomRenderer.mjs +161 -0
  138. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/index.mjs +8 -0
  139. package/es/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/renderComponent.mjs +14 -0
  140. package/es/packages/vue/src/components/bus/flowChart/index.mjs +101 -0
  141. package/es/packages/vue/src/components/bus/index.mjs +3 -0
  142. package/lib/_virtual/_commonjsHelpers.js +2 -0
  143. package/lib/_virtual/collection.js +4 -0
  144. package/lib/_virtual/css.escape.js +3 -0
  145. package/lib/_virtual/css.escape2.js +4 -0
  146. package/lib/_virtual/index.js +4 -4
  147. package/lib/_virtual/index2.js +2 -2
  148. package/lib/designer/package.json.js +1 -1
  149. package/lib/designer.css +198 -5
  150. package/lib/node_modules/bpmn-js/lib/BaseViewer.js +279 -0
  151. package/lib/node_modules/bpmn-js/lib/NavigatedViewer.js +21 -0
  152. package/lib/node_modules/bpmn-js/lib/Viewer.js +22 -0
  153. package/lib/node_modules/bpmn-js/lib/core/index.js +11 -0
  154. package/lib/node_modules/bpmn-js/lib/draw/BpmnRenderUtil.js +100 -0
  155. package/lib/node_modules/bpmn-js/lib/draw/BpmnRenderer.js +1505 -0
  156. package/lib/node_modules/bpmn-js/lib/draw/PathMap.js +294 -0
  157. package/lib/node_modules/bpmn-js/lib/draw/TextRenderer.js +66 -0
  158. package/lib/node_modules/bpmn-js/lib/draw/index.js +12 -0
  159. package/lib/node_modules/bpmn-js/lib/features/drilldown/DrilldownBreadcrumbs.js +67 -0
  160. package/lib/node_modules/bpmn-js/lib/features/drilldown/DrilldownCentering.js +77 -0
  161. package/lib/node_modules/bpmn-js/lib/features/drilldown/DrilldownOverlayBehavior.js +128 -0
  162. package/lib/node_modules/bpmn-js/lib/features/drilldown/SubprocessCompatibility.js +149 -0
  163. package/lib/node_modules/bpmn-js/lib/features/drilldown/index.js +18 -0
  164. package/lib/node_modules/bpmn-js/lib/features/label-editing/LabelUtil.js +31 -0
  165. package/lib/node_modules/bpmn-js/lib/import/BpmnImporter.js +184 -0
  166. package/lib/node_modules/bpmn-js/lib/import/BpmnTreeWalker.js +296 -0
  167. package/lib/node_modules/bpmn-js/lib/import/Importer.js +114 -0
  168. package/lib/node_modules/bpmn-js/lib/import/Util.js +9 -0
  169. package/lib/node_modules/bpmn-js/lib/import/index.js +11 -0
  170. package/lib/node_modules/bpmn-js/lib/util/CompatibilityUtil.js +39 -0
  171. package/lib/node_modules/bpmn-js/lib/util/DiUtil.js +24 -0
  172. package/lib/node_modules/bpmn-js/lib/util/DrilldownUtil.js +16 -0
  173. package/lib/node_modules/bpmn-js/lib/util/LabelUtil.js +78 -0
  174. package/lib/node_modules/bpmn-js/lib/util/ModelUtil.js +22 -0
  175. package/lib/node_modules/bpmn-js/lib/util/PoweredByUtil.js +64 -0
  176. package/lib/node_modules/bpmn-moddle/dist/index.esm.js +3666 -0
  177. package/lib/node_modules/css.escape/css.escape.js +73 -0
  178. package/lib/node_modules/diagram-js/lib/Diagram.js +30 -0
  179. package/lib/node_modules/diagram-js/lib/command/CommandInterceptor.js +69 -0
  180. package/lib/node_modules/diagram-js/lib/core/Canvas.js +618 -0
  181. package/lib/node_modules/diagram-js/lib/core/ElementFactory.js +27 -0
  182. package/lib/node_modules/diagram-js/lib/core/ElementRegistry.js +109 -0
  183. package/lib/node_modules/diagram-js/lib/core/EventBus.js +202 -0
  184. package/lib/node_modules/diagram-js/lib/core/GraphicsFactory.js +124 -0
  185. package/lib/node_modules/diagram-js/lib/core/index.js +18 -0
  186. package/lib/node_modules/diagram-js/lib/draw/BaseRenderer.js +37 -0
  187. package/lib/node_modules/diagram-js/lib/draw/DefaultRenderer.js +62 -0
  188. package/lib/node_modules/diagram-js/lib/draw/Styles.js +39 -0
  189. package/lib/node_modules/diagram-js/lib/draw/index.js +10 -0
  190. package/lib/node_modules/diagram-js/lib/features/change-support/ChangeSupport.js +35 -0
  191. package/lib/node_modules/diagram-js/lib/features/change-support/index.js +8 -0
  192. package/lib/node_modules/diagram-js/lib/features/interaction-events/InteractionEvents.js +215 -0
  193. package/lib/node_modules/diagram-js/lib/features/interaction-events/index.js +8 -0
  194. package/lib/node_modules/diagram-js/lib/features/keyboard/Keyboard.js +111 -0
  195. package/lib/node_modules/diagram-js/lib/features/keyboard/KeyboardBindings.js +79 -0
  196. package/lib/node_modules/diagram-js/lib/features/keyboard/KeyboardUtil.js +47 -0
  197. package/lib/node_modules/diagram-js/lib/features/keyboard/index.js +10 -0
  198. package/lib/node_modules/diagram-js/lib/features/outline/Outline.js +59 -0
  199. package/lib/node_modules/diagram-js/lib/features/outline/index.js +8 -0
  200. package/lib/node_modules/diagram-js/lib/features/overlays/Overlays.js +321 -0
  201. package/lib/node_modules/diagram-js/lib/features/overlays/index.js +8 -0
  202. package/lib/node_modules/diagram-js/lib/features/root-elements/RootElementsBehavior.js +24 -0
  203. package/lib/node_modules/diagram-js/lib/features/root-elements/index.js +8 -0
  204. package/lib/node_modules/diagram-js/lib/features/selection/Selection.js +57 -0
  205. package/lib/node_modules/diagram-js/lib/features/selection/SelectionBehavior.js +67 -0
  206. package/lib/node_modules/diagram-js/lib/features/selection/SelectionVisuals.js +80 -0
  207. package/lib/node_modules/diagram-js/lib/features/selection/index.js +18 -0
  208. package/lib/node_modules/diagram-js/lib/i18n/translate/index.js +7 -0
  209. package/lib/node_modules/diagram-js/lib/i18n/translate/translate.js +9 -0
  210. package/lib/node_modules/diagram-js/lib/layout/LayoutUtil.js +82 -0
  211. package/lib/node_modules/diagram-js/lib/model/index.js +69 -0
  212. package/lib/node_modules/diagram-js/lib/navigation/keyboard-move/KeyboardMove.js +82 -0
  213. package/lib/node_modules/diagram-js/lib/navigation/keyboard-move/index.js +12 -0
  214. package/lib/node_modules/diagram-js/lib/navigation/movecanvas/MoveCanvas.js +67 -0
  215. package/lib/node_modules/diagram-js/lib/navigation/movecanvas/index.js +8 -0
  216. package/lib/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomScroll.js +113 -0
  217. package/lib/node_modules/diagram-js/lib/navigation/zoomscroll/ZoomUtil.js +13 -0
  218. package/lib/node_modules/diagram-js/lib/navigation/zoomscroll/index.js +8 -0
  219. package/lib/node_modules/diagram-js/lib/util/ClickTrap.js +14 -0
  220. package/lib/node_modules/diagram-js/lib/util/Collections.js +39 -0
  221. package/lib/node_modules/diagram-js/lib/util/Cursor.js +16 -0
  222. package/lib/node_modules/diagram-js/lib/util/Elements.js +50 -0
  223. package/lib/node_modules/diagram-js/lib/util/EscapeUtil.js +17 -0
  224. package/lib/node_modules/diagram-js/lib/util/Event.js +19 -0
  225. package/lib/node_modules/diagram-js/lib/util/GraphicsUtil.js +10 -0
  226. package/lib/node_modules/diagram-js/lib/util/IdGenerator.js +10 -0
  227. package/lib/node_modules/diagram-js/lib/util/Math.js +6 -0
  228. package/lib/node_modules/diagram-js/lib/util/Mouse.js +34 -0
  229. package/lib/node_modules/diagram-js/lib/util/Platform.js +6 -0
  230. package/lib/node_modules/diagram-js/lib/util/PositionUtil.js +9 -0
  231. package/lib/node_modules/diagram-js/lib/util/RenderUtil.js +29 -0
  232. package/lib/node_modules/diagram-js/lib/util/SvgTransformUtil.js +25 -0
  233. package/lib/node_modules/diagram-js/lib/util/Text.js +195 -0
  234. package/lib/node_modules/didi/dist/index.esm.js +269 -0
  235. package/lib/node_modules/ids/dist/index.esm.js +90 -0
  236. package/lib/node_modules/inherits-browser/dist/index.es.js +6 -0
  237. package/lib/node_modules/min-dash/dist/index.esm.js +239 -0
  238. package/lib/node_modules/min-dom/dist/index.esm.js +253 -0
  239. package/lib/node_modules/moddle/dist/index.esm.js +523 -0
  240. package/lib/node_modules/moddle-xml/dist/index.esm.js +1057 -0
  241. package/lib/node_modules/object-refs/index.js +14 -0
  242. package/lib/node_modules/object-refs/lib/collection.js +55 -0
  243. package/lib/node_modules/object-refs/lib/refs.js +106 -0
  244. package/lib/node_modules/saxen/dist/index.esm.js +632 -0
  245. package/lib/node_modules/tiny-svg/dist/index.esm.js +361 -0
  246. package/lib/packages/vue/src/assets/model/bizTask.svg.js +4 -0
  247. package/lib/packages/vue/src/assets/model/childProcess.svg.js +4 -0
  248. package/lib/packages/vue/src/assets/model/end.svg.js +4 -0
  249. package/lib/packages/vue/src/assets/model/gateway.svg.js +4 -0
  250. package/lib/packages/vue/src/assets/model/inclusiveGateway.svg.js +4 -0
  251. package/lib/packages/vue/src/assets/model/mergeGateway.svg.js +4 -0
  252. package/lib/packages/vue/src/assets/model/parallelGateway.svg.js +4 -0
  253. package/lib/packages/vue/src/assets/model/rde.svg.js +4 -0
  254. package/lib/packages/vue/src/assets/model/service.svg.js +4 -0
  255. package/lib/packages/vue/src/assets/model/signTask.svg.js +4 -0
  256. package/lib/packages/vue/src/assets/model/start.svg.js +4 -0
  257. package/lib/packages/vue/src/assets/model/task.svg.js +4 -0
  258. package/lib/packages/vue/src/assets/model/wait.svg.js +4 -0
  259. package/lib/packages/vue/src/assets/model-grey/bizTask.svg.js +4 -0
  260. package/lib/packages/vue/src/assets/model-grey/childProcess.svg.js +4 -0
  261. package/lib/packages/vue/src/assets/model-grey/end.svg.js +4 -0
  262. package/lib/packages/vue/src/assets/model-grey/gateway.svg.js +4 -0
  263. package/lib/packages/vue/src/assets/model-grey/inclusiveGateway.svg.js +4 -0
  264. package/lib/packages/vue/src/assets/model-grey/mergeGateway.svg.js +4 -0
  265. package/lib/packages/vue/src/assets/model-grey/parallelGateway.svg.js +4 -0
  266. package/lib/packages/vue/src/assets/model-grey/rde.svg.js +4 -0
  267. package/lib/packages/vue/src/assets/model-grey/service.svg.js +4 -0
  268. package/lib/packages/vue/src/assets/model-grey/signTask.svg.js +4 -0
  269. package/lib/packages/vue/src/assets/model-grey/start.svg.js +4 -0
  270. package/lib/packages/vue/src/assets/model-grey/task.svg.js +4 -0
  271. package/lib/packages/vue/src/assets/model-grey/wait.svg.js +4 -0
  272. package/lib/packages/vue/src/components/all.js +3 -0
  273. package/lib/packages/vue/src/components/bus/approvalHistory/flowChart.vue.js +2 -3
  274. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/component/NodeItem.vue.js +114 -0
  275. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/component/timeline.vue.js +241 -0
  276. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/importer/BpmnImporter.js +210 -0
  277. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/importer/index.js +11 -0
  278. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/CustomRenderer.js +161 -0
  279. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/index.js +8 -0
  280. package/lib/packages/vue/src/components/bus/flowChart/bpmnjs/renderer/renderComponent.js +14 -0
  281. package/lib/packages/vue/src/components/bus/flowChart/index.js +101 -0
  282. package/lib/packages/vue/src/components/bus/index.js +3 -0
  283. package/package.json +1 -1
@@ -0,0 +1,1057 @@
1
+ import { assign, forEach, find, isString, findIndex, filter, has } from "../../min-dash/dist/index.esm.mjs";
2
+ import { Parser } from "../../saxen/dist/index.esm.mjs";
3
+ import { coerceType, parseNameNS as parseName, isSimpleType as isSimple, Moddle } from "../../moddle/dist/index.esm.mjs";
4
+ function hasLowerCaseAlias(pkg) {
5
+ return pkg.xml && pkg.xml.tagAlias === "lowerCase";
6
+ }
7
+ var DEFAULT_NS_MAP = {
8
+ "xsi": "http://www.w3.org/2001/XMLSchema-instance",
9
+ "xml": "http://www.w3.org/XML/1998/namespace"
10
+ };
11
+ var XSI_TYPE = "xsi:type";
12
+ function serializeFormat(element) {
13
+ return element.xml && element.xml.serialize;
14
+ }
15
+ function serializeAsType(element) {
16
+ return serializeFormat(element) === XSI_TYPE;
17
+ }
18
+ function serializeAsProperty(element) {
19
+ return serializeFormat(element) === "property";
20
+ }
21
+ function capitalize(str) {
22
+ return str.charAt(0).toUpperCase() + str.slice(1);
23
+ }
24
+ function aliasToName(aliasNs, pkg) {
25
+ if (!hasLowerCaseAlias(pkg)) {
26
+ return aliasNs.name;
27
+ }
28
+ return aliasNs.prefix + ":" + capitalize(aliasNs.localName);
29
+ }
30
+ function prefixedToName(nameNs, pkg) {
31
+ var name = nameNs.name, localName = nameNs.localName;
32
+ var typePrefix = pkg.xml && pkg.xml.typePrefix;
33
+ if (typePrefix && localName.indexOf(typePrefix) === 0) {
34
+ return nameNs.prefix + ":" + localName.slice(typePrefix.length);
35
+ } else {
36
+ return name;
37
+ }
38
+ }
39
+ function normalizeXsiTypeName(name, model) {
40
+ var nameNs = parseName(name);
41
+ var pkg = model.getPackage(nameNs.prefix);
42
+ return prefixedToName(nameNs, pkg);
43
+ }
44
+ function error(message) {
45
+ return new Error(message);
46
+ }
47
+ function getModdleDescriptor(element) {
48
+ return element.$descriptor;
49
+ }
50
+ function Context(options) {
51
+ assign(this, options);
52
+ this.elementsById = {};
53
+ this.references = [];
54
+ this.warnings = [];
55
+ this.addReference = function(reference) {
56
+ this.references.push(reference);
57
+ };
58
+ this.addElement = function(element) {
59
+ if (!element) {
60
+ throw error("expected element");
61
+ }
62
+ var elementsById = this.elementsById;
63
+ var descriptor = getModdleDescriptor(element);
64
+ var idProperty = descriptor.idProperty, id;
65
+ if (idProperty) {
66
+ id = element.get(idProperty.name);
67
+ if (id) {
68
+ if (!/^([a-z][\w-.]*:)?[a-z_][\w-.]*$/i.test(id)) {
69
+ throw new Error("illegal ID <" + id + ">");
70
+ }
71
+ if (elementsById[id]) {
72
+ throw error("duplicate ID <" + id + ">");
73
+ }
74
+ elementsById[id] = element;
75
+ }
76
+ }
77
+ };
78
+ this.addWarning = function(warning) {
79
+ this.warnings.push(warning);
80
+ };
81
+ }
82
+ function BaseHandler() {
83
+ }
84
+ BaseHandler.prototype.handleEnd = function() {
85
+ };
86
+ BaseHandler.prototype.handleText = function() {
87
+ };
88
+ BaseHandler.prototype.handleNode = function() {
89
+ };
90
+ function NoopHandler() {
91
+ }
92
+ NoopHandler.prototype = Object.create(BaseHandler.prototype);
93
+ NoopHandler.prototype.handleNode = function() {
94
+ return this;
95
+ };
96
+ function BodyHandler() {
97
+ }
98
+ BodyHandler.prototype = Object.create(BaseHandler.prototype);
99
+ BodyHandler.prototype.handleText = function(text) {
100
+ this.body = (this.body || "") + text;
101
+ };
102
+ function ReferenceHandler(property, context) {
103
+ this.property = property;
104
+ this.context = context;
105
+ }
106
+ ReferenceHandler.prototype = Object.create(BodyHandler.prototype);
107
+ ReferenceHandler.prototype.handleNode = function(node) {
108
+ if (this.element) {
109
+ throw error("expected no sub nodes");
110
+ } else {
111
+ this.element = this.createReference(node);
112
+ }
113
+ return this;
114
+ };
115
+ ReferenceHandler.prototype.handleEnd = function() {
116
+ this.element.id = this.body;
117
+ };
118
+ ReferenceHandler.prototype.createReference = function(node) {
119
+ return {
120
+ property: this.property.ns.name,
121
+ id: ""
122
+ };
123
+ };
124
+ function ValueHandler(propertyDesc, element) {
125
+ this.element = element;
126
+ this.propertyDesc = propertyDesc;
127
+ }
128
+ ValueHandler.prototype = Object.create(BodyHandler.prototype);
129
+ ValueHandler.prototype.handleEnd = function() {
130
+ var value = this.body || "", element = this.element, propertyDesc = this.propertyDesc;
131
+ value = coerceType(propertyDesc.type, value);
132
+ if (propertyDesc.isMany) {
133
+ element.get(propertyDesc.name).push(value);
134
+ } else {
135
+ element.set(propertyDesc.name, value);
136
+ }
137
+ };
138
+ function BaseElementHandler() {
139
+ }
140
+ BaseElementHandler.prototype = Object.create(BodyHandler.prototype);
141
+ BaseElementHandler.prototype.handleNode = function(node) {
142
+ var parser = this, element = this.element;
143
+ if (!element) {
144
+ element = this.element = this.createElement(node);
145
+ this.context.addElement(element);
146
+ } else {
147
+ parser = this.handleChild(node);
148
+ }
149
+ return parser;
150
+ };
151
+ function ElementHandler(model, typeName, context) {
152
+ this.model = model;
153
+ this.type = model.getType(typeName);
154
+ this.context = context;
155
+ }
156
+ ElementHandler.prototype = Object.create(BaseElementHandler.prototype);
157
+ ElementHandler.prototype.addReference = function(reference) {
158
+ this.context.addReference(reference);
159
+ };
160
+ ElementHandler.prototype.handleText = function(text) {
161
+ var element = this.element, descriptor = getModdleDescriptor(element), bodyProperty = descriptor.bodyProperty;
162
+ if (!bodyProperty) {
163
+ throw error("unexpected body text <" + text + ">");
164
+ }
165
+ BodyHandler.prototype.handleText.call(this, text);
166
+ };
167
+ ElementHandler.prototype.handleEnd = function() {
168
+ var value = this.body, element = this.element, descriptor = getModdleDescriptor(element), bodyProperty = descriptor.bodyProperty;
169
+ if (bodyProperty && value !== void 0) {
170
+ value = coerceType(bodyProperty.type, value);
171
+ element.set(bodyProperty.name, value);
172
+ }
173
+ };
174
+ ElementHandler.prototype.createElement = function(node) {
175
+ var attributes = node.attributes, Type = this.type, descriptor = getModdleDescriptor(Type), context = this.context, instance = new Type({}), model = this.model, propNameNs;
176
+ forEach(attributes, function(value, name) {
177
+ var prop = descriptor.propertiesByName[name], values;
178
+ if (prop && prop.isReference) {
179
+ if (!prop.isMany) {
180
+ context.addReference({
181
+ element: instance,
182
+ property: prop.ns.name,
183
+ id: value
184
+ });
185
+ } else {
186
+ values = value.split(" ");
187
+ forEach(values, function(v) {
188
+ context.addReference({
189
+ element: instance,
190
+ property: prop.ns.name,
191
+ id: v
192
+ });
193
+ });
194
+ }
195
+ } else {
196
+ if (prop) {
197
+ value = coerceType(prop.type, value);
198
+ } else if (name !== "xmlns") {
199
+ propNameNs = parseName(name, descriptor.ns.prefix);
200
+ if (model.getPackage(propNameNs.prefix)) {
201
+ context.addWarning({
202
+ message: "unknown attribute <" + name + ">",
203
+ element: instance,
204
+ property: name,
205
+ value
206
+ });
207
+ }
208
+ }
209
+ instance.set(name, value);
210
+ }
211
+ });
212
+ return instance;
213
+ };
214
+ ElementHandler.prototype.getPropertyForNode = function(node) {
215
+ var name = node.name;
216
+ var nameNs = parseName(name);
217
+ var type = this.type, model = this.model, descriptor = getModdleDescriptor(type);
218
+ var propertyName = nameNs.name, property = descriptor.propertiesByName[propertyName], elementTypeName, elementType;
219
+ if (property && !property.isAttr) {
220
+ if (serializeAsType(property)) {
221
+ elementTypeName = node.attributes[XSI_TYPE];
222
+ if (elementTypeName) {
223
+ elementTypeName = normalizeXsiTypeName(elementTypeName, model);
224
+ elementType = model.getType(elementTypeName);
225
+ return assign({}, property, {
226
+ effectiveType: getModdleDescriptor(elementType).name
227
+ });
228
+ }
229
+ }
230
+ return property;
231
+ }
232
+ var pkg = model.getPackage(nameNs.prefix);
233
+ if (pkg) {
234
+ elementTypeName = aliasToName(nameNs, pkg);
235
+ elementType = model.getType(elementTypeName);
236
+ property = find(descriptor.properties, function(p) {
237
+ return !p.isVirtual && !p.isReference && !p.isAttribute && elementType.hasType(p.type);
238
+ });
239
+ if (property) {
240
+ return assign({}, property, {
241
+ effectiveType: getModdleDescriptor(elementType).name
242
+ });
243
+ }
244
+ } else {
245
+ property = find(descriptor.properties, function(p) {
246
+ return !p.isReference && !p.isAttribute && p.type === "Element";
247
+ });
248
+ if (property) {
249
+ return property;
250
+ }
251
+ }
252
+ throw error("unrecognized element <" + nameNs.name + ">");
253
+ };
254
+ ElementHandler.prototype.toString = function() {
255
+ return "ElementDescriptor[" + getModdleDescriptor(this.type).name + "]";
256
+ };
257
+ ElementHandler.prototype.valueHandler = function(propertyDesc, element) {
258
+ return new ValueHandler(propertyDesc, element);
259
+ };
260
+ ElementHandler.prototype.referenceHandler = function(propertyDesc) {
261
+ return new ReferenceHandler(propertyDesc, this.context);
262
+ };
263
+ ElementHandler.prototype.handler = function(type) {
264
+ if (type === "Element") {
265
+ return new GenericElementHandler(this.model, type, this.context);
266
+ } else {
267
+ return new ElementHandler(this.model, type, this.context);
268
+ }
269
+ };
270
+ ElementHandler.prototype.handleChild = function(node) {
271
+ var propertyDesc, type, element, childHandler;
272
+ propertyDesc = this.getPropertyForNode(node);
273
+ element = this.element;
274
+ type = propertyDesc.effectiveType || propertyDesc.type;
275
+ if (isSimple(type)) {
276
+ return this.valueHandler(propertyDesc, element);
277
+ }
278
+ if (propertyDesc.isReference) {
279
+ childHandler = this.referenceHandler(propertyDesc).handleNode(node);
280
+ } else {
281
+ childHandler = this.handler(type).handleNode(node);
282
+ }
283
+ var newElement = childHandler.element;
284
+ if (newElement !== void 0) {
285
+ if (propertyDesc.isMany) {
286
+ element.get(propertyDesc.name).push(newElement);
287
+ } else {
288
+ element.set(propertyDesc.name, newElement);
289
+ }
290
+ if (propertyDesc.isReference) {
291
+ assign(newElement, {
292
+ element
293
+ });
294
+ this.context.addReference(newElement);
295
+ } else {
296
+ newElement.$parent = element;
297
+ }
298
+ }
299
+ return childHandler;
300
+ };
301
+ function RootElementHandler(model, typeName, context) {
302
+ ElementHandler.call(this, model, typeName, context);
303
+ }
304
+ RootElementHandler.prototype = Object.create(ElementHandler.prototype);
305
+ RootElementHandler.prototype.createElement = function(node) {
306
+ var name = node.name, nameNs = parseName(name), model = this.model, type = this.type, pkg = model.getPackage(nameNs.prefix), typeName = pkg && aliasToName(nameNs, pkg) || name;
307
+ if (!type.hasType(typeName)) {
308
+ throw error("unexpected element <" + node.originalName + ">");
309
+ }
310
+ return ElementHandler.prototype.createElement.call(this, node);
311
+ };
312
+ function GenericElementHandler(model, typeName, context) {
313
+ this.model = model;
314
+ this.context = context;
315
+ }
316
+ GenericElementHandler.prototype = Object.create(BaseElementHandler.prototype);
317
+ GenericElementHandler.prototype.createElement = function(node) {
318
+ var name = node.name, ns = parseName(name), prefix = ns.prefix, uri = node.ns[prefix + "$uri"], attributes = node.attributes;
319
+ return this.model.createAny(name, uri, attributes);
320
+ };
321
+ GenericElementHandler.prototype.handleChild = function(node) {
322
+ var handler = new GenericElementHandler(this.model, "Element", this.context).handleNode(node), element = this.element;
323
+ var newElement = handler.element, children;
324
+ if (newElement !== void 0) {
325
+ children = element.$children = element.$children || [];
326
+ children.push(newElement);
327
+ newElement.$parent = element;
328
+ }
329
+ return handler;
330
+ };
331
+ GenericElementHandler.prototype.handleEnd = function() {
332
+ if (this.body) {
333
+ this.element.$body = this.body;
334
+ }
335
+ };
336
+ function Reader(options) {
337
+ if (options instanceof Moddle) {
338
+ options = {
339
+ model: options
340
+ };
341
+ }
342
+ assign(this, { lax: false }, options);
343
+ }
344
+ Reader.prototype.fromXML = function(xml, options, done) {
345
+ var rootHandler = options.rootHandler;
346
+ if (options instanceof ElementHandler) {
347
+ rootHandler = options;
348
+ options = {};
349
+ } else {
350
+ if (typeof options === "string") {
351
+ rootHandler = this.handler(options);
352
+ options = {};
353
+ } else if (typeof rootHandler === "string") {
354
+ rootHandler = this.handler(rootHandler);
355
+ }
356
+ }
357
+ var model = this.model, lax = this.lax;
358
+ var context = new Context(assign({}, options, { rootHandler })), parser = new Parser({ proxy: true }), stack = createStack();
359
+ rootHandler.context = context;
360
+ stack.push(rootHandler);
361
+ function handleError(err, getContext, lax2) {
362
+ var ctx = getContext();
363
+ var line = ctx.line, column = ctx.column, data = ctx.data;
364
+ if (data.charAt(0) === "<" && data.indexOf(" ") !== -1) {
365
+ data = data.slice(0, data.indexOf(" ")) + ">";
366
+ }
367
+ var message = "unparsable content " + (data ? data + " " : "") + "detected\n line: " + line + "\n column: " + column + "\n nested error: " + err.message;
368
+ if (lax2) {
369
+ context.addWarning({
370
+ message,
371
+ error: err
372
+ });
373
+ return true;
374
+ } else {
375
+ throw error(message);
376
+ }
377
+ }
378
+ function handleWarning(err, getContext) {
379
+ return handleError(err, getContext, true);
380
+ }
381
+ function resolveReferences() {
382
+ var elementsById = context.elementsById;
383
+ var references = context.references;
384
+ var i, r;
385
+ for (i = 0; r = references[i]; i++) {
386
+ var element = r.element;
387
+ var reference = elementsById[r.id];
388
+ var property = getModdleDescriptor(element).propertiesByName[r.property];
389
+ if (!reference) {
390
+ context.addWarning({
391
+ message: "unresolved reference <" + r.id + ">",
392
+ element: r.element,
393
+ property: r.property,
394
+ value: r.id
395
+ });
396
+ }
397
+ if (property.isMany) {
398
+ var collection = element.get(property.name), idx = collection.indexOf(r);
399
+ if (idx === -1) {
400
+ idx = collection.length;
401
+ }
402
+ if (!reference) {
403
+ collection.splice(idx, 1);
404
+ } else {
405
+ collection[idx] = reference;
406
+ }
407
+ } else {
408
+ element.set(property.name, reference);
409
+ }
410
+ }
411
+ }
412
+ function handleClose() {
413
+ stack.pop().handleEnd();
414
+ }
415
+ var PREAMBLE_START_PATTERN = /^<\?xml /i;
416
+ var ENCODING_PATTERN = / encoding="([^"]+)"/i;
417
+ var UTF_8_PATTERN = /^utf-8$/i;
418
+ function handleQuestion(question) {
419
+ if (!PREAMBLE_START_PATTERN.test(question)) {
420
+ return;
421
+ }
422
+ var match = ENCODING_PATTERN.exec(question);
423
+ var encoding = match && match[1];
424
+ if (!encoding || UTF_8_PATTERN.test(encoding)) {
425
+ return;
426
+ }
427
+ context.addWarning({
428
+ message: "unsupported document encoding <" + encoding + ">, falling back to UTF-8"
429
+ });
430
+ }
431
+ function handleOpen(node, getContext) {
432
+ var handler = stack.peek();
433
+ try {
434
+ stack.push(handler.handleNode(node));
435
+ } catch (err) {
436
+ if (handleError(err, getContext, lax)) {
437
+ stack.push(new NoopHandler());
438
+ }
439
+ }
440
+ }
441
+ function handleCData(text, getContext) {
442
+ try {
443
+ stack.peek().handleText(text);
444
+ } catch (err) {
445
+ handleWarning(err, getContext);
446
+ }
447
+ }
448
+ function handleText(text, getContext) {
449
+ if (!text.trim()) {
450
+ return;
451
+ }
452
+ handleCData(text, getContext);
453
+ }
454
+ var uriMap = model.getPackages().reduce(function(uriMap2, p) {
455
+ uriMap2[p.uri] = p.prefix;
456
+ return uriMap2;
457
+ }, {
458
+ "http://www.w3.org/XML/1998/namespace": "xml"
459
+ // add default xml ns
460
+ });
461
+ parser.ns(uriMap).on("openTag", function(obj, decodeStr, selfClosing, getContext) {
462
+ var attrs = obj.attrs || {};
463
+ var decodedAttrs = Object.keys(attrs).reduce(function(d, key) {
464
+ var value = decodeStr(attrs[key]);
465
+ d[key] = value;
466
+ return d;
467
+ }, {});
468
+ var node = {
469
+ name: obj.name,
470
+ originalName: obj.originalName,
471
+ attributes: decodedAttrs,
472
+ ns: obj.ns
473
+ };
474
+ handleOpen(node, getContext);
475
+ }).on("question", handleQuestion).on("closeTag", handleClose).on("cdata", handleCData).on("text", function(text, decodeEntities, getContext) {
476
+ handleText(decodeEntities(text), getContext);
477
+ }).on("error", handleError).on("warn", handleWarning);
478
+ return new Promise(function(resolve, reject) {
479
+ var err;
480
+ try {
481
+ parser.parse(xml);
482
+ resolveReferences();
483
+ } catch (e) {
484
+ err = e;
485
+ }
486
+ var rootElement = rootHandler.element;
487
+ if (!err && !rootElement) {
488
+ err = error("failed to parse document as <" + rootHandler.type.$descriptor.name + ">");
489
+ }
490
+ var warnings = context.warnings;
491
+ var references = context.references;
492
+ var elementsById = context.elementsById;
493
+ if (err) {
494
+ err.warnings = warnings;
495
+ return reject(err);
496
+ } else {
497
+ return resolve({
498
+ rootElement,
499
+ elementsById,
500
+ references,
501
+ warnings
502
+ });
503
+ }
504
+ });
505
+ };
506
+ Reader.prototype.handler = function(name) {
507
+ return new RootElementHandler(this.model, name);
508
+ };
509
+ function createStack() {
510
+ var stack = [];
511
+ Object.defineProperty(stack, "peek", {
512
+ value: function() {
513
+ return this[this.length - 1];
514
+ }
515
+ });
516
+ return stack;
517
+ }
518
+ var XML_PREAMBLE = '<?xml version="1.0" encoding="UTF-8"?>\n';
519
+ var ESCAPE_ATTR_CHARS = /<|>|'|"|&|\n\r|\n/g;
520
+ var ESCAPE_CHARS = /<|>|&/g;
521
+ function Namespaces(parent) {
522
+ var prefixMap = {};
523
+ var uriMap = {};
524
+ var used = {};
525
+ var wellknown = [];
526
+ var custom = [];
527
+ this.byUri = function(uri) {
528
+ return uriMap[uri] || parent && parent.byUri(uri);
529
+ };
530
+ this.add = function(ns, isWellknown) {
531
+ uriMap[ns.uri] = ns;
532
+ if (isWellknown) {
533
+ wellknown.push(ns);
534
+ } else {
535
+ custom.push(ns);
536
+ }
537
+ this.mapPrefix(ns.prefix, ns.uri);
538
+ };
539
+ this.uriByPrefix = function(prefix) {
540
+ return prefixMap[prefix || "xmlns"];
541
+ };
542
+ this.mapPrefix = function(prefix, uri) {
543
+ prefixMap[prefix || "xmlns"] = uri;
544
+ };
545
+ this.getNSKey = function(ns) {
546
+ return ns.prefix !== void 0 ? ns.uri + "|" + ns.prefix : ns.uri;
547
+ };
548
+ this.logUsed = function(ns) {
549
+ var uri = ns.uri;
550
+ var nsKey = this.getNSKey(ns);
551
+ used[nsKey] = this.byUri(uri);
552
+ if (parent) {
553
+ parent.logUsed(ns);
554
+ }
555
+ };
556
+ this.getUsed = function(ns) {
557
+ function isUsed(ns2) {
558
+ var nsKey = self.getNSKey(ns2);
559
+ return used[nsKey];
560
+ }
561
+ var self = this;
562
+ var allNs = [].concat(wellknown, custom);
563
+ return allNs.filter(isUsed);
564
+ };
565
+ }
566
+ function lower(string) {
567
+ return string.charAt(0).toLowerCase() + string.slice(1);
568
+ }
569
+ function nameToAlias(name, pkg) {
570
+ if (hasLowerCaseAlias(pkg)) {
571
+ return lower(name);
572
+ } else {
573
+ return name;
574
+ }
575
+ }
576
+ function inherits(ctor, superCtor) {
577
+ ctor.super_ = superCtor;
578
+ ctor.prototype = Object.create(superCtor.prototype, {
579
+ constructor: {
580
+ value: ctor,
581
+ enumerable: false,
582
+ writable: true,
583
+ configurable: true
584
+ }
585
+ });
586
+ }
587
+ function nsName(ns) {
588
+ if (isString(ns)) {
589
+ return ns;
590
+ } else {
591
+ return (ns.prefix ? ns.prefix + ":" : "") + ns.localName;
592
+ }
593
+ }
594
+ function getNsAttrs(namespaces) {
595
+ return namespaces.getUsed().filter(function(ns) {
596
+ return ns.prefix !== "xml";
597
+ }).map(function(ns) {
598
+ var name = "xmlns" + (ns.prefix ? ":" + ns.prefix : "");
599
+ return { name, value: ns.uri };
600
+ });
601
+ }
602
+ function getElementNs(ns, descriptor) {
603
+ if (descriptor.isGeneric) {
604
+ return assign({ localName: descriptor.ns.localName }, ns);
605
+ } else {
606
+ return assign({ localName: nameToAlias(descriptor.ns.localName, descriptor.$pkg) }, ns);
607
+ }
608
+ }
609
+ function getPropertyNs(ns, descriptor) {
610
+ return assign({ localName: descriptor.ns.localName }, ns);
611
+ }
612
+ function getSerializableProperties(element) {
613
+ var descriptor = element.$descriptor;
614
+ return filter(descriptor.properties, function(p) {
615
+ var name = p.name;
616
+ if (p.isVirtual) {
617
+ return false;
618
+ }
619
+ if (!has(element, name)) {
620
+ return false;
621
+ }
622
+ var value = element[name];
623
+ if (value === p.default) {
624
+ return false;
625
+ }
626
+ if (value === null) {
627
+ return false;
628
+ }
629
+ return p.isMany ? value.length : true;
630
+ });
631
+ }
632
+ var ESCAPE_ATTR_MAP = {
633
+ "\n": "#10",
634
+ "\n\r": "#10",
635
+ '"': "#34",
636
+ "'": "#39",
637
+ "<": "#60",
638
+ ">": "#62",
639
+ "&": "#38"
640
+ };
641
+ var ESCAPE_MAP = {
642
+ "<": "lt",
643
+ ">": "gt",
644
+ "&": "amp"
645
+ };
646
+ function escape(str, charPattern, replaceMap) {
647
+ str = isString(str) ? str : "" + str;
648
+ return str.replace(charPattern, function(s) {
649
+ return "&" + replaceMap[s] + ";";
650
+ });
651
+ }
652
+ function escapeAttr(str) {
653
+ return escape(str, ESCAPE_ATTR_CHARS, ESCAPE_ATTR_MAP);
654
+ }
655
+ function escapeBody(str) {
656
+ return escape(str, ESCAPE_CHARS, ESCAPE_MAP);
657
+ }
658
+ function filterAttributes(props) {
659
+ return filter(props, function(p) {
660
+ return p.isAttr;
661
+ });
662
+ }
663
+ function filterContained(props) {
664
+ return filter(props, function(p) {
665
+ return !p.isAttr;
666
+ });
667
+ }
668
+ function ReferenceSerializer(tagName) {
669
+ this.tagName = tagName;
670
+ }
671
+ ReferenceSerializer.prototype.build = function(element) {
672
+ this.element = element;
673
+ return this;
674
+ };
675
+ ReferenceSerializer.prototype.serializeTo = function(writer) {
676
+ writer.appendIndent().append("<" + this.tagName + ">" + this.element.id + "</" + this.tagName + ">").appendNewLine();
677
+ };
678
+ function BodySerializer() {
679
+ }
680
+ BodySerializer.prototype.serializeValue = BodySerializer.prototype.serializeTo = function(writer) {
681
+ writer.append(
682
+ this.escape ? escapeBody(this.value) : this.value
683
+ );
684
+ };
685
+ BodySerializer.prototype.build = function(prop, value) {
686
+ this.value = value;
687
+ if (prop.type === "String" && value.search(ESCAPE_CHARS) !== -1) {
688
+ this.escape = true;
689
+ }
690
+ return this;
691
+ };
692
+ function ValueSerializer(tagName) {
693
+ this.tagName = tagName;
694
+ }
695
+ inherits(ValueSerializer, BodySerializer);
696
+ ValueSerializer.prototype.serializeTo = function(writer) {
697
+ writer.appendIndent().append("<" + this.tagName + ">");
698
+ this.serializeValue(writer);
699
+ writer.append("</" + this.tagName + ">").appendNewLine();
700
+ };
701
+ function ElementSerializer(parent, propertyDescriptor) {
702
+ this.body = [];
703
+ this.attrs = [];
704
+ this.parent = parent;
705
+ this.propertyDescriptor = propertyDescriptor;
706
+ }
707
+ ElementSerializer.prototype.build = function(element) {
708
+ this.element = element;
709
+ var elementDescriptor = element.$descriptor, propertyDescriptor = this.propertyDescriptor;
710
+ var otherAttrs, properties;
711
+ var isGeneric = elementDescriptor.isGeneric;
712
+ if (isGeneric) {
713
+ otherAttrs = this.parseGeneric(element);
714
+ } else {
715
+ otherAttrs = this.parseNsAttributes(element);
716
+ }
717
+ if (propertyDescriptor) {
718
+ this.ns = this.nsPropertyTagName(propertyDescriptor);
719
+ } else {
720
+ this.ns = this.nsTagName(elementDescriptor);
721
+ }
722
+ this.tagName = this.addTagName(this.ns);
723
+ if (!isGeneric) {
724
+ properties = getSerializableProperties(element);
725
+ this.parseAttributes(filterAttributes(properties));
726
+ this.parseContainments(filterContained(properties));
727
+ }
728
+ this.parseGenericAttributes(element, otherAttrs);
729
+ return this;
730
+ };
731
+ ElementSerializer.prototype.nsTagName = function(descriptor) {
732
+ var effectiveNs = this.logNamespaceUsed(descriptor.ns);
733
+ return getElementNs(effectiveNs, descriptor);
734
+ };
735
+ ElementSerializer.prototype.nsPropertyTagName = function(descriptor) {
736
+ var effectiveNs = this.logNamespaceUsed(descriptor.ns);
737
+ return getPropertyNs(effectiveNs, descriptor);
738
+ };
739
+ ElementSerializer.prototype.isLocalNs = function(ns) {
740
+ return ns.uri === this.ns.uri;
741
+ };
742
+ ElementSerializer.prototype.nsAttributeName = function(element) {
743
+ var ns;
744
+ if (isString(element)) {
745
+ ns = parseName(element);
746
+ } else {
747
+ ns = element.ns;
748
+ }
749
+ if (element.inherited) {
750
+ return { localName: ns.localName };
751
+ }
752
+ var effectiveNs = this.logNamespaceUsed(ns);
753
+ this.getNamespaces().logUsed(effectiveNs);
754
+ if (this.isLocalNs(effectiveNs)) {
755
+ return { localName: ns.localName };
756
+ } else {
757
+ return assign({ localName: ns.localName }, effectiveNs);
758
+ }
759
+ };
760
+ ElementSerializer.prototype.parseGeneric = function(element) {
761
+ var self = this, body = this.body;
762
+ var attributes = [];
763
+ forEach(element, function(val, key) {
764
+ var nonNsAttr;
765
+ if (key === "$body") {
766
+ body.push(new BodySerializer().build({ type: "String" }, val));
767
+ } else if (key === "$children") {
768
+ forEach(val, function(child) {
769
+ body.push(new ElementSerializer(self).build(child));
770
+ });
771
+ } else if (key.indexOf("$") !== 0) {
772
+ nonNsAttr = self.parseNsAttribute(element, key, val);
773
+ if (nonNsAttr) {
774
+ attributes.push({ name: key, value: val });
775
+ }
776
+ }
777
+ });
778
+ return attributes;
779
+ };
780
+ ElementSerializer.prototype.parseNsAttribute = function(element, name, value) {
781
+ var model = element.$model;
782
+ var nameNs = parseName(name);
783
+ var ns;
784
+ if (nameNs.prefix === "xmlns") {
785
+ ns = { prefix: nameNs.localName, uri: value };
786
+ }
787
+ if (!nameNs.prefix && nameNs.localName === "xmlns") {
788
+ ns = { uri: value };
789
+ }
790
+ if (!ns) {
791
+ return {
792
+ name,
793
+ value
794
+ };
795
+ }
796
+ if (model && model.getPackage(value)) {
797
+ this.logNamespace(ns, true, true);
798
+ } else {
799
+ var actualNs = this.logNamespaceUsed(ns, true);
800
+ this.getNamespaces().logUsed(actualNs);
801
+ }
802
+ };
803
+ ElementSerializer.prototype.parseNsAttributes = function(element, attrs) {
804
+ var self = this;
805
+ var genericAttrs = element.$attrs;
806
+ var attributes = [];
807
+ forEach(genericAttrs, function(value, name) {
808
+ var nonNsAttr = self.parseNsAttribute(element, name, value);
809
+ if (nonNsAttr) {
810
+ attributes.push(nonNsAttr);
811
+ }
812
+ });
813
+ return attributes;
814
+ };
815
+ ElementSerializer.prototype.parseGenericAttributes = function(element, attributes) {
816
+ var self = this;
817
+ forEach(attributes, function(attr) {
818
+ if (attr.name === XSI_TYPE) {
819
+ return;
820
+ }
821
+ try {
822
+ self.addAttribute(self.nsAttributeName(attr.name), attr.value);
823
+ } catch (e) {
824
+ console.warn(
825
+ "missing namespace information for ",
826
+ attr.name,
827
+ "=",
828
+ attr.value,
829
+ "on",
830
+ element,
831
+ e
832
+ );
833
+ }
834
+ });
835
+ };
836
+ ElementSerializer.prototype.parseContainments = function(properties) {
837
+ var self = this, body = this.body, element = this.element;
838
+ forEach(properties, function(p) {
839
+ var value = element.get(p.name), isReference = p.isReference, isMany = p.isMany;
840
+ if (!isMany) {
841
+ value = [value];
842
+ }
843
+ if (p.isBody) {
844
+ body.push(new BodySerializer().build(p, value[0]));
845
+ } else if (isSimple(p.type)) {
846
+ forEach(value, function(v) {
847
+ body.push(new ValueSerializer(self.addTagName(self.nsPropertyTagName(p))).build(p, v));
848
+ });
849
+ } else if (isReference) {
850
+ forEach(value, function(v) {
851
+ body.push(new ReferenceSerializer(self.addTagName(self.nsPropertyTagName(p))).build(v));
852
+ });
853
+ } else {
854
+ var asType = serializeAsType(p), asProperty = serializeAsProperty(p);
855
+ forEach(value, function(v) {
856
+ var serializer;
857
+ if (asType) {
858
+ serializer = new TypeSerializer(self, p);
859
+ } else if (asProperty) {
860
+ serializer = new ElementSerializer(self, p);
861
+ } else {
862
+ serializer = new ElementSerializer(self);
863
+ }
864
+ body.push(serializer.build(v));
865
+ });
866
+ }
867
+ });
868
+ };
869
+ ElementSerializer.prototype.getNamespaces = function(local) {
870
+ var namespaces = this.namespaces, parent = this.parent, parentNamespaces;
871
+ if (!namespaces) {
872
+ parentNamespaces = parent && parent.getNamespaces();
873
+ if (local || !parentNamespaces) {
874
+ this.namespaces = namespaces = new Namespaces(parentNamespaces);
875
+ } else {
876
+ namespaces = parentNamespaces;
877
+ }
878
+ }
879
+ return namespaces;
880
+ };
881
+ ElementSerializer.prototype.logNamespace = function(ns, wellknown, local) {
882
+ var namespaces = this.getNamespaces(local);
883
+ var nsUri = ns.uri, nsPrefix = ns.prefix;
884
+ var existing = namespaces.byUri(nsUri);
885
+ if (!existing || local) {
886
+ namespaces.add(ns, wellknown);
887
+ }
888
+ namespaces.mapPrefix(nsPrefix, nsUri);
889
+ return ns;
890
+ };
891
+ ElementSerializer.prototype.logNamespaceUsed = function(ns, local) {
892
+ var element = this.element, model = element.$model, namespaces = this.getNamespaces(local);
893
+ var prefix = ns.prefix, uri = ns.uri, newPrefix, idx, wellknownUri;
894
+ if (!prefix && !uri) {
895
+ return { localName: ns.localName };
896
+ }
897
+ wellknownUri = DEFAULT_NS_MAP[prefix] || model && (model.getPackage(prefix) || {}).uri;
898
+ uri = uri || wellknownUri || namespaces.uriByPrefix(prefix);
899
+ if (!uri) {
900
+ throw new Error("no namespace uri given for prefix <" + prefix + ">");
901
+ }
902
+ ns = namespaces.byUri(uri);
903
+ if (!ns) {
904
+ newPrefix = prefix;
905
+ idx = 1;
906
+ while (namespaces.uriByPrefix(newPrefix)) {
907
+ newPrefix = prefix + "_" + idx++;
908
+ }
909
+ ns = this.logNamespace({ prefix: newPrefix, uri }, wellknownUri === uri);
910
+ }
911
+ if (prefix) {
912
+ namespaces.mapPrefix(prefix, uri);
913
+ }
914
+ return ns;
915
+ };
916
+ ElementSerializer.prototype.parseAttributes = function(properties) {
917
+ var self = this, element = this.element;
918
+ forEach(properties, function(p) {
919
+ var value = element.get(p.name);
920
+ if (p.isReference) {
921
+ if (!p.isMany) {
922
+ value = value.id;
923
+ } else {
924
+ var values = [];
925
+ forEach(value, function(v) {
926
+ values.push(v.id);
927
+ });
928
+ value = values.join(" ");
929
+ }
930
+ }
931
+ self.addAttribute(self.nsAttributeName(p), value);
932
+ });
933
+ };
934
+ ElementSerializer.prototype.addTagName = function(nsTagName) {
935
+ var actualNs = this.logNamespaceUsed(nsTagName);
936
+ this.getNamespaces().logUsed(actualNs);
937
+ return nsName(nsTagName);
938
+ };
939
+ ElementSerializer.prototype.addAttribute = function(name, value) {
940
+ var attrs = this.attrs;
941
+ if (isString(value)) {
942
+ value = escapeAttr(value);
943
+ }
944
+ var idx = findIndex(attrs, function(element) {
945
+ return element.name.localName === name.localName && element.name.uri === name.uri && element.name.prefix === name.prefix;
946
+ });
947
+ var attr = { name, value };
948
+ if (idx !== -1) {
949
+ attrs.splice(idx, 1, attr);
950
+ } else {
951
+ attrs.push(attr);
952
+ }
953
+ };
954
+ ElementSerializer.prototype.serializeAttributes = function(writer) {
955
+ var attrs = this.attrs, namespaces = this.namespaces;
956
+ if (namespaces) {
957
+ attrs = getNsAttrs(namespaces).concat(attrs);
958
+ }
959
+ forEach(attrs, function(a) {
960
+ writer.append(" ").append(nsName(a.name)).append('="').append(a.value).append('"');
961
+ });
962
+ };
963
+ ElementSerializer.prototype.serializeTo = function(writer) {
964
+ var firstBody = this.body[0], indent = firstBody && firstBody.constructor !== BodySerializer;
965
+ writer.appendIndent().append("<" + this.tagName);
966
+ this.serializeAttributes(writer);
967
+ writer.append(firstBody ? ">" : " />");
968
+ if (firstBody) {
969
+ if (indent) {
970
+ writer.appendNewLine().indent();
971
+ }
972
+ forEach(this.body, function(b) {
973
+ b.serializeTo(writer);
974
+ });
975
+ if (indent) {
976
+ writer.unindent().appendIndent();
977
+ }
978
+ writer.append("</" + this.tagName + ">");
979
+ }
980
+ writer.appendNewLine();
981
+ };
982
+ function TypeSerializer(parent, propertyDescriptor) {
983
+ ElementSerializer.call(this, parent, propertyDescriptor);
984
+ }
985
+ inherits(TypeSerializer, ElementSerializer);
986
+ TypeSerializer.prototype.parseNsAttributes = function(element) {
987
+ var attributes = ElementSerializer.prototype.parseNsAttributes.call(this, element);
988
+ var descriptor = element.$descriptor;
989
+ if (descriptor.name === this.propertyDescriptor.type) {
990
+ return attributes;
991
+ }
992
+ var typeNs = this.typeNs = this.nsTagName(descriptor);
993
+ this.getNamespaces().logUsed(this.typeNs);
994
+ var pkg = element.$model.getPackage(typeNs.uri), typePrefix = pkg.xml && pkg.xml.typePrefix || "";
995
+ this.addAttribute(
996
+ this.nsAttributeName(XSI_TYPE),
997
+ (typeNs.prefix ? typeNs.prefix + ":" : "") + typePrefix + descriptor.ns.localName
998
+ );
999
+ return attributes;
1000
+ };
1001
+ TypeSerializer.prototype.isLocalNs = function(ns) {
1002
+ return ns.uri === (this.typeNs || this.ns).uri;
1003
+ };
1004
+ function SavingWriter() {
1005
+ this.value = "";
1006
+ this.write = function(str) {
1007
+ this.value += str;
1008
+ };
1009
+ }
1010
+ function FormatingWriter(out, format) {
1011
+ var indent = [""];
1012
+ this.append = function(str) {
1013
+ out.write(str);
1014
+ return this;
1015
+ };
1016
+ this.appendNewLine = function() {
1017
+ if (format) {
1018
+ out.write("\n");
1019
+ }
1020
+ return this;
1021
+ };
1022
+ this.appendIndent = function() {
1023
+ if (format) {
1024
+ out.write(indent.join(" "));
1025
+ }
1026
+ return this;
1027
+ };
1028
+ this.indent = function() {
1029
+ indent.push("");
1030
+ return this;
1031
+ };
1032
+ this.unindent = function() {
1033
+ indent.pop();
1034
+ return this;
1035
+ };
1036
+ }
1037
+ function Writer(options) {
1038
+ options = assign({ format: false, preamble: true }, options || {});
1039
+ function toXML(tree, writer) {
1040
+ var internalWriter = writer || new SavingWriter();
1041
+ var formatingWriter = new FormatingWriter(internalWriter, options.format);
1042
+ if (options.preamble) {
1043
+ formatingWriter.append(XML_PREAMBLE);
1044
+ }
1045
+ new ElementSerializer().build(tree).serializeTo(formatingWriter);
1046
+ if (!writer) {
1047
+ return internalWriter.value;
1048
+ }
1049
+ }
1050
+ return {
1051
+ toXML
1052
+ };
1053
+ }
1054
+ export {
1055
+ Reader,
1056
+ Writer
1057
+ };