workflow-bpmn-modeler-andtv-vue3 10.0.9 → 10.1.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.
@@ -565,7 +565,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue
565
565
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
566
566
 
567
567
  "use strict";
568
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 3:\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 4:\n _context.p = 4;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 4]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n var initializeModeler, initialized, _canvas$value, observer, retryCount, maxRetries, retryTimer;\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n initializeModeler = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n if (!(!canvas.value || canvas.value.offsetWidth === 0 || canvas.value.offsetHeight === 0)) {\n _context2.n = 1;\n break;\n }\n console.log('Canvas container not ready, waiting...');\n return _context2.a(2, false);\n case 1:\n console.log('Canvas container found, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context2.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 新增流程定义\n if (!props.xml) {\n newDiagram();\n } else {\n createNewDiagram(props.xml);\n }\n console.log('BPMN Modeler initialized successfully');\n return _context2.a(2, true);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('BPMN Modeler initialization failed:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function initializeModeler() {\n return _ref4.apply(this, arguments);\n };\n }(); // 立即尝试初始化\n _context5.n = 2;\n return initializeModeler();\n case 2:\n initialized = _context5.v;\n // 如果初始化失败,使用多种策略重试\n if (!initialized) {\n // 策略1: 使用MutationObserver监听DOM变化\n observer = new MutationObserver(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.n) {\n case 0:\n if (!(canvas.value && canvas.value.offsetWidth > 0 && canvas.value.offsetHeight > 0)) {\n _context3.n = 1;\n break;\n }\n observer.disconnect();\n _context3.n = 1;\n return initializeModeler();\n case 1:\n return _context3.a(2);\n }\n }, _callee3);\n }))); // 监听父容器变化\n if ((_canvas$value = canvas.value) !== null && _canvas$value !== void 0 && _canvas$value.parentElement) {\n observer.observe(canvas.value.parentElement, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n });\n }\n // 策略2: 定时重试(最多10秒)\n retryCount = 0;\n maxRetries = 50; // 10秒,每200ms重试一次\n retryTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n retryCount++;\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (initialized || retryCount >= maxRetries) {\n clearInterval(retryTimer);\n observer.disconnect();\n if (!initialized) {\n console.error('Failed to initialize BPMN Modeler after maximum retries');\n }\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })), 200);\n }\n case 3:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n var newDiagram = function newDiagram() {\n createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n };\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(data) {\n var _t3;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.p = _context6.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context6.p = 1;\n if (modeler.value) {\n _context6.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context6.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context6.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context6.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context6.n = 6;\n break;\n case 5:\n _context6.p = 5;\n _t3 = _context6.v;\n console.error('Failed to create diagram:', _t3.message, _t3.warnings);\n throw _t3;\n case 6:\n return _context6.a(2);\n }\n }, _callee6, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args7 = arguments,\n _t4;\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.p = _context7.n) {\n case 0:\n download = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : false;\n _context7.p = 1;\n if (modeler.value) {\n _context7.n = 2;\n break;\n }\n return _context7.a(2);\n case 2:\n _context7.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context7.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context7.a(2, xml);\n case 4:\n _context7.p = 4;\n _t4 = _context7.v;\n console.log(_t4);\n case 5:\n return _context7.a(2);\n }\n }, _callee7, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref8.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args8 = arguments,\n _t5;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n type = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : 'svg';\n download = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : false;\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n return _context8.a(2);\n case 2:\n _context8.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context8.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context8.a(2, svg);\n case 4:\n _context8.p = 4;\n _t5 = _context8.v;\n console.log(_t5);\n case 5:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref9.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.n) {\n case 0:\n process = getProcess();\n _context9.n = 1;\n return saveXML();\n case 1:\n xml = _context9.v;\n _context9.n = 2;\n return saveImg();\n case 2:\n svg = _context9.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context9.a(2);\n }\n }, _callee9);\n }));\n return function save() {\n return _ref0.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://workflow-bpmn-modeler-andtv-vue3/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
568
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 强制设置容器样式\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n // 等待DOM更新\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 50);\n });\n case 3:\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n _context.n = 5;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 5:\n isInitialized.value = true;\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 6:\n _context.p = 6;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 6]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 强制重新初始化方法\n var forceReinit = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var success, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n console.log('Force reinitializing BPMN Modeler...');\n // 清理现有实例\n if (modeler.value) {\n modeler.value.destroy();\n modeler.value = null;\n }\n isInitialized.value = false;\n // 等待一段时间\n _context2.n = 1;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 1:\n _context2.n = 2;\n return simpleInit();\n case 2:\n success = _context2.v;\n if (success) {\n console.log('Force reinitialization successful');\n } else {\n console.error('Force reinitialization failed');\n }\n return _context2.a(2, success);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Force reinitialization error:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function forceReinit() {\n return _ref3.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n isInitialized: isInitialized,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n // 生成唯一的canvas ID\n var canvasId = \"bpmn-canvas-\".concat(Date.now(), \"-\").concat(Math.random().toString(36).substr(2, 9));\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n var isInitialized = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {\n var initializeModeler, initialized, tryWithRAF;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.n) {\n case 0:\n console.log('Component mounted, starting initialization...');\n // 等待DOM完全渲染\n _context6.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n _context6.n = 2;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 2:\n initializeModeler = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n var _t3;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.p = _context3.n) {\n case 0:\n _context3.p = 0;\n if (canvas.value) {\n _context3.n = 1;\n break;\n }\n console.error('Canvas ref not found');\n return _context3.a(2, false);\n case 1:\n // 强制设置容器尺寸\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n console.log('Canvas container prepared, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context3.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 标记为已初始化\n isInitialized.value = true;\n // 新增流程定义\n if (props.xml) {\n _context3.n = 4;\n break;\n }\n _context3.n = 3;\n return newDiagram();\n case 3:\n _context3.n = 5;\n break;\n case 4:\n _context3.n = 5;\n return createNewDiagram(props.xml);\n case 5:\n console.log('BPMN Modeler initialized successfully');\n return _context3.a(2, true);\n case 6:\n _context3.p = 6;\n _t3 = _context3.v;\n console.error('BPMN Modeler initialization failed:', _t3);\n return _context3.a(2, false);\n }\n }, _callee3, null, [[0, 6]]);\n }));\n return function initializeModeler() {\n return _ref5.apply(this, arguments);\n };\n }(); // 尝试初始化\n _context6.n = 3;\n return initializeModeler();\n case 3:\n initialized = _context6.v;\n // 如果失败,使用更激进的重试策略\n if (!initialized) {\n console.log('Initial initialization failed, trying alternative approach...');\n // 使用requestAnimationFrame确保在下一帧尝试\n tryWithRAF = function tryWithRAF() {\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context5.v;\n if (!initialized) {\n // 如果还是失败,再等一帧\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (!initialized) {\n console.error('All initialization attempts failed');\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })));\n }\n case 2:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n };\n tryWithRAF();\n }\n case 4:\n return _context6.a(2);\n }\n }, _callee6);\n })));\n var newDiagram = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.n) {\n case 0:\n _context7.n = 1;\n return createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 1:\n return _context7.a(2);\n }\n }, _callee7);\n }));\n return function newDiagram() {\n return _ref8.apply(this, arguments);\n };\n }();\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(data) {\n var _t4;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context8.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context8.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context8.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context8.n = 6;\n break;\n case 5:\n _context8.p = 5;\n _t4 = _context8.v;\n console.error('Failed to create diagram:', _t4.message, _t4.warnings);\n throw _t4;\n case 6:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref9.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args9 = arguments,\n _t5;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.p = _context9.n) {\n case 0:\n download = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : false;\n _context9.p = 1;\n if (modeler.value) {\n _context9.n = 2;\n break;\n }\n return _context9.a(2);\n case 2:\n _context9.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context9.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context9.a(2, xml);\n case 4:\n _context9.p = 4;\n _t5 = _context9.v;\n console.log(_t5);\n case 5:\n return _context9.a(2);\n }\n }, _callee9, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref0.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args0 = arguments,\n _t6;\n return _regenerator().w(function (_context0) {\n while (1) switch (_context0.p = _context0.n) {\n case 0:\n type = _args0.length > 0 && _args0[0] !== undefined ? _args0[0] : 'svg';\n download = _args0.length > 1 && _args0[1] !== undefined ? _args0[1] : false;\n _context0.p = 1;\n if (modeler.value) {\n _context0.n = 2;\n break;\n }\n return _context0.a(2);\n case 2:\n _context0.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context0.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context0.a(2, svg);\n case 4:\n _context0.p = 4;\n _t6 = _context0.v;\n console.log(_t6);\n case 5:\n return _context0.a(2);\n }\n }, _callee0, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref1.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context1) {\n while (1) switch (_context1.n) {\n case 0:\n process = getProcess();\n _context1.n = 1;\n return saveXML();\n case 1:\n xml = _context1.v;\n _context1.n = 2;\n return saveImg();\n case 2:\n svg = _context1.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context1.a(2);\n }\n }, _callee1);\n }));\n return function save() {\n return _ref10.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n canvasId: canvasId,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n isInitialized: isInitialized,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://workflow-bpmn-modeler-andtv-vue3/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
569
569
 
570
570
  /***/ }),
571
571
 
@@ -697,7 +697,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
697
697
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
698
698
 
699
699
  "use strict";
700
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_8 = {\n ref: \"canvas\",\n class: \"canvas\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_8, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://workflow-bpmn-modeler-andtv-vue3/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
700
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n ref: \"canvas\",\n class: \"canvas\",\n id: $setup.canvasId\n }, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://workflow-bpmn-modeler-andtv-vue3/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-41.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
701
701
 
702
702
  /***/ }),
703
703
 
@@ -565,7 +565,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue
565
565
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
566
566
 
567
567
  "use strict";
568
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 3:\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 4:\n _context.p = 4;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 4]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n var initializeModeler, initialized, _canvas$value, observer, retryCount, maxRetries, retryTimer;\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n initializeModeler = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n if (!(!canvas.value || canvas.value.offsetWidth === 0 || canvas.value.offsetHeight === 0)) {\n _context2.n = 1;\n break;\n }\n console.log('Canvas container not ready, waiting...');\n return _context2.a(2, false);\n case 1:\n console.log('Canvas container found, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context2.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 新增流程定义\n if (!props.xml) {\n newDiagram();\n } else {\n createNewDiagram(props.xml);\n }\n console.log('BPMN Modeler initialized successfully');\n return _context2.a(2, true);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('BPMN Modeler initialization failed:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function initializeModeler() {\n return _ref4.apply(this, arguments);\n };\n }(); // 立即尝试初始化\n _context5.n = 2;\n return initializeModeler();\n case 2:\n initialized = _context5.v;\n // 如果初始化失败,使用多种策略重试\n if (!initialized) {\n // 策略1: 使用MutationObserver监听DOM变化\n observer = new MutationObserver(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.n) {\n case 0:\n if (!(canvas.value && canvas.value.offsetWidth > 0 && canvas.value.offsetHeight > 0)) {\n _context3.n = 1;\n break;\n }\n observer.disconnect();\n _context3.n = 1;\n return initializeModeler();\n case 1:\n return _context3.a(2);\n }\n }, _callee3);\n }))); // 监听父容器变化\n if ((_canvas$value = canvas.value) !== null && _canvas$value !== void 0 && _canvas$value.parentElement) {\n observer.observe(canvas.value.parentElement, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n });\n }\n // 策略2: 定时重试(最多10秒)\n retryCount = 0;\n maxRetries = 50; // 10秒,每200ms重试一次\n retryTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n retryCount++;\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (initialized || retryCount >= maxRetries) {\n clearInterval(retryTimer);\n observer.disconnect();\n if (!initialized) {\n console.error('Failed to initialize BPMN Modeler after maximum retries');\n }\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })), 200);\n }\n case 3:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n var newDiagram = function newDiagram() {\n createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n };\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(data) {\n var _t3;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.p = _context6.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context6.p = 1;\n if (modeler.value) {\n _context6.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context6.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context6.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context6.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context6.n = 6;\n break;\n case 5:\n _context6.p = 5;\n _t3 = _context6.v;\n console.error('Failed to create diagram:', _t3.message, _t3.warnings);\n throw _t3;\n case 6:\n return _context6.a(2);\n }\n }, _callee6, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args7 = arguments,\n _t4;\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.p = _context7.n) {\n case 0:\n download = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : false;\n _context7.p = 1;\n if (modeler.value) {\n _context7.n = 2;\n break;\n }\n return _context7.a(2);\n case 2:\n _context7.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context7.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context7.a(2, xml);\n case 4:\n _context7.p = 4;\n _t4 = _context7.v;\n console.log(_t4);\n case 5:\n return _context7.a(2);\n }\n }, _callee7, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref8.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args8 = arguments,\n _t5;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n type = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : 'svg';\n download = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : false;\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n return _context8.a(2);\n case 2:\n _context8.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context8.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context8.a(2, svg);\n case 4:\n _context8.p = 4;\n _t5 = _context8.v;\n console.log(_t5);\n case 5:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref9.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.n) {\n case 0:\n process = getProcess();\n _context9.n = 1;\n return saveXML();\n case 1:\n xml = _context9.v;\n _context9.n = 2;\n return saveImg();\n case 2:\n svg = _context9.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context9.a(2);\n }\n }, _callee9);\n }));\n return function save() {\n return _ref0.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-86.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
568
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 强制设置容器样式\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n // 等待DOM更新\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 50);\n });\n case 3:\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n _context.n = 5;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 5:\n isInitialized.value = true;\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 6:\n _context.p = 6;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 6]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 强制重新初始化方法\n var forceReinit = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var success, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n console.log('Force reinitializing BPMN Modeler...');\n // 清理现有实例\n if (modeler.value) {\n modeler.value.destroy();\n modeler.value = null;\n }\n isInitialized.value = false;\n // 等待一段时间\n _context2.n = 1;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 1:\n _context2.n = 2;\n return simpleInit();\n case 2:\n success = _context2.v;\n if (success) {\n console.log('Force reinitialization successful');\n } else {\n console.error('Force reinitialization failed');\n }\n return _context2.a(2, success);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Force reinitialization error:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function forceReinit() {\n return _ref3.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n isInitialized: isInitialized,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n // 生成唯一的canvas ID\n var canvasId = \"bpmn-canvas-\".concat(Date.now(), \"-\").concat(Math.random().toString(36).substr(2, 9));\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n var isInitialized = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {\n var initializeModeler, initialized, tryWithRAF;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.n) {\n case 0:\n console.log('Component mounted, starting initialization...');\n // 等待DOM完全渲染\n _context6.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n _context6.n = 2;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 2:\n initializeModeler = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n var _t3;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.p = _context3.n) {\n case 0:\n _context3.p = 0;\n if (canvas.value) {\n _context3.n = 1;\n break;\n }\n console.error('Canvas ref not found');\n return _context3.a(2, false);\n case 1:\n // 强制设置容器尺寸\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n console.log('Canvas container prepared, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context3.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 标记为已初始化\n isInitialized.value = true;\n // 新增流程定义\n if (props.xml) {\n _context3.n = 4;\n break;\n }\n _context3.n = 3;\n return newDiagram();\n case 3:\n _context3.n = 5;\n break;\n case 4:\n _context3.n = 5;\n return createNewDiagram(props.xml);\n case 5:\n console.log('BPMN Modeler initialized successfully');\n return _context3.a(2, true);\n case 6:\n _context3.p = 6;\n _t3 = _context3.v;\n console.error('BPMN Modeler initialization failed:', _t3);\n return _context3.a(2, false);\n }\n }, _callee3, null, [[0, 6]]);\n }));\n return function initializeModeler() {\n return _ref5.apply(this, arguments);\n };\n }(); // 尝试初始化\n _context6.n = 3;\n return initializeModeler();\n case 3:\n initialized = _context6.v;\n // 如果失败,使用更激进的重试策略\n if (!initialized) {\n console.log('Initial initialization failed, trying alternative approach...');\n // 使用requestAnimationFrame确保在下一帧尝试\n tryWithRAF = function tryWithRAF() {\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context5.v;\n if (!initialized) {\n // 如果还是失败,再等一帧\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (!initialized) {\n console.error('All initialization attempts failed');\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })));\n }\n case 2:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n };\n tryWithRAF();\n }\n case 4:\n return _context6.a(2);\n }\n }, _callee6);\n })));\n var newDiagram = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.n) {\n case 0:\n _context7.n = 1;\n return createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 1:\n return _context7.a(2);\n }\n }, _callee7);\n }));\n return function newDiagram() {\n return _ref8.apply(this, arguments);\n };\n }();\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(data) {\n var _t4;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context8.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context8.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context8.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context8.n = 6;\n break;\n case 5:\n _context8.p = 5;\n _t4 = _context8.v;\n console.error('Failed to create diagram:', _t4.message, _t4.warnings);\n throw _t4;\n case 6:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref9.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args9 = arguments,\n _t5;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.p = _context9.n) {\n case 0:\n download = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : false;\n _context9.p = 1;\n if (modeler.value) {\n _context9.n = 2;\n break;\n }\n return _context9.a(2);\n case 2:\n _context9.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context9.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context9.a(2, xml);\n case 4:\n _context9.p = 4;\n _t5 = _context9.v;\n console.log(_t5);\n case 5:\n return _context9.a(2);\n }\n }, _callee9, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref0.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args0 = arguments,\n _t6;\n return _regenerator().w(function (_context0) {\n while (1) switch (_context0.p = _context0.n) {\n case 0:\n type = _args0.length > 0 && _args0[0] !== undefined ? _args0[0] : 'svg';\n download = _args0.length > 1 && _args0[1] !== undefined ? _args0[1] : false;\n _context0.p = 1;\n if (modeler.value) {\n _context0.n = 2;\n break;\n }\n return _context0.a(2);\n case 2:\n _context0.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context0.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context0.a(2, svg);\n case 4:\n _context0.p = 4;\n _t6 = _context0.v;\n console.log(_t6);\n case 5:\n return _context0.a(2);\n }\n }, _callee0, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref1.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context1) {\n while (1) switch (_context1.n) {\n case 0:\n process = getProcess();\n _context1.n = 1;\n return saveXML();\n case 1:\n xml = _context1.v;\n _context1.n = 2;\n return saveImg();\n case 2:\n svg = _context1.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context1.a(2);\n }\n }, _callee1);\n }));\n return function save() {\n return _ref10.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n canvasId: canvasId,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n isInitialized: isInitialized,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-86.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
569
569
 
570
570
  /***/ }),
571
571
 
@@ -697,7 +697,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
697
697
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
698
698
 
699
699
  "use strict";
700
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_8 = {\n ref: \"canvas\",\n class: \"canvas\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_8, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-86.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
700
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n ref: \"canvas\",\n class: \"canvas\",\n id: $setup.canvasId\n }, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-86.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
701
701
 
702
702
  /***/ }),
703
703
 
@@ -565,7 +565,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue
565
565
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
566
566
 
567
567
  "use strict";
568
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 3:\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 4:\n _context.p = 4;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 4]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n var initializeModeler, initialized, _canvas$value, observer, retryCount, maxRetries, retryTimer;\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n initializeModeler = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n if (!(!canvas.value || canvas.value.offsetWidth === 0 || canvas.value.offsetHeight === 0)) {\n _context2.n = 1;\n break;\n }\n console.log('Canvas container not ready, waiting...');\n return _context2.a(2, false);\n case 1:\n console.log('Canvas container found, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context2.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 新增流程定义\n if (!props.xml) {\n newDiagram();\n } else {\n createNewDiagram(props.xml);\n }\n console.log('BPMN Modeler initialized successfully');\n return _context2.a(2, true);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('BPMN Modeler initialization failed:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function initializeModeler() {\n return _ref4.apply(this, arguments);\n };\n }(); // 立即尝试初始化\n _context5.n = 2;\n return initializeModeler();\n case 2:\n initialized = _context5.v;\n // 如果初始化失败,使用多种策略重试\n if (!initialized) {\n // 策略1: 使用MutationObserver监听DOM变化\n observer = new MutationObserver(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.n) {\n case 0:\n if (!(canvas.value && canvas.value.offsetWidth > 0 && canvas.value.offsetHeight > 0)) {\n _context3.n = 1;\n break;\n }\n observer.disconnect();\n _context3.n = 1;\n return initializeModeler();\n case 1:\n return _context3.a(2);\n }\n }, _callee3);\n }))); // 监听父容器变化\n if ((_canvas$value = canvas.value) !== null && _canvas$value !== void 0 && _canvas$value.parentElement) {\n observer.observe(canvas.value.parentElement, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n });\n }\n // 策略2: 定时重试(最多10秒)\n retryCount = 0;\n maxRetries = 50; // 10秒,每200ms重试一次\n retryTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n retryCount++;\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (initialized || retryCount >= maxRetries) {\n clearInterval(retryTimer);\n observer.disconnect();\n if (!initialized) {\n console.error('Failed to initialize BPMN Modeler after maximum retries');\n }\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })), 200);\n }\n case 3:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n var newDiagram = function newDiagram() {\n createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n };\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(data) {\n var _t3;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.p = _context6.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context6.p = 1;\n if (modeler.value) {\n _context6.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context6.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context6.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context6.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context6.n = 6;\n break;\n case 5:\n _context6.p = 5;\n _t3 = _context6.v;\n console.error('Failed to create diagram:', _t3.message, _t3.warnings);\n throw _t3;\n case 6:\n return _context6.a(2);\n }\n }, _callee6, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref7.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args7 = arguments,\n _t4;\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.p = _context7.n) {\n case 0:\n download = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : false;\n _context7.p = 1;\n if (modeler.value) {\n _context7.n = 2;\n break;\n }\n return _context7.a(2);\n case 2:\n _context7.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context7.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context7.a(2, xml);\n case 4:\n _context7.p = 4;\n _t4 = _context7.v;\n console.log(_t4);\n case 5:\n return _context7.a(2);\n }\n }, _callee7, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref8.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args8 = arguments,\n _t5;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n type = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : 'svg';\n download = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : false;\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n return _context8.a(2);\n case 2:\n _context8.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context8.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context8.a(2, svg);\n case 4:\n _context8.p = 4;\n _t5 = _context8.v;\n console.log(_t5);\n case 5:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref9.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.n) {\n case 0:\n process = getProcess();\n _context9.n = 1;\n return saveXML();\n case 1:\n xml = _context9.v;\n _context9.n = 2;\n return saveImg();\n case 2:\n svg = _context9.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context9.a(2);\n }\n }, _callee9);\n }));\n return function save() {\n return _ref0.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-131.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
568
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n/* harmony import */ var _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/customTranslate */ \"./package/common/customTranslate.js\");\n/* harmony import */ var bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bpmn-js/lib/Modeler */ \"./node_modules/.pnpm/bpmn-js@8.10.0/node_modules/bpmn-js/lib/Modeler.js\");\n/* harmony import */ var _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PropertyPanel.vue */ \"./package/PropertyPanel.vue\");\n/* harmony import */ var _BpmData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BpmData */ \"./package/BpmData.js\");\n/* harmony import */ var _flowable_init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flowable/init */ \"./package/flowable/init.js\");\n/* harmony import */ var _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flowable/flowable.json */ \"./package/flowable/flowable.json\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/DownloadOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FolderOpenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/FullscreenOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PictureOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/PlusCircleOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/RedoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/UndoOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomInOutlined.js\");\n/* harmony import */ var _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons-vue */ \"./node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.21_typescript@5.9.2_/node_modules/@ant-design/icons-vue/es/icons/ZoomOutOutlined.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = \"function\" == typeof Symbol ? Symbol : {}, n = r.iterator || \"@@iterator\", o = r.toStringTag || \"@@toStringTag\"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, \"_invoke\", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError(\"Generator is already running\"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = \"next\"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, \"constructor\", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", _regeneratorDefine2(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, \"Generator\"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, \"toString\", function () { return \"[object Generator]\"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }\nfunction _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, \"\", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2)); }, _regeneratorDefine2(e, r, n, t); }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\n// 引入flowable的节点文件\n\n// 引入图标\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (/*@__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)(_objectSpread(_objectSpread({}, {\n name: 'WorkflowBpmnModeler'\n}), {}, {\n __name: 'index',\n props: {\n xml: {\n type: String,\n required: false,\n default: ''\n },\n users: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n categorys: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n },\n isView: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n emits: [\"save\"],\n setup: function setup(__props, _ref) {\n var __expose = _ref.expose,\n __emit = _ref.emit;\n // 汉化\n var props = __props;\n var emit = __emit;\n // 暴露手动初始化方法\n var manualInit = function manualInit() {\n if (!modeler.value && canvas.value) {\n console.log('Manual initialization triggered');\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)();\n }\n };\n // 简化的初始化方法,专门用于XML加载失败的情况\n var simpleInit = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {\n var _t;\n return _regenerator().w(function (_context) {\n while (1) switch (_context.p = _context.n) {\n case 0:\n _context.p = 0;\n if (canvas.value) {\n _context.n = 1;\n break;\n }\n console.error('Canvas container not found for simple init');\n return _context.a(2, false);\n case 1:\n console.log('Starting simple initialization...');\n // 强制设置容器样式\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n // 等待DOM更新\n _context.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n _context.n = 3;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 50);\n });\n case 3:\n // 创建简单的BPMN模型器实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick\n _context.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n _context.n = 5;\n return modeler.value.importXML((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 5:\n isInitialized.value = true;\n console.log('Simple initialization completed successfully');\n return _context.a(2, true);\n case 6:\n _context.p = 6;\n _t = _context.v;\n console.error('Simple initialization failed:', _t);\n return _context.a(2, false);\n }\n }, _callee, null, [[0, 6]]);\n }));\n return function simpleInit() {\n return _ref2.apply(this, arguments);\n };\n }();\n // 强制重新初始化方法\n var forceReinit = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {\n var success, _t2;\n return _regenerator().w(function (_context2) {\n while (1) switch (_context2.p = _context2.n) {\n case 0:\n _context2.p = 0;\n console.log('Force reinitializing BPMN Modeler...');\n // 清理现有实例\n if (modeler.value) {\n modeler.value.destroy();\n modeler.value = null;\n }\n isInitialized.value = false;\n // 等待一段时间\n _context2.n = 1;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 1:\n _context2.n = 2;\n return simpleInit();\n case 2:\n success = _context2.v;\n if (success) {\n console.log('Force reinitialization successful');\n } else {\n console.error('Force reinitialization failed');\n }\n return _context2.a(2, success);\n case 3:\n _context2.p = 3;\n _t2 = _context2.v;\n console.error('Force reinitialization error:', _t2);\n return _context2.a(2, false);\n }\n }, _callee2, null, [[0, 3]]);\n }));\n return function forceReinit() {\n return _ref3.apply(this, arguments);\n };\n }();\n // 暴露给父组件\n __expose({\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n isInitialized: isInitialized,\n getProcess: getProcess,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save\n });\n // 生成唯一的canvas ID\n var canvasId = \"bpmn-canvas-\".concat(Date.now(), \"-\").concat(Math.random().toString(36).substr(2, 9));\n var canvas = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var modeler = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(null);\n var taskList = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)([]);\n var zoom = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(1);\n var isInitialized = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false);\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.watch)(function () {\n return props.xml;\n }, function (val) {\n if (val) {\n createNewDiagram(val);\n }\n });\n (0,vue__WEBPACK_IMPORTED_MODULE_0__.onMounted)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {\n var initializeModeler, initialized, tryWithRAF;\n return _regenerator().w(function (_context6) {\n while (1) switch (_context6.n) {\n case 0:\n console.log('Component mounted, starting initialization...');\n // 等待DOM完全渲染\n _context6.n = 1;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 1:\n _context6.n = 2;\n return new Promise(function (resolve) {\n return setTimeout(resolve, 100);\n });\n case 2:\n initializeModeler = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {\n var _t3;\n return _regenerator().w(function (_context3) {\n while (1) switch (_context3.p = _context3.n) {\n case 0:\n _context3.p = 0;\n if (canvas.value) {\n _context3.n = 1;\n break;\n }\n console.error('Canvas ref not found');\n return _context3.a(2, false);\n case 1:\n // 强制设置容器尺寸\n canvas.value.style.width = '100%';\n canvas.value.style.height = '100%';\n canvas.value.style.minHeight = '400px';\n canvas.value.style.display = 'block';\n console.log('Canvas container prepared, initializing modeler...');\n // 生成实例\n modeler.value = new bpmn_js_lib_Modeler__WEBPACK_IMPORTED_MODULE_2__[\"default\"]({\n container: canvas.value,\n additionalModules: [{\n translate: ['value', _common_customTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"]]\n }],\n moddleExtensions: {\n flowable: _flowable_flowable_json__WEBPACK_IMPORTED_MODULE_6__\n }\n });\n // 等待下一个tick确保DOM更新\n _context3.n = 2;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 2:\n // 标记为已初始化\n isInitialized.value = true;\n // 新增流程定义\n if (props.xml) {\n _context3.n = 4;\n break;\n }\n _context3.n = 3;\n return newDiagram();\n case 3:\n _context3.n = 5;\n break;\n case 4:\n _context3.n = 5;\n return createNewDiagram(props.xml);\n case 5:\n console.log('BPMN Modeler initialized successfully');\n return _context3.a(2, true);\n case 6:\n _context3.p = 6;\n _t3 = _context3.v;\n console.error('BPMN Modeler initialization failed:', _t3);\n return _context3.a(2, false);\n }\n }, _callee3, null, [[0, 6]]);\n }));\n return function initializeModeler() {\n return _ref5.apply(this, arguments);\n };\n }(); // 尝试初始化\n _context6.n = 3;\n return initializeModeler();\n case 3:\n initialized = _context6.v;\n // 如果失败,使用更激进的重试策略\n if (!initialized) {\n console.log('Initial initialization failed, trying alternative approach...');\n // 使用requestAnimationFrame确保在下一帧尝试\n tryWithRAF = function tryWithRAF() {\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {\n return _regenerator().w(function (_context5) {\n while (1) switch (_context5.n) {\n case 0:\n _context5.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context5.v;\n if (!initialized) {\n // 如果还是失败,再等一帧\n requestAnimationFrame(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {\n return _regenerator().w(function (_context4) {\n while (1) switch (_context4.n) {\n case 0:\n _context4.n = 1;\n return initializeModeler();\n case 1:\n initialized = _context4.v;\n if (!initialized) {\n console.error('All initialization attempts failed');\n }\n case 2:\n return _context4.a(2);\n }\n }, _callee4);\n })));\n }\n case 2:\n return _context5.a(2);\n }\n }, _callee5);\n })));\n };\n tryWithRAF();\n }\n case 4:\n return _context6.a(2);\n }\n }, _callee6);\n })));\n var newDiagram = /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {\n return _regenerator().w(function (_context7) {\n while (1) switch (_context7.n) {\n case 0:\n _context7.n = 1;\n return createNewDiagram((0,_flowable_init__WEBPACK_IMPORTED_MODULE_5__[\"default\"])());\n case 1:\n return _context7.a(2);\n }\n }, _callee7);\n }));\n return function newDiagram() {\n return _ref8.apply(this, arguments);\n };\n }();\n // 让图能自适应屏幕\n var fitViewport = function fitViewport() {\n try {\n if (!modeler.value) {\n console.warn('Modeler not available for viewport fitting');\n return;\n }\n zoom.value = modeler.value.get('canvas').zoom('fit-viewport');\n var viewport = document.querySelector('.flow-containers .viewport');\n if (!viewport) {\n console.warn('Viewport element not found');\n return;\n }\n var bbox = viewport.getBBox();\n if (!bbox) {\n console.warn('Viewport bbox not available');\n return;\n }\n var currentViewbox = modeler.value.get('canvas').viewbox();\n var elementMid = {\n x: bbox.x + bbox.width / 2 - 65,\n y: bbox.y + bbox.height / 2\n };\n modeler.value.get('canvas').viewbox({\n x: elementMid.x - currentViewbox.width / 2,\n y: elementMid.y - currentViewbox.height / 2,\n width: currentViewbox.width,\n height: currentViewbox.height\n });\n zoom.value = bbox.width / currentViewbox.width * 1.8;\n } catch (e) {\n console.warn('Failed to fit viewport:', e);\n }\n };\n // 放大缩小\n var zoomViewport = function zoomViewport() {\n var zoomIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!modeler.value) return;\n zoom.value = modeler.value.get('canvas').zoom();\n zoom.value += zoomIn ? 0.1 : -0.1;\n modeler.value.get('canvas').zoom(zoom.value);\n };\n var createNewDiagram = /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(data) {\n var _t4;\n return _regenerator().w(function (_context8) {\n while (1) switch (_context8.p = _context8.n) {\n case 0:\n // 将字符串转换成图显示出来\n // data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, '&lt;![CDATA[$1]]&gt;')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '&lt;');\n });\n _context8.p = 1;\n if (modeler.value) {\n _context8.n = 2;\n break;\n }\n console.error('Modeler not initialized');\n return _context8.a(2);\n case 2:\n console.log('Importing XML data...', data.substring(0, 200) + '...');\n _context8.n = 3;\n return modeler.value.importXML(data);\n case 3:\n console.log('XML imported successfully');\n // 等待DOM更新\n _context8.n = 4;\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.nextTick)();\n case 4:\n // 延迟执行调整方法,确保DOM完全渲染\n setTimeout(function () {\n try {\n adjustPalette();\n fitViewport();\n console.log('Diagram created successfully');\n } catch (adjustError) {\n console.warn('Failed to adjust palette or viewport:', adjustError);\n // 即使调整失败,也不影响基本功能\n }\n }, 100);\n // fillColor()\n _context8.n = 6;\n break;\n case 5:\n _context8.p = 5;\n _t4 = _context8.v;\n console.error('Failed to create diagram:', _t4.message, _t4.warnings);\n throw _t4;\n case 6:\n return _context8.a(2);\n }\n }, _callee8, null, [[1, 5]]);\n }));\n return function createNewDiagram(_x) {\n return _ref9.apply(this, arguments);\n };\n }();\n // 调整左侧工具栏排版\n var adjustPalette = function adjustPalette() {\n try {\n var _canvasElement$childr;\n // 获取 bpmn 设计器实例\n var canvasElement = canvas.value;\n if (!canvasElement) {\n console.warn('Canvas element not found for palette adjustment');\n return;\n }\n // 检查DOM结构是否存在\n if (!canvasElement.children || canvasElement.children.length === 0) {\n console.warn('Canvas children not found for palette adjustment');\n return;\n }\n var djsPalette = (_canvasElement$childr = canvasElement.children[0]) === null || _canvasElement$childr === void 0 || (_canvasElement$childr = _canvasElement$childr.children[1]) === null || _canvasElement$childr === void 0 ? void 0 : _canvasElement$childr.children[4];\n if (!djsPalette) {\n console.warn('BPMN palette element not found');\n return;\n }\n var djsPalStyle = {\n width: '130px',\n padding: '5px',\n background: 'white',\n left: '20px',\n borderRadius: '0'\n };\n for (var key in djsPalStyle) {\n djsPalette.style[key] = djsPalStyle[key];\n }\n var palette = djsPalette.children[0];\n if (!palette) {\n console.warn('Palette children not found');\n return;\n }\n var allGroups = palette.children;\n if (allGroups.length === 0) {\n console.warn('No palette groups found');\n return;\n }\n ;\n allGroups[0].style.display = 'none';\n // 修改控件样式\n for (var gKey = 0; gKey < allGroups.length; gKey++) {\n var group = allGroups[gKey];\n for (var cKey = 0; cKey < group.children.length; cKey++) {\n var control = group.children[cKey];\n var controlStyle = {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n padding: '5px'\n };\n if (control.className && control.dataset && control.className.indexOf('entry') !== -1) {\n var controlProps = new _BpmData__WEBPACK_IMPORTED_MODULE_4__[\"default\"]().getControl(control.dataset.action);\n control.innerHTML = \"<div style='font-size: 14px;font-weight:500;margin-left:15px;'>\".concat(controlProps['title'], \"</div>\");\n for (var csKey in controlStyle) {\n control.style[csKey] = controlStyle[csKey];\n }\n }\n }\n }\n } catch (e) {\n console.warn('Failed to adjust palette:', e);\n }\n };\n var fillColor = function fillColor() {\n if (!modeler.value) return;\n var canvasElement = modeler.value.get('canvas')(modeler.value)._definitions.rootElements[0].flowElements.forEach(function (n) {\n if (n.$type === 'bpmn:UserTask') {\n var completeTask = taskList.value.find(function (m) {\n return m.key === n.id;\n }) || {\n completed: true\n };\n var todoTask = taskList.value.find(function (m) {\n return !m.completed;\n });\n var endTask = taskList.value[taskList.value.length - 1];\n if (completeTask) {\n var _n$outgoing;\n canvasElement.addMarker(n.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n (_n$outgoing = n.outgoing) === null || _n$outgoing === void 0 || _n$outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {\n // canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, completeTask.completed ? 'highlight' : 'highlight-todo');\n } else if (nn.targetRef.$type === 'bpmn:EndEvent') {\n if (!todoTask && endTask.key === n.id) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(nn.targetRef.id, 'highlight');\n }\n if (!completeTask.completed) {\n canvasElement.addMarker(nn.id, 'highlight-todo');\n canvasElement.addMarker(nn.targetRef.id, 'highlight-todo');\n }\n }\n });\n }\n } else if (n.$type === 'bpmn:ExclusiveGateway') {\n n.outgoing.forEach(function (nn) {\n var targetTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (targetTask) {\n canvasElement.addMarker(nn.id, targetTask.completed ? 'highlight' : 'highlight-todo');\n }\n });\n }\n if (n.$type === 'bpmn:StartEvent') {\n n.outgoing.forEach(function (nn) {\n var completeTask = taskList.value.find(function (m) {\n return m.key === nn.targetRef.id;\n });\n if (completeTask) {\n canvasElement.addMarker(nn.id, 'highlight');\n canvasElement.addMarker(n.id, 'highlight');\n return;\n }\n });\n }\n });\n };\n // 对外 api\n var getProcess = function getProcess() {\n var element = getProcessElement();\n return {\n id: element.id,\n name: element.name,\n category: element.$attrs['flowable:processCategory']\n };\n };\n var getProcessElement = function getProcessElement() {\n if (!modeler.value) return null;\n var rootElements = modeler.value.getDefinitions().rootElements;\n for (var i = 0; i < rootElements.length; i++) {\n if (rootElements[i].$type === 'bpmn:Process') return rootElements[i];\n }\n };\n var saveXML = /*#__PURE__*/function () {\n var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9() {\n var download,\n _yield$modeler$value$,\n xml,\n processElement,\n _args9 = arguments,\n _t5;\n return _regenerator().w(function (_context9) {\n while (1) switch (_context9.p = _context9.n) {\n case 0:\n download = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : false;\n _context9.p = 1;\n if (modeler.value) {\n _context9.n = 2;\n break;\n }\n return _context9.a(2);\n case 2:\n _context9.n = 3;\n return modeler.value.saveXML({\n format: true\n });\n case 3:\n _yield$modeler$value$ = _context9.v;\n xml = _yield$modeler$value$.xml;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(\"\".concat(processElement.name, \".bpmn20.xml\"), xml, 'application/xml');\n }\n }\n return _context9.a(2, xml);\n case 4:\n _context9.p = 4;\n _t5 = _context9.v;\n console.log(_t5);\n case 5:\n return _context9.a(2);\n }\n }, _callee9, null, [[1, 4]]);\n }));\n return function saveXML() {\n return _ref0.apply(this, arguments);\n };\n }();\n var saveImg = /*#__PURE__*/function () {\n var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0() {\n var type,\n download,\n _yield$modeler$value$2,\n svg,\n processElement,\n _args0 = arguments,\n _t6;\n return _regenerator().w(function (_context0) {\n while (1) switch (_context0.p = _context0.n) {\n case 0:\n type = _args0.length > 0 && _args0[0] !== undefined ? _args0[0] : 'svg';\n download = _args0.length > 1 && _args0[1] !== undefined ? _args0[1] : false;\n _context0.p = 1;\n if (modeler.value) {\n _context0.n = 2;\n break;\n }\n return _context0.a(2);\n case 2:\n _context0.n = 3;\n return modeler.value.saveSVG({\n format: true\n });\n case 3:\n _yield$modeler$value$2 = _context0.v;\n svg = _yield$modeler$value$2.svg;\n if (download) {\n processElement = getProcessElement();\n if (processElement) {\n downloadFile(processElement.name, svg, 'image/svg+xml');\n }\n }\n return _context0.a(2, svg);\n case 4:\n _context0.p = 4;\n _t6 = _context0.v;\n console.log(_t6);\n case 5:\n return _context0.a(2);\n }\n }, _callee0, null, [[1, 4]]);\n }));\n return function saveImg() {\n return _ref1.apply(this, arguments);\n };\n }();\n var save = /*#__PURE__*/function () {\n var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {\n var process, xml, svg, result;\n return _regenerator().w(function (_context1) {\n while (1) switch (_context1.n) {\n case 0:\n process = getProcess();\n _context1.n = 1;\n return saveXML();\n case 1:\n xml = _context1.v;\n _context1.n = 2;\n return saveImg();\n case 2:\n svg = _context1.v;\n result = {\n process: process,\n xml: xml,\n svg: svg\n };\n emit('save', result);\n window.parent.postMessage(result, '*');\n case 3:\n return _context1.a(2);\n }\n }, _callee1);\n }));\n return function save() {\n return _ref10.apply(this, arguments);\n };\n }();\n var openBpmn = function openBpmn(file) {\n var reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = function () {\n createNewDiagram(reader.result);\n };\n return false;\n };\n var downloadFile = function downloadFile(filename, data, type) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(new Blob([data], {\n type: type\n }));\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n };\n var __returned__ = {\n props: props,\n emit: emit,\n manualInit: manualInit,\n simpleInit: simpleInit,\n forceReinit: forceReinit,\n canvasId: canvasId,\n canvas: canvas,\n modeler: modeler,\n taskList: taskList,\n zoom: zoom,\n isInitialized: isInitialized,\n newDiagram: newDiagram,\n fitViewport: fitViewport,\n zoomViewport: zoomViewport,\n createNewDiagram: createNewDiagram,\n adjustPalette: adjustPalette,\n fillColor: fillColor,\n getProcess: getProcess,\n getProcessElement: getProcessElement,\n saveXML: saveXML,\n saveImg: saveImg,\n save: save,\n openBpmn: openBpmn,\n downloadFile: downloadFile,\n PropertyPanel: _PropertyPanel_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n get FolderOpenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n },\n get PlusCircleOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get FullscreenOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n },\n get ZoomInOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_14__[\"default\"];\n },\n get ZoomOutOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"];\n },\n get UndoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_13__[\"default\"];\n },\n get RedoOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get DownloadOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n },\n get PictureOutlined() {\n return _ant_design_icons_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"];\n }\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n})));\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-131.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
569
569
 
570
570
  /***/ }),
571
571
 
@@ -697,7 +697,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
697
697
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
698
698
 
699
699
  "use strict";
700
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_8 = {\n ref: \"canvas\",\n class: \"canvas\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_8, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-131.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
700
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/.pnpm/vue@3.5.21_typescript@5.9.2/node_modules/vue/dist/vue.runtime.esm-bundler.js\");\n\nvar _hoisted_1 = {\n class: \"toolbar-container\"\n};\nvar _hoisted_2 = {\n class: \"toolbar-left\"\n};\nvar _hoisted_3 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_4 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_5 = {\n class: \"toolbar-group\"\n};\nvar _hoisted_6 = {\n class: \"toolbar-right\"\n};\nvar _hoisted_7 = {\n class: \"toolbar-group\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_a_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-button\");\n var _component_a_tooltip = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-tooltip\");\n var _component_a_upload = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-upload\");\n var _component_a_layout_header = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-header\");\n var _component_a_layout_content = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-content\");\n var _component_a_layout_sider = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout-sider\");\n var _component_a_layout = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"a-layout\");\n var _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)([\"flow-containers\", {\n 'view-mode': $props.isView\n }])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"main-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 顶部工具栏 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_header, {\n class: \"toolbar-header\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 左侧工具组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"文件操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_upload, {\n \"before-upload\": $setup.openBpmn,\n class: \"toolbar-item\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"加载XML文件\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\"\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FolderOpenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"新建流程图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.newDiagram\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PlusCircleOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [_cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"视图控制\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"自适应屏幕\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: $setup.fitViewport\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"FullscreenOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"放大视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[0] || (_cache[0] = function ($event) {\n return $setup.zoomViewport(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomInOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"缩小视图\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[1] || (_cache[1] = function ($event) {\n return $setup.zoomViewport(false);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"ZoomOutOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [_cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"历史操作\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"撤销操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[2] || (_cache[2] = function () {\n var _$setup$modeler;\n return (_$setup$modeler = $setup.modeler) === null || _$setup$modeler === void 0 ? void 0 : _$setup$modeler.get('commandStack').undo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"UndoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_tooltip, {\n title: \"重做操作\",\n placement: \"bottom\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn\",\n size: \"small\",\n onClick: _cache[3] || (_cache[3] = function () {\n var _$setup$modeler2;\n return (_$setup$modeler2 = $setup.modeler) === null || _$setup$modeler2 === void 0 ? void 0 : _$setup$modeler2.get('commandStack').redo();\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"RedoOutlined\"])];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 右侧操作组 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_7, [_cache[11] || (_cache[11] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"group-label\"\n }, \"导出\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[4] || (_cache[4] = function ($event) {\n return $setup.saveXML(true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载XML \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"toolbar-btn export-btn\",\n size: \"small\",\n onClick: _cache[5] || (_cache[5] = function ($event) {\n return $setup.saveImg('svg', true);\n })\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"PictureOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 下载SVG \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_button, {\n class: \"save-btn\",\n type: \"primary\",\n onClick: $setup.save\n }, {\n icon: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"DownloadOutlined\"])];\n }),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [_cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 保存模型 \", -1 /* CACHED */))];\n }),\n _: 1 /* STABLE */\n })])])];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 主内容区域 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout, {\n class: \"content-layout\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_content, {\n class: \"canvas-container\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n ref: \"canvas\",\n class: \"canvas\",\n id: $setup.canvasId\n }, null, 512 /* NEED_PATCH */)];\n }),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_a_layout_sider, {\n class: \"property-panel\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(function () {\n return [$setup.modeler ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"PropertyPanel\"], {\n key: 0,\n modeler: $setup.modeler,\n users: $props.users,\n groups: $props.groups,\n categorys: $props.categorys\n }, null, 8 /* PROPS */, [\"modeler\", \"users\", \"groups\", \"categorys\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })];\n }),\n _: 1 /* STABLE */\n })], 2 /* CLASS */)), [[_directive_loading, $props.isView]]);\n}\n\n//# sourceURL=webpack://WorkflowBpmnModelerAndtvVue/./package/index.vue?./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.28.3_webpack@5.101.3/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/ts-loader@9.5.4_typescript@5.9.2_webpack@5.101.3/node_modules/ts-loader/index.js??clonedRuleSet-131.use%5B1%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B4%5D!./node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.21_vue@3.5.21_typescript@5.9.2__webpack@5.101.3/node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D\n}");
701
701
 
702
702
  /***/ }),
703
703
 
package/package/index.vue CHANGED
@@ -80,7 +80,7 @@
80
80
  <!-- 主内容区域 -->
81
81
  <a-layout class="content-layout">
82
82
  <a-layout-content class="canvas-container">
83
- <div ref="canvas" class="canvas" />
83
+ <div ref="canvas" class="canvas" :id="canvasId" />
84
84
  </a-layout-content>
85
85
  <a-layout-sider class="property-panel">
86
86
  <PropertyPanel v-if="modeler" :modeler="modeler" :users="users" :groups="groups" :categorys="categorys" />
@@ -176,6 +176,16 @@ const simpleInit = async () => {
176
176
 
177
177
  console.log('Starting simple initialization...')
178
178
 
179
+ // 强制设置容器样式
180
+ canvas.value.style.width = '100%'
181
+ canvas.value.style.height = '100%'
182
+ canvas.value.style.minHeight = '400px'
183
+ canvas.value.style.display = 'block'
184
+
185
+ // 等待DOM更新
186
+ await nextTick()
187
+ await new Promise(resolve => setTimeout(resolve, 50))
188
+
179
189
  // 创建简单的BPMN模型器实例
180
190
  modeler.value = new Modeler({
181
191
  container: canvas.value,
@@ -195,6 +205,7 @@ const simpleInit = async () => {
195
205
  // 创建基本流程图
196
206
  await modeler.value.importXML(getInitStr())
197
207
 
208
+ isInitialized.value = true
198
209
  console.log('Simple initialization completed successfully')
199
210
  return true
200
211
  } catch (error) {
@@ -203,19 +214,57 @@ const simpleInit = async () => {
203
214
  }
204
215
  }
205
216
 
217
+ // 强制重新初始化方法
218
+ const forceReinit = async () => {
219
+ try {
220
+ console.log('Force reinitializing BPMN Modeler...')
221
+
222
+ // 清理现有实例
223
+ if (modeler.value) {
224
+ modeler.value.destroy()
225
+ modeler.value = null
226
+ }
227
+
228
+ isInitialized.value = false
229
+
230
+ // 等待一段时间
231
+ await new Promise(resolve => setTimeout(resolve, 100))
232
+
233
+ // 重新初始化
234
+ const success = await simpleInit()
235
+
236
+ if (success) {
237
+ console.log('Force reinitialization successful')
238
+ } else {
239
+ console.error('Force reinitialization failed')
240
+ }
241
+
242
+ return success
243
+ } catch (error) {
244
+ console.error('Force reinitialization error:', error)
245
+ return false
246
+ }
247
+ }
248
+
206
249
  // 暴露给父组件
207
250
  defineExpose({
208
251
  manualInit,
209
252
  simpleInit,
253
+ forceReinit,
254
+ isInitialized,
210
255
  getProcess,
211
256
  saveXML,
212
257
  saveImg,
213
258
  save
214
259
  })
260
+ // 生成唯一的canvas ID
261
+ const canvasId = `bpmn-canvas-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`
262
+
215
263
  const canvas = ref<HTMLElement | null>(null)
216
264
  const modeler = ref<Modeler | null>(null)
217
265
  const taskList = ref<any[]>([])
218
266
  const zoom = ref<number>(1)
267
+ const isInitialized = ref<boolean>(false)
219
268
 
220
269
  watch(() => props.xml, (val: string) => {
221
270
  if (val) {
@@ -224,18 +273,29 @@ watch(() => props.xml, (val: string) => {
224
273
  })
225
274
 
226
275
  onMounted(async () => {
227
- // 延迟初始化,确保DOM完全渲染
276
+ console.log('Component mounted, starting initialization...')
277
+
278
+ // 等待DOM完全渲染
228
279
  await nextTick()
229
280
 
281
+ // 强制等待一段时间确保容器就绪
282
+ await new Promise(resolve => setTimeout(resolve, 100))
283
+
230
284
  const initializeModeler = async () => {
231
285
  try {
232
- // 确保容器存在且有尺寸
233
- if (!canvas.value || canvas.value.offsetWidth === 0 || canvas.value.offsetHeight === 0) {
234
- console.log('Canvas container not ready, waiting...')
286
+ // 确保canvas容器存在
287
+ if (!canvas.value) {
288
+ console.error('Canvas ref not found')
235
289
  return false
236
290
  }
237
291
 
238
- console.log('Canvas container found, initializing modeler...')
292
+ // 强制设置容器尺寸
293
+ canvas.value.style.width = '100%'
294
+ canvas.value.style.height = '100%'
295
+ canvas.value.style.minHeight = '400px'
296
+ canvas.value.style.display = 'block'
297
+
298
+ console.log('Canvas container prepared, initializing modeler...')
239
299
 
240
300
  // 生成实例
241
301
  modeler.value = new Modeler({
@@ -253,11 +313,14 @@ onMounted(async () => {
253
313
  // 等待下一个tick确保DOM更新
254
314
  await nextTick()
255
315
 
316
+ // 标记为已初始化
317
+ isInitialized.value = true
318
+
256
319
  // 新增流程定义
257
320
  if (!props.xml) {
258
- newDiagram()
321
+ await newDiagram()
259
322
  } else {
260
- createNewDiagram(props.xml)
323
+ await createNewDiagram(props.xml)
261
324
  }
262
325
 
263
326
  console.log('BPMN Modeler initialized successfully')
@@ -268,50 +331,35 @@ onMounted(async () => {
268
331
  }
269
332
  }
270
333
 
271
- // 立即尝试初始化
334
+ // 尝试初始化
272
335
  let initialized = await initializeModeler()
273
336
 
274
- // 如果初始化失败,使用多种策略重试
337
+ // 如果失败,使用更激进的重试策略
275
338
  if (!initialized) {
276
- // 策略1: 使用MutationObserver监听DOM变化
277
- const observer = new MutationObserver(async () => {
278
- if (canvas.value && canvas.value.offsetWidth > 0 && canvas.value.offsetHeight > 0) {
279
- observer.disconnect()
280
- await initializeModeler()
281
- }
282
- })
339
+ console.log('Initial initialization failed, trying alternative approach...')
283
340
 
284
- // 监听父容器变化
285
- if (canvas.value?.parentElement) {
286
- observer.observe(canvas.value.parentElement, {
287
- childList: true,
288
- subtree: true,
289
- attributes: true,
290
- attributeFilter: ['style', 'class']
341
+ // 使用requestAnimationFrame确保在下一帧尝试
342
+ const tryWithRAF = () => {
343
+ requestAnimationFrame(async () => {
344
+ initialized = await initializeModeler()
345
+ if (!initialized) {
346
+ // 如果还是失败,再等一帧
347
+ requestAnimationFrame(async () => {
348
+ initialized = await initializeModeler()
349
+ if (!initialized) {
350
+ console.error('All initialization attempts failed')
351
+ }
352
+ })
353
+ }
291
354
  })
292
355
  }
293
356
 
294
- // 策略2: 定时重试(最多10秒)
295
- let retryCount = 0
296
- const maxRetries = 50 // 10秒,每200ms重试一次
297
-
298
- const retryTimer = setInterval(async () => {
299
- retryCount++
300
- initialized = await initializeModeler()
301
-
302
- if (initialized || retryCount >= maxRetries) {
303
- clearInterval(retryTimer)
304
- observer.disconnect()
305
- if (!initialized) {
306
- console.error('Failed to initialize BPMN Modeler after maximum retries')
307
- }
308
- }
309
- }, 200)
357
+ tryWithRAF()
310
358
  }
311
359
  })
312
360
 
313
- const newDiagram = (): void => {
314
- createNewDiagram(getInitStr())
361
+ const newDiagram = async (): Promise<void> => {
362
+ await createNewDiagram(getInitStr())
315
363
  }
316
364
 
317
365
  // 让图能自适应屏幕
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workflow-bpmn-modeler-andtv-vue3",
3
- "version": "10.0.9",
3
+ "version": "10.1.0",
4
4
  "description": "基于 `Vue3` + `TypeScript` + `Ant Design Vue` 和 `bpmn.io@8.10` ,实现 flowable 的 modeler 模型设计器",
5
5
  "main": "dist/workflow-bpmn-modeler-andtv-vue3.common.js",
6
6
  "module": "dist/workflow-bpmn-modeler-andtv-vue3.common.js",