super-page-designer 2.0.20 → 2.0.26

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 (131) hide show
  1. package/dist/es/assets/fonts/iconfont.css.js +1 -0
  2. package/dist/es/components/design/utils/assemblys-config.js +99 -91
  3. package/dist/es/components/design/utils/data-table-util.js +4 -4
  4. package/dist/es/components/design/utils/form-design-util.js +11 -0
  5. package/dist/es/components/design/utils/page-helper-util.d.ts +1 -0
  6. package/dist/es/components/design/utils/page-helper-util.js +8 -0
  7. package/dist/es/components/design/utils/page-permission-util.js +6 -0
  8. package/dist/es/components/design/utils/page-service-util.js +1 -1
  9. package/dist/es/components/design/utils/page-table-util.js +9 -7
  10. package/dist/es/components/design/views/assemblys/button/button/button-attr-base.vue.js +14 -8
  11. package/dist/es/components/design/views/assemblys/button/button-group/buttongroup-design.vue2.js +16 -8
  12. package/dist/es/components/design/views/assemblys/button/dropdown/dropdown-attr-base.vue.js +4 -1
  13. package/dist/es/components/design/views/assemblys/chart/column-line/column-line-design.vue2.js +1 -0
  14. package/dist/es/components/design/views/assemblys/common/common-icon-bind.vue.js +16 -12
  15. package/dist/es/components/design/views/assemblys/common/common-select-page.vue.js +2 -2
  16. package/dist/es/components/design/views/assemblys/common/common-select-table.vue.js +10 -7
  17. package/dist/es/components/design/views/assemblys/common/common-style-background.vue.js +31 -9
  18. package/dist/es/components/design/views/assemblys/common/common-variable-bind-option.js +6 -1
  19. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.d.ts +1 -1
  20. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.js +1 -1
  21. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue2.js +5 -5
  22. package/dist/es/components/design/views/assemblys/common/page-permission-select.vue.js +2 -2
  23. package/dist/es/components/design/views/assemblys/container/container/container-design.vue2.js +17 -7
  24. package/dist/es/components/design/views/assemblys/container/flex/flex-design.vue2.js +17 -7
  25. package/dist/es/components/design/views/assemblys/container/form/form-design.vue2.js +18 -8
  26. package/dist/es/components/design/views/assemblys/container/tools/tools-design.vue2.js +14 -8
  27. package/dist/es/components/design/views/assemblys/data/bar-code/barcode-attr-base.vue.js +118 -23
  28. package/dist/es/components/design/views/assemblys/data/bar-code/barcode-design.vue2.js +22 -9
  29. package/dist/es/components/design/views/assemblys/data/component/attr-style.vue.js +1 -1
  30. package/dist/es/components/design/views/assemblys/data/component/column-config.vue.js +37 -34
  31. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue.js +1 -1
  32. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue2.js +112 -13
  33. package/dist/es/components/design/views/assemblys/data/component/querySetting.vue.js +0 -5
  34. package/dist/es/components/design/views/assemblys/data/component/table-children-column.vue.js +18 -9
  35. package/dist/es/components/design/views/assemblys/data/table/table-attr-advanced.vue.js +1 -1
  36. package/dist/es/components/design/views/assemblys/data/table/table-attr-base.vue.js +31 -8
  37. package/dist/es/components/design/views/assemblys/data/table/table-attr.vue2.js +10 -9
  38. package/dist/es/components/design/views/assemblys/data/table/table-design.vue.js +1 -1
  39. package/dist/es/components/design/views/assemblys/data/table/table-design.vue2.js +13 -8
  40. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-base.vue.js +66 -77
  41. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-event.vue.js +0 -1
  42. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-style.vue.js +1 -1
  43. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-base.vue.js +45 -38
  44. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-style.vue.js +2 -2
  45. package/dist/es/components/design/views/assemblys/form/checkbox/checkbox-attr-base.vue.js +22 -13
  46. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue.js +1 -1
  47. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue2.js +4 -3
  48. package/dist/es/components/design/views/assemblys/form/common/bar-code-rule.vue.js +414 -150
  49. package/dist/es/components/design/views/assemblys/form/common/data-format.vue.js +4 -3
  50. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue.js +1 -1
  51. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue2.js +4 -1
  52. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue.js +1 -75
  53. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue2.js +75 -1
  54. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue3.js +2 -2
  55. package/dist/es/components/design/views/assemblys/form/common/linkpage-page-callback.vue.js +3 -42
  56. package/dist/es/components/design/views/assemblys/form/common/parameter-table.vue.js +19 -13
  57. package/dist/es/components/design/views/assemblys/form/common/pre-suffix.vue.js +5 -68
  58. package/dist/es/components/design/views/assemblys/form/common/suffixmodule.vue.js +24 -14
  59. package/dist/es/components/design/views/assemblys/form/custom/custom-attr-base.vue.js +1 -1
  60. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-attr-base.vue.js +16 -9
  61. package/dist/es/components/design/views/assemblys/form/dept-tree/depttree-attr-base.vue.js +21 -11
  62. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-base.vue.js +6 -4
  63. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-event.vue.js +5 -5
  64. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-style.vue.js +6 -0
  65. package/dist/es/components/design/views/assemblys/form/divider/divider-design.vue2.js +17 -16
  66. package/dist/es/components/design/views/assemblys/form/file-upload/fileupload-attr-base.vue.js +16 -9
  67. package/dist/es/components/design/views/assemblys/form/input-number/input-number-attr-base.vue.js +24 -9
  68. package/dist/es/components/design/views/assemblys/form/input-number/input-number-design.vue2.js +1 -0
  69. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-attr-base.vue.js +21 -12
  70. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-design.vue2.js +21 -14
  71. package/dist/es/components/design/views/assemblys/form/label/label-attr-base.vue.js +20 -10
  72. package/dist/es/components/design/views/assemblys/form/link/link-attr-base.vue.js +16 -9
  73. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-attr-base.vue.js +3 -2
  74. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-attr-style.vue.js +6 -0
  75. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-design.vue2.js +8 -13
  76. package/dist/es/components/design/views/assemblys/form/radio/radio-attr-base.vue.js +22 -13
  77. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-attr-base.vue.js +16 -9
  78. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-design.vue2.js +2 -2
  79. package/dist/es/components/design/views/assemblys/form/select/select-attr-base.vue.js +25 -15
  80. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-base.vue.js +10 -5
  81. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-style.vue.js +4 -1
  82. package/dist/es/components/design/views/assemblys/form/switch/switch-attr-base.vue.js +16 -9
  83. package/dist/es/components/design/views/assemblys/form/tag/tag-attr-base.vue.js +13 -7
  84. package/dist/es/components/design/views/assemblys/form/textarea/textarea-attr-base.vue.js +16 -9
  85. package/dist/es/components/design/views/assemblys/object-design.vue.js +12 -8
  86. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.d.ts +2 -2
  87. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.js +3 -3
  88. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.d.ts +1 -1
  89. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.js +28 -16
  90. package/dist/es/components/design/views/assemblys/workflow/picture-flow/pictureflow-attr-base.vue.js +21 -6
  91. package/dist/es/components/design/views/assemblys/workflow/text-history/texthistory-attr-base.vue.js +10 -8
  92. package/dist/es/components/design/views/design/page-design.vue.js +165 -138
  93. package/dist/es/components/design/views/design/page-event/config.vue.d.ts +12 -1
  94. package/dist/es/components/design/views/design/page-event/config.vue.js +3 -3
  95. package/dist/es/components/design/views/design/page-event/config.vue2.js +1 -325
  96. package/dist/es/components/design/views/design/page-event/config.vue3.js +336 -1
  97. package/dist/es/components/design/views/design/page-event/page-event-container.vue.d.ts +1 -8
  98. package/dist/es/components/design/views/design/page-event/page-event-container.vue.js +226 -569
  99. package/dist/es/components/design/views/design/page-event/page-event-content.vue.d.ts +11 -5
  100. package/dist/es/components/design/views/design/page-event/page-event-content.vue.js +1 -1
  101. package/dist/es/components/design/views/design/page-event/page-event-content.vue2.js +510 -366
  102. package/dist/es/components/design/views/design/page-event/page-event-view.vue.d.ts +8 -0
  103. package/dist/es/components/design/views/design/page-event/page-event-view.vue.js +48 -0
  104. package/dist/es/components/design/views/design/page-event/page-event-view.vue2.js +4 -0
  105. package/dist/es/components/design/views/design/view/assemblys-container.vue.d.ts +0 -6
  106. package/dist/es/components/design/views/design/view/assemblys-container.vue.js +14 -58
  107. package/dist/es/components/design/views/design/view/attr-container.vue.js +1 -0
  108. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.d.ts +18 -0
  109. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.js +678 -0
  110. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue2.js +4 -0
  111. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.d.ts +16 -0
  112. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.js +602 -0
  113. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue2.js +4 -0
  114. package/dist/es/components/design/views/design/view/page-switch.vue.js +1 -1
  115. package/dist/es/components/design/views/design/view/page-switch.vue2.js +3 -2
  116. package/dist/es/components/design/views/design/view/view-design-display.vue.d.ts +6 -2
  117. package/dist/es/components/design/views/design/view/view-design-display.vue.js +99 -63
  118. package/dist/es/components/design/views/design/view/view-design-preview.vue.js +1 -1
  119. package/dist/es/components/design/views/design/view/view-design.vue.d.ts +13 -1
  120. package/dist/es/components/design/views/design/view/view-design.vue.js +13 -3
  121. package/dist/es/index.d.ts +1 -1
  122. package/dist/es/index.js +1 -0
  123. package/dist/es/stores/event-undo-redo-store.d.ts +22 -0
  124. package/dist/es/stores/event-undo-redo-store.js +56 -0
  125. package/dist/es/stores/page-store.js +1 -1
  126. package/dist/es/stores/undo-redo-store.d.ts +13 -0
  127. package/dist/es/stores/undo-redo-store.js +44 -0
  128. package/dist/es/style.css +409 -161
  129. package/package.json +4 -4
  130. package/dist/es/components/design/views/assemblys/data/component/formatting.vue.js +0 -539
  131. package/dist/es/components/design/views/assemblys/data/component/formatting.vue2.js +0 -4
@@ -1,325 +1 @@
1
- import { defineComponent, ref, onMounted, resolveComponent, openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createVNode, withCtx, unref, pushScopeId, popScopeId } from "vue";
2
- import { useLocalStorage } from "@vueuse/core";
3
- import { Search, FullScreen } from "@element-plus/icons-vue";
4
- import { EditorView, basicSetup } from "codemirror";
5
- import { javascriptLanguage, javascript } from "@codemirror/lang-javascript";
6
- import { EditorState } from "@codemirror/state";
7
- import "@codemirror/autocomplete";
8
- import "@codemirror/language";
9
- import { openSearchPanel } from "@codemirror/search";
10
- const _withScopeId = (n) => (pushScopeId("data-v-24e5130d"), n = n(), popScopeId(), n);
11
- const _hoisted_1 = { style: { "height": "400px" } };
12
- const _hoisted_2 = {
13
- style: { "padding": "8px 16px", "margin": "10px 0px", "background-color": "#f4f4f5" },
14
- class: "pppp"
15
- };
16
- const _hoisted_3 = { style: { "color": "#909399", "font-size": "14px" } };
17
- const _hoisted_4 = { key: 0 };
18
- const _hoisted_5 = { key: 1 };
19
- const _hoisted_6 = { class: "editorTool" };
20
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("div", {
21
- style: {
22
- minHeight: "400px",
23
- maxHeight: "700px",
24
- backgroundColor: "#fff",
25
- color: "#333",
26
- outline: "1px dotted #212121",
27
- overflow: "auto"
28
- },
29
- id: "cf-codemirror"
30
- }, null, -1));
31
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { style: { "color": "gray" } }, " }", -1));
32
- const _sfc_main = /* @__PURE__ */ defineComponent({
33
- __name: "config",
34
- props: {
35
- eventForm: {
36
- type: Object,
37
- default: () => {
38
- return {};
39
- }
40
- }
41
- },
42
- emits: ["fullScreen"],
43
- setup(__props, { expose: __expose, emit: __emit }) {
44
- const props = __props;
45
- const emits = __emit;
46
- const fullScreenDrawer = ref(false);
47
- const editorStyle = ref({ theme: "default", fontSize: 14, searchOpen: false });
48
- const editor = ref(null);
49
- onMounted(() => {
50
- console.log("eventForm===", props.eventForm);
51
- let cacheEditorStyle = useLocalStorage("editorStyle", "").value;
52
- if (cacheEditorStyle) {
53
- cacheEditorStyle = JSON.parse(cacheEditorStyle);
54
- editorStyle.value.theme = cacheEditorStyle.theme || "default";
55
- editorStyle.value.fontSize = cacheEditorStyle.fontSize || 14;
56
- }
57
- loadEditor();
58
- });
59
- function showFullScreen() {
60
- if (fullScreenDrawer.value === true) {
61
- fullScreenDrawer.value = false;
62
- emits("fullScreen", { withHeader: true, drawerWidth: "50%" });
63
- } else {
64
- fullScreenDrawer.value = true;
65
- emits("fullScreen", { withHeader: false, drawerWidth: "100%" });
66
- }
67
- }
68
- const jsDocCompletions = javascriptLanguage.data.of({
69
- autocomplete: myCompletions
70
- });
71
- function changeEditorState() {
72
- useLocalStorage("editorStyle", editorStyle.value).value = editorStyle.value;
73
- if (editor.value) {
74
- if (editor.value) {
75
- editor.value.destroy();
76
- }
77
- loadEditor();
78
- }
79
- }
80
- function getEditorState() {
81
- const mytheme = getTheme();
82
- const baseTheme = EditorView.theme({
83
- ".cm-content, .cm-gutter": { minHeight: "400px" },
84
- "&": {
85
- fontSize: editorStyle.value.fontSize + "px"
86
- }
87
- });
88
- return EditorState.create({
89
- doc: props.eventForm.jsContent,
90
- extensions: [
91
- EditorState.tabSize.of(16),
92
- basicSetup,
93
- javascript(),
94
- jsDocCompletions,
95
- mytheme,
96
- baseTheme,
97
- EditorView.updateListener.of(function(value) {
98
- props.eventForm.jsContent = value.state.doc.toString();
99
- })
100
- ]
101
- });
102
- }
103
- function getTheme() {
104
- return EditorView.theme({});
105
- }
106
- function loadEditor() {
107
- const state = getEditorState();
108
- editor.value = new EditorView({
109
- state,
110
- parent: document.getElementById("cf-codemirror")
111
- });
112
- }
113
- function myCompletions(context) {
114
- let word = context.matchBefore(/\w*|logicContext\./);
115
- if (word) {
116
- if (word.from == word.to && !context.explicit)
117
- return null;
118
- if ((word == null ? void 0 : word.text) === "logicContext.") {
119
- return {
120
- from: word.from,
121
- options: [
122
- { label: "logicContext.page", type: "property", info: "页面变量" },
123
- { label: "logicContext.logic", type: "property", info: "页面变量" },
124
- { label: "logicContext.task", type: "property", info: "任务变量" },
125
- { label: "logicContext.context", type: "property", info: "上下文变量" },
126
- { label: "logicContext.system", type: "property", info: "系统变量" },
127
- { label: "logicContext.data", type: "property", info: "数据模型变量" }
128
- ]
129
- };
130
- } else {
131
- return {
132
- from: word.from,
133
- options: [{ label: "logicContext", type: "property" }]
134
- };
135
- }
136
- } else {
137
- return null;
138
- }
139
- }
140
- function openSearch() {
141
- if (editor.value) {
142
- editor.value.focus();
143
- let newState = openSearchPanel(editor.value);
144
- if (newState) {
145
- editor.value.update([transaction]);
146
- }
147
- }
148
- }
149
- __expose({});
150
- return (_ctx, _cache) => {
151
- const _component_el_option = resolveComponent("el-option");
152
- const _component_el_select = resolveComponent("el-select");
153
- const _component_el_tooltip = resolveComponent("el-tooltip");
154
- const _component_el_icon = resolveComponent("el-icon");
155
- return openBlock(), createElementBlock("div", _hoisted_1, [
156
- createElementVNode("div", _hoisted_2, [
157
- createElementVNode("span", _hoisted_3, [
158
- createTextVNode(" function "),
159
- __props.eventForm.name === "customFunc" ? (openBlock(), createElementBlock("span", _hoisted_4, " $page_" + toDisplayString(__props.eventForm.eventName) + "(" + toDisplayString(__props.eventForm.funcParam ? __props.eventForm.funcParam : "") + ") ", 1)) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(__props.eventForm.eventName) + "(params) ", 1)),
160
- createTextVNode("{")
161
- ]),
162
- createElementVNode("span", _hoisted_6, [
163
- createVNode(_component_el_tooltip, {
164
- class: "box-item",
165
- effect: "dark",
166
- content: "切换主题",
167
- placement: "top"
168
- }, {
169
- default: withCtx(() => [
170
- createVNode(_component_el_select, {
171
- class: "editorOption",
172
- onChange: changeEditorState,
173
- modelValue: editorStyle.value.theme,
174
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => editorStyle.value.theme = $event),
175
- placeholder: "",
176
- size: "small",
177
- style: { "width": "120px" }
178
- }, {
179
- default: withCtx(() => [
180
- createVNode(_component_el_option, {
181
- label: "默认",
182
- value: "default"
183
- }),
184
- createVNode(_component_el_option, {
185
- label: "VScodeDark",
186
- value: "vscodeDark"
187
- }),
188
- createVNode(_component_el_option, {
189
- label: "Dracula",
190
- value: "dracula"
191
- }),
192
- createVNode(_component_el_option, {
193
- label: "GithubLight",
194
- value: "githubLight"
195
- }),
196
- createVNode(_component_el_option, {
197
- label: "GithubDark",
198
- value: "githubDark"
199
- }),
200
- createVNode(_component_el_option, {
201
- label: "Eclipse",
202
- value: "eclipse"
203
- }),
204
- createVNode(_component_el_option, {
205
- label: "XcodeLight",
206
- value: "xcodeLight"
207
- }),
208
- createVNode(_component_el_option, {
209
- label: "XcodeDark",
210
- value: "xcodeDark"
211
- })
212
- ]),
213
- _: 1
214
- }, 8, ["modelValue"])
215
- ]),
216
- _: 1
217
- }),
218
- createVNode(_component_el_tooltip, {
219
- class: "box-item",
220
- effect: "dark",
221
- content: "切换字体大小",
222
- placement: "top"
223
- }, {
224
- default: withCtx(() => [
225
- createVNode(_component_el_select, {
226
- class: "editorOption",
227
- modelValue: editorStyle.value.fontSize,
228
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => editorStyle.value.fontSize = $event),
229
- placeholder: "",
230
- onChange: changeEditorState,
231
- size: "small",
232
- style: { "width": "80px" }
233
- }, {
234
- default: withCtx(() => [
235
- createVNode(_component_el_option, {
236
- label: "12",
237
- value: 12
238
- }),
239
- createVNode(_component_el_option, {
240
- label: "14",
241
- value: 14
242
- }),
243
- createVNode(_component_el_option, {
244
- label: "16",
245
- value: 16
246
- }),
247
- createVNode(_component_el_option, {
248
- label: "18",
249
- value: 18
250
- }),
251
- createVNode(_component_el_option, {
252
- label: "20",
253
- value: 20
254
- }),
255
- createVNode(_component_el_option, {
256
- label: "22",
257
- value: 22
258
- }),
259
- createVNode(_component_el_option, {
260
- label: "24",
261
- value: 24
262
- }),
263
- createVNode(_component_el_option, {
264
- label: "26",
265
- value: 26
266
- }),
267
- createVNode(_component_el_option, {
268
- label: "28",
269
- value: 28
270
- })
271
- ]),
272
- _: 1
273
- }, 8, ["modelValue"])
274
- ]),
275
- _: 1
276
- })
277
- ]),
278
- createVNode(_component_el_tooltip, {
279
- class: "box-item",
280
- effect: "dark",
281
- content: "打开搜索",
282
- placement: "top"
283
- }, {
284
- default: withCtx(() => [
285
- createVNode(_component_el_icon, {
286
- class: "editorOption",
287
- onClick: openSearch
288
- }, {
289
- default: withCtx(() => [
290
- createVNode(unref(Search))
291
- ]),
292
- _: 1
293
- })
294
- ]),
295
- _: 1
296
- }),
297
- createVNode(_component_el_tooltip, {
298
- class: "box-item",
299
- effect: "dark",
300
- content: fullScreenDrawer.value ? "退出全屏" : "全屏",
301
- placement: "top"
302
- }, {
303
- default: withCtx(() => [
304
- createVNode(_component_el_icon, {
305
- style: { "cursor": "pointer" },
306
- onClick: showFullScreen
307
- }, {
308
- default: withCtx(() => [
309
- createVNode(unref(FullScreen))
310
- ]),
311
- _: 1
312
- })
313
- ]),
314
- _: 1
315
- }, 8, ["content"])
316
- ]),
317
- _hoisted_7,
318
- _hoisted_8
319
- ]);
320
- };
321
- }
322
- });
323
- export {
324
- _sfc_main as default
325
- };
1
+
@@ -1 +1,336 @@
1
-
1
+ import { defineComponent, ref, onMounted, resolveComponent, openBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, withCtx, unref, normalizeStyle, pushScopeId, popScopeId } from "vue";
2
+ import { useLocalStorage } from "@vueuse/core";
3
+ import { Search } from "@element-plus/icons-vue";
4
+ import { EditorView, basicSetup } from "codemirror";
5
+ import { javascriptLanguage, javascript } from "@codemirror/lang-javascript";
6
+ import { EditorState } from "@codemirror/state";
7
+ import "@codemirror/autocomplete";
8
+ import "@codemirror/language";
9
+ import { openSearchPanel } from "@codemirror/search";
10
+ const _withScopeId = (n) => (pushScopeId("data-v-26f79956"), n = n(), popScopeId(), n);
11
+ const _hoisted_1 = {
12
+ style: { "padding": "8px 16px", "margin": "10px 0px", "background-color": "#f4f4f5" },
13
+ class: "pppp"
14
+ };
15
+ const _hoisted_2 = { style: { "color": "#909399", "font-size": "14px" } };
16
+ const _hoisted_3 = { key: 0 };
17
+ const _hoisted_4 = { key: 1 };
18
+ const _hoisted_5 = { class: "editorTool" };
19
+ const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { style: { "color": "gray" } }, " }", -1));
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ __name: "config",
22
+ props: {
23
+ eventForm: {
24
+ type: Object,
25
+ default: () => {
26
+ return {};
27
+ }
28
+ }
29
+ },
30
+ emits: ["fullScreen"],
31
+ setup(__props, { expose: __expose, emit: __emit }) {
32
+ const props = __props;
33
+ ref(false);
34
+ const editorStyle = ref({ theme: "default", fontSize: 14, searchOpen: false });
35
+ const editor = ref(null);
36
+ const codemirrorRef = ref(null);
37
+ const editorContentRef = ref(null);
38
+ const showStyle = ref({
39
+ backgroundColor: "#fff",
40
+ color: "#333",
41
+ border: "1px solid #ddd",
42
+ overflow: "auto"
43
+ });
44
+ onMounted(() => {
45
+ console.log("eventForm===", props.eventForm);
46
+ let cacheEditorStyle = useLocalStorage("editorStyle", "").value;
47
+ if (cacheEditorStyle) {
48
+ cacheEditorStyle = JSON.parse(cacheEditorStyle);
49
+ editorStyle.value.theme = cacheEditorStyle.theme || "default";
50
+ editorStyle.value.fontSize = cacheEditorStyle.fontSize || 14;
51
+ }
52
+ loadEditor();
53
+ });
54
+ function resize() {
55
+ if (codemirrorRef.value) {
56
+ setTimeout(() => {
57
+ const rect = codemirrorRef.value.getBoundingClientRect();
58
+ const editorHeight = window.innerHeight - rect.y - 30 + "px";
59
+ if (editor.value && editor.value.dom) {
60
+ editor.value.dom.style["height"] = editorHeight;
61
+ }
62
+ }, 10);
63
+ }
64
+ }
65
+ const jsDocCompletions = javascriptLanguage.data.of({
66
+ autocomplete: myCompletions
67
+ });
68
+ function changeEditorState() {
69
+ useLocalStorage("editorStyle", editorStyle.value).value = editorStyle.value;
70
+ if (editor.value) {
71
+ if (editor.value) {
72
+ editor.value.destroy();
73
+ }
74
+ loadEditor();
75
+ }
76
+ }
77
+ function getEditorState() {
78
+ const mytheme = getTheme();
79
+ const baseTheme = EditorView.theme({
80
+ ".cm-content, .cm-gutter": { minHeight: "400px" },
81
+ "&": {
82
+ fontSize: editorStyle.value.fontSize + "px"
83
+ }
84
+ });
85
+ return EditorState.create({
86
+ doc: props.eventForm.jsContent,
87
+ extensions: [
88
+ EditorState.tabSize.of(16),
89
+ basicSetup,
90
+ javascript(),
91
+ jsDocCompletions,
92
+ mytheme,
93
+ baseTheme,
94
+ EditorView.updateListener.of(function(value) {
95
+ console.log("update", value.state.doc.toString());
96
+ props.eventForm.jsContent = value.state.doc.toString();
97
+ })
98
+ ]
99
+ });
100
+ }
101
+ function getTheme() {
102
+ return EditorView.theme({});
103
+ }
104
+ function updateJsContent(newEvent) {
105
+ const hisValue = props.eventForm.jsContent ? props.eventForm.jsContent : "";
106
+ if (newEvent && props.eventForm) {
107
+ if (!newEvent.jsContent) {
108
+ newEvent.jsContent = "";
109
+ }
110
+ Object.assign(props.eventForm, newEvent);
111
+ editor.value.dispatch({
112
+ changes: { from: 0, to: hisValue.length, insert: props.eventForm.jsContent }
113
+ });
114
+ }
115
+ }
116
+ function loadEditor() {
117
+ const state = getEditorState();
118
+ editor.value = new EditorView({
119
+ state,
120
+ parent: document.getElementById("cf-codemirror")
121
+ });
122
+ }
123
+ function myCompletions(context) {
124
+ let word = context.matchBefore(/\w*|logicContext\./);
125
+ if (word) {
126
+ if (word.from == word.to && !context.explicit)
127
+ return null;
128
+ if ((word == null ? void 0 : word.text) === "logicContext.") {
129
+ return {
130
+ from: word.from,
131
+ options: [
132
+ { label: "logicContext.page", type: "property", info: "页面变量" },
133
+ { label: "logicContext.logic", type: "property", info: "页面变量" },
134
+ { label: "logicContext.task", type: "property", info: "任务变量" },
135
+ { label: "logicContext.context", type: "property", info: "上下文变量" },
136
+ { label: "logicContext.system", type: "property", info: "系统变量" },
137
+ { label: "logicContext.data", type: "property", info: "数据模型变量" }
138
+ ]
139
+ };
140
+ } else {
141
+ return {
142
+ from: word.from,
143
+ options: [{ label: "logicContext", type: "property" }]
144
+ };
145
+ }
146
+ } else {
147
+ return null;
148
+ }
149
+ }
150
+ function openSearch() {
151
+ if (editor.value) {
152
+ editor.value.focus();
153
+ let newState = openSearchPanel(editor.value);
154
+ if (newState) {
155
+ editor.value.update([transaction]);
156
+ }
157
+ }
158
+ }
159
+ __expose({ resize, updateJsContent });
160
+ return (_ctx, _cache) => {
161
+ const _component_el_input = resolveComponent("el-input");
162
+ const _component_el_option = resolveComponent("el-option");
163
+ const _component_el_select = resolveComponent("el-select");
164
+ const _component_el_tooltip = resolveComponent("el-tooltip");
165
+ const _component_el_icon = resolveComponent("el-icon");
166
+ return openBlock(), createElementBlock("div", {
167
+ style: { "padding-right": "20px" },
168
+ ref_key: "editorContentRef",
169
+ ref: editorContentRef
170
+ }, [
171
+ createElementVNode("div", _hoisted_1, [
172
+ createElementVNode("span", _hoisted_2, [
173
+ createTextVNode(" function "),
174
+ __props.eventForm.name === "customFunc" ? (openBlock(), createElementBlock("span", _hoisted_3, [
175
+ createTextVNode(" ( "),
176
+ createVNode(_component_el_input, {
177
+ size: "small",
178
+ modelValue: __props.eventForm.funcParam,
179
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => __props.eventForm.funcParam = $event),
180
+ style: { "width": "300px" },
181
+ title: "方法参数"
182
+ }, null, 8, ["modelValue"]),
183
+ createTextVNode(" ) ")
184
+ ])) : (openBlock(), createElementBlock("span", _hoisted_4, " ( params ) ")),
185
+ createTextVNode("{ ")
186
+ ]),
187
+ createElementVNode("span", _hoisted_5, [
188
+ createVNode(_component_el_tooltip, {
189
+ class: "box-item",
190
+ effect: "dark",
191
+ content: "切换主题",
192
+ placement: "top"
193
+ }, {
194
+ default: withCtx(() => [
195
+ createVNode(_component_el_select, {
196
+ class: "editorOption",
197
+ onChange: changeEditorState,
198
+ modelValue: editorStyle.value.theme,
199
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => editorStyle.value.theme = $event),
200
+ placeholder: "",
201
+ size: "small",
202
+ style: { "width": "120px" }
203
+ }, {
204
+ default: withCtx(() => [
205
+ createVNode(_component_el_option, {
206
+ label: "默认",
207
+ value: "default"
208
+ }),
209
+ createVNode(_component_el_option, {
210
+ label: "VScodeDark",
211
+ value: "vscodeDark"
212
+ }),
213
+ createVNode(_component_el_option, {
214
+ label: "Dracula",
215
+ value: "dracula"
216
+ }),
217
+ createVNode(_component_el_option, {
218
+ label: "GithubLight",
219
+ value: "githubLight"
220
+ }),
221
+ createVNode(_component_el_option, {
222
+ label: "GithubDark",
223
+ value: "githubDark"
224
+ }),
225
+ createVNode(_component_el_option, {
226
+ label: "Eclipse",
227
+ value: "eclipse"
228
+ }),
229
+ createVNode(_component_el_option, {
230
+ label: "XcodeLight",
231
+ value: "xcodeLight"
232
+ }),
233
+ createVNode(_component_el_option, {
234
+ label: "XcodeDark",
235
+ value: "xcodeDark"
236
+ })
237
+ ]),
238
+ _: 1
239
+ }, 8, ["modelValue"])
240
+ ]),
241
+ _: 1
242
+ }),
243
+ createVNode(_component_el_tooltip, {
244
+ class: "box-item",
245
+ effect: "dark",
246
+ content: "切换字体大小",
247
+ placement: "top"
248
+ }, {
249
+ default: withCtx(() => [
250
+ createVNode(_component_el_select, {
251
+ class: "editorOption",
252
+ modelValue: editorStyle.value.fontSize,
253
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => editorStyle.value.fontSize = $event),
254
+ placeholder: "",
255
+ onChange: changeEditorState,
256
+ size: "small",
257
+ style: { "width": "80px" }
258
+ }, {
259
+ default: withCtx(() => [
260
+ createVNode(_component_el_option, {
261
+ label: "12",
262
+ value: 12
263
+ }),
264
+ createVNode(_component_el_option, {
265
+ label: "14",
266
+ value: 14
267
+ }),
268
+ createVNode(_component_el_option, {
269
+ label: "16",
270
+ value: 16
271
+ }),
272
+ createVNode(_component_el_option, {
273
+ label: "18",
274
+ value: 18
275
+ }),
276
+ createVNode(_component_el_option, {
277
+ label: "20",
278
+ value: 20
279
+ }),
280
+ createVNode(_component_el_option, {
281
+ label: "22",
282
+ value: 22
283
+ }),
284
+ createVNode(_component_el_option, {
285
+ label: "24",
286
+ value: 24
287
+ }),
288
+ createVNode(_component_el_option, {
289
+ label: "26",
290
+ value: 26
291
+ }),
292
+ createVNode(_component_el_option, {
293
+ label: "28",
294
+ value: 28
295
+ })
296
+ ]),
297
+ _: 1
298
+ }, 8, ["modelValue"])
299
+ ]),
300
+ _: 1
301
+ })
302
+ ]),
303
+ createVNode(_component_el_tooltip, {
304
+ class: "box-item",
305
+ effect: "dark",
306
+ content: "打开搜索",
307
+ placement: "top"
308
+ }, {
309
+ default: withCtx(() => [
310
+ createVNode(_component_el_icon, {
311
+ class: "editorOption",
312
+ onClick: openSearch
313
+ }, {
314
+ default: withCtx(() => [
315
+ createVNode(unref(Search))
316
+ ]),
317
+ _: 1
318
+ })
319
+ ]),
320
+ _: 1
321
+ })
322
+ ]),
323
+ createElementVNode("div", {
324
+ style: normalizeStyle(showStyle.value),
325
+ id: "cf-codemirror",
326
+ ref_key: "codemirrorRef",
327
+ ref: codemirrorRef
328
+ }, null, 4),
329
+ _hoisted_6
330
+ ], 512);
331
+ };
332
+ }
333
+ });
334
+ export {
335
+ _sfc_main as default
336
+ };
@@ -5,14 +5,7 @@ interface MyProps {
5
5
  configureObj: any;
6
6
  editEvent: any;
7
7
  }
8
- declare function doCreateEvent(eventForm: any): void;
9
- declare function changeSelectEvent(eventForm: any): void;
10
- declare function changeSelectStandardEvent(standardEventName: string, eventLabel: string): void;
11
- declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<MyProps>, {
12
- changeSelectEvent: typeof changeSelectEvent;
13
- doCreateEvent: typeof doCreateEvent;
14
- changeSelectStandardEvent: typeof changeSelectStandardEvent;
15
- }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<MyProps>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
9
  "add-event": (...args: any[]) => void;
17
10
  "change-event": (...args: any[]) => void;
18
11
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<MyProps>>> & {