@chewel611/naive-ui-plus 0.0.29 → 0.0.31

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,273 +1,239 @@
1
- import { useDialog as ye, useMessage as we, NCard as be, NDataTable as ke, NModal as Ce, NSpace as Se, NButton as C, NTooltip as De, NIcon as T, NDropdown as Me } from "naive-ui";
2
- import { defineComponent as Oe, ref as c, computed as K, unref as d, onMounted as Ee, openBlock as v, createBlock as H, withCtx as n, createElementVNode as S, createElementBlock as j, renderSlot as I, createCommentVNode as D, createVNode as s, normalizeStyle as X, createTextVNode as $, toDisplayString as xe, h as N, toRaw as y } from "vue";
3
- import { PlusSquareOutlined as Be, DeleteOutlined as Te, ReloadOutlined as $e, MoreOutlined as Ne } from "@vicons/antd";
4
- import { resetObject as Re } from "../utils/helper.js";
5
- import { cloneDeep as ze } from "lodash";
6
- const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
1
+ import { useDialog as ne, useMessage as le, NCard as ae, NDataTable as ie, NSpace as se, NTooltip as re, NIcon as f, NDropdown as ce, NButton as de } from "naive-ui";
2
+ import { defineComponent as ue, ref as m, computed as H, unref as d, onMounted as fe, openBlock as C, createBlock as T, withCtx as i, createElementVNode as h, createElementBlock as pe, renderSlot as ge, createCommentVNode as O, createVNode as s, toDisplayString as me, h as r, toRaw as $ } from "vue";
3
+ import { PlusSquareOutlined as he, DeleteOutlined as P, ReloadOutlined as ye, MoreOutlined as ke, EditOutlined as ve } from "@vicons/antd";
4
+ const we = { class: "text-lg font-medium" }, be = { id: "data-content" }, Ce = {
7
5
  key: 0,
8
6
  class: "rounded-lg bg-gray-50 flex flex-row gap-2 items-center justify-end p-4 mb-4"
9
- }, je = { key: 1 }, Ie = { key: 2 }, Ue = /* @__PURE__ */ Oe({
7
+ }, xe = /* @__PURE__ */ ue({
10
8
  __name: "PTable",
11
9
  props: {
12
10
  title: {},
13
11
  idField: { default: "id" },
14
- item: { default: {} },
15
12
  columns: {},
16
- modalWidth: { default: 800 },
17
- hiddenAdd: { type: Boolean, default: !1 },
18
- hiddenEdit: { type: Boolean, default: !1 },
19
- hiddenDelete: { type: Boolean, default: !1 },
20
13
  onLoad: {},
21
- onGet: {},
22
- onOpenModal: {},
23
- onCloseModal: {},
24
- onSave: {},
25
- onDelete: {}
14
+ onDelete: {},
15
+ onAdd: {},
16
+ onEdit: {}
26
17
  },
27
- setup(f, { expose: Y }) {
28
- const P = c(null), J = ye(), w = we(), M = c(!1), O = c([]), E = c([]), g = c(null), h = c(!1), b = c(!1), x = c(!1), W = c({}), p = c({
18
+ setup(_, { expose: I }) {
19
+ const R = m(null), A = ne(), y = le(), k = m(!1), v = m([]), w = m([]), u = m({
29
20
  page: 1,
30
21
  itemCount: 0,
31
22
  pageSize: 10,
32
23
  pageSizes: [10, 20, 30, 50],
33
24
  showSizePicker: !0,
34
25
  onChange: async (e) => {
35
- p.value.page = e, await m();
26
+ u.value.page = e, await p();
36
27
  },
37
28
  onUpdatePageSize: async (e) => {
38
- p.value.pageSize = e, await m();
29
+ u.value.pageSize = e, await p();
39
30
  }
40
- }), o = f, Q = (e) => {
41
- const t = (l) => {
42
- const a = [];
43
- return e && e.forEach((r) => {
44
- r.key !== "edit" && r.key !== "delete" && a.push({
45
- label: r.name,
46
- key: r.key,
47
- props: { onClick: () => r.action(l) }
31
+ }), l = _, M = (e) => {
32
+ const t = (o) => {
33
+ const n = [];
34
+ return e && e.forEach((a) => {
35
+ a.key !== "edit" && a.key !== "delete" && n.push({
36
+ label: a.name,
37
+ key: a.key,
38
+ icon: a.icon && (() => r(f, null, { default: () => r(a.icon) })),
39
+ props: { onClick: () => a.action(o) }
48
40
  });
49
- }), a;
41
+ }), n;
50
42
  };
51
43
  return {
52
44
  title: "操作",
53
45
  key: "actions",
54
46
  width: 100,
55
47
  fixed: "right",
56
- render: (l) => {
57
- let a = [];
58
- if (o.hiddenEdit || a.push({
48
+ render: (o) => {
49
+ let n = [];
50
+ if (l.onEdit && n.push({
59
51
  label: "编辑",
60
52
  key: "edit",
61
- props: { onClick: () => ne(l) }
62
- }), o.hiddenDelete || a.push({
53
+ icon: () => r(f, null, { default: () => r(ve) }),
54
+ props: { onClick: async () => await l.onEdit(o) }
55
+ }), l.onDelete && n.push({
63
56
  label: "删除",
64
57
  key: "delete",
65
- props: { onClick: () => te(l) }
66
- }), a = [...a, ...t(l)], !(a.length <= 0))
67
- return N(
68
- Me,
58
+ icon: () => r(f, null, { default: () => r(P) }),
59
+ props: { onClick: () => W(o) }
60
+ }), n = [...n, ...t(o)], !(n.length <= 0))
61
+ return r(
62
+ ce,
69
63
  {
70
- options: a,
64
+ options: n,
71
65
  placement: "bottom-start"
72
66
  },
73
67
  {
74
- default: () => N(
75
- C,
68
+ default: () => r(
69
+ de,
76
70
  { size: "small", type: "primary" },
77
- { default: () => ["操作", N(T, () => N(Ne))] }
71
+ { default: () => ["操作", r(f, () => r(ke))] }
78
72
  )
79
73
  }
80
74
  );
81
75
  }
82
76
  };
83
- }, Z = K(() => {
84
- const e = o.columns.filter((l) => l.key != "action").map((l) => ({
85
- title: l.title,
86
- key: l.key,
87
- width: l.width,
88
- fixed: l.fixed ?? !1,
89
- render: l.render,
90
- ellipsis: l.ellipsis ? { tooltip: !0 } : !1
91
- })), t = o.columns.reduce(
92
- (l, a) => a.key === "action" ? a : l,
77
+ }, V = H(() => {
78
+ const e = l.columns.filter((o) => o.key != "action").map((o) => ({
79
+ title: o.title,
80
+ key: o.key,
81
+ width: o.width,
82
+ fixed: o.fixed ?? !1,
83
+ render: o.render,
84
+ ellipsis: o.ellipsis ? { tooltip: !0 } : !1
85
+ })), t = l.columns.reduce(
86
+ (o, n) => n.key === "action" ? n : o,
93
87
  void 0
94
88
  )?.action;
95
- return t && t?.length > 0 || !o.hiddenDelete || !o.hiddenEdit ? [
89
+ return t && t?.length > 0 || l.onEdit || l.onDelete ? [
96
90
  { type: "selection", fixed: "left" },
97
91
  ...e,
98
- Q(t)
92
+ M(t)
99
93
  ] : [{ type: "selection", fixed: "left" }, ...e];
100
- }), ee = async () => {
101
- await m();
102
- }, te = (e) => {
103
- A([e]);
104
- }, oe = () => {
105
- const e = R();
106
- A(e);
107
- }, A = (e) => {
108
- e && e.length > 0 && J.warning({
94
+ }), q = async () => await p(), W = (e) => z([e]), j = () => {
95
+ const e = D();
96
+ z(e);
97
+ }, z = (e) => {
98
+ e && e.length > 0 && A.warning({
109
99
  title: "警告",
110
100
  content: "删除数据不可恢复, 确认删除吗?",
111
101
  positiveText: "确定",
112
102
  negativeText: "取消",
113
103
  onPositiveClick: async () => {
114
- if (o.onDelete)
104
+ if (l.onDelete)
115
105
  try {
116
- await o.onDelete(e) ? (m(), w.success("删除成功")) : w.error("删除失败");
106
+ await l.onDelete(e) ? (p(), y.success("删除成功")) : y.error("删除失败");
117
107
  } catch (t) {
118
- w.error(t.message);
108
+ y.error(t.message);
119
109
  }
120
110
  }
121
111
  });
122
- }, le = () => {
123
- g.value = null, F();
124
- }, ne = async (e) => {
125
- g.value = ze(e), F(g.value, async () => {
126
- o.onGet && (g.value = await o.onGet(e[o.idField])), Object.assign(o.item, g.value);
127
- });
128
- }, V = async () => {
129
- if (o.onSave)
130
- try {
131
- x.value = !0, (h.value ? await o.onSave(void 0, y(o.item)) : await o.onSave(g.value[o.idField], y(o.item))) && (B(), await m());
132
- } catch (e) {
133
- w.error(e.message);
134
- } finally {
135
- x.value = !1;
136
- }
137
- }, F = async (e, t) => {
138
- o.onOpenModal?.(e), await t?.(), e ? (h.value = !1, b.value = !0) : (b.value = !1, h.value = !0);
139
- }, B = () => {
140
- g.value = null, Re(o.item), Object.assign(o.item, { ...y(W.value) }), o.onCloseModal?.(o.item), h.value = !1, b.value = !1;
141
- }, R = () => O.value ? E.value.filter((t) => O.value.includes(t.id)).map((t) => y(t)) : [], ae = () => R()[0], se = () => y(E.value), m = async () => {
142
- if (!M.value) {
143
- M.value = !0;
112
+ }, D = () => v.value ? w.value.filter((t) => v.value.includes(t.id)).map((t) => $(t)) : [], F = () => D()[0], K = () => $(w.value), p = async () => {
113
+ if (!k.value) {
114
+ k.value = !0;
144
115
  try {
145
- if (o.onLoad) {
146
- var { data: e, total: t } = await o.onLoad(
147
- p.value.page,
148
- p.value.pageSize
116
+ if (l.onLoad) {
117
+ var { data: e, total: t } = await l.onLoad(
118
+ u.value.page,
119
+ u.value.pageSize
149
120
  );
150
- E.value = e, p.value.itemCount = t;
121
+ w.value = e, u.value.itemCount = t;
151
122
  }
152
- } catch (l) {
153
- w.error(l.message);
123
+ } catch (o) {
124
+ y.error(o.message);
154
125
  } finally {
155
- M.value = !1;
126
+ k.value = !1;
156
127
  }
157
128
  }
158
- }, ie = K(() => {
159
- const e = d(P);
129
+ }, U = H(() => {
130
+ const e = d(R);
160
131
  if (!e) return;
161
- const t = e?.$el, l = t.querySelector(".n-data-table-thead "), { bottomIncludeBody: a } = re(l), r = 48;
162
- let u = 12, i = 24;
163
- const k = t.querySelector(
132
+ const t = e?.$el, o = t.querySelector(".n-data-table-thead "), { bottomIncludeBody: n } = Y(o), a = 48;
133
+ let c = 12, b = 24;
134
+ const g = t.querySelector(
164
135
  ".n-data-table__pagination"
165
136
  );
166
- if (k) {
167
- const z = k.offsetHeight;
168
- u += z || 0;
137
+ if (g) {
138
+ const S = g.offsetHeight;
139
+ c += S || 0;
169
140
  } else
170
- u += 28;
171
- return a - (r + u + i);
172
- }), de = (e) => !e || !e.getBoundingClientRect ? 0 : e.getBoundingClientRect(), re = (e) => {
173
- const t = document.documentElement, l = t.scrollLeft, a = t.scrollTop, r = t.clientLeft, u = t.clientTop, i = window.pageXOffset, k = window.pageYOffset, U = de(e), {
174
- left: z,
175
- top: ue,
176
- width: fe,
177
- height: ge
178
- } = U, pe = (i || l) - (r || 0), me = (k || a) - (u || 0), he = z + i, ve = ue + k, L = he - pe, _ = ve - me, q = window.document.documentElement.clientWidth, G = window.document.documentElement.clientHeight;
141
+ c += 28;
142
+ return n - (a + c + b);
143
+ }), X = (e) => !e || !e.getBoundingClientRect ? 0 : e.getBoundingClientRect(), Y = (e) => {
144
+ const t = document.documentElement, o = t.scrollLeft, n = t.scrollTop, a = t.clientLeft, c = t.clientTop, b = window.pageXOffset, g = window.pageYOffset, B = X(e), {
145
+ left: S,
146
+ top: G,
147
+ width: J,
148
+ height: Q
149
+ } = B, Z = (b || o) - (a || 0), ee = (g || n) - (c || 0), te = S + b, oe = G + g, x = te - Z, E = oe - ee, L = window.document.documentElement.clientWidth, N = window.document.documentElement.clientHeight;
179
150
  return {
180
- left: L,
181
- top: _,
182
- right: q - fe - L,
183
- bottom: G - ge - _,
184
- rightIncludeBody: q - L,
185
- bottomIncludeBody: G - _
151
+ left: x,
152
+ top: E,
153
+ right: L - J - x,
154
+ bottom: N - Q - E,
155
+ rightIncludeBody: L - x,
156
+ bottomIncludeBody: N - E
186
157
  };
187
- }, ce = () => {
188
- W.value = { ...y(o.item) };
189
158
  };
190
- return Ee(async () => {
191
- ce(), await m();
192
- }), Y({
193
- getData: se,
194
- getSelectedRow: ae,
195
- getSelectedRows: R,
196
- closeModal: B,
197
- refreshData: m,
159
+ return fe(async () => await p()), I({
160
+ getData: K,
161
+ getSelectedRow: F,
162
+ getSelectedRows: D,
163
+ refreshData: p,
198
164
  resetPage: () => {
199
- p.value.page = 1;
165
+ u.value.page = 1;
200
166
  }
201
167
  }), (e, t) => {
202
- const l = De, a = Se, r = ke, u = Ce;
203
- return v(), H(d(be), { bordered: !1 }, {
204
- header: n(() => [
205
- s(a, {
168
+ const o = re, n = se, a = ie;
169
+ return C(), T(d(ae), { bordered: !1 }, {
170
+ header: i(() => [
171
+ s(n, {
206
172
  justify: "space-between",
207
173
  align: "center",
208
174
  class: "w-full"
209
175
  }, {
210
- default: n(() => [
211
- S("span", Le, xe(f.title), 1),
212
- s(a, null, {
213
- default: n(() => [
214
- f.hiddenAdd ? D("", !0) : (v(), H(l, {
176
+ default: i(() => [
177
+ h("span", we, me(_.title), 1),
178
+ s(n, null, {
179
+ default: i(() => [
180
+ l.onAdd ? (C(), T(o, {
215
181
  key: 0,
216
182
  trigger: "hover"
217
183
  }, {
218
- trigger: n(() => [
219
- s(d(T), {
184
+ trigger: i(() => [
185
+ s(d(f), {
220
186
  size: "18",
221
187
  class: "mr-1 cursor-pointer hover:text-blue-600",
222
- onClick: le
188
+ onClick: l.onAdd
223
189
  }, {
224
- default: n(() => [
225
- s(d(Be))
190
+ default: i(() => [
191
+ s(d(he))
226
192
  ]),
227
193
  _: 1
228
- })
194
+ }, 8, ["onClick"])
229
195
  ]),
230
- default: n(() => [
231
- t[3] || (t[3] = S("span", null, "新增", -1))
196
+ default: i(() => [
197
+ t[1] || (t[1] = h("span", null, "新增", -1))
232
198
  ]),
233
199
  _: 1
234
- })),
235
- f.hiddenDelete ? D("", !0) : (v(), H(l, {
200
+ })) : O("", !0),
201
+ l.onDelete ? (C(), T(o, {
236
202
  key: 1,
237
203
  trigger: "hover"
238
204
  }, {
239
- trigger: n(() => [
240
- s(d(T), {
205
+ trigger: i(() => [
206
+ s(d(f), {
241
207
  size: "18",
242
208
  class: "mr-1 cursor-pointer hover:text-blue-600",
243
- onClick: oe
209
+ onClick: j
244
210
  }, {
245
- default: n(() => [
246
- s(d(Te))
211
+ default: i(() => [
212
+ s(d(P))
247
213
  ]),
248
214
  _: 1
249
215
  })
250
216
  ]),
251
- default: n(() => [
252
- t[4] || (t[4] = S("span", null, "删除", -1))
217
+ default: i(() => [
218
+ t[2] || (t[2] = h("span", null, "删除", -1))
253
219
  ]),
254
220
  _: 1
255
- })),
256
- s(l, { trigger: "hover" }, {
257
- trigger: n(() => [
258
- s(d(T), {
221
+ })) : O("", !0),
222
+ s(o, { trigger: "hover" }, {
223
+ trigger: i(() => [
224
+ s(d(f), {
259
225
  size: "18",
260
226
  class: "cursor-pointer hover:text-blue-600",
261
- onClick: ee
227
+ onClick: q
262
228
  }, {
263
- default: n(() => [
264
- s(d($e))
229
+ default: i(() => [
230
+ s(d(ye))
265
231
  ]),
266
232
  _: 1
267
233
  })
268
234
  ]),
269
- default: n(() => [
270
- t[5] || (t[5] = S("span", null, "刷新", -1))
235
+ default: i(() => [
236
+ t[3] || (t[3] = h("span", null, "刷新", -1))
271
237
  ]),
272
238
  _: 1
273
239
  })
@@ -278,110 +244,26 @@ const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
278
244
  _: 1
279
245
  })
280
246
  ]),
281
- default: n(() => [
282
- S("div", _e, [
283
- e.$slots.toolbar ? (v(), j("div", He, [
284
- I(e.$slots, "toolbar")
285
- ])) : D("", !0),
286
- s(r, {
247
+ default: i(() => [
248
+ h("div", be, [
249
+ e.$slots.toolbar ? (C(), pe("div", Ce, [
250
+ ge(e.$slots, "toolbar")
251
+ ])) : O("", !0),
252
+ s(a, {
287
253
  remote: "",
288
254
  ref_key: "$table",
289
- ref: P,
290
- "checked-row-keys": O.value,
291
- "onUpdate:checkedRowKeys": t[0] || (t[0] = (i) => O.value = i),
292
- "max-height": ie.value,
293
- loading: M.value,
255
+ ref: R,
256
+ "checked-row-keys": v.value,
257
+ "onUpdate:checkedRowKeys": t[0] || (t[0] = (c) => v.value = c),
258
+ "max-height": U.value,
259
+ loading: k.value,
294
260
  bordered: !1,
295
261
  "single-line": !1,
296
- columns: Z.value,
297
- data: E.value,
298
- pagination: p.value,
299
- "row-key": (i) => i[f.idField]
300
- }, null, 8, ["checked-row-keys", "max-height", "loading", "columns", "data", "pagination", "row-key"]),
301
- e.$slots.addModal ? (v(), j("div", je, [
302
- s(u, {
303
- title: "新增",
304
- preset: "card",
305
- show: h.value,
306
- "onUpdate:show": t[1] || (t[1] = (i) => h.value = i),
307
- "header-class": "bg-gray-50",
308
- closable: !1,
309
- "close-on-esc": !1,
310
- "mask-closable": !1,
311
- draggable: !0,
312
- style: X({ width: `${f.modalWidth}px` })
313
- }, {
314
- action: n(() => [
315
- s(a, { justify: "end" }, {
316
- default: n(() => [
317
- s(d(C), {
318
- type: "primary",
319
- loading: x.value,
320
- onClick: V
321
- }, {
322
- default: n(() => [...t[6] || (t[6] = [
323
- $("保存", -1)
324
- ])]),
325
- _: 1
326
- }, 8, ["loading"]),
327
- s(d(C), { onClick: B }, {
328
- default: n(() => [...t[7] || (t[7] = [
329
- $("取消", -1)
330
- ])]),
331
- _: 1
332
- })
333
- ]),
334
- _: 1
335
- })
336
- ]),
337
- default: n(() => [
338
- I(e.$slots, "addModal")
339
- ]),
340
- _: 3
341
- }, 8, ["show", "style"])
342
- ])) : D("", !0),
343
- e.$slots.editModal ? (v(), j("div", Ie, [
344
- s(u, {
345
- title: "编辑",
346
- show: b.value,
347
- "onUpdate:show": t[2] || (t[2] = (i) => b.value = i),
348
- preset: "card",
349
- "header-class": "bg-gray-50",
350
- closable: !1,
351
- "close-on-esc": !1,
352
- "mask-closable": !1,
353
- draggable: !0,
354
- style: X({ width: `${f.modalWidth}px` })
355
- }, {
356
- action: n(() => [
357
- s(a, { justify: "end" }, {
358
- default: n(() => [
359
- s(d(C), {
360
- type: "primary",
361
- loading: x.value,
362
- onClick: V
363
- }, {
364
- default: n(() => [...t[8] || (t[8] = [
365
- $("保存", -1)
366
- ])]),
367
- _: 1
368
- }, 8, ["loading"]),
369
- s(d(C), { onClick: B }, {
370
- default: n(() => [...t[9] || (t[9] = [
371
- $("取消", -1)
372
- ])]),
373
- _: 1
374
- })
375
- ]),
376
- _: 1
377
- })
378
- ]),
379
- default: n(() => [
380
- I(e.$slots, "editModal")
381
- ]),
382
- _: 3
383
- }, 8, ["show", "style"])
384
- ])) : D("", !0)
262
+ columns: V.value,
263
+ data: w.value,
264
+ pagination: u.value,
265
+ "row-key": (c) => c[_.idField]
266
+ }, null, 8, ["checked-row-keys", "max-height", "loading", "columns", "data", "pagination", "row-key"])
385
267
  ])
386
268
  ]),
387
269
  _: 3
@@ -390,5 +272,5 @@ const Le = { class: "text-lg font-medium" }, _e = { id: "data-content" }, He = {
390
272
  }
391
273
  });
392
274
  export {
393
- Ue as default
275
+ xe as default
394
276
  };
@@ -4,16 +4,10 @@ export declare const PTablePlugin: {
4
4
  refreshData: () => Promise<void>;
5
5
  getData: <T>() => T[];
6
6
  getSelectedRows: <T>() => T[];
7
- closeModal: () => void;
8
7
  resetPage: () => void;
9
8
  getSelectedRow: <T>() => T;
10
9
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
11
10
  idField: string;
12
- item: any;
13
- modalWidth: number;
14
- hiddenAdd: boolean;
15
- hiddenEdit: boolean;
16
- hiddenDelete: boolean;
17
11
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
18
12
  $table: unknown;
19
13
  }, any, import('vue').ComponentProvideOptions, {
@@ -27,16 +21,10 @@ export declare const PTablePlugin: {
27
21
  refreshData: () => Promise<void>;
28
22
  getData: <T>() => T[];
29
23
  getSelectedRows: <T>() => T[];
30
- closeModal: () => void;
31
24
  resetPage: () => void;
32
25
  getSelectedRow: <T>() => T;
33
26
  }, {}, {}, {}, {
34
27
  idField: string;
35
- item: any;
36
- modalWidth: number;
37
- hiddenAdd: boolean;
38
- hiddenEdit: boolean;
39
- hiddenDelete: boolean;
40
28
  }>;
41
29
  __isFragment?: never;
42
30
  __isTeleport?: never;
@@ -45,20 +33,12 @@ export declare const PTablePlugin: {
45
33
  refreshData: () => Promise<void>;
46
34
  getData: <T>() => T[];
47
35
  getSelectedRows: <T>() => T[];
48
- closeModal: () => void;
49
36
  resetPage: () => void;
50
37
  getSelectedRow: <T>() => T;
51
38
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
52
39
  idField: string;
53
- item: any;
54
- modalWidth: number;
55
- hiddenAdd: boolean;
56
- hiddenEdit: boolean;
57
- hiddenDelete: boolean;
58
40
  }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
59
41
  $slots: {
60
42
  toolbar?(_: {}): any;
61
- addModal?(_: {}): any;
62
- editModal?(_: {}): any;
63
43
  };
64
44
  }) & import('vue').Plugin;
@@ -1,8 +1,8 @@
1
- import { VNodeChild } from 'vue';
1
+ import { VNodeChild, Component } from 'vue';
2
2
  export type DataTableColumnActionDefine = {
3
3
  name: string;
4
4
  key: string;
5
- icon?: string;
5
+ icon?: Component;
6
6
  action: (row: any) => void;
7
7
  };
8
8
  export type DataTableColumnDefine = {
@@ -17,27 +17,19 @@ export type DataTableColumnDefine = {
17
17
  export type DataTableProps = {
18
18
  title?: string;
19
19
  idField?: string;
20
- item?: any;
21
20
  columns: DataTableColumnDefine[];
22
- modalWidth?: number;
23
- hiddenAdd?: boolean;
24
- hiddenEdit?: boolean;
25
- hiddenDelete?: boolean;
26
21
  onLoad: (page: number, pageSize: number) => Promise<{
27
22
  data: any[];
28
23
  total: number;
29
24
  }>;
30
- onGet?: (id: string | number) => Promise<any>;
31
- onOpenModal?: (item?: any) => void;
32
- onCloseModal?: (item?: any) => void;
33
- onSave?: (id?: string | number, row?: any) => Promise<boolean> | boolean;
34
- onDelete?: (rows: any[]) => Promise<boolean> | boolean;
25
+ onDelete?: (rows: any[]) => Promise<boolean>;
26
+ onAdd?: () => Promise<void>;
27
+ onEdit?: (row: any) => Promise<void>;
35
28
  };
36
29
  export type DataTableMethods = {
37
30
  refreshData: () => Promise<void>;
38
31
  getData: <T>() => T[];
39
32
  getSelectedRows: <T>() => T[];
40
- closeModal: () => void;
41
33
  resetPage: () => void;
42
34
  getSelectedRow: <T>() => T;
43
35
  };
@@ -2113,8 +2113,10 @@ declare const __VLS_component: import('vue').DefineComponent<ModalProps, {
2113
2113
  }>, {
2114
2114
  width: number;
2115
2115
  height: number;
2116
- closable: boolean;
2117
2116
  saveBtnText: string;
2117
+ cancelBtnText: string;
2118
+ hideCancelBtn: boolean;
2119
+ hideSaveBtn: boolean;
2118
2120
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
2119
2121
  $modal: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
2120
2122
  draggable: import('vue').PropType<boolean | import('naive-ui/es/modal/src/interface').ModalDraggableOptions>;