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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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, '<![CDATA[$1]]>')\n data = data.replace(/<!\\[CDATA\\[(.+?)]]>/g, function (match, str) {\n return str.replace(/</g, '<');\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
|
-
|
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
|
234
|
-
console.
|
286
|
+
// 确保canvas容器存在
|
287
|
+
if (!canvas.value) {
|
288
|
+
console.error('Canvas ref not found')
|
235
289
|
return false
|
236
290
|
}
|
237
291
|
|
238
|
-
|
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
|
-
|
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
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
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
|
-
|
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
|
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",
|