dynamicformdjx 0.4.1 → 0.4.3

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.
@@ -1,7 +1,7 @@
1
- import { defineComponent as j, ref as P, watch as V, toRaw as S, createVNode as o, createTextVNode as h, Fragment as F, nextTick as G, isVNode as $, computed as R, h as b, mergeProps as L, shallowReactive as M } from "vue";
2
- import { NInput as N, NButton as p, NForm as U, NGrid as B, NFormItemGridItem as H, NFormItem as _, NSelect as q, NPopselect as E, NTreeSelect as K, NRadioGroup as w, NRadio as J, NRadioButton as Q, NCheckboxGroup as W, NSpace as X, NCheckbox as Y, NSwitch as Z, NDatePicker as ee, NTimePicker as te } from "naive-ui";
3
- import { t as I, r as A, f as z, p as ne, s as le, e as re } from "../index-MF72-iEr.js";
4
- const ke = /* @__PURE__ */ j({
1
+ import { defineComponent as D, ref as j, watch as $, toRaw as A, createVNode as s, createTextVNode as S, Fragment as x, nextTick as H, isVNode as _, computed as B, h, mergeProps as q, shallowReactive as E } from "vue";
2
+ import { NInput as w, NButton as C, NForm as K, NGrid as J, NFormItemGridItem as Q, NFormItem as W, NSelect as X, NPopselect as Y, NTreeSelect as Z, NRadioGroup as L, NRadio as ee, NRadioButton as ne, NCheckboxGroup as te, NSpace as re, NCheckbox as U, NSwitch as le, NDatePicker as ae, NTimePicker as ue, NDynamicTags as oe, NSlider as se, NInputNumber as ie } from "naive-ui";
3
+ import { t as P, r as z, f as G, p as de, s as ce, e as ve } from "../index-MF72-iEr.js";
4
+ const je = /* @__PURE__ */ D({
5
5
  name: "NaiDynamicInput",
6
6
  props: {
7
7
  size: {
@@ -15,7 +15,7 @@ const ke = /* @__PURE__ */ j({
15
15
  },
16
16
  randomFun: {
17
17
  type: Function,
18
- default: (t) => `${Date.now()}_${t ?? 0}`
18
+ default: (e) => `${Date.now()}_${e ?? 0}`
19
19
  },
20
20
  btnConfigs: {
21
21
  type: Object
@@ -32,153 +32,170 @@ const ke = /* @__PURE__ */ j({
32
32
  }
33
33
  },
34
34
  emits: {
35
- "update:modelValue": (t) => !0,
35
+ "update:modelValue": (e) => !0,
36
36
  onReset: () => !0,
37
- onMerge: (t, i) => !0
37
+ onMerge: (e, a) => !0
38
38
  },
39
- setup(t, {
40
- emit: i,
41
- expose: c
39
+ slots: Object,
40
+ setup(e, {
41
+ emit: a,
42
+ expose: l,
43
+ slots: t
42
44
  }) {
43
45
  const u = {
44
46
  resetTxt: "重置",
45
47
  newTxt: "添加项",
46
48
  mergeTxt: "合并",
47
- ...t.btnConfigs
49
+ ...e.btnConfigs
48
50
  }, r = {
49
51
  hideReset: !1,
50
52
  maxHeight: "300px",
51
53
  autoScroll: !0,
52
54
  allowFilter: !0,
53
- ...t.configs
54
- }, d = {
55
+ hideArrayBtn: !1,
56
+ hideNumberBtn: !1,
57
+ ...e.configs
58
+ }, v = {
55
59
  arraySplitSymbol: ",",
56
- ...t.dyListConfigs
57
- }, y = t.size, e = P(I(t.modelValue, t.randomFun, d.arraySplitSymbol)), m = P(null);
58
- return V(e, (n) => {
59
- if (!t.isController) return;
60
- const v = A(n, d.arraySplitSymbol);
61
- i("update:modelValue", v), i("onMerge", v, S(e.value));
60
+ ...e.dyListConfigs
61
+ }, n = e.size, i = j(P(e.modelValue, e.randomFun, v.arraySplitSymbol)), b = j(null);
62
+ $(i, (c) => {
63
+ if (!e.isController) return;
64
+ const k = z(c, v.arraySplitSymbol);
65
+ a("update:modelValue", k), a("onMerge", k, A(i.value));
62
66
  }, {
63
67
  deep: !0
64
- }), c({
65
- onSet: (n) => {
66
- e.value = I(n ?? t.modelValue, t.randomFun, d.arraySplitSymbol);
68
+ }), l({
69
+ onSet: (c) => {
70
+ i.value = P(c ?? e.modelValue, e.randomFun, v.arraySplitSymbol);
67
71
  },
68
- getResult: (n = "res") => n === "ori" ? S(e.value) : A(e.value, d.arraySplitSymbol)
69
- }), () => o("div", {
70
- class: t.dyCls ?? `dynamicForm ${y}`
71
- }, [o("div", {
72
- class: `dyFormList ${e.value.length ? "" : "noList"}`,
73
- ref: m,
72
+ getResult: (c = "res") => c === "ori" ? A(i.value) : z(i.value, v.arraySplitSymbol)
73
+ });
74
+ const o = () => i.value.push({
75
+ rId: e.randomFun(),
76
+ key: "",
77
+ value: ""
78
+ }), y = () => {
79
+ i.value = P(e.modelValue, e.randomFun, v.arraySplitSymbol), a("onReset");
80
+ }, g = () => {
81
+ i.value.sort((k, f) => +k.rId - +f.rId);
82
+ const c = z(i.value, v.arraySplitSymbol);
83
+ a("update:modelValue", c), a("onMerge", c, A(i.value)), i.value = P(c, e.randomFun, v.arraySplitSymbol);
84
+ };
85
+ return () => s("div", {
86
+ class: `dynamicForm ${n} ${e.dyCls}`
87
+ }, [s("div", {
88
+ class: `dyFormList ${i.value.length ? "" : "noList"}`,
89
+ ref: b,
74
90
  style: {
75
91
  maxHeight: r.maxHeight
76
92
  }
77
- }, [e.value.map((n, v, l) => o("div", {
78
- class: "dItem",
79
- key: n.rId
80
- }, [o("div", {
81
- class: "input"
82
- }, [o(N, {
83
- size: y,
84
- value: n.key,
85
- class: "key",
86
- onInput: (a) => {
87
- n.key = a;
88
- }
89
- }, null), h(":"), o(N, {
90
- size: y,
91
- value: n.value,
92
- class: "value",
93
- onInput: (a) => {
94
- r.allowFilter && n.isNumber ? n.value = z(a, n.isArray, d.arraySplitSymbol) : n.value = a;
95
- }
96
- }, {
97
- prefix: () => o(F, null, [o(p, {
98
- type: n.isArray ? "success" : "default",
99
- size: "tiny",
100
- onClick: () => {
101
- n.isArray = !n.isArray;
93
+ }, [i.value.map((c, k, f) => {
94
+ const m = {
95
+ row: c,
96
+ index: k,
97
+ isLast: k === f.length - 1,
98
+ addItem: () => {
99
+ i.value.push({
100
+ rId: e.randomFun(),
101
+ key: "",
102
+ value: ""
103
+ }), r.autoScroll && H(() => {
104
+ const p = b.value;
105
+ p?.scrollTo({
106
+ top: p.scrollHeight,
107
+ behavior: "smooth"
108
+ });
109
+ });
110
+ },
111
+ removeItem: () => {
112
+ i.value = i.value.filter((p) => p.rId !== c.rId);
113
+ },
114
+ toggleArray: () => c.isArray = !c.isArray,
115
+ toggleNumber: () => c.isNumber = !c.isNumber
116
+ };
117
+ return s("div", {
118
+ class: "dItem",
119
+ key: c.rId
120
+ }, [s("div", {
121
+ class: "input"
122
+ }, [s(w, {
123
+ size: n,
124
+ value: c.key,
125
+ class: "key",
126
+ onInput: (p) => {
127
+ c.key = p;
102
128
  }
103
- }, {
104
- default: () => [h("Array")]
105
- }), h(" "), o(p, {
106
- type: n.isNumber ? "success" : "default",
107
- size: "tiny",
108
- onClick: () => {
109
- n.isNumber = !n.isNumber;
129
+ }, null), S(":"), s(w, {
130
+ size: n,
131
+ value: c.value,
132
+ class: "value",
133
+ onInput: (p) => {
134
+ r.allowFilter && c.isNumber ? c.value = G(p, c.isArray, v.arraySplitSymbol) : c.value = p;
110
135
  }
111
136
  }, {
112
- default: () => [h("Number")]
113
- })])
114
- })]), o("div", {
115
- class: "btn"
116
- }, [o(p, {
117
- type: "success",
118
- size: y,
119
- disabled: v !== l.length - 1,
120
- onClick: () => {
121
- e.value.push({
122
- rId: t.randomFun(),
123
- key: "",
124
- value: ""
125
- }), r.autoScroll && G(() => {
126
- const a = m.value;
127
- a?.scrollTo({
128
- top: a.scrollHeight,
129
- behavior: "smooth"
130
- });
131
- });
132
- }
133
- }, {
134
- default: () => [h("+")]
135
- }), o(p, {
136
- size: y,
137
- type: "error",
138
- onClick: () => {
139
- e.value = e.value.filter((a) => a.rId !== n.rId);
140
- }
141
- }, {
142
- default: () => [h("-")]
143
- })])]))]), o("div", {
144
- class: `control ${e.value.length ? "" : "noList"}`
145
- }, [!e.value.length && o(p, {
146
- size: y,
137
+ prefix: () => t.typeTools ? t.typeTools(m) : s(x, null, [!r.hideArrayBtn && s(C, {
138
+ type: c.isArray ? "success" : "default",
139
+ size: "tiny",
140
+ onClick: m.toggleArray
141
+ }, {
142
+ default: () => [S("Array")]
143
+ }), S(" "), !r.hideNumberBtn && s(C, {
144
+ type: c.isNumber ? "success" : "default",
145
+ size: "tiny",
146
+ onClick: m.toggleNumber
147
+ }, {
148
+ default: () => [S("Number")]
149
+ })])
150
+ })]), s("div", {
151
+ class: "btn"
152
+ }, [t.rowActions ? t.rowActions(m) : s(x, null, [s(C, {
153
+ type: "success",
154
+ size: n,
155
+ disabled: !m.isLast,
156
+ onClick: m.addItem
157
+ }, {
158
+ default: () => [S("+")]
159
+ }), s(C, {
160
+ size: n,
161
+ type: "error",
162
+ onClick: m.removeItem
163
+ }, {
164
+ default: () => [S("-")]
165
+ })])])]);
166
+ })]), s("div", {
167
+ class: `control ${i.value.length ? "" : "noList"}`
168
+ }, [!i.value.length && (t.newBtn ? t.newBtn({
169
+ newItem: o
170
+ }) : s(C, {
171
+ size: n,
147
172
  type: "success",
148
- onClick: () => {
149
- e.value.push({
150
- rId: t.randomFun(),
151
- key: "",
152
- value: ""
153
- });
154
- }
173
+ onClick: o
155
174
  }, {
156
175
  default: () => [u.newTxt]
157
- }), !t.isController && o(F, null, [!r.hideReset && o(p, {
158
- size: y,
176
+ })), !e.isController && s(x, null, [!r.hideReset && (t.resetBtn ? t.resetBtn({
177
+ reset: y
178
+ }) : s(C, {
179
+ size: n,
159
180
  type: "default",
160
- onClick: () => {
161
- e.value = I(t.modelValue, t.randomFun, d.arraySplitSymbol), i("onReset");
162
- }
181
+ onClick: y
163
182
  }, {
164
183
  default: () => [u.resetTxt]
165
- }), o(p, {
166
- size: y,
184
+ })), t.mergeBtn ? t.mergeBtn({
185
+ merge: g
186
+ }) : s(C, {
187
+ size: n,
167
188
  type: "info",
168
- onClick: () => {
169
- e.value.sort((v, l) => +v.rId - +l.rId);
170
- const n = A(e.value, d.arraySplitSymbol);
171
- i("update:modelValue", n), i("onMerge", n, S(e.value)), e.value = I(n, t.randomFun, d.arraySplitSymbol);
172
- }
189
+ onClick: g
173
190
  }, {
174
191
  default: () => [u.mergeTxt]
175
192
  })])])]);
176
193
  }
177
194
  });
178
- function ae(t) {
179
- return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !$(t);
195
+ function ye(e) {
196
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !_(e);
180
197
  }
181
- const Se = /* @__PURE__ */ j({
198
+ const Oe = /* @__PURE__ */ D({
182
199
  name: "NaiveUiDynamicCascadeInput",
183
200
  props: {
184
201
  modelValue: {
@@ -193,7 +210,7 @@ const Se = /* @__PURE__ */ j({
193
210
  },
194
211
  randomFun: {
195
212
  type: Function,
196
- default: (t) => `${Date.now()}_${t ?? 0}`
213
+ default: (e) => `${Date.now()}_${e ?? 0}`
197
214
  },
198
215
  // 子层深度 (超过则不再出现添加选项)
199
216
  depth: {
@@ -211,191 +228,212 @@ const Se = /* @__PURE__ */ j({
211
228
  },
212
229
  newChildTxt: {
213
230
  type: Function,
214
- default: (t) => `添加 '${t.key}' 子项`
231
+ default: (e) => `添加 '${e.key}' 子项`
215
232
  }
216
233
  },
217
234
  emits: {
218
- "update:modelValue": (t) => !0,
235
+ "update:modelValue": (e) => !0,
219
236
  onReset: () => !0,
220
- onMerge: (t, i) => !0
237
+ onMerge: (e, a) => !0
221
238
  },
222
- setup(t, {
223
- emit: i,
224
- expose: c
239
+ slots: Object,
240
+ setup(e, {
241
+ emit: a,
242
+ expose: l,
243
+ slots: t
225
244
  }) {
226
245
  const u = {
227
246
  resetTxt: "重置",
228
247
  newTxt: "添加项",
229
248
  mergeTxt: "合并",
230
- ...t.btnConfigs
249
+ ...e.btnConfigs
231
250
  }, r = {
232
251
  hideReset: !1,
233
252
  maxHeight: "600px",
234
253
  allowFilter: !0,
235
254
  showBorder: !0,
255
+ hideArrayBtn: !1,
256
+ hideNumberBtn: !1,
236
257
  showPad: !0,
237
258
  retractLen: 0,
238
259
  borderColors: [],
239
- ...t.configs
240
- }, d = {
260
+ ...e.configs
261
+ }, v = {
241
262
  arraySplitSymbol: ",",
242
- ...t.dyListConfigs
243
- }, y = (l) => ["string", "number"].includes(l), e = (l) => Object.keys(l).map((a, f) => {
244
- let s = l[a];
245
- const C = Array.isArray(s), T = C ? s.every((x) => typeof x == "number") : typeof s == "number", k = s === null;
246
- return y(typeof s) && (s = l[a]), k && (s = ""), {
247
- rId: t.randomFun(f),
248
- key: a,
249
- value: Object.prototype.toString.call(s) === "[object Object]" ? e(l[a]) : C ? s.join(d.arraySplitSymbol) : s,
250
- isArray: C || void 0,
251
- isNumber: T || void 0
263
+ ...e.dyListConfigs
264
+ }, n = (f) => ["string", "number"].includes(f), i = (f) => Object.keys(f).map((m, p) => {
265
+ let d = f[m];
266
+ const F = Array.isArray(d), O = F ? d.every((T) => typeof T == "number") : typeof d == "number", R = d === null;
267
+ return n(typeof d) && (d = f[m]), R && (d = ""), {
268
+ rId: e.randomFun(p),
269
+ key: m,
270
+ value: Object.prototype.toString.call(d) === "[object Object]" ? i(f[m]) : F ? d.join(v.arraySplitSymbol) : d,
271
+ isArray: F || void 0,
272
+ isNumber: O || void 0
252
273
  };
253
- }), m = (l) => l.reduce((a, f) => {
254
- const s = f.value;
255
- return f.key.trim().length && (a[f.key] = Array.isArray(s) ? m(s) : ne(f.value, f.isArray, f.isNumber, d.arraySplitSymbol)), a;
256
- }, {}), n = P(e(t.modelValue)), v = (l, a = 1, f) => o("div", {
257
- class: [`depth-${a}`, r.showBorder ? "" : "no-border", r.showPad ? "" : "no-pad"],
274
+ }), b = (f) => f.reduce((m, p) => {
275
+ const d = p.value;
276
+ return p.key.trim().length && (m[p.key] = Array.isArray(d) ? b(d) : de(p.value, p.isArray, p.isNumber, v.arraySplitSymbol)), m;
277
+ }, {}), o = j(i(e.modelValue)), y = (f, m = 1, p) => s("div", {
278
+ class: [`depth-${m}`, r.showBorder ? "" : "no-border", r.showPad ? "" : "no-pad"],
258
279
  style: {
259
- "--depth": a,
260
- ["--c" + [a]]: le(r.borderColors, a)
280
+ "--depth": m,
281
+ ["--c" + [m]]: ce(r.borderColors, m)
261
282
  }
262
- }, [l.map((s, C, T) => {
263
- const k = Array.isArray(s.value), x = y(typeof s.value);
264
- return o("div", {
283
+ }, [f.map((d, F, O) => {
284
+ const R = Array.isArray(d.value), T = n(typeof d.value), I = {
285
+ row: d,
286
+ index: F,
287
+ isLast: F === O.length - 1,
288
+ addItem: () => {
289
+ f.push({
290
+ rId: e.randomFun(),
291
+ key: "",
292
+ value: ""
293
+ });
294
+ },
295
+ addChild: () => {
296
+ T && (d.value = [], d.isArray = void 0), d.value.push({
297
+ rId: e.randomFun(),
298
+ key: "",
299
+ value: ""
300
+ });
301
+ },
302
+ removeItem: () => {
303
+ if (f.splice(F, 1), f.length < 1) {
304
+ if (p === void 0) return b([]);
305
+ const N = o.value.findIndex((M) => M.rId === p?.rId);
306
+ m < 1 ? o.value.splice(N, 1, {
307
+ ...p,
308
+ value: ""
309
+ }) : p.value = "";
310
+ }
311
+ },
312
+ toggleArray: () => d.isArray = !d.isArray,
313
+ toggleNumber: () => d.isNumber = !d.isNumber
314
+ };
315
+ return s("div", {
265
316
  class: "dItem",
266
- key: s.rId,
317
+ key: d.rId,
267
318
  style: {
268
- marginLeft: a > 1 ? `${a * r.retractLen}px` : "0"
319
+ marginLeft: m > 1 ? `${m * r.retractLen}px` : "0"
269
320
  }
270
- }, [o("div", {
321
+ }, [s("div", {
271
322
  class: "input"
272
- }, [!k && o(F, null, [o(N, {
273
- value: s.key,
323
+ }, [!R && s(x, null, [s(w, {
324
+ value: d.key,
274
325
  class: "key",
275
- onInput: (g) => s.key = g
276
- }, null), h(":")]), o(N, {
277
- class: `value ${k ? "isKey" : ""}`,
278
- value: x ? s.value : s.key,
279
- onInput: (g) => {
280
- if (k) {
281
- s.key = g;
326
+ onInput: (N) => d.key = N
327
+ }, null), S(":")]), s(w, {
328
+ class: `value ${R ? "isKey" : ""}`,
329
+ value: T ? d.value : d.key,
330
+ onInput: (N) => {
331
+ if (R) {
332
+ d.key = N;
282
333
  return;
283
334
  }
284
- r.allowFilter && s.isNumber ? s.value = z(g, s.isArray, d.arraySplitSymbol) : s.value = g;
335
+ r.allowFilter && d.isNumber ? d.value = G(N, d.isArray, v.arraySplitSymbol) : d.value = N;
285
336
  }
286
337
  }, {
287
- prefix: Array.isArray(s.value) ? void 0 : () => o(F, null, [o(p, {
288
- type: s.isArray ? "success" : "default",
338
+ prefix: Array.isArray(d.value) ? void 0 : () => t.typeTools ? t.typeTools(I) : s(x, null, [!r.hideArrayBtn && s(C, {
339
+ type: d.isArray ? "success" : "default",
289
340
  size: "tiny",
290
- onClick: () => {
291
- s.isArray = !s.isArray;
292
- }
341
+ onClick: I.toggleArray
293
342
  }, {
294
- default: () => [h("Array")]
295
- }), h(" "), o(p, {
296
- type: s.isNumber ? "success" : "default",
343
+ default: () => [S("Array")]
344
+ }), S(" "), !r.hideNumberBtn && s(C, {
345
+ type: d.isNumber ? "success" : "default",
297
346
  size: "tiny",
298
- onClick: () => {
299
- s.isNumber = !s.isNumber;
300
- }
347
+ onClick: I.toggleNumber
301
348
  }, {
302
- default: () => [h("Number")]
349
+ default: () => [S("Number")]
303
350
  })]),
304
351
  suffix: () => {
305
- let g;
306
- return a < t.depth ? !k && o(p, {
352
+ let N;
353
+ return m < e.depth ? !R && (t.newChild ? t.newChild(I) : s(C, {
307
354
  type: "success",
308
355
  size: "tiny",
309
356
  onClick: () => {
310
- x && (s.value = [], s.isArray = void 0), s.value.push({
311
- rId: t.randomFun(),
357
+ T && (d.value = [], d.isArray = void 0), d.value.push({
358
+ rId: e.randomFun(),
312
359
  key: "",
313
360
  value: ""
314
361
  });
315
362
  }
316
- }, ae(g = t.newChildTxt(s)) ? g : {
317
- default: () => [g]
318
- }) : null;
363
+ }, ye(N = e.newChildTxt(d)) ? N : {
364
+ default: () => [N]
365
+ })) : null;
319
366
  }
320
- })]), o("div", {
367
+ })]), s("div", {
321
368
  class: "btn"
322
- }, [o(p, {
369
+ }, [t.rowActions ? t.rowActions(I) : s(x, null, [s(C, {
323
370
  type: "success",
324
- disabled: C !== T.length - 1,
325
- onClick: () => {
326
- l.push({
327
- rId: t.randomFun(),
328
- key: "",
329
- value: ""
330
- });
331
- }
371
+ disabled: !I.isLast,
372
+ onClick: I.addItem
332
373
  }, {
333
- default: () => [h("+")]
334
- }), o(p, {
374
+ default: () => [S("+")]
375
+ }), s(C, {
335
376
  type: "error",
336
- onClick: () => {
337
- if (l.splice(C, 1), l.length < 1) {
338
- if (f === void 0) return m([]);
339
- const g = n.value.findIndex((D) => D.rId === f?.rId);
340
- a < 1 ? n.value.splice(g, 1, {
341
- ...f,
342
- value: ""
343
- }) : f.value = "";
344
- }
345
- }
377
+ onClick: I.removeItem
346
378
  }, {
347
- default: () => [h("-")]
348
- })]), Array.isArray(s.value) && v(s.value, a + 1, s)]);
379
+ default: () => [S("-")]
380
+ })])]), Array.isArray(d.value) && y(d.value, m + 1, d)]);
349
381
  })]);
350
- return V(n, (l) => {
351
- if (!t.isController) return;
352
- const a = m(l);
353
- i("update:modelValue", a), i("onMerge", a, S(n.value));
382
+ $(o, (f) => {
383
+ if (!e.isController) return;
384
+ const m = b(f);
385
+ a("update:modelValue", m), a("onMerge", m, A(o.value));
354
386
  }, {
355
387
  deep: !0
356
- }), c({
357
- onSet: (l) => {
358
- n.value = e(l ?? t.modelValue);
388
+ }), l({
389
+ onSet: (f) => {
390
+ o.value = i(f ?? e.modelValue);
359
391
  },
360
- getResult: (l = "res") => l === "ori" ? S(n.value) : m(n.value)
361
- }), () => o("div", {
362
- class: t.dyCls ?? "dynamicCascadeForm"
363
- }, [o("div", {
364
- class: "dyFormList",
392
+ getResult: (f = "res") => f === "ori" ? A(o.value) : b(o.value)
393
+ });
394
+ const g = () => o.value.push({
395
+ rId: e.randomFun(),
396
+ key: "",
397
+ value: ""
398
+ }), c = () => {
399
+ o.value = i(e.modelValue), a("onReset");
400
+ }, k = () => {
401
+ const f = b(o.value);
402
+ a("update:modelValue", f), a("onMerge", f, A(o.value)), o.value = i(f);
403
+ };
404
+ return () => s("div", {
405
+ class: `dynamicCascadeForm ${e.dyCls}`
406
+ }, [s("div", {
407
+ class: `dyFormList ${o.value.length ? "" : "noObj"}`,
365
408
  style: {
366
409
  maxHeight: r.maxHeight
367
410
  }
368
- }, [v(n.value)]), o("div", {
369
- class: "control"
370
- }, [!n.value.length && o(p, {
411
+ }, [y(o.value)]), s("div", {
412
+ class: `control ${o.value.length ? "" : "noObj"}`
413
+ }, [!o.value.length && (t.newBtn ? t.newBtn({
414
+ newItem: g
415
+ }) : s(C, {
371
416
  type: "success",
372
- onClick: () => {
373
- n.value.push({
374
- rId: t.randomFun(),
375
- key: "",
376
- value: ""
377
- });
378
- }
417
+ onClick: g
379
418
  }, {
380
419
  default: () => [u.newTxt]
381
- }), !t.isController && o(F, null, [!r.hideReset && o(p, {
420
+ })), !e.isController && s(x, null, [!r.hideReset && (t.resetBtn ? t.resetBtn({
421
+ reset: c
422
+ }) : s(C, {
382
423
  type: "default",
383
- onClick: () => {
384
- n.value = e(t.modelValue), i("onReset");
385
- }
424
+ onClick: c
386
425
  }, {
387
426
  default: () => [u.resetTxt]
388
- }), o(p, {
427
+ })), t.mergeBtn ? t.mergeBtn({
428
+ merge: k
429
+ }) : s(C, {
389
430
  type: "info",
390
- onClick: () => {
391
- const l = m(n.value);
392
- i("update:modelValue", l), i("onMerge", l, S(n.value)), n.value = e(l);
393
- }
431
+ onClick: k
394
432
  }, {
395
433
  default: () => [u.mergeTxt]
396
434
  })])])]);
397
435
  }
398
- }), Fe = /* @__PURE__ */ j({
436
+ }), ze = /* @__PURE__ */ D({
399
437
  name: "NaiDynamicForm",
400
438
  props: {
401
439
  formConfig: {
@@ -419,7 +457,7 @@ const Se = /* @__PURE__ */ j({
419
457
  preset: {
420
458
  type: String,
421
459
  default: "fullRow",
422
- validator: (t) => ["fullRow", "grid"].includes(t) ? !0 : (console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"), !1)
460
+ validator: (e) => ["fullRow", "grid"].includes(e) ? !0 : (console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"), !1)
423
461
  },
424
462
  items: {
425
463
  type: Array,
@@ -427,221 +465,221 @@ const Se = /* @__PURE__ */ j({
427
465
  }
428
466
  },
429
467
  slots: Object,
430
- setup(t, {
431
- expose: i,
432
- slots: c
468
+ setup(e, {
469
+ expose: a,
470
+ slots: l
433
471
  }) {
434
- const u = P(null), r = R(() => (t.items ?? []).filter((v) => !v.hidden)), d = R(() => r.value ? r.value.reduce((v, l) => (v[l.key] = l.value.value, v), {}) : {}), y = R(() => ({
435
- ...r.value?.reduce((l, a) => {
436
- let f = a.rule;
437
- return a.required && !a.rule && (f = {
472
+ const t = j(null), u = B(() => (e.items ?? []).filter((o) => !o.hidden)), r = B(() => u.value ? u.value.reduce((o, y) => (o[y.key] = y.value.value, o), {}) : {}), v = B(() => ({
473
+ ...u.value?.reduce((y, g) => {
474
+ let c = g.rule;
475
+ return g.required && !g.rule && (c = {
438
476
  required: !0,
439
- message: a.requiredHint?.(a.label) ?? `${a.label}不能为空`,
477
+ message: g.requiredHint?.(g?.label ?? "") ?? `${g.label}不能为空`,
440
478
  trigger: ["blur"]
441
- }), l[a.key] = f, l;
479
+ }), y[g.key] = c, y;
442
480
  }, {}),
443
- ...t.rules
444
- })), e = R(() => [...r.value].sort((l, a) => {
445
- const f = l.sort ?? 1 / 0, s = a.sort ?? 1 / 0;
446
- return Number(f) - Number(s);
481
+ ...e.rules
482
+ })), n = B(() => [...u.value].sort((y, g) => {
483
+ const c = y.sort ?? 1 / 0, k = g.sort ?? 1 / 0;
484
+ return Number(c) - Number(k);
447
485
  }));
448
- function m(v = null) {
449
- r.value && r.value.forEach((l) => {
450
- l.value.value = v;
486
+ function i(o = null) {
487
+ u.value && u.value.forEach((y) => {
488
+ y.value.value = o;
451
489
  });
452
490
  }
453
- function n() {
454
- return new Promise((v, l) => {
455
- u.value?.validate((a) => {
456
- a ? l(a) : v(d.value);
491
+ function b() {
492
+ return new Promise((o, y) => {
493
+ t.value?.validate((g) => {
494
+ g ? y(g) : o(r.value);
457
495
  });
458
496
  });
459
497
  }
460
- if (i({
461
- reset: m,
462
- validator: n,
463
- getResult: (v = "res") => v === "ori" ? r.value : d.value
464
- }), !t.items) throw new Error("prop items must be not null");
465
- return () => o("div", {
498
+ if (a({
499
+ reset: i,
500
+ validator: b,
501
+ getResult: (o = "res") => o === "ori" ? u.value : r.value
502
+ }), !e.items) throw new Error("prop items must be not null");
503
+ return () => s("div", {
466
504
  class: "naiDynamicForm"
467
- }, [c.header && o("div", {
505
+ }, [l.header && s("div", {
468
506
  class: "header"
469
- }, [c.header?.()]), o(U, L({
470
- ref: u
471
- }, t.formConfig, {
472
- model: d.value,
473
- rules: y.value
507
+ }, [l.header?.()]), s(K, q({
508
+ ref: t
509
+ }, e.formConfig, {
510
+ model: r.value,
511
+ rules: v.value
474
512
  }), {
475
513
  default() {
476
- const v = e.value;
477
- return t.preset === "grid" ? b(B, {
478
- ...t.gridConfig
514
+ const o = n.value;
515
+ return e.preset === "grid" ? h(J, {
516
+ ...e.gridConfig
479
517
  }, {
480
- default: () => v?.map((l) => b(H, {
481
- label: l.label,
482
- path: l.path || l.key,
483
- span: l.span ?? 24,
484
- offset: l.offset ?? 0
518
+ default: () => o?.map((y) => h(Q, {
519
+ label: y.label,
520
+ path: y.path || y.key,
521
+ span: y.span ?? 24,
522
+ offset: y.offset ?? 0
485
523
  }, {
486
- default: O(l)
524
+ default: V(y)
487
525
  }))
488
- }) : v?.map((l) => b(_, {
489
- label: l.label,
490
- path: l.path || l.key
526
+ }) : o?.map((y) => h(W, {
527
+ label: y.label,
528
+ path: y.path || y.key
491
529
  }, {
492
- default: O(l)
530
+ default: V(y)
493
531
  }));
494
532
  }
495
- }), c.footer && b("div", {
533
+ }), l.footer && h("div", {
496
534
  class: "footer"
497
- }, c.footer?.())]);
535
+ }, l.footer?.())]);
498
536
  }
499
537
  });
500
- function O(t) {
538
+ function V(e) {
501
539
  return function() {
502
- return t.render2 ? t.render2(t) : null;
540
+ return e.render2 ? e.render2(e) : null;
503
541
  };
504
542
  }
505
- function ue(t, i = {}, c) {
506
- const { onChange: u, ...r } = c;
507
- return b(N, {
508
- ...r,
509
- value: t.value,
510
- onUpdateValue: (d) => {
511
- t.value = d, c?.onChange?.(d, c);
543
+ function me(e, a = {}, l) {
544
+ const { onChange: t, ...u } = l ?? {};
545
+ return h(w, {
546
+ ...u,
547
+ value: e.value,
548
+ onUpdateValue: (r) => {
549
+ e.value = r, l?.onChange?.(r, l);
512
550
  },
513
- ...i
551
+ ...a
514
552
  });
515
553
  }
516
- function oe(t, i, c = {}, u) {
517
- const { onChange: r, ...d } = u;
518
- return b(q, {
519
- ...d,
520
- value: t.value,
521
- options: i,
522
- onUpdateValue: (y) => {
523
- t.value = y, u?.onChange?.(y, u, i);
524
- },
525
- ...c
554
+ function fe(e, a, l = {}, t) {
555
+ const { onChange: u, ...r } = t ?? {};
556
+ return h(X, {
557
+ ...r,
558
+ value: e.value,
559
+ options: a,
560
+ onUpdateValue: (v) => {
561
+ e.value = v, t?.onChange?.(v, t, a);
562
+ },
563
+ ...l
526
564
  });
527
565
  }
528
- function se(t, i, c = {}, u, r) {
529
- const { value: d, labelField: y, valueField: e, onChange: m, ...n } = u, v = y ?? "label", l = e ?? "value", a = n.options ?? i;
530
- return o(
531
- E,
566
+ function pe(e, a, l = {}, t, u) {
567
+ const { value: r, labelField: v, valueField: n, onChange: i, ...b } = t ?? {}, o = v ?? "label", y = n ?? "value", g = b.options ?? a;
568
+ return s(
569
+ Y,
532
570
  {
533
- ...n,
534
- value: t.value,
535
- onUpdateValue: (f) => {
536
- t.value = f, u?.onChange?.(f, u, a);
571
+ ...b,
572
+ value: e.value,
573
+ onUpdateValue: (c) => {
574
+ e.value = c, t?.onChange?.(c, t, g);
537
575
  },
538
- options: a.map((f) => ({ ...f, label: f[v], value: f[l] })),
539
- ...c
576
+ options: g.map((c) => ({ ...c, label: c[o], value: c[y] })),
577
+ ...l
540
578
  },
541
579
  {
542
- default: () => r ?? o(p, null, {
543
- default: () => t.value || "请选择"
580
+ default: () => u ?? s(C, null, {
581
+ default: () => e.value || "请选择"
544
582
  })
545
583
  }
546
584
  );
547
585
  }
548
- function ie(t, i, c = {}, u) {
549
- const { valueField: r = "value", onChange: d, ...y } = u;
550
- return b(K, {
551
- ...y,
552
- value: t.value,
553
- options: i,
554
- onUpdateValue: (e) => {
555
- t.value = e, u?.onChange?.(e, u, i);
556
- },
557
- keyField: r,
558
- ...c
586
+ function be(e, a, l = {}, t) {
587
+ const { valueField: u = "value", onChange: r, ...v } = t ?? {};
588
+ return h(Z, {
589
+ ...v,
590
+ value: e.value,
591
+ options: a,
592
+ onUpdateValue: (n) => {
593
+ e.value = n, t?.onChange?.(n, t, a);
594
+ },
595
+ keyField: u,
596
+ ...l
559
597
  });
560
598
  }
561
- function de(t, i, c = {}, u) {
562
- const { onChange: r, ...d } = u;
563
- return b(
564
- w,
599
+ function ge(e, a, l = {}, t) {
600
+ const { onChange: u, ...r } = t ?? {};
601
+ return h(
602
+ L,
565
603
  {
566
- ...d,
567
- value: t.value,
568
- onUpdateValue: (y) => {
569
- t.value = y, u?.onChange?.(y, u, i);
604
+ ...r,
605
+ value: e.value,
606
+ onUpdateValue: (v) => {
607
+ e.value = v, t?.onChange?.(v, t, a);
570
608
  },
571
- ...c
609
+ ...l
572
610
  },
573
611
  {
574
- default: () => (u?.options ?? i).map((e) => {
575
- const m = u, n = e[m?.labelField ?? "label"], v = e[m?.valueField ?? "value"];
576
- return b(
577
- J,
612
+ default: () => (t?.options ?? a).map((n) => {
613
+ const i = t, b = n[i?.labelField ?? "label"], o = n[i?.valueField ?? "value"];
614
+ return h(
615
+ ee,
578
616
  {
579
- ...e,
580
- label: n,
581
- value: v
617
+ ...n,
618
+ label: b,
619
+ value: o
582
620
  },
583
621
  {
584
- default: () => e.label
622
+ default: () => n.label
585
623
  }
586
624
  );
587
625
  })
588
626
  }
589
627
  );
590
628
  }
591
- function ce(t, i, c = {}, u) {
592
- const { onChange: r, ...d } = u;
593
- return o(
594
- w,
629
+ function he(e, a, l = {}, t) {
630
+ const { onChange: u, ...r } = t ?? {};
631
+ return s(
632
+ L,
595
633
  {
596
- ...d,
597
- value: t.value,
598
- onUpdateValue: (y) => {
599
- t.value = y, u?.onChange?.(y, u, i);
634
+ ...r,
635
+ value: e.value,
636
+ onUpdateValue: (v) => {
637
+ e.value = v, t?.onChange?.(v, t, a);
600
638
  },
601
- ...c
639
+ ...l
602
640
  },
603
641
  {
604
- default: () => (u?.options ?? i).map((e) => {
605
- const m = u, n = e[m?.labelField ?? "label"], v = e[m?.valueField ?? "value"];
606
- return o(
607
- Q,
642
+ default: () => (t?.options ?? a).map((n) => {
643
+ const i = t, b = n[i?.labelField ?? "label"], o = n[i?.valueField ?? "value"];
644
+ return s(
645
+ ne,
608
646
  {
609
- ...e,
610
- label: n,
611
- value: v
647
+ ...n,
648
+ label: b,
649
+ value: o
612
650
  },
613
651
  {
614
- default: () => e.label
652
+ default: () => n.label
615
653
  }
616
654
  );
617
655
  })
618
656
  }
619
657
  );
620
658
  }
621
- function ve(t, i, c = {}, u) {
622
- const { onChange: r, ...d } = u;
623
- return b(
624
- W,
659
+ function Ce(e, a, l = {}, t) {
660
+ const { onChange: u, ...r } = t ?? {};
661
+ return h(
662
+ te,
625
663
  {
626
- ...d,
627
- value: t.value,
628
- onUpdateValue: (y) => {
629
- t.value = y, u?.onChange?.(y, u, i);
664
+ ...r,
665
+ value: e.value,
666
+ onUpdateValue: (v) => {
667
+ e.value = v, t?.onChange?.(v, t, a);
630
668
  },
631
- ...c
669
+ ...l
632
670
  },
633
671
  {
634
- default: () => b(
635
- X,
672
+ default: () => h(
673
+ re,
636
674
  {
637
675
  itemStyle: "display: flex"
638
676
  },
639
677
  {
640
- default: () => (u?.options ?? i).map((e) => {
641
- const m = u, n = e[m?.labelField ?? "label"], v = e[m?.valueField ?? "value"];
642
- return b(Y, {
643
- value: v,
644
- label: n
678
+ default: () => (t?.options ?? a).map((n) => {
679
+ const i = t, b = n[i?.labelField ?? "label"], o = n[i?.valueField ?? "value"];
680
+ return h(U, {
681
+ value: o,
682
+ label: b
645
683
  });
646
684
  })
647
685
  }
@@ -649,92 +687,150 @@ function ve(t, i, c = {}, u) {
649
687
  }
650
688
  );
651
689
  }
652
- function ye(t, i = {}, c) {
653
- const { onChange: u, ...r } = c;
654
- return b(Z, {
655
- ...r,
656
- value: t.value,
657
- onUpdateValue: (d) => {
658
- t.value = d, c?.onChange?.(d, c);
690
+ function ke(e, a = {}, l) {
691
+ const { onChange: t, ...u } = l ?? {};
692
+ return h(le, {
693
+ ...u,
694
+ value: e.value,
695
+ onUpdateValue: (r) => {
696
+ e.value = r, l?.onChange?.(r, l);
659
697
  },
660
- ...i
698
+ ...a
661
699
  });
662
700
  }
663
- function me(t, i = {}, c) {
664
- const { onChange: u, ...r } = c;
665
- return b(ee, {
666
- ...r,
667
- value: t.value,
668
- onUpdateValue: (d) => {
669
- t.value = d, c?.onChange?.(d, c);
701
+ function Ne(e, a = {}, l) {
702
+ const { onChange: t, ...u } = l ?? {};
703
+ return h(ae, {
704
+ ...u,
705
+ value: e.value,
706
+ onUpdateValue: (r) => {
707
+ e.value = r, l?.onChange?.(r, l);
670
708
  },
671
- ...i
709
+ ...a
672
710
  });
673
711
  }
674
- function fe(t, i = {}, c) {
675
- const { onChange: u, ...r } = c;
676
- return b(te, {
677
- ...r,
678
- value: t.value,
679
- onUpdateValue: (d) => {
680
- t.value = d, c?.onChange?.(d, c);
712
+ function Se(e, a = {}, l) {
713
+ const { onChange: t, ...u } = l ?? {};
714
+ return h(ue, {
715
+ ...u,
716
+ value: e.value,
717
+ onUpdateValue: (r) => {
718
+ e.value = r, l?.onChange?.(r, l);
719
+ },
720
+ ...a
721
+ });
722
+ }
723
+ function Ie(e, a = {}, l) {
724
+ const { onChange: t, ...u } = l ?? {};
725
+ return h(
726
+ U,
727
+ {
728
+ ...u,
729
+ checked: e.value,
730
+ onUpdateChecked: (r) => {
731
+ e.value = r, l?.onChange?.(r, l);
732
+ },
733
+ ...a
734
+ },
735
+ {
736
+ default: () => a?.label ?? l?.label
737
+ }
738
+ );
739
+ }
740
+ function Fe(e, a = {}, l) {
741
+ const { onChange: t, ...u } = l ?? {};
742
+ return h(oe, {
743
+ ...u,
744
+ value: e.value,
745
+ onUpdateValue: (r) => {
746
+ e.value = r, l?.onChange?.(r, l);
747
+ },
748
+ ...a
749
+ });
750
+ }
751
+ function xe(e, a = {}, l) {
752
+ const { onChange: t, ...u } = l ?? {};
753
+ return h(se, {
754
+ ...u,
755
+ value: e.value,
756
+ onUpdateValue: (r) => {
757
+ e.value = r, l?.onChange?.(r, l);
758
+ },
759
+ ...a
760
+ });
761
+ }
762
+ function Re(e, a = {}, l) {
763
+ const { onChange: t, ...u } = l ?? {};
764
+ return h(ie, {
765
+ ...u,
766
+ value: e.value,
767
+ onUpdateValue: (r) => {
768
+ e.value = r, l?.onChange?.(r, l);
681
769
  },
682
- ...i
770
+ ...a
683
771
  });
684
772
  }
685
- const pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
773
+ const Ae = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
686
774
  __proto__: null,
687
- renderCheckboxGroup: ve,
688
- renderDatePicker: me,
689
- renderInput: ue,
690
- renderPopSelect: se,
691
- renderRadioButtonGroup: ce,
692
- renderRadioGroup: de,
693
- renderSelect: oe,
694
- renderSwitch: ye,
695
- renderTimePicker: fe,
696
- renderTreeSelect: ie
775
+ renderCheckbox: Ie,
776
+ renderCheckboxGroup: Ce,
777
+ renderDatePicker: Ne,
778
+ renderDynamicTags: Fe,
779
+ renderInput: me,
780
+ renderInputNumber: Re,
781
+ renderPopSelect: pe,
782
+ renderRadioButtonGroup: he,
783
+ renderRadioGroup: ge,
784
+ renderSelect: fe,
785
+ renderSlider: xe,
786
+ renderSwitch: ke,
787
+ renderTimePicker: Se,
788
+ renderTreeSelect: be
697
789
  }, Symbol.toStringTag, { value: "Module" }));
698
- function be(t) {
699
- return function(c, u = !0) {
700
- const r = t, d = {
701
- renderInput: (e) => r.renderInput(e.value, e.renderProps ?? {}, e),
702
- renderSelect: (e) => r.renderSelect(e.value, e.options ?? [], e.renderProps ?? {}, e),
703
- renderPopSelect: (e) => r.renderPopSelect(e.value, e.options ?? [], e.renderProps ?? {}, e),
704
- renderTreeSelect: (e) => r.renderTreeSelect(e.value, e.options ?? [], e.renderProps ?? {}, e),
705
- renderRadioGroup: (e) => r.renderRadioGroup(e.value, e.options ?? [], e.renderProps ?? {}, e),
706
- renderRadioButtonGroup: (e) => r.renderRadioButtonGroup(e.value, e.options ?? [], e.renderProps ?? {}, e),
707
- renderCheckboxGroup: (e) => r.renderCheckboxGroup(e.value, e.options ?? [], e.renderProps ?? {}, e),
708
- renderSwitch: (e) => r.renderSwitch(e.value, e.renderProps ?? {}, e),
709
- renderDatePicker: (e) => r.renderDatePicker(e.value, e.renderProps ?? {}, e),
710
- renderTimePicker: (e) => r.renderTimePicker(e.value, e.renderProps ?? {}, e)
790
+ function Te(e) {
791
+ return function(l, t = !0) {
792
+ const u = e, r = {
793
+ renderInput: (n) => u.renderInput(n.value, n.renderProps ?? {}, n),
794
+ renderSelect: (n) => u.renderSelect(n.value, n.options ?? [], n.renderProps ?? {}, n),
795
+ renderPopSelect: (n) => u.renderPopSelect(n.value, n.options ?? [], n.renderProps ?? {}, n),
796
+ renderTreeSelect: (n) => u.renderTreeSelect(n.value, n.options ?? [], n.renderProps ?? {}, n),
797
+ renderRadioGroup: (n) => u.renderRadioGroup(n.value, n.options ?? [], n.renderProps ?? {}, n),
798
+ renderRadioButtonGroup: (n) => u.renderRadioButtonGroup(n.value, n.options ?? [], n.renderProps ?? {}, n),
799
+ renderCheckboxGroup: (n) => u.renderCheckboxGroup(n.value, n.options ?? [], n.renderProps ?? {}, n),
800
+ renderSwitch: (n) => u.renderSwitch(n.value, n.renderProps ?? {}, n),
801
+ renderDatePicker: (n) => u.renderDatePicker(n.value, n.renderProps ?? {}, n),
802
+ renderTimePicker: (n) => u.renderTimePicker(n.value, n.renderProps ?? {}, n)
711
803
  };
712
- return c.map((e) => {
713
- const m = e;
714
- if (m.value = re(e.value), typeof e.render2 == "function")
715
- m.render2 = e.render2;
804
+ return l.map((n) => {
805
+ const i = n;
806
+ if (i.value = ve(n.value), typeof n.render2 == "function")
807
+ i.render2 = n.render2;
716
808
  else {
717
- const n = e.renderType ?? "renderInput", v = d[n];
718
- v ? m.render2 = () => v(m) : (console.warn(`[useDecorateForm] unknown renderType: ${e.renderType}`), m.render2 = () => d.renderInput(m));
809
+ const b = n.renderType ?? "renderInput", o = r[b];
810
+ o ? i.render2 = () => o(i) : (console.warn(`[useDecorateForm] unknown renderType: ${n.renderType}`), i.render2 = () => r.renderInput(i));
719
811
  }
720
- return u ? M(m) : m;
812
+ return t ? E(i) : i;
721
813
  });
722
814
  };
723
815
  }
724
- const Ne = be(pe);
816
+ const De = Te(Ae);
725
817
  export {
726
- Se as NaiDynamicCascadeInput,
727
- Fe as NaiDynamicForm,
728
- ke as NaiDynamicInput,
729
- ve as renderCheckboxGroup,
730
- me as renderDatePicker,
731
- ue as renderInput,
732
- se as renderPopSelect,
733
- ce as renderRadioButtonGroup,
734
- de as renderRadioGroup,
735
- oe as renderSelect,
736
- ye as renderSwitch,
737
- fe as renderTimePicker,
738
- ie as renderTreeSelect,
739
- Ne as useDecorateForm
818
+ Oe as NaiDynamicCascadeInput,
819
+ ze as NaiDynamicForm,
820
+ je as NaiDynamicInput,
821
+ Ie as renderCheckbox,
822
+ Ce as renderCheckboxGroup,
823
+ Ne as renderDatePicker,
824
+ Fe as renderDynamicTags,
825
+ me as renderInput,
826
+ Re as renderInputNumber,
827
+ pe as renderPopSelect,
828
+ he as renderRadioButtonGroup,
829
+ ge as renderRadioGroup,
830
+ fe as renderSelect,
831
+ xe as renderSlider,
832
+ ke as renderSwitch,
833
+ Se as renderTimePicker,
834
+ be as renderTreeSelect,
835
+ De as useDecorateForm
740
836
  };