service-flow-designer 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/es/designer/common/components/file-upload.css +7 -0
  2. package/dist/es/designer/common/components/file-upload.vue.d.ts +20 -0
  3. package/dist/es/designer/common/components/file-upload.vue.js +7 -0
  4. package/dist/es/designer/common/components/file-upload.vue2.js +99 -0
  5. package/dist/es/designer/common/components/json-view/index.d.ts +4 -0
  6. package/dist/es/designer/common/components/json-view/json-view-dialog.vue.d.ts +36 -0
  7. package/dist/es/designer/common/components/json-view/json-view-dialog.vue.js +61 -0
  8. package/dist/es/designer/common/components/json-view/json-view-dialog.vue2.js +4 -0
  9. package/dist/es/designer/common/components/json-view/json-view.vue.d.ts +32 -0
  10. package/dist/es/designer/common/components/json-view/json-view.vue.js +142 -0
  11. package/dist/es/designer/common/components/json-view/json-view.vue2.js +4 -0
  12. package/dist/es/designer/common/components/value-set-input/index.d.ts +3 -0
  13. package/dist/es/designer/common/components/value-set-input/index.js +4 -0
  14. package/dist/es/designer/common/components/value-set-input/option.d.ts +12 -0
  15. package/dist/es/designer/common/components/value-set-input/option.js +62 -0
  16. package/dist/es/designer/common/components/value-set-input/value-set-input.css +14 -0
  17. package/dist/es/designer/common/components/value-set-input/value-set-input.vue.d.ts +145 -0
  18. package/dist/es/designer/common/components/value-set-input/value-set-input.vue.js +7 -0
  19. package/dist/es/designer/common/components/value-set-input/value-set-input.vue2.js +420 -0
  20. package/dist/es/designer/common/types/common-type.d.ts +18 -0
  21. package/dist/es/designer/common/types/select.d.ts +7 -0
  22. package/dist/es/designer/common/util/node-util.d.ts +27 -0
  23. package/dist/es/designer/common/util/node-util.js +56 -0
  24. package/dist/es/designer/desginer-index.css +23 -3
  25. package/dist/es/designer/desginer-index.vue.d.ts +13 -1
  26. package/dist/es/designer/desginer-index.vue.js +1 -1
  27. package/dist/es/designer/desginer-index.vue2.js +94 -10
  28. package/dist/es/designer/flow/edge/CustomLine.d.ts +25 -0
  29. package/dist/es/designer/flow/edge/CustomLine.js +49 -0
  30. package/dist/es/designer/service-flow-view/flow-tool-util.d.ts +2 -0
  31. package/dist/es/designer/service-flow-view/flow-tool-util.js +44 -0
  32. package/dist/es/designer/service-flow-view/flow-util.d.ts +53 -0
  33. package/dist/es/designer/service-flow-view/flow-util.js +111 -0
  34. package/dist/es/designer/service-flow-view/service-flow-tool.css +130 -0
  35. package/dist/es/designer/service-flow-view/service-flow-tool.vue.d.ts +33 -0
  36. package/dist/es/designer/service-flow-view/service-flow-tool.vue.js +7 -0
  37. package/dist/es/designer/service-flow-view/service-flow-tool.vue2.js +188 -0
  38. package/dist/es/designer/service-flow-view/service-node-config.css +10 -0
  39. package/dist/es/designer/service-flow-view/service-node-config.vue.d.ts +49 -0
  40. package/dist/es/designer/service-flow-view/service-node-config.vue.js +7 -0
  41. package/dist/es/designer/service-flow-view/service-node-config.vue2.js +139 -0
  42. package/dist/es/designer/service-flow-view/service-params.vue.d.ts +18 -0
  43. package/dist/es/designer/service-flow-view/service-params.vue.js +387 -0
  44. package/dist/es/designer/service-flow-view/service-params.vue2.js +4 -0
  45. package/dist/es/designer/service-flow-view/service-result.vue.d.ts +18 -0
  46. package/dist/es/designer/service-flow-view/service-result.vue.js +274 -0
  47. package/dist/es/designer/service-flow-view/service-result.vue2.js +4 -0
  48. package/dist/es/designer/service-flow-view/service-test/request-params.vue.d.ts +16 -0
  49. package/dist/es/designer/service-flow-view/service-test/request-params.vue.js +309 -0
  50. package/dist/es/designer/service-flow-view/service-test/request-params.vue2.js +4 -0
  51. package/dist/es/designer/service-flow-view/service-test/service-test.vue.d.ts +47 -0
  52. package/dist/es/designer/service-flow-view/service-test/service-test.vue.js +440 -0
  53. package/dist/es/designer/service-flow-view/service-test/service-test.vue2.js +4 -0
  54. package/dist/es/designer/service-flow-view/service-update-log.css +5 -0
  55. package/dist/es/designer/service-flow-view/service-update-log.vue.d.ts +41 -0
  56. package/dist/es/designer/service-flow-view/service-update-log.vue.js +7 -0
  57. package/dist/es/designer/service-flow-view/service-update-log.vue2.js +205 -0
  58. package/dist/es/designer/service-flow-view/view-index.css +102 -0
  59. package/dist/es/designer/service-flow-view/view-index.vue.d.ts +40 -0
  60. package/dist/es/designer/service-flow-view/view-index.vue.js +7 -0
  61. package/dist/es/designer/service-flow-view/view-index.vue2.js +347 -0
  62. package/dist/es/designer/service-panel/component-panel.css +66 -0
  63. package/dist/es/designer/service-panel/component-panel.vue.d.ts +6 -0
  64. package/dist/es/designer/service-panel/component-panel.vue.js +7 -0
  65. package/dist/es/designer/service-panel/component-panel.vue2.js +87 -0
  66. package/dist/es/designer/service-panel/service-list.css +36 -0
  67. package/dist/es/designer/service-panel/service-list.vue.d.ts +22 -0
  68. package/dist/es/designer/service-panel/service-list.vue.js +7 -0
  69. package/dist/es/designer/service-panel/service-list.vue2.js +341 -0
  70. package/dist/es/designer/service-panel/service-panel.css +41 -0
  71. package/dist/es/designer/service-panel/service-panel.vue.d.ts +35 -0
  72. package/dist/es/designer/service-panel/service-panel.vue.js +7 -0
  73. package/dist/es/designer/service-panel/service-panel.vue2.js +80 -0
  74. package/dist/es/stores/page-store.d.ts +23 -0
  75. package/dist/es/stores/page-store.js +79 -0
  76. package/dist/lib/designer/common/components/file-upload.css +7 -0
  77. package/dist/lib/designer/common/components/file-upload.vue.d.ts +20 -0
  78. package/dist/lib/designer/common/components/file-upload.vue.js +6 -0
  79. package/dist/lib/designer/common/components/file-upload.vue2.js +98 -0
  80. package/dist/lib/designer/common/components/json-view/index.d.ts +4 -0
  81. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue.d.ts +36 -0
  82. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue.js +60 -0
  83. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue2.js +3 -0
  84. package/dist/lib/designer/common/components/json-view/json-view.vue.d.ts +32 -0
  85. package/dist/lib/designer/common/components/json-view/json-view.vue.js +141 -0
  86. package/dist/lib/designer/common/components/json-view/json-view.vue2.js +3 -0
  87. package/dist/lib/designer/common/components/value-set-input/index.d.ts +3 -0
  88. package/dist/lib/designer/common/components/value-set-input/index.js +3 -0
  89. package/dist/lib/designer/common/components/value-set-input/option.d.ts +12 -0
  90. package/dist/lib/designer/common/components/value-set-input/option.js +62 -0
  91. package/dist/lib/designer/common/components/value-set-input/value-set-input.css +14 -0
  92. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue.d.ts +145 -0
  93. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue.js +6 -0
  94. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue2.js +419 -0
  95. package/dist/lib/designer/common/types/common-type.d.ts +18 -0
  96. package/dist/lib/designer/common/types/select.d.ts +7 -0
  97. package/dist/lib/designer/common/util/node-util.d.ts +27 -0
  98. package/dist/lib/designer/common/util/node-util.js +56 -0
  99. package/dist/lib/designer/desginer-index.css +23 -3
  100. package/dist/lib/designer/desginer-index.vue.d.ts +13 -1
  101. package/dist/lib/designer/desginer-index.vue.js +1 -1
  102. package/dist/lib/designer/desginer-index.vue2.js +93 -9
  103. package/dist/lib/designer/flow/edge/CustomLine.d.ts +25 -0
  104. package/dist/lib/designer/flow/edge/CustomLine.js +48 -0
  105. package/dist/lib/designer/service-flow-view/flow-tool-util.d.ts +2 -0
  106. package/dist/lib/designer/service-flow-view/flow-tool-util.js +44 -0
  107. package/dist/lib/designer/service-flow-view/flow-util.d.ts +53 -0
  108. package/dist/lib/designer/service-flow-view/flow-util.js +111 -0
  109. package/dist/lib/designer/service-flow-view/service-flow-tool.css +130 -0
  110. package/dist/lib/designer/service-flow-view/service-flow-tool.vue.d.ts +33 -0
  111. package/dist/lib/designer/service-flow-view/service-flow-tool.vue.js +6 -0
  112. package/dist/lib/designer/service-flow-view/service-flow-tool.vue2.js +187 -0
  113. package/dist/lib/designer/service-flow-view/service-node-config.css +10 -0
  114. package/dist/lib/designer/service-flow-view/service-node-config.vue.d.ts +49 -0
  115. package/dist/lib/designer/service-flow-view/service-node-config.vue.js +6 -0
  116. package/dist/lib/designer/service-flow-view/service-node-config.vue2.js +138 -0
  117. package/dist/lib/designer/service-flow-view/service-params.vue.d.ts +18 -0
  118. package/dist/lib/designer/service-flow-view/service-params.vue.js +386 -0
  119. package/dist/lib/designer/service-flow-view/service-params.vue2.js +3 -0
  120. package/dist/lib/designer/service-flow-view/service-result.vue.d.ts +18 -0
  121. package/dist/lib/designer/service-flow-view/service-result.vue.js +273 -0
  122. package/dist/lib/designer/service-flow-view/service-result.vue2.js +3 -0
  123. package/dist/lib/designer/service-flow-view/service-test/request-params.vue.d.ts +16 -0
  124. package/dist/lib/designer/service-flow-view/service-test/request-params.vue.js +308 -0
  125. package/dist/lib/designer/service-flow-view/service-test/request-params.vue2.js +3 -0
  126. package/dist/lib/designer/service-flow-view/service-test/service-test.vue.d.ts +47 -0
  127. package/dist/lib/designer/service-flow-view/service-test/service-test.vue.js +439 -0
  128. package/dist/lib/designer/service-flow-view/service-test/service-test.vue2.js +3 -0
  129. package/dist/lib/designer/service-flow-view/service-update-log.css +5 -0
  130. package/dist/lib/designer/service-flow-view/service-update-log.vue.d.ts +41 -0
  131. package/dist/lib/designer/service-flow-view/service-update-log.vue.js +6 -0
  132. package/dist/lib/designer/service-flow-view/service-update-log.vue2.js +204 -0
  133. package/dist/lib/designer/service-flow-view/view-index.css +102 -0
  134. package/dist/lib/designer/service-flow-view/view-index.vue.d.ts +40 -0
  135. package/dist/lib/designer/service-flow-view/view-index.vue.js +6 -0
  136. package/dist/lib/designer/service-flow-view/view-index.vue2.js +346 -0
  137. package/dist/lib/designer/service-panel/component-panel.css +66 -0
  138. package/dist/lib/designer/service-panel/component-panel.vue.d.ts +6 -0
  139. package/dist/lib/designer/service-panel/component-panel.vue.js +6 -0
  140. package/dist/lib/designer/service-panel/component-panel.vue2.js +86 -0
  141. package/dist/lib/designer/service-panel/service-list.css +36 -0
  142. package/dist/lib/designer/service-panel/service-list.vue.d.ts +22 -0
  143. package/dist/lib/designer/service-panel/service-list.vue.js +6 -0
  144. package/dist/lib/designer/service-panel/service-list.vue2.js +340 -0
  145. package/dist/lib/designer/service-panel/service-panel.css +41 -0
  146. package/dist/lib/designer/service-panel/service-panel.vue.d.ts +35 -0
  147. package/dist/lib/designer/service-panel/service-panel.vue.js +6 -0
  148. package/dist/lib/designer/service-panel/service-panel.vue2.js +79 -0
  149. package/dist/lib/stores/page-store.d.ts +23 -0
  150. package/dist/lib/stores/page-store.js +79 -0
  151. package/package.json +1 -1
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 获取当前节点的下一个节点, 返回值是数组,
3
+ * @param {*} node
4
+ * @param {*} flowData
5
+ * @returns
6
+ */
7
+ export declare function getNextNodeById(node: any, flowData: any): any[];
8
+ export declare function getStartNodeById(flowData: any): any;
9
+ /**
10
+ * 获取start节点的下一级节点
11
+ * @param {*} flowData
12
+ * @returns
13
+ */
14
+ export declare function getStartNodeOutgoingNode(flowData: any): any;
15
+ export declare function isDeepEqual(tempData: any, flowData: any): boolean;
16
+ interface NodeWithChildren {
17
+ id: string;
18
+ name: string;
19
+ }
20
+ export declare function getCanJumpNodes(logicFlowInstance: any, currentNode: any): NodeWithChildren[];
21
+ export declare function findServcieByCode(code: string, datas: any): any;
22
+ declare const _default: {
23
+ isDeepEqual: typeof isDeepEqual;
24
+ getCanJumpNodes: typeof getCanJumpNodes;
25
+ findServcieByCode: typeof findServcieByCode;
26
+ };
27
+ export default _default;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function getNextNodeById(node, flowData) {
4
+ const edges = flowData.edges.filter((item) => item.sourceNodeId === node.id);
5
+ const result = [];
6
+ if (edges) {
7
+ for (let i = 0; i < edges.length; i++) {
8
+ result.push(flowData.nodes.find((item) => item.id === edges[i].targetNodeId));
9
+ }
10
+ }
11
+ return result;
12
+ }
13
+ function isDeepEqual(tempData, flowData) {
14
+ if (typeof tempData !== "object" || typeof flowData !== "object") {
15
+ return tempData === flowData;
16
+ }
17
+ if (tempData === void 0 || tempData === null || flowData === void 0 || flowData === null) {
18
+ return tempData === flowData;
19
+ }
20
+ if (Array.isArray(tempData) && Array.isArray(flowData)) {
21
+ if (tempData.length !== flowData.length)
22
+ return false;
23
+ for (let i = 0; i < tempData.length; i++) {
24
+ if (!isDeepEqual(tempData[i], flowData[i]))
25
+ return false;
26
+ }
27
+ return true;
28
+ } else {
29
+ const keys1 = Object.keys(tempData);
30
+ const keys2 = Object.keys(flowData);
31
+ if (keys1.length !== keys2.length) {
32
+ return false;
33
+ }
34
+ for (let key of keys1) {
35
+ if (!keys2.includes(key) || !isDeepEqual(tempData[key], flowData[key])) {
36
+ return false;
37
+ }
38
+ }
39
+ return true;
40
+ }
41
+ }
42
+ function findServcieByCode(code, datas) {
43
+ for (let i = 0; i < datas.length; i++) {
44
+ if (datas[i].code === code) {
45
+ return datas[i];
46
+ } else if (datas[i].children && datas[i].children.length > 0) {
47
+ const result = findServcieByCode(code, datas[i].children);
48
+ if (result) {
49
+ return result;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ exports.findServcieByCode = findServcieByCode;
55
+ exports.getNextNodeById = getNextNodeById;
56
+ exports.isDeepEqual = isDeepEqual;
@@ -1,4 +1,24 @@
1
-
2
- button[data-v-abdd91ce] {
3
- color: blue;
1
+ .amb-container-left[data-v-35a7c70a] {
2
+ width: 260px;
3
+ padding-right: 20px;
4
+ overflow-y: auto;
5
+ }
6
+ .amb-container-main[data-v-35a7c70a] {
7
+ padding: 0 10px 0 0;
8
+ }
9
+ .amb-container-main[data-v-35a7c70a]::-webkit-scrollbar {
10
+ width: 1px;
11
+ }
12
+ .amb-container-attr[data-v-35a7c70a] {
13
+ width: 300px;
14
+ padding-left: 20px;
15
+ }
16
+ /**
17
+ 解决右侧弹出属性配置遮罩层打开后页面其他地方无法点击问题
18
+ */
19
+ [data-v-35a7c70a]:v-deep(.el-drawer__header) {
20
+ margin-bottom: 0 !important;
21
+ }
22
+ [data-v-35a7c70a] .el-overlay {
23
+ position: static;
4
24
  }
@@ -1,2 +1,14 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{
2
+ pageContext: {
3
+ type: ObjectConstructor;
4
+ default: () => {};
5
+ };
6
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
7
+ pageContext: {
8
+ type: ObjectConstructor;
9
+ default: () => {};
10
+ };
11
+ }>>, {
12
+ pageContext: Record<string, any>;
13
+ }, {}>;
2
14
  export default _default;
@@ -2,5 +2,5 @@
2
2
  const desginerIndex_vue_vue_type_script_setup_true_lang = require("./desginer-index.vue2.js");
3
3
  ;/* empty css */
4
4
  const _pluginVue_exportHelper = require("../_virtual/_plugin-vue_export-helper.js");
5
- const ServiceFlowDesginer = /* @__PURE__ */ _pluginVue_exportHelper(desginerIndex_vue_vue_type_script_setup_true_lang, [["__scopeId", "data-v-abdd91ce"]]);
5
+ const ServiceFlowDesginer = /* @__PURE__ */ _pluginVue_exportHelper(desginerIndex_vue_vue_type_script_setup_true_lang, [["__scopeId", "data-v-35a7c70a"]]);
6
6
  module.exports = ServiceFlowDesginer;
@@ -1,22 +1,106 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const iconsVue = require("@element-plus/icons-vue");
4
- const _withScopeId = (n) => (vue.pushScopeId("data-v-abdd91ce"), n = n(), vue.popScopeId(), n);
5
- const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("button", null, "Editoraaaaa", -1));
3
+ const servicePanel = require("./service-panel/service-panel.vue.js");
4
+ const viewIndex = require("./service-flow-view/view-index.vue.js");
5
+ const pageStore = require("../stores/page-store.js");
6
+ const http = require("agilebuilder-ui/src/utils/request");
6
7
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7
8
  __name: "desginer-index",
9
+ props: {
10
+ pageContext: {
11
+ type: Object,
12
+ default: () => ({})
13
+ }
14
+ },
8
15
  setup(__props) {
16
+ const props = __props;
17
+ const serviceTreeData = vue.ref([]);
18
+ const serviceFlowStoreUtil = pageStore.useServiceFlowStore();
19
+ serviceFlowStoreUtil.setPageContext(props.pageContext);
20
+ const logicFlowInstance = vue.ref(null);
21
+ const serviceFlowViewRef = vue.ref();
22
+ const winHeight = vue.ref();
23
+ const containerHeightStyle = vue.computed(() => {
24
+ return {
25
+ height: winHeight.value - 60 + "px"
26
+ };
27
+ });
28
+ const serviceFlowContainerRef = vue.ref();
29
+ vue.onMounted(() => {
30
+ loadTreeData();
31
+ if (serviceFlowContainerRef.value) {
32
+ const rect = serviceFlowContainerRef.value.getBoundingClientRect();
33
+ if (rect.y || rect.y === 0) {
34
+ winHeight.value = window.innerHeight - rect.y;
35
+ }
36
+ }
37
+ });
38
+ const loadTreeData = () => {
39
+ http.get(
40
+ "/component/super-page-design/service-flow/tree/" + props.pageContext.systemCode + "/" + props.pageContext.systemVersion
41
+ ).then((res) => {
42
+ if (res) {
43
+ serviceTreeData.value = res.children;
44
+ }
45
+ });
46
+ };
47
+ const dragNode = (serviceComponent) => {
48
+ console.log("dragNode");
49
+ serviceFlowViewRef.value.onDragNode(serviceComponent);
50
+ };
51
+ const onServiceClick = (service) => {
52
+ console.log("service-click", service);
53
+ serviceFlowViewRef.value.onServiceClick(service);
54
+ };
55
+ const clearFlowCanvas = () => {
56
+ serviceFlowViewRef.value.clearFlowCanvas();
57
+ logicFlowInstance.value = null;
58
+ };
9
59
  return (_ctx, _cache) => {
10
- const _component_el_icon = vue.resolveComponent("el-icon");
11
- return vue.openBlock(), vue.createElementBlock("div", null, [
12
- _hoisted_1,
13
- vue.createVNode(_component_el_icon, null, {
60
+ const _component_el_aside = vue.resolveComponent("el-aside");
61
+ const _component_el_main = vue.resolveComponent("el-main");
62
+ const _component_el_container = vue.resolveComponent("el-container");
63
+ return vue.openBlock(), vue.createElementBlock("div", {
64
+ ref_key: "serviceFlowContainerRef",
65
+ ref: serviceFlowContainerRef
66
+ }, [
67
+ vue.createVNode(_component_el_container, { class: "amb-container" }, {
14
68
  default: vue.withCtx(() => [
15
- vue.createVNode(vue.unref(iconsVue.Search))
69
+ vue.createVNode(_component_el_aside, { class: "amb-container-left" }, {
70
+ default: vue.withCtx(() => [
71
+ vue.createVNode(servicePanel, {
72
+ logicFlowInstance: logicFlowInstance.value,
73
+ "onUpdate:logicFlowInstance": _cache[0] || (_cache[0] = ($event) => logicFlowInstance.value = $event),
74
+ serviceTreeData: serviceTreeData.value,
75
+ onServiceClick,
76
+ onClearFlowCanvas: clearFlowCanvas,
77
+ onLoadTreeData: loadTreeData,
78
+ onDragNode: dragNode,
79
+ style: vue.normalizeStyle(containerHeightStyle.value)
80
+ }, null, 8, ["logicFlowInstance", "serviceTreeData", "style"])
81
+ ]),
82
+ _: 1
83
+ }),
84
+ vue.createVNode(_component_el_main, {
85
+ class: "amb-container-main",
86
+ style: vue.normalizeStyle(containerHeightStyle.value)
87
+ }, {
88
+ default: vue.withCtx(() => [
89
+ vue.createVNode(viewIndex, {
90
+ logicFlowInstance: logicFlowInstance.value,
91
+ "onUpdate:logicFlowInstance": _cache[1] || (_cache[1] = ($event) => logicFlowInstance.value = $event),
92
+ serviceTreeData: serviceTreeData.value,
93
+ onLoadTreeData: loadTreeData,
94
+ ref_key: "serviceFlowViewRef",
95
+ ref: serviceFlowViewRef
96
+ }, null, 8, ["logicFlowInstance", "serviceTreeData"])
97
+ ]),
98
+ _: 1
99
+ }, 8, ["style"])
16
100
  ]),
17
101
  _: 1
18
102
  })
19
- ]);
103
+ ], 512);
20
104
  };
21
105
  }
22
106
  });
@@ -0,0 +1,25 @@
1
+ import { PolylineEdge, PolylineEdgeModel } from '@logicflow/core';
2
+
3
+ declare class CustomLine extends PolylineEdge {
4
+ }
5
+ /**
6
+ * 自定义线条model
7
+ */
8
+ declare class CustomLineModel extends PolylineEdgeModel {
9
+ getEdgeStyle(): {
10
+ [x: string]: any;
11
+ fill?: string;
12
+ stroke?: string;
13
+ strokeWidth?: number;
14
+ };
15
+ getTextPosition(): {
16
+ x: number;
17
+ y: number;
18
+ };
19
+ }
20
+ declare const _default: {
21
+ type: string;
22
+ view: typeof CustomLine;
23
+ model: typeof CustomLineModel;
24
+ };
25
+ export default _default;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ const LogicFlow = require("@logicflow/core");
3
+ class CustomLine extends LogicFlow.PolylineEdge {
4
+ }
5
+ class CustomLineModel extends LogicFlow.PolylineEdgeModel {
6
+ getEdgeStyle() {
7
+ const style = super.getEdgeStyle();
8
+ style.strokeWidth = 2;
9
+ style.stroke = this.isSelected ? "#ff7f0e" : "#C8CDD4";
10
+ return style;
11
+ }
12
+ getTextPosition() {
13
+ const position = super.getTextPosition();
14
+ const currentPositionList = this.points.split(" ");
15
+ currentPositionList && currentPositionList.forEach((item) => {
16
+ item.split(",");
17
+ });
18
+ if (currentPositionList.length > 1) {
19
+ let [x1, y1] = currentPositionList[0].split(",");
20
+ let [x2, y2] = currentPositionList[1].split(",");
21
+ let distence = 50;
22
+ const newX1 = Number(x1);
23
+ const newY1 = Number(y1);
24
+ const newx2 = Number(x2);
25
+ const newy2 = Number(y2);
26
+ if (newX1 === newx2) {
27
+ if (newy2 < newY1) {
28
+ distence = -50;
29
+ }
30
+ position.y = newY1 + distence;
31
+ position.x = newX1;
32
+ } else {
33
+ if (newx2 < newX1) {
34
+ distence = -50;
35
+ }
36
+ position.x = newX1 + distence;
37
+ position.y = newY1 - 10;
38
+ }
39
+ }
40
+ return position;
41
+ }
42
+ }
43
+ const CustomLine$1 = {
44
+ type: "customLine",
45
+ view: CustomLine,
46
+ model: CustomLineModel
47
+ };
48
+ module.exports = CustomLine$1;
@@ -0,0 +1,2 @@
1
+ export declare function customControlClick(lf: any, item: any): void;
2
+ export declare function beautify(lf: any): void;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function customControlClick(lf, item) {
4
+ switch (item.type) {
5
+ case "zoomOut":
6
+ lf.zoom(false);
7
+ break;
8
+ case "zoomIn":
9
+ lf.zoom(true);
10
+ break;
11
+ case "fit":
12
+ lf.fitView();
13
+ break;
14
+ case "undo":
15
+ lf.undo();
16
+ break;
17
+ case "redo":
18
+ lf.redo();
19
+ break;
20
+ case "reset":
21
+ lf.resetZoom();
22
+ lf.resetTranslate();
23
+ break;
24
+ case "select":
25
+ lf.extension.selectionSelect.openSelectionSelect();
26
+ break;
27
+ case "beautify":
28
+ beautify(lf);
29
+ break;
30
+ }
31
+ }
32
+ function beautify(lf) {
33
+ if (lf) {
34
+ lf.extension.dagre.layout({
35
+ rankdir: "TB",
36
+ align: "DR",
37
+ nodesep: 20,
38
+ ranksep: 20,
39
+ begin: [200, 50]
40
+ });
41
+ }
42
+ }
43
+ exports.beautify = beautify;
44
+ exports.customControlClick = customControlClick;
@@ -0,0 +1,53 @@
1
+ import { default as LogicFlow } from '@logicflow/core';
2
+
3
+ export declare const customControl: ({
4
+ type: string;
5
+ desc: string;
6
+ class: string;
7
+ clickStyle?: undefined;
8
+ } | {
9
+ type: string;
10
+ desc: string;
11
+ class: string;
12
+ clickStyle: boolean;
13
+ })[];
14
+ interface ServiceVariable {
15
+ [otherProp: string]: any;
16
+ }
17
+ interface ServiceNode {
18
+ [otherProp: string]: any;
19
+ }
20
+ export declare function newLogicFlow(container: any): LogicFlow;
21
+ export declare function addInitNode(lf: any): void;
22
+ /**
23
+ * 注册节点
24
+ * @param lf logicFlow实例
25
+ */
26
+ export declare const registerNode: (lf: any) => void;
27
+ export declare function getRuntimeJson(service: any): {
28
+ code: any;
29
+ name: any;
30
+ returnValues: any;
31
+ errorMessage: any;
32
+ log: any;
33
+ variables: ServiceVariable[];
34
+ nodes: ServiceNode[];
35
+ };
36
+ declare const _default: {
37
+ customControl: ({
38
+ type: string;
39
+ desc: string;
40
+ class: string;
41
+ clickStyle?: undefined;
42
+ } | {
43
+ type: string;
44
+ desc: string;
45
+ class: string;
46
+ clickStyle: boolean;
47
+ })[];
48
+ getRuntimeJson: typeof getRuntimeJson;
49
+ newLogicFlow: typeof newLogicFlow;
50
+ registerNode: (lf: any) => void;
51
+ addInitNode: typeof addInitNode;
52
+ };
53
+ export default _default;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const nodeUtil = require("../common/util/node-util.js");
4
+ const CustomLine = require("../flow/edge/CustomLine.js");
5
+ const LogicFlow = require("@logicflow/core");
6
+ const layout = require("@logicflow/layout");
7
+ const extension = require("@logicflow/extension");
8
+ const customControl = [
9
+ { type: "zoomOut", desc: "缩小", class: "control-item-zoomOut" },
10
+ { type: "zoomIn", desc: "放大", class: "control-item-zoomIn" },
11
+ { type: "fit", desc: "适应", class: "control-item-fit" },
12
+ { type: "undo", desc: "上一步", class: "control-item-undo" },
13
+ { type: "redo", desc: "下一步", class: "control-item-redo" },
14
+ { type: "reset", desc: "定位还原", class: "custom-reset" },
15
+ { type: "select", desc: "框选", class: "custom-select", clickStyle: true },
16
+ { type: "beautify", desc: "一键美化", class: "custom-beautify" }
17
+ ];
18
+ function newLogicFlow(container) {
19
+ return new LogicFlow({
20
+ // 通过选项指定了渲染的容器和需要显示网格
21
+ container,
22
+ grid: {
23
+ // 设置原背景不显示
24
+ visible: false,
25
+ // 控制拖拽节点时每次移动的像素
26
+ size: 2
27
+ },
28
+ // 背景
29
+ background: {},
30
+ plugins: [extension.Menu, extension.DndPanel, extension.SelectionSelect, extension.MiniMap, extension.Group, layout.Dagre]
31
+ });
32
+ }
33
+ function addInitNode(lf) {
34
+ lf.addNode({
35
+ id: "start",
36
+ type: "start",
37
+ x: 620,
38
+ y: 50,
39
+ properties: {}
40
+ });
41
+ lf.addNode({
42
+ type: "end",
43
+ x: 620,
44
+ y: 550,
45
+ properties: {}
46
+ });
47
+ }
48
+ const registerNode = (lf) => {
49
+ if (!lf) {
50
+ return;
51
+ }
52
+ lf.register(CustomLine);
53
+ lf.setDefaultEdgeType("customLine");
54
+ };
55
+ function getRuntimeJson(service) {
56
+ const runTimeJson = {
57
+ code: service.code,
58
+ name: service.name,
59
+ returnValues: service.returnValues,
60
+ errorMessage: service.errorMessage,
61
+ log: service.log,
62
+ variables: [],
63
+ nodes: []
64
+ };
65
+ const tempVars = [];
66
+ if (service.variables) {
67
+ service.variables.forEach((variable) => {
68
+ tempVars.push(convertVariable(variable));
69
+ });
70
+ }
71
+ runTimeJson.variables = tempVars;
72
+ const tempNodes = [];
73
+ service.flow.nodes.forEach((node) => {
74
+ const tempNode = {};
75
+ tempNode.code = node.id;
76
+ tempNode.type = node.type;
77
+ tempNode.props = node.properties;
78
+ if (node.type === "loop") {
79
+ tempNode.children = node.children;
80
+ }
81
+ tempNode.tos = [];
82
+ const nextNodes = nodeUtil.getNextNodeById(node, service.flow);
83
+ nextNodes.forEach((nextNode) => {
84
+ tempNode.tos.push({ code: nextNode.id });
85
+ });
86
+ tempNodes.push(tempNode);
87
+ });
88
+ runTimeJson.nodes = tempNodes;
89
+ console.log(runTimeJson, "runTimeJson");
90
+ return runTimeJson;
91
+ }
92
+ function convertVariable(variable) {
93
+ const tempVar = {};
94
+ tempVar.name = variable.name;
95
+ tempVar.alias = variable.alias;
96
+ tempVar.type = variable.type;
97
+ tempVar.defaultValue = variable.defaultValue;
98
+ if (variable.items && variable.items.length > 0) {
99
+ const items = [];
100
+ variable.items.forEach((item) => {
101
+ items.push(convertVariable(item));
102
+ });
103
+ tempVar.items = items;
104
+ }
105
+ return tempVar;
106
+ }
107
+ exports.addInitNode = addInitNode;
108
+ exports.customControl = customControl;
109
+ exports.getRuntimeJson = getRuntimeJson;
110
+ exports.newLogicFlow = newLogicFlow;
111
+ exports.registerNode = registerNode;