@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
@@ -0,0 +1,24 @@
1
+ import * as a from "./container-item-wrapper.vue.js";
2
+ import * as o from "./data-table-item.vue.js";
3
+ import * as i from "./grid-col-item.vue.js";
4
+ import * as s from "./grid-item.vue.js";
5
+ import * as f from "./grid-sub-form-item.vue.js";
6
+ import * as l from "./sub-form-item.vue.js";
7
+ import * as p from "./tab-item.vue.js";
8
+ import * as u from "./table-cell-item.vue.js";
9
+ import * as n from "./table-item.vue.js";
10
+ import * as v from "./vf-collapse-item.vue.js";
11
+ import * as d from "./vf-dialog-item.vue.js";
12
+ import * as b from "./vf-drawer-item.vue.js";
13
+ const e = /* @__PURE__ */ Object.assign({ "./container-item-wrapper.vue": a, "./data-table-item.vue": o, "./grid-col-item.vue": i, "./grid-item.vue": s, "./grid-sub-form-item.vue": f, "./sub-form-item.vue": l, "./tab-item.vue": p, "./table-cell-item.vue": u, "./table-item.vue": n, "./vf-collapse-item.vue": v, "./vf-dialog-item.vue": d, "./vf-drawer-item.vue": b }), I = {
14
+ install(m) {
15
+ for (const t in e) {
16
+ const r = e[t].default.name;
17
+ m.component(r, e[t].default);
18
+ }
19
+ }
20
+ };
21
+ export {
22
+ e as ContainerWidgetMap,
23
+ I as default
24
+ };
@@ -0,0 +1,398 @@
1
+ import M from "../../../utils/emitter.js";
2
+ import T from "../../../utils/i18n.js";
3
+ import { deepClone as I, generateId as _ } from "../../../utils/util.js";
4
+ import N from "../refMixin.js";
5
+ import E from "./container-item-wrapper.vue2.js";
6
+ import V from "./containerItemMixin.js";
7
+ import z from "../../form-designer/form-widget/field-widget/index.js";
8
+ import { SvgIcon as B } from "tmgc2-share";
9
+ import { TpfConfirm as H } from "../../../hooks/TpfConfirm.js";
10
+ import { resolveComponent as C, createBlock as D, openBlock as o, withCtx as r, withDirectives as g, createElementBlock as a, createVNode as d, createElementVNode as c, createCommentVNode as w, toDisplayString as h, createTextVNode as k, Fragment as f, renderList as y, normalizeStyle as A, normalizeClass as j, vShow as S, resolveDynamicComponent as q } from "vue";
11
+ /* empty css */
12
+ import O from "../../../../_virtual/_plugin-vue_export-helper.js";
13
+ const P = {
14
+ name: "sub-form-item",
15
+ componentName: "ContainerItem",
16
+ mixins: [M, T, N, V],
17
+ components: {
18
+ ContainerItemWrapper: E,
19
+ ...z,
20
+ SvgIcon: B
21
+ },
22
+ props: {
23
+ widget: Object
24
+ },
25
+ provide() {
26
+ return {
27
+ getSubFormFieldFlag: () => !0,
28
+ getSubFormName: () => this.widget.options.name
29
+ };
30
+ },
31
+ inject: ["refList", "sfRefList", "globalModel", "getReadMode"],
32
+ data() {
33
+ return {
34
+ rowIdData: [],
35
+ fieldSchemaData: [],
36
+ actionDisabled: !1,
37
+ insertDisabled: !1,
38
+ //是否禁止新增、插入记录
39
+ deleteDisabled: !1
40
+ //是否禁止删除记录
41
+ };
42
+ },
43
+ computed: {
44
+ isReadMode() {
45
+ return this.getReadMode();
46
+ }
47
+ },
48
+ created() {
49
+ this.initRefList(), this.registerSubFormToRefList(), this.initRowIdData(!0), this.initFieldSchemaData(), this.initEventHandler();
50
+ },
51
+ mounted() {
52
+ this.handleSubFormFirstRowAdd();
53
+ },
54
+ beforeUnmount() {
55
+ this.unregisterFromRefList();
56
+ },
57
+ methods: {
58
+ getLabelAlign(e, t) {
59
+ return t.options.labelAlign || e.options.labelAlign;
60
+ },
61
+ registerSubFormToRefList() {
62
+ this.widget.type === "sub-form" && (this.sfRefList[this.widget.options.name] = this);
63
+ },
64
+ initRowIdData(e) {
65
+ if (this.widget.type === "sub-form") {
66
+ this.rowIdData.splice(0, this.rowIdData.length);
67
+ const t = this.formModel[this.widget.options.name];
68
+ t && t.length > 0 && (t.forEach(() => {
69
+ this.rowIdData.push("id" + _());
70
+ }), e && setTimeout(() => {
71
+ this.handleSubFormRowChange(t);
72
+ }, 800));
73
+ }
74
+ },
75
+ addToRowIdData() {
76
+ this.rowIdData.push("id" + _());
77
+ },
78
+ insertToRowIdData(e) {
79
+ this.rowIdData.splice(e, 0, "id" + _());
80
+ },
81
+ deleteFromRowIdData(e) {
82
+ this.rowIdData.splice(e, 1);
83
+ },
84
+ getRowIdData() {
85
+ return this.rowIdData;
86
+ },
87
+ getWidgetRefOfSubForm(e, t) {
88
+ const i = e + "@row" + this.rowIdData[t];
89
+ return this.getWidgetRef(i);
90
+ },
91
+ initFieldSchemaData() {
92
+ if (this.widget.type !== "sub-form")
93
+ return;
94
+ const e = this.rowIdData.length;
95
+ if (this.fieldSchemaData.splice(0, this.fieldSchemaData.length), e > 0)
96
+ for (let t = 0; t < e; t++) {
97
+ const i = [];
98
+ this.widget.widgetList.forEach((p) => {
99
+ i.push(this.cloneFieldSchema(p));
100
+ }), this.fieldSchemaData.push(i);
101
+ }
102
+ },
103
+ addToFieldSchemaData(e) {
104
+ const t = [];
105
+ this.widget.widgetList.forEach((i) => {
106
+ t.push(this.cloneFieldSchema(i));
107
+ }), e === void 0 ? this.fieldSchemaData.push(t) : this.fieldSchemaData.splice(e, 0, t);
108
+ },
109
+ deleteFromFieldSchemaData(e) {
110
+ this.fieldSchemaData.splice(e, 1);
111
+ },
112
+ cloneFieldSchema(e) {
113
+ const t = I(e);
114
+ return t.id = e.type + _(), t;
115
+ },
116
+ initEventHandler() {
117
+ this.widget.type === "sub-form" && this.on$("setFormData", (e) => {
118
+ this.initRowIdData(!1), this.initFieldSchemaData();
119
+ const t = e[this.widget.options.name] || [];
120
+ setTimeout(() => {
121
+ this.handleSubFormRowChange(t);
122
+ }, 800);
123
+ });
124
+ },
125
+ handleSubFormFirstRowAdd() {
126
+ if (this.widget.type === "sub-form" && this.widget.options.showBlankRow && this.rowIdData.length === 1) {
127
+ const e = this.formModel[this.widget.options.name] || [];
128
+ this.handleSubFormRowAdd(e, this.rowIdData[0]), this.handleSubFormRowChange(e);
129
+ }
130
+ },
131
+ addSubFormRow() {
132
+ const e = {};
133
+ this.widget.widgetList.forEach((i) => {
134
+ i.formItemFlag && (e[i.options.name] = i.options.defaultValue);
135
+ });
136
+ const t = this.formModel[this.widget.options.name] || [];
137
+ t.push(e), this.addToRowIdData(), this.addToFieldSchemaData(), this.handleSubFormRowAdd(t, this.rowIdData[t.length - 1]), this.handleSubFormRowChange(t);
138
+ },
139
+ insertSubFormRow(e) {
140
+ const t = {};
141
+ this.widget.widgetList.forEach((p) => {
142
+ p.formItemFlag && (t[p.options.name] = p.options.defaultValue);
143
+ });
144
+ const i = this.formModel[this.widget.options.name] || [];
145
+ i.splice(e, 0, t), this.insertToRowIdData(e), this.addToFieldSchemaData(e), this.handleSubFormRowInsert(i, this.rowIdData[e]), this.handleSubFormRowChange(i);
146
+ },
147
+ deleteSubFormRow(e) {
148
+ H({
149
+ type: "confirm",
150
+ content: this.i18nt("render.hint.deleteSubFormRow") + "?",
151
+ title: this.i18nt("render.hint.prompt"),
152
+ okText: this.i18nt("render.hint.confirm"),
153
+ cancelText: this.i18nt("render.hint.cancel")
154
+ }).then(() => {
155
+ const t = this.formModel[this.widget.options.name] || [], i = I(t[e]);
156
+ t.splice(e, 1), this.deleteFromRowIdData(e), this.deleteFromFieldSchemaData(e), this.handleSubFormRowDelete(t, i), this.handleSubFormRowChange(t);
157
+ }).catch(() => {
158
+ });
159
+ },
160
+ handleSubFormRowChange(e) {
161
+ this.widget.options.onSubFormRowChange && new Function(
162
+ "subFormData",
163
+ this.widget.options.onSubFormRowChange
164
+ ).call(this, e);
165
+ },
166
+ handleSubFormRowAdd(e, t) {
167
+ this.widget.options.onSubFormRowAdd && new Function(
168
+ "subFormData",
169
+ "newRowId",
170
+ this.widget.options.onSubFormRowAdd
171
+ ).call(this, e, t);
172
+ },
173
+ handleSubFormRowInsert(e, t) {
174
+ this.widget.options.onSubFormRowInsert && new Function(
175
+ "subFormData",
176
+ "newRowId",
177
+ this.widget.options.onSubFormRowInsert
178
+ ).call(this, e, t);
179
+ },
180
+ handleSubFormRowDelete(e, t) {
181
+ this.widget.options.onSubFormRowDelete && new Function(
182
+ "subFormData",
183
+ "deletedDataRow",
184
+ this.widget.options.onSubFormRowDelete
185
+ ).call(this, e, t);
186
+ },
187
+ setDisabled(e) {
188
+ e ? this.disableSubForm() : this.enableSubForm();
189
+ },
190
+ /**
191
+ * 设置单行子表单是否禁止新增、插入记录
192
+ * @param flag
193
+ */
194
+ setInsertDisabled(e) {
195
+ this.insertDisabled = e;
196
+ },
197
+ /**
198
+ * 设置单行子表单是否禁止删除记录
199
+ * @param flag
200
+ */
201
+ setDeleteDisabled(e) {
202
+ this.deleteDisabled = e;
203
+ }
204
+ }
205
+ }, U = { class: "action-header-column" }, G = { class: "action-label" }, J = {
206
+ key: 0,
207
+ class: "row-no-header-column"
208
+ }, K = {
209
+ key: 0,
210
+ class: "custom-label"
211
+ }, Q = { key: 1 }, X = { class: "action-header-column" }, Y = { class: "action-label" }, Z = { class: "sub-form-action-column hide-label" }, W = { class: "action-button-column" }, x = {
212
+ key: 0,
213
+ class: "row-no-column"
214
+ }, $ = {
215
+ key: 0,
216
+ class: "row-number-span"
217
+ }, ee = { class: "sub-form-action-column hide-label" }, te = { class: "action-button-column" };
218
+ function ie(e, t, i, p, s, l) {
219
+ const m = C("svg-icon"), F = C("a-button"), v = C("a-row"), L = C("container-item-wrapper");
220
+ return o(), D(L, { widget: i.widget }, {
221
+ default: r(() => [
222
+ g((o(), a("div", {
223
+ key: i.widget.id,
224
+ class: "sub-form-container"
225
+ }, [
226
+ d(v, { class: "header-row" }, {
227
+ default: r(() => [
228
+ c("div", U, [
229
+ c("span", G, h(e.i18nt("render.hint.subFormAction")), 1),
230
+ l.isReadMode ? w("", !0) : (o(), D(F, {
231
+ key: 0,
232
+ disabled: s.actionDisabled || s.insertDisabled,
233
+ shape: "round",
234
+ type: "primary",
235
+ size: "small",
236
+ class: "action-button",
237
+ onClick: l.addSubFormRow,
238
+ title: e.i18nt("render.hint.subFormAddActionHint")
239
+ }, {
240
+ default: r(() => [
241
+ k(h(e.i18nt("render.hint.subFormAddAction")) + " ", 1),
242
+ d(m, { "icon-class": "icon-el-plus" })
243
+ ]),
244
+ _: 1
245
+ }, 8, ["disabled", "onClick", "title"]))
246
+ ]),
247
+ i.widget.options.showRowNumber ? (o(), a("div", J, [
248
+ c("span", null, h(e.i18nt("render.hint.subFormRowNo")), 1)
249
+ ])) : w("", !0),
250
+ (o(!0), a(f, null, y(i.widget.widgetList, (n) => (o(), a(f, {
251
+ key: n.id + "thc"
252
+ }, [
253
+ n.options.hidden ? w("", !0) : (o(), a("div", {
254
+ key: 0,
255
+ class: j(["field-header-column", [
256
+ l.getLabelAlign(i.widget, n),
257
+ n.options.required ? "is-required" : ""
258
+ ]]),
259
+ style: A({ width: n.options.columnWidth })
260
+ }, [
261
+ n.options.labelIconClass ? (o(), a("span", K, [
262
+ n.options.labelIconPosition === "front" ? (o(), a(f, { key: 0 }, [
263
+ d(m, {
264
+ "icon-class": n.options.labelIconClass
265
+ }, null, 8, ["icon-class"]),
266
+ k(" " + h(n.options.label), 1)
267
+ ], 64)) : n.options.labelIconPosition === "rear" ? (o(), a(f, { key: 1 }, [
268
+ k(h(n.options.label) + " ", 1),
269
+ d(m, {
270
+ "icon-class": n.options.labelIconClass
271
+ }, null, 8, ["icon-class"])
272
+ ], 64)) : w("", !0)
273
+ ])) : (o(), a("span", Q, h(n.options.label), 1))
274
+ ], 6))
275
+ ], 64))), 128)),
276
+ c("div", X, [
277
+ c("span", Y, h(e.i18nt("render.hint.subFormAction")), 1),
278
+ l.isReadMode ? w("", !0) : (o(), D(F, {
279
+ key: 0,
280
+ disabled: s.actionDisabled || s.insertDisabled,
281
+ shape: "round",
282
+ type: "primary",
283
+ size: "small",
284
+ class: "action-button",
285
+ onClick: l.addSubFormRow,
286
+ title: e.i18nt("render.hint.subFormAddActionHint")
287
+ }, {
288
+ default: r(() => [
289
+ k(h(e.i18nt("render.hint.subFormAddAction")) + " ", 1),
290
+ d(m, { "icon-class": "icon-el-plus" })
291
+ ]),
292
+ _: 1
293
+ }, 8, ["disabled", "onClick", "title"]))
294
+ ])
295
+ ]),
296
+ _: 1
297
+ }),
298
+ (o(!0), a(f, null, y(s.rowIdData, (n, u) => (o(), D(v, {
299
+ class: "sub-form-row",
300
+ key: n
301
+ }, {
302
+ default: r(() => [
303
+ c("div", Z, [
304
+ c("div", W, [
305
+ g(d(F, {
306
+ disabled: s.actionDisabled || s.insertDisabled,
307
+ shape: "circle",
308
+ onClick: (b) => l.insertSubFormRow(u),
309
+ title: e.i18nt("render.hint.insertSubFormRow")
310
+ }, {
311
+ default: r(() => [
312
+ d(m, { "icon-class": "icon-el-plus" })
313
+ ]),
314
+ _: 2
315
+ }, 1032, ["disabled", "onClick", "title"]), [
316
+ [S, !l.isReadMode]
317
+ ]),
318
+ g(d(F, {
319
+ disabled: s.actionDisabled || s.deleteDisabled,
320
+ shape: "circle",
321
+ onClick: (b) => l.deleteSubFormRow(u),
322
+ title: e.i18nt("render.hint.deleteSubFormRow")
323
+ }, {
324
+ default: r(() => [
325
+ d(m, { "icon-class": "icon-el-delete" })
326
+ ]),
327
+ _: 2
328
+ }, 1032, ["disabled", "onClick", "title"]), [
329
+ [S, !l.isReadMode]
330
+ ])
331
+ ])
332
+ ]),
333
+ i.widget.options.showRowNumber ? (o(), a("div", x, [
334
+ i.widget.options.showRowNumber ? (o(), a("span", $, "#" + h(u + 1), 1)) : w("", !0)
335
+ ])) : w("", !0),
336
+ (o(!0), a(f, null, y(i.widget.widgetList, (b, R) => (o(), a(f, {
337
+ key: s.fieldSchemaData[u][R].id
338
+ }, [
339
+ b.options.hidden ? w("", !0) : (o(), a("div", {
340
+ key: 0,
341
+ class: "sub-form-table-column hide-label",
342
+ style: A({ width: b.options.columnWidth })
343
+ }, [
344
+ (o(), D(q(b.type + "-widget"), {
345
+ field: s.fieldSchemaData[u][R],
346
+ "parent-list": i.widget.widgetList,
347
+ "index-of-parent-list": R,
348
+ "parent-widget": i.widget,
349
+ "sub-form-row-id": n,
350
+ "sub-form-row-index": u,
351
+ "sub-form-col-index": R
352
+ }, null, 8, ["field", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-id", "sub-form-row-index", "sub-form-col-index"]))
353
+ ], 4))
354
+ ], 64))), 128)),
355
+ c("div", ee, [
356
+ c("div", te, [
357
+ g(d(F, {
358
+ disabled: s.actionDisabled || s.insertDisabled,
359
+ shape: "circle",
360
+ onClick: (b) => l.insertSubFormRow(u),
361
+ title: e.i18nt("render.hint.insertSubFormRow")
362
+ }, {
363
+ default: r(() => [
364
+ d(m, { "icon-class": "icon-el-plus" })
365
+ ]),
366
+ _: 2
367
+ }, 1032, ["disabled", "onClick", "title"]), [
368
+ [S, !l.isReadMode]
369
+ ]),
370
+ g(d(F, {
371
+ disabled: s.actionDisabled || s.deleteDisabled,
372
+ shape: "circle",
373
+ onClick: (b) => l.deleteSubFormRow(u),
374
+ title: e.i18nt("render.hint.deleteSubFormRow")
375
+ }, {
376
+ default: r(() => [
377
+ d(m, { "icon-class": "icon-el-delete" })
378
+ ]),
379
+ _: 2
380
+ }, 1032, ["disabled", "onClick", "title"]), [
381
+ [S, !l.isReadMode]
382
+ ])
383
+ ])
384
+ ])
385
+ ]),
386
+ _: 2
387
+ }, 1024))), 128))
388
+ ])), [
389
+ [S, !i.widget.options.hidden]
390
+ ])
391
+ ]),
392
+ _: 1
393
+ }, 8, ["widget"]);
394
+ }
395
+ const be = /* @__PURE__ */ O(P, [["render", ie], ["__scopeId", "data-v-18c22eeb"]]);
396
+ export {
397
+ be as default
398
+ };
@@ -0,0 +1,160 @@
1
+ import F from "../../../utils/emitter.js";
2
+ import x from "../../../utils/i18n.js";
3
+ import k from "../refMixin.js";
4
+ import I from "./container-item-wrapper.vue2.js";
5
+ import R from "./containerItemMixin.js";
6
+ import L from "../../form-designer/form-widget/field-widget/index.js";
7
+ import { resolveComponent as f, createBlock as l, openBlock as o, withCtx as r, withDirectives as N, createElementBlock as m, createVNode as B, normalizeClass as M, Fragment as w, renderList as c, resolveDynamicComponent as g, createSlots as h, renderSlot as v, mergeProps as C, vShow as O } from "vue";
8
+ /* empty css */
9
+ import P from "../../../../_virtual/_plugin-vue_export-helper.js";
10
+ const S = {
11
+ name: "tab-item",
12
+ componentName: "ContainerItem",
13
+ mixins: [F, x, k, R],
14
+ components: {
15
+ ContainerItemWrapper: I,
16
+ ...L
17
+ },
18
+ props: {
19
+ widget: Object,
20
+ subFormRowIndex: {
21
+ /* 子表单组件行索引,从0开始计数 */
22
+ type: Number,
23
+ default: -1
24
+ },
25
+ subFormColIndex: {
26
+ /* 子表单组件列索引,从0开始计数 */
27
+ type: Number,
28
+ default: -1
29
+ },
30
+ subFormRowId: {
31
+ /* 子表单组件行Id,唯一id且不可变 */
32
+ type: String,
33
+ default: ""
34
+ }
35
+ },
36
+ inject: ["refList", "sfRefList", "globalModel"],
37
+ data() {
38
+ return {
39
+ activeTabName: ""
40
+ };
41
+ },
42
+ computed: {
43
+ visibleTabs() {
44
+ return this.widget.tabs.filter((e) => !e.options.hidden);
45
+ }
46
+ },
47
+ created() {
48
+ this.initRefList(), this.initActiveTab(), this.handleOnCreated();
49
+ },
50
+ mounted() {
51
+ this.handleOnMounted();
52
+ },
53
+ beforeUnmount() {
54
+ this.unregisterFromRefList();
55
+ },
56
+ methods: {
57
+ handleOnCreated() {
58
+ this.widget.options.onCreated && new Function(this.widget.options.onCreated).call(this);
59
+ },
60
+ handleOnMounted() {
61
+ this.designState || this.widget.options.onMounted && new Function(this.widget.options.onMounted).call(this);
62
+ },
63
+ changeCurrentTab(e) {
64
+ var t, u;
65
+ const i = ((u = (t = this.widget.tabs[e]) == null ? void 0 : t.options) == null ? void 0 : u.label) || "";
66
+ this.onTabClick(i), this.widget.options.activeTab = i;
67
+ },
68
+ initActiveTab() {
69
+ if (this.widget.type === "tab" && this.widget.tabs.length > 0) {
70
+ const e = this.widget.tabs.filter((i) => i.options.active === !0);
71
+ if (this.widget.options.activeTab) {
72
+ this.activeTabName = this.widget.options.activeTab;
73
+ return;
74
+ }
75
+ e.length > 0 ? this.activeTabName = e[0].options.label : this.activeTabName = this.widget.tabs[0].options.label;
76
+ }
77
+ },
78
+ onTabClick(e) {
79
+ const i = this.widget.tabs.findIndex((t) => t.options.label === e);
80
+ this.widget.options.onTabClick && new Function("tab", "index", this.widget.options.onTabClick).call(this, e, i);
81
+ }
82
+ }
83
+ };
84
+ function j(e, i, t, u, G, p) {
85
+ const _ = f("a-tab-pane"), T = f("a-tabs"), y = f("container-item-wrapper");
86
+ return o(), l(y, { widget: t.widget }, {
87
+ default: r(() => [
88
+ N((o(), m("div", {
89
+ key: t.widget.id,
90
+ class: "tab-container"
91
+ }, [
92
+ B(T, {
93
+ ref: "fieldEditor",
94
+ activeKey: t.widget.options.activeTab,
95
+ "onUpdate:activeKey": i[0] || (i[0] = (n) => t.widget.options.activeTab = n),
96
+ type: t.widget.options.type,
97
+ tabBarGutter: t.widget.options.tabBarGutter,
98
+ tabPosition: t.widget.options.tabPosition,
99
+ class: M([e.customClass]),
100
+ onTabClick: p.onTabClick
101
+ }, {
102
+ default: r(() => [
103
+ (o(!0), m(w, null, c(p.visibleTabs, (n) => (o(), l(_, {
104
+ tab: n.options.label,
105
+ disabled: n.options.disabled,
106
+ key: n.options.label
107
+ }, {
108
+ default: r(() => [
109
+ (o(!0), m(w, null, c(n.widgetList, (a, d) => (o(), m(w, null, [
110
+ a.category === "container" ? (o(), l(g(e.getComponentByContainer(a)), {
111
+ widget: a,
112
+ key: d,
113
+ "parent-list": n.widgetList,
114
+ "index-of-parent-list": d,
115
+ "parent-widget": t.widget,
116
+ "sub-form-row-id": t.subFormRowId,
117
+ "sub-form-row-index": t.subFormRowIndex,
118
+ "sub-form-col-index": t.subFormColIndex
119
+ }, h({ _: 2 }, [
120
+ c(Object.keys(e.$slots), (s) => ({
121
+ name: s,
122
+ fn: r((b) => [
123
+ v(e.$slots, s, C({ ref_for: !0 }, b), void 0, !0)
124
+ ])
125
+ }))
126
+ ]), 1032, ["widget", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-id", "sub-form-row-index", "sub-form-col-index"])) : (o(), l(g(a.type + "-widget"), {
127
+ field: a,
128
+ key: d,
129
+ "parent-list": n.widgetList,
130
+ "index-of-parent-list": d,
131
+ "parent-widget": t.widget,
132
+ "sub-form-row-id": t.subFormRowId,
133
+ "sub-form-row-index": t.subFormRowIndex,
134
+ "sub-form-col-index": t.subFormColIndex
135
+ }, h({ _: 2 }, [
136
+ c(Object.keys(e.$slots), (s) => ({
137
+ name: s,
138
+ fn: r((b) => [
139
+ v(e.$slots, s, C({ ref_for: !0 }, b), void 0, !0)
140
+ ])
141
+ }))
142
+ ]), 1032, ["field", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-id", "sub-form-row-index", "sub-form-col-index"]))
143
+ ], 64))), 256))
144
+ ]),
145
+ _: 2
146
+ }, 1032, ["tab", "disabled"]))), 128))
147
+ ]),
148
+ _: 3
149
+ }, 8, ["activeKey", "type", "tabBarGutter", "tabPosition", "class", "onTabClick"])
150
+ ])), [
151
+ [O, !t.widget.options.hidden]
152
+ ])
153
+ ]),
154
+ _: 3
155
+ }, 8, ["widget"]);
156
+ }
157
+ const J = /* @__PURE__ */ P(S, [["render", j], ["__scopeId", "data-v-7375c2f0"]]);
158
+ export {
159
+ J as default
160
+ };
@@ -0,0 +1,95 @@
1
+ import p from "../../../utils/emitter.js";
2
+ import x from "../../../utils/i18n.js";
3
+ import C from "../refMixin.js";
4
+ import y from "../../form-designer/form-widget/field-widget/index.js";
5
+ import { createElementBlock as m, openBlock as n, normalizeStyle as I, normalizeClass as _, Fragment as l, renderList as s, createBlock as a, resolveDynamicComponent as u, createSlots as f, withCtx as c, renderSlot as w, mergeProps as b } from "vue";
6
+ /* empty css */
7
+ import h from "../../../../_virtual/_plugin-vue_export-helper.js";
8
+ const F = {
9
+ name: "TableCellItem",
10
+ componentName: "ContainerItem",
11
+ mixins: [p, x, C],
12
+ components: {
13
+ ...y
14
+ },
15
+ props: {
16
+ widget: Object,
17
+ rowIndex: Number,
18
+ colIndex: Number,
19
+ subFormRowIndex: {
20
+ /* 子表单组件行索引,从0开始计数 */
21
+ type: Number,
22
+ default: -1
23
+ },
24
+ subFormColIndex: {
25
+ /* 子表单组件列索引,从0开始计数 */
26
+ type: Number,
27
+ default: -1
28
+ },
29
+ subFormRowId: {
30
+ /* 子表单组件行Id,唯一id且不可变 */
31
+ type: String,
32
+ default: ""
33
+ }
34
+ },
35
+ inject: ["refList", "globalModel"],
36
+ computed: {
37
+ customClass() {
38
+ return this.widget.options.customClass || "";
39
+ }
40
+ },
41
+ created() {
42
+ },
43
+ methods: {}
44
+ }, k = ["colspan", "rowspan"];
45
+ function R(t, L, e, N, j, g) {
46
+ return n(), m("td", {
47
+ class: _(["table-cell", [g.customClass]]),
48
+ colspan: e.widget.options.colspan || 1,
49
+ rowspan: e.widget.options.rowspan || 1,
50
+ style: I({
51
+ width: e.widget.options.cellWidth + " !important" || "",
52
+ height: e.widget.options.cellHeight + " !important" || ""
53
+ })
54
+ }, [
55
+ (n(!0), m(l, null, s(e.widget.widgetList, (o, i) => (n(), m(l, null, [
56
+ o.category === "container" ? (n(), a(u(t.getComponentByContainer(o)), {
57
+ widget: o,
58
+ key: i,
59
+ "parent-list": e.widget.widgetList,
60
+ "index-of-parent-list": i,
61
+ "parent-widget": e.widget,
62
+ "sub-form-row-id": e.subFormRowId,
63
+ "sub-form-row-index": e.subFormRowIndex,
64
+ "sub-form-col-index": e.subFormColIndex
65
+ }, f({ _: 2 }, [
66
+ s(Object.keys(t.$slots), (r) => ({
67
+ name: r,
68
+ fn: c((d) => [
69
+ w(t.$slots, r, b({ ref_for: !0 }, d), void 0, !0)
70
+ ])
71
+ }))
72
+ ]), 1032, ["widget", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-id", "sub-form-row-index", "sub-form-col-index"])) : (n(), a(u(o.type + "-widget"), {
73
+ field: o,
74
+ key: i,
75
+ "parent-list": e.widget.widgetList,
76
+ "index-of-parent-list": i,
77
+ "parent-widget": e.widget,
78
+ "sub-form-row-id": e.subFormRowId,
79
+ "sub-form-row-index": e.subFormRowIndex,
80
+ "sub-form-col-index": e.subFormColIndex
81
+ }, f({ _: 2 }, [
82
+ s(Object.keys(t.$slots), (r) => ({
83
+ name: r,
84
+ fn: c((d) => [
85
+ w(t.$slots, r, b({ ref_for: !0 }, d), void 0, !0)
86
+ ])
87
+ }))
88
+ ]), 1032, ["field", "parent-list", "index-of-parent-list", "parent-widget", "sub-form-row-id", "sub-form-row-index", "sub-form-col-index"]))
89
+ ], 64))), 256))
90
+ ], 14, k);
91
+ }
92
+ const D = /* @__PURE__ */ h(F, [["render", R], ["__scopeId", "data-v-ae7f3b63"]]);
93
+ export {
94
+ D as default
95
+ };