@kp-ui/lowcode 2.14.0-beta → 2.14.0-beta.10

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 (117) hide show
  1. package/install.js +26 -25
  2. package/package.json +2 -2
  3. package/src/components/FormRender/useFormRender.js +18 -0
  4. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +18 -18
  5. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +18 -20
  6. package/src/components/form-designer/form-widget/container-widget/index.js +6 -6
  7. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js +9 -9
  8. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +20 -19
  9. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js +32 -39
  10. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js +24 -31
  11. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js +26 -33
  12. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js +1 -1
  13. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +4 -1
  14. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +84 -152
  15. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js +31 -38
  16. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js +23 -30
  17. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js +56 -63
  18. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js +1 -1
  19. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js +23 -32
  20. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js +26 -33
  21. package/src/components/form-designer/index.vue.js +55 -54
  22. package/src/components/form-designer/setting-panel/form-crud-setting.vue.js +62 -23
  23. package/src/components/form-designer/setting-panel/form-setting.vue.js +2 -2
  24. package/src/components/form-designer/setting-panel/form-setting.vue2.js +81 -94
  25. package/src/components/form-designer/setting-panel/index.vue.js +4 -386
  26. package/src/components/form-designer/setting-panel/index.vue2.js +273 -0
  27. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js +5 -4
  28. package/src/components/form-designer/setting-panel/property-editor/container-data-table/customRowEvent/data-table-customRow-editor.vue.js +1 -0
  29. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-colorRow-editor.vue2.js +8 -7
  30. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js +26 -24
  31. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js +1 -0
  32. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue2.js +24 -24
  33. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +9 -8
  34. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +3 -3
  35. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +13 -12
  36. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js +7 -6
  37. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/line-height-editor.vue2.js +7 -6
  38. package/src/components/form-designer/setting-panel/property-editor/customRender-editor.vue.js +2 -40
  39. package/src/components/form-designer/setting-panel/property-editor/customRender-editor.vue2.js +41 -0
  40. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClickIcon-editor.vue.js +2 -47
  41. package/src/components/form-designer/setting-panel/property-editor/event-handler/onClickIcon-editor.vue2.js +44 -0
  42. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCreated-editor.vue.js +2 -47
  43. package/src/components/form-designer/setting-panel/property-editor/event-handler/onCreated-editor.vue2.js +43 -0
  44. package/src/components/form-designer/setting-panel/property-editor/event-handler/onOkButtonClick-editor.vue.js +2 -46
  45. package/src/components/form-designer/setting-panel/property-editor/event-handler/onOkButtonClick-editor.vue2.js +43 -0
  46. package/src/components/form-designer/setting-panel/property-editor/event-handler/onValidate-editor.vue.js +2 -47
  47. package/src/components/form-designer/setting-panel/property-editor/event-handler/onValidate-editor.vue2.js +44 -0
  48. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js +2 -66
  49. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue2.js +42 -0
  50. package/src/components/form-designer/setting-panel/property-editor/field-html-text/htmlContent-editor.vue.js +5 -4
  51. package/src/components/form-designer/setting-panel/property-editor/hidden-editor.vue.js +6 -5
  52. package/src/components/form-designer/setting-panel/property-editor/index.js +146 -153
  53. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue.js +8 -7
  54. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js +38 -35
  55. package/src/components/form-designer/setting-panel/propertyRegister.js +3 -18
  56. package/src/components/form-designer/widget-panel/advanced/cascader.js +0 -1
  57. package/src/components/form-designer/widget-panel/advanced/data-table.js +1 -1
  58. package/src/components/form-designer/widget-panel/advanced/file-upload.js +0 -1
  59. package/src/components/form-designer/widget-panel/advanced/rich-editor.js +4 -5
  60. package/src/components/form-designer/widget-panel/advanced/tree-select.js +0 -1
  61. package/src/components/form-designer/widget-panel/basicFields/checkbox.js +2 -3
  62. package/src/components/form-designer/widget-panel/basicFields/color.js +0 -1
  63. package/src/components/form-designer/widget-panel/basicFields/date.js +0 -1
  64. package/src/components/form-designer/widget-panel/basicFields/dateRange.js +0 -1
  65. package/src/components/form-designer/widget-panel/basicFields/input.js +0 -1
  66. package/src/components/form-designer/widget-panel/basicFields/number.js +0 -1
  67. package/src/components/form-designer/widget-panel/basicFields/radio.js +0 -1
  68. package/src/components/form-designer/widget-panel/basicFields/rate.js +5 -6
  69. package/src/components/form-designer/widget-panel/basicFields/select.js +2 -3
  70. package/src/components/form-designer/widget-panel/basicFields/slider.js +0 -1
  71. package/src/components/form-designer/widget-panel/basicFields/switch.js +0 -1
  72. package/src/components/form-designer/widget-panel/basicFields/textarea.js +0 -1
  73. package/src/components/form-designer/widget-panel/basicFields/time.js +0 -1
  74. package/src/components/form-designer/widget-panel/basicFields/timeRange.js +0 -1
  75. package/src/components/form-designer/widget-panel/business/department-select.js +0 -1
  76. package/src/components/form-designer/widget-panel/business/material-select.js +0 -1
  77. package/src/components/form-designer/widget-panel/business/operation-select.js +2 -3
  78. package/src/components/form-designer/widget-panel/business/post-select.js +0 -1
  79. package/src/components/form-designer/widget-panel/business/project-group-select.js +2 -3
  80. package/src/components/form-designer/widget-panel/business/project-select.js +2 -3
  81. package/src/components/form-designer/widget-panel/business/user-select.js +0 -1
  82. package/src/components/form-render/RenderWigetList.vue.js +61 -0
  83. package/src/components/form-render/RenderWigetList.vue2.js +4 -0
  84. package/src/components/form-render/SubmitButtonRender.vue.js +33 -29
  85. package/src/components/form-render/container-item/container-item-wrapper.vue.js +2 -23
  86. package/src/components/form-render/container-item/container-item-wrapper.vue2.js +20 -0
  87. package/src/components/form-render/container-item/data-table-item.vue.js +135 -0
  88. package/src/components/form-render/container-item/grid-col-item.vue.js +149 -0
  89. package/src/components/form-render/container-item/grid-item.vue.js +92 -0
  90. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +319 -0
  91. package/src/components/form-render/container-item/index.js +24 -0
  92. package/src/components/form-render/container-item/sub-form-item.vue.js +398 -0
  93. package/src/components/form-render/container-item/tab-item.vue.js +160 -0
  94. package/src/components/form-render/container-item/table-cell-item.vue.js +95 -0
  95. package/src/components/form-render/container-item/table-item.vue.js +96 -0
  96. package/src/components/form-render/container-item/vf-collapse-item.vue.js +252 -0
  97. package/src/components/form-render/container-item/vf-dialog-item.vue.js +12 -0
  98. package/src/components/form-render/container-item/vf-drawer-item.vue.js +12 -0
  99. package/src/components/form-render/dynamic-dialog.vue.js +66 -81
  100. package/src/components/form-render/index.vue.js +96 -114
  101. package/src/components/http-editor/index.vue.js +10 -10
  102. package/src/components/public/ActionButtonListRender.vue.js +19 -24
  103. package/src/hooks/useLowcode.js +40 -39
  104. package/src/lang/en-US.js +4 -4
  105. package/src/lang/zh-CN.js +3 -4
  106. package/src/mixins/useDataTableMixin.js +18 -23
  107. package/src/utils/useEmitter.js +57 -0
  108. package/src/utils/util.js +50 -49
  109. package/stats.html +1 -1
  110. package/styles/style.css +1 -1
  111. package/src/components/form-designer/setting-panel/property-editor/displayStyle-editor.vue.js +0 -46
  112. package/src/components/form-designer/setting-panel/property-editor/event-handler/onVformAdd-editor.vue.js +0 -49
  113. package/src/components/form-designer/setting-panel/property-editor/labelTooltip-editor.vue.js +0 -31
  114. package/src/components/form-designer/setting-panel/property-editor/multipleSelect-editor.vue.js +0 -30
  115. package/src/components/form-designer/setting-panel/property-editor/uploadTip-editor.vue.js +0 -31
  116. package/src/components/form-designer/setting-panel/property-editor/uploadURL-editor.vue.js +0 -44
  117. package/src/components/form-designer/setting-panel/property-editor/withCredentials-editor.vue.js +0 -30
@@ -1,390 +1,8 @@
1
- import { TpfCodeEditor as R } from "tmgc2-share";
2
- import D from "./property-editor/index.js";
3
- import K from "./form-setting.vue.js";
4
- import O from "./form-crud-setting.vue.js";
5
- import V, { propertyRegistered as j } from "./propertyRegister.js";
6
- import { addWindowResizeHandler as U } from "../../../utils/util.js";
7
- import I from "../../../utils/i18n.js";
8
- import { get as z } from "../../../utils/smart-vue-i18n/utils.js";
9
- import B from "../../../utils/emitter.js";
10
- import L from "../../code-editor/code-modal-editor.vue.js";
11
- import { resolveComponent as m, createElementBlock as c, openBlock as i, Fragment as u, createVNode as h, withCtx as s, createBlock as g, createCommentVNode as a, createElementVNode as P, normalizeStyle as w, withModifiers as W, renderList as p, resolveDynamicComponent as C } from "vue";
1
+ import t from "./index.vue2.js";
12
2
  /* empty css */
13
3
  /* empty css */
14
- import q from "../../../../_virtual/_plugin-vue_export-helper.js";
15
- const { COMMON_PROPERTIES: x, ADVANCED_PROPERTIES: G, EVENT_PROPERTIES: J } = V, Q = {
16
- name: "SettingPanel",
17
- componentName: "SettingPanel",
18
- mixins: [I, B],
19
- components: {
20
- TpfCodeEditor: R,
21
- FormSetting: K,
22
- CodeModalEditor: L,
23
- FormCrudSetting: O,
24
- ...D
25
- },
26
- props: {
27
- designer: Object,
28
- selectedWidget: Object,
29
- formConfig: Object,
30
- globalDsv: {
31
- type: Object,
32
- default: () => ({})
33
- }
34
- },
35
- provide() {
36
- return {
37
- isSubFormChildWidget: () => this.subFormChildWidgetFlag,
38
- getGlobalDsv: () => this.globalDsv
39
- // 全局数据源变量
40
- };
41
- },
42
- inject: ["getDesignerConfig"],
43
- data() {
44
- return {
45
- designerConfig: this.getDesignerConfig(),
46
- scrollerHeight: 0,
47
- activeTab: "2",
48
- widgetActiveCollapseNames: ["1", "2", "3"],
49
- formActiveCollapseNames: ["1", "2"],
50
- commonProps: x,
51
- advProps: G,
52
- eventProps: J,
53
- showWidgetEventDialogFlag: !1,
54
- eventHandlerCode: "",
55
- curEventName: "",
56
- eventHeader: "",
57
- subFormChildWidgetFlag: !1
58
- };
59
- },
60
- computed: {
61
- optionModel: {
62
- get() {
63
- return this.selectedWidget.options;
64
- },
65
- set(e) {
66
- this.selectedWidget.options = e;
67
- }
68
- }
69
- },
70
- watch: {
71
- "designer.selectedWidget": {
72
- handler(e) {
73
- e && (this.activeTab = "1");
74
- }
75
- },
76
- "selectedWidget.options": {
77
- //组件属性变动后,立即保存表单JSON!!
78
- deep: !0,
79
- handler() {
80
- this.designer.saveCurrentHistoryStep();
81
- }
82
- },
83
- formConfig: {
84
- deep: !0,
85
- handler() {
86
- this.designer.saveCurrentHistoryStep();
87
- }
88
- }
89
- },
90
- created() {
91
- this.on$("editEventHandler", (e) => {
92
- this.editEventHandler(e[0], e[1]);
93
- }), this.designer.handleEvent("form-css-updated", (e) => {
94
- this.designer.setCssClassList(e);
95
- }), this.designer.handleEvent("field-selected", (e) => {
96
- this.subFormChildWidgetFlag = !!e && e.type === "sub-form";
97
- });
98
- },
99
- mounted() {
100
- this.designer.selectedWidget ? this.activeTab = "1" : this.activeTab = "2", this.scrollerHeight = window.innerHeight - 56 - 48 + "px", U(() => {
101
- this.$nextTick(() => {
102
- this.scrollerHeight = window.innerHeight - 56 - 48 + "px";
103
- });
104
- });
105
- },
106
- methods: {
107
- getEventHandled(e) {
108
- return !!this.optionModel[e] && this.optionModel[e].length > 0;
109
- },
110
- showEventCollapse() {
111
- return this.designerConfig.eventCollapse === void 0 ? !0 : !!this.designerConfig.eventCollapse;
112
- },
113
- hasPropEditor(e, o) {
114
- if (!o)
115
- return !1;
116
- if (e.indexOf("-") <= -1) {
117
- const d = this.selectedWidget.type + "-" + e;
118
- if (j(d))
119
- return !1;
120
- }
121
- const n = e.replace(this.selectedWidget.type + "-", "");
122
- return this.designer.hasConfig(this.selectedWidget, n);
123
- },
124
- getPropEditor(e, o) {
125
- const n = e.replace(this.selectedWidget.type + "-", ""), f = `${this.selectedWidget.type}-${n}-editor`;
126
- return this.$options.components[f] || this.$root.$.appContext.components[f] ? f : o;
127
- },
128
- showCollapse(e) {
129
- let o = !1;
130
- for (const n in e)
131
- if (e.hasOwnProperty(n) && this.hasPropEditor(n, e[n])) {
132
- o = !0;
133
- break;
134
- }
135
- return o;
136
- },
137
- editEventHandler(e, o) {
138
- this.curEventName = e, this.eventHeader = `${this.optionModel.name}.${e}(${o.join(
139
- ", "
140
- )}) {`, this.eventHandlerCode = z(this.selectedWidget.options, e) || "", console.log({ eventName: e, eventHandlerCode: this.eventHandlerCode }), e === "onValidate" && !this.optionModel.onValidate && (this.eventHandlerCode = ` /* sample code */
141
- /*
142
- if ((value > 100) || (value < 0)) {
143
- return Promise.reject('error message') //fail
144
- } else {
145
- return Promise.resolve(); //pass
146
- }
147
- */`), this.$refs.CodeModalEditorRef.open(this.eventHandlerCode);
148
- },
149
- saveEventHandler(e) {
150
- if (this.curEventName.includes(".")) {
151
- const [o, n] = this.curEventName.split(".");
152
- this.selectedWidget.options[o][n] = e;
153
- } else
154
- this.selectedWidget.options[this.curEventName] = e;
155
- }
156
- }
157
- };
158
- function X(e, o, n, f, d, t) {
159
- const v = m("a-collapse-panel"), _ = m("a-collapse"), b = m("a-form"), H = m("a-empty"), E = m("a-tab-pane"), k = m("form-setting"), M = m("FormCrudSetting"), S = m("a-tabs"), T = m("a-layout"), F = m("a-config-provider"), A = m("TpfCodeEditor");
160
- return i(), c(u, null, [
161
- h(F, { componentSize: "small" }, {
162
- default: s(() => [
163
- h(T, { class: "panel-container" }, {
164
- default: s(() => [
165
- h(S, {
166
- activeKey: d.activeTab,
167
- "onUpdate:activeKey": o[6] || (o[6] = (r) => d.activeTab = r),
168
- style: { height: "100%", width: "100%", overflow: "hidden" }
169
- }, {
170
- default: s(() => [
171
- h(E, {
172
- tab: e.i18nt("designer.hint.widgetSetting"),
173
- key: "1"
174
- }, {
175
- default: s(() => [
176
- P("div", {
177
- class: "setting-scrollbar",
178
- style: w({ height: d.scrollerHeight })
179
- }, [
180
- n.designer.selectedWidget && !n.designer.selectedWidget.category ? (i(), g(b, {
181
- key: 0,
182
- model: t.optionModel,
183
- labelAlign: "left",
184
- "label-width": "120px",
185
- class: "setting-form tpf-form",
186
- onSubmit: o[2] || (o[2] = W(() => {
187
- }, ["prevent"]))
188
- }, {
189
- default: s(() => [
190
- h(_, {
191
- activeKey: d.widgetActiveCollapseNames,
192
- "onUpdate:activeKey": o[1] || (o[1] = (r) => d.widgetActiveCollapseNames = r),
193
- class: "setting-collapse"
194
- }, {
195
- default: s(() => [
196
- t.showCollapse(d.commonProps) ? (i(), g(v, {
197
- key: "1",
198
- header: e.i18nt("designer.setting.常见属性")
199
- }, {
200
- default: s(() => [
201
- (i(!0), c(u, null, p(d.commonProps, (r, l) => (i(), c(u, null, [
202
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
203
- key: l,
204
- designer: n.designer,
205
- "selected-widget": n.selectedWidget,
206
- "option-model": t.optionModel,
207
- "onUpdate:optionModel": o[0] || (o[0] = (y) => t.optionModel = y)
208
- }, null, 40, ["designer", "selected-widget", "option-model"])) : a("", !0)
209
- ], 64))), 256))
210
- ]),
211
- _: 1
212
- }, 8, ["header"])) : a("", !0),
213
- t.showCollapse(d.advProps) ? (i(), g(v, {
214
- key: "2",
215
- header: e.i18nt("designer.setting.高级属性")
216
- }, {
217
- default: s(() => [
218
- (i(!0), c(u, null, p(d.advProps, (r, l) => (i(), c(u, null, [
219
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
220
- key: l,
221
- designer: n.designer,
222
- "selected-widget": n.selectedWidget,
223
- "option-model": t.optionModel
224
- }, null, 8, ["designer", "selected-widget", "option-model"])) : a("", !0)
225
- ], 64))), 256))
226
- ]),
227
- _: 1
228
- }, 8, ["header"])) : a("", !0),
229
- t.showEventCollapse() && t.showCollapse(d.eventProps) ? (i(), g(v, {
230
- key: "3",
231
- class: "eventPanel",
232
- header: e.i18nt("designer.setting.事件属性")
233
- }, {
234
- default: s(() => [
235
- (i(!0), c(u, null, p(d.eventProps, (r, l) => (i(), c(u, null, [
236
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
237
- key: l,
238
- designer: n.designer,
239
- "selected-widget": n.selectedWidget,
240
- "option-model": t.optionModel,
241
- "event-handled": t.getEventHandled(l)
242
- }, null, 8, ["designer", "selected-widget", "option-model", "event-handled"])) : a("", !0)
243
- ], 64))), 256))
244
- ]),
245
- _: 1
246
- }, 8, ["header"])) : a("", !0)
247
- ]),
248
- _: 1
249
- }, 8, ["activeKey"])
250
- ]),
251
- _: 1
252
- }, 8, ["model"])) : a("", !0),
253
- n.designer.selectedWidget && n.designer.selectedWidget.category ? (i(), g(b, {
254
- key: 1,
255
- model: t.optionModel,
256
- labelAlign: "left",
257
- "label-width": "120px",
258
- class: "setting-form tpf-form",
259
- onSubmit: o[5] || (o[5] = W(() => {
260
- }, ["prevent"]))
261
- }, {
262
- default: s(() => [
263
- h(_, {
264
- activeKey: d.widgetActiveCollapseNames,
265
- "onUpdate:activeKey": o[4] || (o[4] = (r) => d.widgetActiveCollapseNames = r),
266
- class: "setting-collapse"
267
- }, {
268
- default: s(() => [
269
- t.showCollapse(d.commonProps) ? (i(), g(v, {
270
- key: "1",
271
- header: e.i18nt("designer.setting.常见属性")
272
- }, {
273
- default: s(() => [
274
- (i(!0), c(u, null, p(d.commonProps, (r, l) => (i(), c(u, null, [
275
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
276
- key: l,
277
- designer: n.designer,
278
- "selected-widget": n.selectedWidget,
279
- "option-model": t.optionModel,
280
- "onUpdate:optionModel": o[3] || (o[3] = (y) => t.optionModel = y)
281
- }, null, 40, ["designer", "selected-widget", "option-model"])) : a("", !0)
282
- ], 64))), 256))
283
- ]),
284
- _: 1
285
- }, 8, ["header"])) : a("", !0),
286
- t.showCollapse(d.advProps) ? (i(), g(v, {
287
- key: "2",
288
- header: e.i18nt("designer.setting.高级属性")
289
- }, {
290
- default: s(() => [
291
- (i(!0), c(u, null, p(d.advProps, (r, l) => (i(), c(u, null, [
292
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
293
- key: l,
294
- designer: n.designer,
295
- "selected-widget": n.selectedWidget,
296
- "option-model": t.optionModel
297
- }, null, 8, ["designer", "selected-widget", "option-model"])) : a("", !0)
298
- ], 64))), 256))
299
- ]),
300
- _: 1
301
- }, 8, ["header"])) : a("", !0),
302
- t.showEventCollapse() && t.showCollapse(d.eventProps) ? (i(), g(v, {
303
- key: "3",
304
- class: "eventPanel",
305
- header: e.i18nt("designer.setting.事件属性")
306
- }, {
307
- default: s(() => [
308
- (i(!0), c(u, null, p(d.eventProps, (r, l) => (i(), c(u, null, [
309
- t.hasPropEditor(l, r) ? (i(), g(C(t.getPropEditor(l, r)), {
310
- key: l,
311
- designer: n.designer,
312
- "selected-widget": n.selectedWidget,
313
- "option-model": t.optionModel,
314
- "event-handled": t.getEventHandled(l)
315
- }, null, 8, ["designer", "selected-widget", "option-model", "event-handled"])) : a("", !0)
316
- ], 64))), 256))
317
- ]),
318
- _: 1
319
- }, 8, ["header"])) : a("", !0)
320
- ]),
321
- _: 1
322
- }, 8, ["activeKey"])
323
- ]),
324
- _: 1
325
- }, 8, ["model"])) : a("", !0),
326
- n.designer.selectedWidget ? a("", !0) : (i(), g(H, {
327
- key: 2,
328
- description: e.i18nt("designer.hint.noSelectedWidgetHint")
329
- }, null, 8, ["description"]))
330
- ], 4)
331
- ]),
332
- _: 1
333
- }, 8, ["tab"]),
334
- n.designer ? (i(), g(E, {
335
- tab: e.i18nt("designer.hint.表单设置"),
336
- key: "2"
337
- }, {
338
- default: s(() => [
339
- P("div", {
340
- class: "setting-scrollbar",
341
- style: w({ height: d.scrollerHeight })
342
- }, [
343
- h(k, {
344
- designer: n.designer,
345
- "form-config": n.formConfig
346
- }, null, 8, ["designer", "form-config"])
347
- ], 4)
348
- ]),
349
- _: 1
350
- }, 8, ["tab"])) : a("", !0),
351
- h(E, {
352
- tab: e.i18nt("designer.hint.表单api配置"),
353
- key: "3"
354
- }, {
355
- default: s(() => [
356
- P("div", {
357
- class: "ds-setting-scrollbar",
358
- style: w({ height: d.scrollerHeight })
359
- }, [
360
- h(M, {
361
- designer: n.designer,
362
- "form-config": n.formConfig
363
- }, null, 8, ["designer", "form-config"])
364
- ], 4)
365
- ]),
366
- _: 1
367
- }, 8, ["tab"])
368
- ]),
369
- _: 1
370
- }, 8, ["activeKey"])
371
- ]),
372
- _: 1
373
- })
374
- ]),
375
- _: 1
376
- }),
377
- h(A, {
378
- eventHeader: d.eventHeader,
379
- ref: "CodeModalEditorRef",
380
- title: e.i18nt("designer.setting.editWidgetEventHandler"),
381
- mode: "javascript",
382
- readonly: !1,
383
- onSetCode: t.saveEventHandler
384
- }, null, 8, ["eventHeader", "title", "onSetCode"])
385
- ], 64);
386
- }
387
- const ae = /* @__PURE__ */ q(Q, [["render", X], ["__scopeId", "data-v-d315cd31"]]);
4
+ import o from "../../../../_virtual/_plugin-vue_export-helper.js";
5
+ const a = /* @__PURE__ */ o(t, [["__scopeId", "data-v-f4273f12"]]);
388
6
  export {
389
- ae as default
7
+ a as default
390
8
  };
@@ -0,0 +1,273 @@
1
+ import { defineComponent as ie, mergeModels as re, useModel as B, inject as de, ref as i, provide as I, computed as M, watchEffect as ue, watch as L, onBeforeMount as ce, resolveComponent as f, createElementBlock as T, openBlock as g, Fragment as V, createVNode as r, withCtx as d, createBlock as C, createCommentVNode as ve, unref as h, createElementVNode as K, withModifiers as pe, renderList as U, normalizeClass as fe, resolveDynamicComponent as ge } from "vue";
2
+ import $ from "./property-editor/index.js";
3
+ import { TpfCodeEditor as me } from "tmgc2-share";
4
+ import ye from "./form-setting.vue.js";
5
+ import Ee from "./form-crud-setting.vue.js";
6
+ import _e, { PROPERTY_TYPE as R } from "./propertyRegister.js";
7
+ import { get as x } from "../../../utils/smart-vue-i18n/utils.js";
8
+ import { useEmitter as be } from "../../../utils/useEmitter.js";
9
+ import { useI18n as Ce } from "../../../utils/i18n.js";
10
+ const he = { class: "setting-scrollbar" }, Pe = { class: "setting-scrollbar" }, ke = { class: "ds-setting-scrollbar" }, Ve = /* @__PURE__ */ ie({
11
+ name: "SettingPanel",
12
+ componentName: "SettingPanel",
13
+ __name: "index",
14
+ props: /* @__PURE__ */ re({
15
+ designer: { default: () => {
16
+ } },
17
+ globalDsv: {}
18
+ }, {
19
+ "form-config": {
20
+ default: () => ({})
21
+ },
22
+ "form-configModifiers": {},
23
+ "selected-widget": {
24
+ default: () => ({})
25
+ },
26
+ "selected-widgetModifiers": {}
27
+ }),
28
+ emits: ["update:form-config", "update:selected-widget"],
29
+ setup(j, { expose: z }) {
30
+ const { i18nt: u } = Ce(), { COMMON_PROPERTIES: Y, ADVANCED_PROPERTIES: G, EVENT_PROPERTIES: q } = _e, m = j, H = B(j, "form-config"), P = be(), Q = m.globalDsv || {}, X = de("getDesignerConfig"), D = i(!1);
31
+ I("isSubFormChildWidget", () => D.value), I("getGlobalDsv", () => Q);
32
+ const S = i(), W = i(""), k = i("javascript"), w = i("2"), A = i(["1", "2", "3"]), c = i(""), E = i(""), N = i(""), o = B(j, "selected-widget");
33
+ M(() => X());
34
+ const s = M({
35
+ get() {
36
+ var e;
37
+ return ((e = o.value) == null ? void 0 : e.options) || {};
38
+ },
39
+ set(e) {
40
+ o.value.options = e;
41
+ }
42
+ }), Z = (e) => !!s.value[e] && s.value[e].length > 0, F = M(
43
+ () => {
44
+ var e;
45
+ return Object.keys(((e = o.value) == null ? void 0 : e.options) || {});
46
+ }
47
+ ), O = (e) => {
48
+ const t = o.value.type;
49
+ let n = {};
50
+ return Object.entries(e).map(([l, v]) => {
51
+ for (let p = 0; p < F.value.length; p++) {
52
+ const _ = F.value[p];
53
+ if (l === _) {
54
+ const y = v, b = `${t}-${y}`;
55
+ $[b] ? n[b] = $[b] : $[y] && (n[y] = $[y]);
56
+ break;
57
+ }
58
+ }
59
+ }), n;
60
+ }, ee = M(() => {
61
+ const e = O(Y), t = O(G), n = O(q);
62
+ return console.log(e, t, n), [
63
+ {
64
+ key: "1",
65
+ headerKey: u("designer.setting.常见属性"),
66
+ props: e,
67
+ type: R.Common,
68
+ className: "",
69
+ visible: Object.keys(e).length > 0,
70
+ useVModel: !0,
71
+ isEvent: !1
72
+ },
73
+ {
74
+ key: "2",
75
+ headerKey: u("designer.setting.高级属性"),
76
+ props: t,
77
+ type: R.Advanced,
78
+ className: "",
79
+ visible: Object.keys(t).length > 0,
80
+ useVModel: !1,
81
+ isEvent: !1
82
+ },
83
+ {
84
+ key: "3",
85
+ headerKey: u("designer.setting.事件属性"),
86
+ props: n,
87
+ type: R.Event,
88
+ className: "eventPanel",
89
+ visible: Object.keys(n).length > 0,
90
+ useVModel: !1,
91
+ isEvent: !0
92
+ }
93
+ ].filter((l) => l.visible);
94
+ }), te = () => {
95
+ P.off$("onChangeEventHandler"), P.on$("onChangeEventHandler", ({ title: e, attr: t, eventParams: n = [], mode: l }) => {
96
+ W.value = e || u("designer.setting.editWidgetEventHandler");
97
+ const v = l === "json";
98
+ E.value = t, k.value = l;
99
+ const p = `${s.value.name}.${t}`;
100
+ N.value = v ? `${p}{` : `${p}(${n.join(", ")}) {`, c.value = x(o.value.options, t) || "", l === "json" && (c.value = JSON.stringify(s.value.menuList, null, " ")), t === "onValidate" && !s.value.onValidate && (c.value = ` /* sample code */
101
+ /*
102
+ if ((value > 100) || (value < 0)) {
103
+ return Promise.reject('error message') //fail
104
+ } else {
105
+ return Promise.resolve(); //pass
106
+ }
107
+ */`), S.value.open(c.value);
108
+ });
109
+ }, ne = (e, t, n = "javascript") => {
110
+ const l = n === "json";
111
+ E.value = e, k.value = n;
112
+ const v = `${s.value.name}.${e}`;
113
+ N.value = l ? `${v}{` : `${v}(${t.join(", ")}) {`, c.value = x(o.value.options, e) || "", n === "json" && (c.value = JSON.stringify(s.value.menuList, null, " ")), e === "onValidate" && !s.value.onValidate && (c.value = ` /* sample code */
114
+ /*
115
+ if ((value > 100) || (value < 0)) {
116
+ return Promise.reject('error message') //fail
117
+ } else {
118
+ return Promise.resolve(); //pass
119
+ }
120
+ */`), S.value.open(c.value);
121
+ }, oe = (e) => {
122
+ if (k.value === "json" && (e = JSON.parse(e)), E.value.includes(".")) {
123
+ const [t, n] = E.value.split(".");
124
+ o.value.options[t][n] = e;
125
+ } else
126
+ o.value.options[E.value] = e;
127
+ };
128
+ return ue(() => {
129
+ o.value && (w.value = "1");
130
+ }), L(
131
+ () => {
132
+ var e;
133
+ return (e = o.value) == null ? void 0 : e.options;
134
+ },
135
+ () => {
136
+ m.designer.saveCurrentHistoryStep();
137
+ },
138
+ { deep: !0 }
139
+ ), L(
140
+ () => m.formConfig,
141
+ () => {
142
+ m.designer.saveCurrentHistoryStep();
143
+ },
144
+ { deep: !0 }
145
+ ), ce(() => {
146
+ P.on$("editEventHandler", (e) => {
147
+ ne(e[0], e[1], e[2]);
148
+ }), te(), m.designer.handleEvent("form-css-updated", (e) => {
149
+ m.designer.setCssClassList(e);
150
+ }), m.designer.handleEvent("field-selected", (e) => {
151
+ D.value = !!e && e.type === "sub-form";
152
+ });
153
+ }), z({
154
+ emit$: P.emit$
155
+ }), (e, t) => {
156
+ const n = f("a-collapse-panel"), l = f("a-collapse"), v = f("a-form"), p = f("a-empty"), _ = f("a-tab-pane"), y = f("a-tabs"), b = f("a-layout"), se = f("a-config-provider");
157
+ return g(), T(V, null, [
158
+ r(se, { componentSize: "small" }, {
159
+ default: d(() => [
160
+ r(b, { class: "panel-container" }, {
161
+ default: d(() => [
162
+ r(y, {
163
+ activeKey: w.value,
164
+ "onUpdate:activeKey": t[4] || (t[4] = (a) => w.value = a),
165
+ style: { height: "100%", width: "100%", overflow: "hidden" }
166
+ }, {
167
+ default: d(() => [
168
+ r(_, {
169
+ tab: h(u)("designer.hint.widgetSetting"),
170
+ key: "1"
171
+ }, {
172
+ default: d(() => [
173
+ K("div", he, [
174
+ e.designer.selectedWidget ? (g(), C(v, {
175
+ key: 0,
176
+ model: s.value,
177
+ labelAlign: "left",
178
+ "label-width": "120px",
179
+ class: "setting-form tpf-form",
180
+ onSubmit: t[2] || (t[2] = pe(() => {
181
+ }, ["prevent"]))
182
+ }, {
183
+ default: d(() => [
184
+ r(l, {
185
+ activeKey: A.value,
186
+ "onUpdate:activeKey": t[1] || (t[1] = (a) => A.value = a),
187
+ class: "setting-collapse"
188
+ }, {
189
+ default: d(() => [
190
+ (g(!0), T(V, null, U(ee.value, (a) => (g(), C(n, {
191
+ key: a.key,
192
+ class: fe(a.className),
193
+ header: a.headerKey
194
+ }, {
195
+ default: d(() => [
196
+ (g(!0), T(V, null, U(a.props, (le, J) => (g(), C(ge(le), {
197
+ key: J,
198
+ designer: e.designer,
199
+ "selected-widget": o.value,
200
+ "option-model": s.value,
201
+ "onUpdate:optionModel": t[0] || (t[0] = (ae) => s.value = ae),
202
+ "event-handled": Z(J)
203
+ }, null, 40, ["designer", "selected-widget", "option-model", "event-handled"]))), 128))
204
+ ]),
205
+ _: 2
206
+ }, 1032, ["class", "header"]))), 128))
207
+ ]),
208
+ _: 1
209
+ }, 8, ["activeKey"])
210
+ ]),
211
+ _: 1
212
+ }, 8, ["model"])) : (g(), C(p, {
213
+ key: 1,
214
+ description: h(u)("designer.hint.noSelectedWidgetHint")
215
+ }, null, 8, ["description"]))
216
+ ])
217
+ ]),
218
+ _: 1
219
+ }, 8, ["tab"]),
220
+ e.designer ? (g(), C(_, {
221
+ tab: h(u)("designer.hint.表单设置"),
222
+ key: "2"
223
+ }, {
224
+ default: d(() => [
225
+ K("div", Pe, [
226
+ r(ye, {
227
+ designer: e.designer,
228
+ "form-config": H.value
229
+ }, null, 8, ["designer", "form-config"])
230
+ ])
231
+ ]),
232
+ _: 1
233
+ }, 8, ["tab"])) : ve("", !0),
234
+ r(_, {
235
+ tab: h(u)("designer.hint.表单api配置"),
236
+ key: "3"
237
+ }, {
238
+ default: d(() => [
239
+ K("div", ke, [
240
+ r(Ee, {
241
+ designer: e.designer,
242
+ "form-config": H.value,
243
+ "onUpdate:formConfig": t[3] || (t[3] = (a) => H.value = a)
244
+ }, null, 8, ["designer", "form-config"])
245
+ ])
246
+ ]),
247
+ _: 1
248
+ }, 8, ["tab"])
249
+ ]),
250
+ _: 1
251
+ }, 8, ["activeKey"])
252
+ ]),
253
+ _: 1
254
+ })
255
+ ]),
256
+ _: 1
257
+ }),
258
+ r(h(me), {
259
+ eventHeader: N.value,
260
+ ref_key: "CodeModalEditorRef",
261
+ ref: S,
262
+ title: W.value,
263
+ mode: k.value,
264
+ readonly: !1,
265
+ onSetCode: oe
266
+ }, null, 8, ["eventHeader", "title", "mode"])
267
+ ], 64);
268
+ };
269
+ }
270
+ });
271
+ export {
272
+ Ve as default
273
+ };