UNPKG

flowable-bpmn-modeler

Version:

基于 `vue` `ant design vue`和 `bpmn.io@7.0` ,实现 flowable 的 modeler 模型设计器

95 lines (72 loc) 446 kB
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["app"],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/PropertyPanel.vue?vue&type=script&lang=js&": /*!***************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/PropertyPanel.vue?vue&type=script&lang=js& ***! \***************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.name */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_nodePanel_task__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/nodePanel/task */ \"./package/components/nodePanel/task.vue\");\n/* harmony import */ var _components_nodePanel_startEnd__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/nodePanel/startEnd */ \"./package/components/nodePanel/startEnd.vue\");\n/* harmony import */ var _components_nodePanel_process__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/nodePanel/process */ \"./package/components/nodePanel/process.vue\");\n/* harmony import */ var _components_nodePanel_sequenceFlow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/nodePanel/sequenceFlow */ \"./package/components/nodePanel/sequenceFlow.vue\");\n/* harmony import */ var _components_nodePanel_gateway__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/nodePanel/gateway */ \"./package/components/nodePanel/gateway.vue\");\n/* harmony import */ var _lang_zh__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lang/zh */ \"./package/lang/zh.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'PropertyPanel',\n components: {\n processPanel: _components_nodePanel_process__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n taskPanel: _components_nodePanel_task__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n startEndPanel: _components_nodePanel_startEnd__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n sequenceFlowPanel: _components_nodePanel_sequenceFlow__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n gatewayPanel: _components_nodePanel_gateway__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n props: {\n users: {\n type: Array,\n required: true\n },\n groups: {\n type: Array,\n required: true\n },\n modeler: {\n type: Object,\n required: true\n },\n formCol: {\n type: Object,\n default: function _default() {\n return {\n labelCol: {\n span: 8\n },\n wrapperCol: {\n span: 16\n }\n };\n }\n }\n },\n data: function data() {\n return {\n element: null,\n form: {\n id: '',\n name: '',\n color: '#000'\n },\n roles: [{\n value: 'manager',\n label: '经理'\n }, {\n value: 'personnel',\n label: '人事'\n }, {\n value: 'charge',\n label: '主管'\n }]\n };\n },\n computed: {\n getComponent: function getComponent() {\n var _this$element;\n\n var type = (_this$element = this.element) === null || _this$element === void 0 ? void 0 : _this$element.type;\n\n if (['bpmn:IntermediateThrowEvent', 'bpmn:StartEvent', 'bpmn:EndEvent'].includes(type)) {\n return 'startEndPanel';\n }\n\n if (['bpmn:UserTask', 'bpmn:Task', 'bpmn:SendTask', 'bpmn:ReceiveTask', 'bpmn:ManualTask', 'bpmn:BusinessRuleTask', 'bpmn:ServiceTask', 'bpmn:ScriptTask' // 'bpmn:CallActivity',\n // 'bpmn:SubProcess'\n ].includes(type)) {\n return 'taskPanel';\n }\n\n if (type === 'bpmn:SequenceFlow') {\n return 'sequenceFlowPanel';\n }\n\n if (['bpmn:InclusiveGateway', 'bpmn:ExclusiveGateway', 'bpmn:ParallelGateway', 'bpmn:EventBasedGateway'].includes(type)) {\n return 'gatewayPanel';\n }\n\n if (type === 'bpmn:Process') {\n return 'processPanel';\n }\n\n return null;\n },\n nodeName: function nodeName() {\n if (this.element) {\n var _bizObj$name;\n\n var bizObj = this.element.businessObject;\n var type = (bizObj === null || bizObj === void 0 ? void 0 : bizObj.eventDefinitions) ? bizObj.eventDefinitions[0].$type : bizObj.$type;\n return (_bizObj$name = bizObj.name) !== null && _bizObj$name !== void 0 ? _bizObj$name : _lang_zh__WEBPACK_IMPORTED_MODULE_7__[\"NodeName\"][type] || type;\n }\n\n return '';\n }\n },\n mounted: function mounted() {\n this.handleModeler();\n },\n methods: {\n handleModeler: function handleModeler() {\n var _this = this;\n\n this.modeler.on('root.added', function (e) {\n if (e.element.type === 'bpmn:Process') {\n _this.element = null;\n\n _this.$nextTick().then(function () {\n _this.element = e.element;\n });\n }\n });\n this.modeler.on('element.click', function (e) {\n var element = e.element;\n\n if (element.type === 'bpmn:Process') {\n _this.element = element;\n }\n });\n this.modeler.on('selection.changed', function (e) {\n // hack 同类型面板不刷新\n _this.element = null;\n var element = e.newSelection[0];\n\n if (element) {\n _this.$nextTick(function () {\n _this.element = element;\n });\n }\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./package/PropertyPanel.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/gateway.vue?vue&type=script&lang=js&": /*!******************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/gateway.vue?vue&type=script&lang=js& ***! \******************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _common_mixinPanel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/mixinPanel */ \"./package/common/mixinPanel.js\");\n/* harmony import */ var _common_mixinExecutionListener__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/mixinExecutionListener */ \"./package/common/mixinExecutionListener.js\");\n/* harmony import */ var _common_parseElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/parseElement */ \"./package/common/parseElement.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_common_mixinPanel__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _common_mixinExecutionListener__WEBPACK_IMPORTED_MODULE_1__[\"default\"]],\n props: {\n formCol: {\n type: Object,\n default: function _default() {\n return {\n labelCol: {\n span: 8\n },\n wrapperCol: {\n span: 16\n }\n };\n }\n }\n },\n data: function data() {\n return {\n formData: {},\n rules: {}\n };\n },\n computed: {\n formConfig: function formConfig() {\n return {\n inline: false,\n item: [{\n xType: 'input',\n name: 'id',\n label: '节点 id',\n rules: [{\n required: true,\n message: 'Id 不能为空'\n }]\n }, {\n xType: 'input',\n name: 'name',\n label: '节点名称'\n }, {\n xType: 'colorPicker',\n name: 'color',\n label: '节点颜色'\n }, {\n xType: 'input',\n name: 'documentation',\n label: '节点描述'\n }, {\n xType: 'slot',\n name: 'executionListener',\n label: '执行监听器'\n }, {\n xType: 'switch',\n name: 'async',\n label: '异步',\n activeText: '是',\n inactiveText: '否'\n }]\n };\n }\n },\n watch: {\n 'formData.async': function formDataAsync(val) {\n if (val === '') val = null;\n this.updateProperties({\n 'flowable:async': val\n });\n }\n },\n created: function created() {\n this.formData = Object(_common_parseElement__WEBPACK_IMPORTED_MODULE_2__[\"commonParse\"])(this.element);\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/gateway.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/process.vue?vue&type=script&lang=js&": /*!******************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/process.vue?vue&type=script&lang=js& ***! \******************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_mixinPanel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/mixinPanel */ \"./package/common/mixinPanel.js\");\n/* harmony import */ var _common_mixinExecutionListener__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/mixinExecutionListener */ \"./package/common/mixinExecutionListener.js\");\n/* harmony import */ var _property_signal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./property/signal */ \"./package/components/nodePanel/property/signal.vue\");\n/* harmony import */ var _common_parseElement__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/parseElement */ \"./package/common/parseElement.js\");\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n signalDialog: _property_signal__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n },\n mixins: [_common_mixinPanel__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _common_mixinExecutionListener__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n props: {\n formCol: {\n type: Object,\n default: function _default() {\n return {\n labelCol: {\n span: 8\n },\n wrapperCol: {\n span: 16\n }\n };\n }\n }\n },\n data: function data() {\n return {\n labelCol: {\n span: 8\n },\n wrapperCol: {\n span: 16\n },\n signalLength: 0,\n formData: {},\n rules: {\n id: [{\n required: true,\n message: 'ID 不能为空',\n trigger: 'blur'\n }]\n }\n };\n },\n created: function created() {\n this.formData = Object(_common_parseElement__WEBPACK_IMPORTED_MODULE_5__[\"commonParse\"])(this.element);\n },\n methods: {\n computedSignalLength: function computedSignalLength() {\n var _this$element$busines, _this$element$busines2, _this$element$busines3;\n\n this.signalLength = (_this$element$busines = (_this$element$busines2 = this.element.businessObject.extensionElements) === null || _this$element$busines2 === void 0 ? void 0 : (_this$element$busines3 = _this$element$busines2.values) === null || _this$element$busines3 === void 0 ? void 0 : _this$element$busines3.length) !== null && _this$element$busines !== void 0 ? _this$element$busines : 0;\n },\n finishSignal: function finishSignal() {\n if (this.dialogName === 'signalDialog') {\n this.computedSignalLength();\n }\n\n this.dialogName = '';\n }\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/process.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/property/executionListener.vue?vue&type=script&lang=js&": /*!*************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/property/executionListener.vue?vue&type=script&lang=js& ***! \*************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.for-each */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name */ \"./node_modules/core-js/modules/es.function.name.js\");\n/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.includes */ \"./node_modules/core-js/modules/es.string.includes.js\");\n/* harmony import */ var core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _common_mixinPanel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/mixinPanel */ \"./package/common/mixinPanel.js\");\n/* harmony import */ var _listenerParam__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./listenerParam */ \"./package/components/nodePanel/property/listenerParam.vue\");\n\n\n\n\n\n\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n listenerParam: _listenerParam__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n mixins: [_common_mixinPanel__WEBPACK_IMPORTED_MODULE_9__[\"default\"]],\n props: {\n dialogVisible: {\n type: Boolean,\n default: function _default() {\n return false;\n }\n }\n },\n data: function data() {\n return {\n showParamDialog: false,\n nowIndex: null,\n formData: {\n executionListener: []\n },\n columns: [{\n title: '事件',\n dataIndex: 'event'\n }, {\n dataIndex: 'type',\n slots: {\n title: 'customTitle'\n }\n }, {\n title: 'Java类名',\n dataIndex: 'className',\n width: '40%'\n }, {\n title: '参数',\n dataIndex: 'params',\n scopedSlots: {\n customRender: 'params'\n }\n }, {\n title: '操作',\n dataIndex: 'operation',\n scopedSlots: {\n customRender: 'operation'\n }\n }]\n };\n },\n computed: {\n formConfig: function formConfig() {\n // const _this = this\n return {\n inline: false,\n item: [{\n xType: 'tabs',\n tabs: [{\n label: '执行监听器',\n name: 'executionListener',\n column: [{\n label: '事件',\n name: 'event',\n width: 180,\n rules: [{\n required: true,\n message: '请选择',\n trigger: ['blur', 'change']\n }],\n xType: 'select',\n dic: [{\n label: 'start',\n value: 'start'\n }, {\n label: 'end',\n value: 'end'\n }, {\n label: 'take',\n value: 'take'\n }]\n }, {\n label: '类型',\n name: 'type',\n width: 180,\n rules: [{\n required: true,\n message: '请选择',\n trigger: ['blur', 'change']\n }],\n xType: 'select',\n dic: [{\n label: '类',\n value: 'class'\n }, {\n label: '表达式',\n value: 'expression'\n }, {\n label: '委托表达式',\n value: 'delegateExpression'\n }],\n tooltip: ''\n }, {\n label: 'java 类名',\n name: 'className',\n xType: 'input',\n rules: [{\n required: true,\n message: '请输入',\n trigger: ['blur', 'change']\n }]\n }, {\n xType: 'slot',\n label: '参数',\n width: 120,\n slot: true,\n name: 'params'\n }]\n }]\n }]\n };\n }\n },\n mounted: function mounted() {\n if (this.element) {\n var _this$element$busines, _this$element$busines2;\n\n this.formData.executionListener = (_this$element$busines = (_this$element$busines2 = this.element.businessObject.extensionElements) === null || _this$element$busines2 === void 0 ? void 0 : _this$element$busines2.values.filter(function (item) {\n return item.$type.includes(':ExecutionListener') || item.$type.includes(':executionListener');\n }).map(function (item) {\n var _item$fields$map, _item$fields;\n\n var type;\n if ('class' in item) type = 'class';\n if ('expression' in item) type = 'expression';\n if ('delegateExpression' in item) type = 'delegateExpression';\n return {\n event: item.event,\n type: type,\n className: item[type],\n params: (_item$fields$map = (_item$fields = item.fields) === null || _item$fields === void 0 ? void 0 : _item$fields.map(function (field) {\n var fieldType;\n if ('stringValue' in field) fieldType = 'stringValue';\n if ('expression' in field) fieldType = 'expression';\n return {\n name: field.name,\n type: fieldType,\n value: field[fieldType]\n };\n })) !== null && _item$fields$map !== void 0 ? _item$fields$map : []\n };\n })) !== null && _this$element$busines !== void 0 ? _this$element$busines : [];\n }\n\n console.log(this.formData.executionListener);\n },\n methods: {\n configParam: function configParam(index) {\n this.nowIndex = index;\n var nowObj = this.formData.executionListener[index];\n\n if (!nowObj.params) {\n nowObj.params = [];\n }\n\n this.showParamDialog = true;\n },\n finishConfigParam: function finishConfigParam(param) {\n this.showParamDialog = false; // hack 数量不更新问题\n\n var cache = this.formData.executionListener[this.nowIndex];\n cache.params = param;\n this.$set(this.formData.executionListener[this.nowIndex], this.nowIndex, cache);\n this.nowIndex = null;\n },\n updateElement: function updateElement() {\n var _this$formData$execut,\n _this = this;\n\n if ((_this$formData$execut = this.formData.executionListener) === null || _this$formData$execut === void 0 ? void 0 : _this$formData$execut.length) {\n var _extensionElements$va, _extensionElements$va2;\n\n var extensionElements = this.element.businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = this.modeler.get('moddle').create('bpmn:ExtensionElements');\n } // 清除旧值\n\n\n extensionElements.values = (_extensionElements$va = (_extensionElements$va2 = extensionElements.values) === null || _extensionElements$va2 === void 0 ? void 0 : _extensionElements$va2.filter(function (item) {\n return item.$type !== 'flowable:ExecutionListener';\n })) !== null && _extensionElements$va !== void 0 ? _extensionElements$va : [];\n this.formData.executionListener.forEach(function (item) {\n var executionListener = _this.modeler.get('moddle').create('flowable:ExecutionListener');\n\n executionListener['event'] = item.event;\n executionListener[item.type] = item.className;\n\n if (item.params && item.params.length) {\n item.params.forEach(function (field) {\n var fieldElement = _this.modeler.get('moddle').create('flowable:Field');\n\n fieldElement['name'] = field.name;\n fieldElement[field.type] = field.value; // 注意:flowable.json 中定义的string和expression类为小写,不然会和原生的String类冲突,此处为hack\n // const valueElement = this.modeler.get('moddle').create(`flowable:${field.type}`, { body: `<![CDATA[${field.value}]]>` })\n // fieldElement[field.type] = valueElement\n\n executionListener.get('fields').push(fieldElement);\n });\n }\n\n extensionElements.get('values').push(executionListener);\n });\n this.updateProperties({\n extensionElements: extensionElements\n });\n } else {\n var _extensionElements = this.element.businessObject[\"extensionElements\"];\n\n if (_extensionElements) {\n var _extensionElements$va3, _extensionElements$va4;\n\n _extensionElements.values = (_extensionElements$va3 = (_extensionElements$va4 = _extensionElements.values) === null || _extensionElements$va4 === void 0 ? void 0 : _extensionElements$va4.filter(function (item) {\n return item.$type !== 'flowable:ExecutionListener';\n })) !== null && _extensionElements$va3 !== void 0 ? _extensionElements$va3 : [];\n }\n }\n },\n closeDialog: function closeDialog() {\n var _this2 = this;\n\n this.$refs.xForm.validate().then(function () {\n _this2.updateElement();\n\n _this2.dialogVisible = false;\n }).catch(function (e) {\n return console.error(e);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/property/executionListener.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/property/listenerParam.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/property/listenerParam.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n value: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n dialogVisible: true,\n formData: {\n paramList: this.value\n },\n columns: [{\n title: '类型',\n dataIndex: 'type'\n }, {\n title: '名称',\n dataIndex: 'name'\n }, {\n title: '值',\n dataIndex: 'value',\n width: '40%'\n }, {\n title: '操作',\n dataIndex: 'operation',\n scopedSlots: {\n customRender: 'operation'\n }\n }]\n };\n },\n computed: {\n formConfig: function formConfig() {\n return {\n inline: false,\n item: [{\n xType: 'tabs',\n tabs: [{\n label: '监听器参数',\n name: 'paramList',\n column: [{\n label: '类型',\n name: 'type',\n width: 180,\n rules: [{\n required: true,\n message: '请选择',\n trigger: ['blur', 'change']\n }],\n xType: 'select',\n dic: [{\n label: '字符串',\n value: 'stringValue'\n }, {\n label: '表达式',\n value: 'expression'\n }]\n }, {\n label: '名称',\n name: 'name',\n width: 180,\n rules: [{\n required: true,\n message: '请选择',\n trigger: ['blur', 'change']\n }],\n xType: 'input'\n }, {\n label: '值',\n name: 'value',\n xType: 'input',\n rules: [{\n required: true,\n message: '请输入',\n trigger: ['blur', 'change']\n }]\n }]\n }]\n }]\n };\n }\n },\n methods: {\n handleInsert: function handleInsert() {},\n closeDialog: function closeDialog() {\n var _this = this;\n\n this.$refs.xForm.validate().then(function () {\n _this.dialogVisible = false;\n }).catch(function (e) {\n return console.error(e);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/property/listenerParam.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/property/multiInstance.vue?vue&type=script&lang=js&": /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/property/multiInstance.vue?vue&type=script&lang=js& ***! \*********************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.index-of */ \"./node_modules/core-js/modules/es.array.index-of.js\");\n/* harmony import */ var core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_index_of__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace */ \"./node_modules/core-js/modules/es.string.replace.js\");\n/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_mixinPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/mixinPanel */ \"./package/common/mixinPanel.js\");\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_common_mixinPanel__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n props: {\n dialogVisible: {\n type: Boolean,\n default: function _default() {\n return false;\n }\n },\n formCol: {\n type: Object,\n default: function _default() {\n return {\n labelCol: {\n span: 6\n },\n wrapperCol: {\n span: 18\n }\n };\n }\n }\n },\n data: function data() {\n return {\n formData: {\n collection: '',\n elementVariable: '',\n isSequential: false,\n completionCondition: ''\n },\n rules: {}\n };\n },\n mounted: function mounted() {\n var _this$element$busines, _this$element$busines2, _this$element$busines3, _this$element$busines4;\n\n var cache = JSON.parse(JSON.stringify((_this$element$busines = (_this$element$busines2 = this.element.businessObject.multiInstanceLoopCharacteristics) === null || _this$element$busines2 === void 0 ? void 0 : _this$element$busines2.$attrs) !== null && _this$element$busines !== void 0 ? _this$element$busines : {}));\n cache.completionCondition = (_this$element$busines3 = this.element.businessObject.multiInstanceLoopCharacteristics) === null || _this$element$busines3 === void 0 ? void 0 : (_this$element$busines4 = _this$element$busines3.completionCondition) === null || _this$element$busines4 === void 0 ? void 0 : _this$element$busines4.body; // 移除flowable前缀,格式化数组\n\n for (var key in cache) {\n if (key.indexOf('flowable:') === 0) {\n var newKey = key.replace('flowable:', '');\n cache[newKey] = cache[key];\n delete cache[key];\n }\n }\n\n this.formData = cache;\n },\n methods: {\n updateElement: function updateElement() {\n if (this.formData.isSequential) {\n var multiInstanceLoopCharacteristics = this.element.businessObject.get('multiInstanceLoopCharacteristics');\n\n if (!multiInstanceLoopCharacteristics) {\n multiInstanceLoopCharacteristics = this.modeler.get('moddle').create('bpmn:MultiInstanceLoopCharacteristics');\n }\n\n multiInstanceLoopCharacteristics.$attrs['isSequential'] = this.formData.isSequential;\n multiInstanceLoopCharacteristics.$attrs['flowable:collection'] = this.formData.collection;\n multiInstanceLoopCharacteristics.$attrs['flowable:elementVariable'] = this.formData.elementVariable;\n\n if (this.formData.completionCondition) {\n var completionCondition = this.modeler.get('moddle').create('bpmn:Expression', {\n body: this.formData.completionCondition\n });\n multiInstanceLoopCharacteristics['completionCondition'] = completionCondition;\n }\n\n this.updateProperties({\n multiInstanceLoopCharacteristics: multiInstanceLoopCharacteristics\n });\n } else {\n delete this.element.businessObject.multiInstanceLoopCharacteristics;\n }\n },\n save: function save() {\n this.updateElement();\n this.dialogVisible = false;\n }\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/property/multiInstance.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/property/signal.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/property/signal.vue?vue&type=script&lang=js& ***! \**************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ \"./node_modules/core-js/modules/es.object.to-string.js\");\n/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ \"./node_modules/core-js/modules/web.dom-collections.iterator.js\");\n/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_mixinPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/mixinPanel */ \"./package/common/mixinPanel.js\");\n\n\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [_common_mixinPanel__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n data: function data() {\n return {\n dialogVisible: true,\n formData: {\n signal: []\n }\n };\n },\n computed: {\n formConfig: function formConfig() {\n // const _this = this\n return {\n inline: false,\n item: [{\n xType: 'tabs',\n tabs: [{\n label: '信号定义',\n name: 'signal',\n column: [{\n label: 'scope',\n name: 'scope',\n width: 180,\n rules: [{\n required: true,\n message: '请选择',\n trigger: ['blur', 'change']\n }],\n xType: 'select',\n dic: [{\n label: '全局',\n value: 'start'\n }, {\n label: '流程实例',\n value: 'end'\n }]\n }, {\n label: 'id',\n name: 'id',\n width: 200,\n rules: [{\n required: true,\n message: '请输入',\n trigger: ['blur', 'change']\n }],\n xType: 'input'\n }, {\n label: '名称',\n name: 'name',\n xType: 'input',\n rules: [{\n required: true,\n message: '请输入',\n trigger: ['blur', 'change']\n }]\n }]\n }]\n }]\n };\n }\n },\n mounted: function mounted() {// this.formData.signal = this.element.businessObject.extensionElements?.values.map(item => {\n // let type\n // if ('class' in item.$attrs) type = 'class'\n // if ('expression' in item.$attrs) type = 'expression'\n // if ('delegateExpression' in item.$attrs) type = 'delegateExpression'\n // return {\n // event: item.$attrs.event,\n // type: type,\n // className: item.$attrs[type]\n // }\n // }) ?? []\n },\n methods: {\n updateElement: function updateElement() {\n var _this$formData$signal;\n\n if ((_this$formData$signal = this.formData.signal) === null || _this$formData$signal === void 0 ? void 0 : _this$formData$signal.length) {\n var extensionElements = this.element.businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = this.modeler.get('moddle').create('bpmn:signal');\n }\n\n var length = extensionElements.get('values').length;\n\n for (var i = 0; i < length; i++) {\n // 清除旧值\n extensionElements.get('values').pop();\n }\n\n this.updateProperties({\n extensionElements: extensionElements\n });\n } else {\n var _extensionElements = this.element.businessObject[\"extensionElements\"];\n\n if (_extensionElements) {\n var _extensionElements$va;\n\n _extensionElements.values = (_extensionElements$va = _extensionElements.values) === null || _extensionElements$va === void 0 ? void 0 : _extensionElements$va.filter(function (item) {\n return item.$type !== 'flowable:ExecutionListener';\n });\n }\n }\n },\n closeDialog: function closeDialog() {\n var _this = this;\n\n this.$refs.xForm.validate().then(function () {\n _this.updateElement();\n\n _this.dialogVisible = false;\n }).catch(function (e) {\n return console.error(e);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./package/components/nodePanel/property/signal.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./package/components/nodePanel/property/taskListener.vue?vue&type=script&lang=js&": /*!********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./package/components/nodePanel/property/taskListener.vue?vue&type=script&lang=js& ***! \********************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter */ \"./node_modules/core-js/modules/es.array.filter.js\");\n/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.for-each */ \"./node_modules/core-js/modules/es.array.for-each.js\");\n/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.includes */ \"./node_modules/core-js/modules/es.array.includes.js\");\n/* harmony import */ var core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_array_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map */ \"./node_modules/core-js/modules/es.array.map.js\");\n/* harmony import */ var core_js_modules_es_a