@wgalleti/primevue-components 0.15.0 → 0.17.0

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 (63) hide show
  1. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DWs-ZSNZ.cjs +28 -0
  2. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DWs-ZSNZ.cjs.map +1 -0
  3. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DvyxNL4O.js +6544 -0
  4. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DvyxNL4O.js.map +1 -0
  5. package/dist/components/index.d.ts +3 -0
  6. package/dist/components/ui/WDialog.vue.d.ts +15 -0
  7. package/dist/components/ui/WMapSelect.vue.d.ts +7 -1
  8. package/dist/components/ui/WTabNav.vue.d.ts +56 -0
  9. package/dist/components/ui/WTabPane.d.ts +53 -0
  10. package/dist/components/ui/WTabViewport.vue.d.ts +14 -0
  11. package/dist/components.cjs +1 -1
  12. package/dist/components.js +28 -25
  13. package/dist/composables/index.d.ts +1 -0
  14. package/dist/composables/useRouteTabs.d.ts +2 -0
  15. package/dist/composables.cjs +1 -1
  16. package/dist/composables.cjs.map +1 -1
  17. package/dist/composables.js +11 -10
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.ts +4 -4
  21. package/dist/index.js +127 -120
  22. package/dist/index.js.map +1 -1
  23. package/dist/labels-B28P8JNB.js +19 -0
  24. package/dist/labels-B28P8JNB.js.map +1 -0
  25. package/dist/labels-pNskxXcl.cjs +2 -0
  26. package/dist/labels-pNskxXcl.cjs.map +1 -0
  27. package/dist/plugin-CIBvOgwG.js +14 -0
  28. package/dist/plugin-CIBvOgwG.js.map +1 -0
  29. package/dist/plugin-D2IZHyBm.cjs +2 -0
  30. package/dist/plugin-D2IZHyBm.cjs.map +1 -0
  31. package/dist/primevue-components.css +1 -1
  32. package/dist/types/index.d.ts +3 -1
  33. package/dist/types/mapSelect.d.ts +10 -0
  34. package/dist/types/routeTabs.d.ts +129 -0
  35. package/dist/types.cjs +1 -1
  36. package/dist/types.cjs.map +1 -1
  37. package/dist/types.js +8 -20
  38. package/dist/types.js.map +1 -1
  39. package/dist/useFormKeyboardNav-BgBAe0C7.cjs +3 -0
  40. package/dist/useFormKeyboardNav-BgBAe0C7.cjs.map +1 -0
  41. package/dist/{useFormKeyboardNav-D4Irq5RE.js → useFormKeyboardNav-BrKZrHq9.js} +180 -178
  42. package/dist/useFormKeyboardNav-BrKZrHq9.js.map +1 -0
  43. package/dist/useRouteTabs-CSo1j_ji.js +762 -0
  44. package/dist/useRouteTabs-CSo1j_ji.js.map +1 -0
  45. package/dist/useRouteTabs-VGx93R83.cjs +2 -0
  46. package/dist/useRouteTabs-VGx93R83.cjs.map +1 -0
  47. package/package.json +1 -1
  48. package/skill/references/components.md +28 -0
  49. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-Cx3AJma_.js +0 -6296
  50. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-Cx3AJma_.js.map +0 -1
  51. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DX-6iLgb.cjs +0 -36
  52. package/dist/WKanbanBoard.vue_vue_type_script_setup_true_lang-DX-6iLgb.cjs.map +0 -1
  53. package/dist/plugin-BKa0eSEM.js +0 -7
  54. package/dist/plugin-BKa0eSEM.js.map +0 -1
  55. package/dist/plugin-D1YvyKXX.cjs +0 -2
  56. package/dist/plugin-D1YvyKXX.cjs.map +0 -1
  57. package/dist/useApi-BM5JpPDe.js +0 -539
  58. package/dist/useApi-BM5JpPDe.js.map +0 -1
  59. package/dist/useApi-CPt3Tj4n.cjs +0 -2
  60. package/dist/useApi-CPt3Tj4n.cjs.map +0 -1
  61. package/dist/useFormKeyboardNav-D4Irq5RE.js.map +0 -1
  62. package/dist/useFormKeyboardNav-D4Ow3k4Y.cjs +0 -3
  63. package/dist/useFormKeyboardNav-D4Ow3k4Y.cjs.map +0 -1
@@ -1,7 +0,0 @@
1
- const o = Symbol("w-axios"), a = Symbol("w-data-provider"), s = Symbol("w-config");
2
- export {
3
- a as W,
4
- s as a,
5
- o as b
6
- };
7
- //# sourceMappingURL=plugin-BKa0eSEM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-BKa0eSEM.js","sources":["../src/types/plugin.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DataProvider } from './dataProvider'\n\nexport interface WPluginOptions {\n axios?: AxiosInstance\n dataProvider?: DataProvider\n defaultPageSize?: number\n dateFormat?: string\n dateTimeFormat?: string\n locale?: string\n currency?: string\n registerComponents?: boolean\n}\n\nexport interface WPluginConfig {\n axios?: AxiosInstance\n dataProvider: DataProvider\n defaultPageSize: number\n dateFormat: string\n dateTimeFormat: string\n locale: string\n currency: string\n}\n\nexport const W_AXIOS_KEY = Symbol('w-axios')\nexport const W_DATA_PROVIDER_KEY = Symbol('w-data-provider')\nexport const W_CONFIG_KEY = Symbol('w-config')\n"],"names":["W_AXIOS_KEY","W_DATA_PROVIDER_KEY","W_CONFIG_KEY"],"mappings":"AAwBO,MAAMA,IAAc,OAAO,SAAS,GAC9BC,IAAsB,OAAO,iBAAiB,GAC9CC,IAAe,OAAO,UAAU;"}
@@ -1,2 +0,0 @@
1
- "use strict";const _=Symbol("w-axios"),o=Symbol("w-data-provider"),E=Symbol("w-config");exports.W_AXIOS_KEY=_;exports.W_CONFIG_KEY=E;exports.W_DATA_PROVIDER_KEY=o;
2
- //# sourceMappingURL=plugin-D1YvyKXX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-D1YvyKXX.cjs","sources":["../src/types/plugin.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport type { DataProvider } from './dataProvider'\n\nexport interface WPluginOptions {\n axios?: AxiosInstance\n dataProvider?: DataProvider\n defaultPageSize?: number\n dateFormat?: string\n dateTimeFormat?: string\n locale?: string\n currency?: string\n registerComponents?: boolean\n}\n\nexport interface WPluginConfig {\n axios?: AxiosInstance\n dataProvider: DataProvider\n defaultPageSize: number\n dateFormat: string\n dateTimeFormat: string\n locale: string\n currency: string\n}\n\nexport const W_AXIOS_KEY = Symbol('w-axios')\nexport const W_DATA_PROVIDER_KEY = Symbol('w-data-provider')\nexport const W_CONFIG_KEY = Symbol('w-config')\n"],"names":["W_AXIOS_KEY","W_DATA_PROVIDER_KEY","W_CONFIG_KEY"],"mappings":"aAwBO,MAAMA,EAAc,OAAO,SAAS,EAC9BC,EAAsB,OAAO,iBAAiB,EAC9CC,EAAe,OAAO,UAAU"}
@@ -1,539 +0,0 @@
1
- import { inject as se, ref as y, reactive as ee, computed as Z } from "vue";
2
- import { W as me, a as ye } from "./plugin-BKa0eSEM.js";
3
- import { DEFAULT_CRUD_LABELS as he } from "./types.js";
4
- import { t as De, g as we, s as Ke, p as Pe, b as be, a as ke, e as ie } from "./useFormKeyboardNav-D4Irq5RE.js";
5
- function fe(d) {
6
- const l = {};
7
- for (const o of d)
8
- l[o.field] = o.defaultValue !== void 0 ? typeof o.defaultValue == "function" ? o.defaultValue() : o.defaultValue : null;
9
- return l;
10
- }
11
- function Se(d, l, o) {
12
- const a = {};
13
- for (const r of l) {
14
- let w = d[r.field] !== void 0 ? d[r.field] : null;
15
- w && (r.type === "date" || r.type === "datetime") && typeof w == "string" && (w = Pe(w)), o[r.field] = w, a[r.field] = w;
16
- }
17
- return a;
18
- }
19
- function Fe(d, l) {
20
- const o = { ...d };
21
- for (const a of l) {
22
- const r = o[a.field];
23
- if (a.type === "date" && r instanceof Date ? o[a.field] = De(r) : a.type === "datetime" && r instanceof Date && (o[a.field] = we(r)), a.type === "fk" && r !== null && typeof r == "object") {
24
- const w = a.optionValue || "id";
25
- o[a.field] = r[w] ?? r;
26
- }
27
- (a.type === "mask" || a.type === "cpf_cnpj") && typeof r == "string" && (o[a.field] = Ke(r));
28
- }
29
- return o;
30
- }
31
- function Oe(d, l) {
32
- for (const o of d) {
33
- if (o.validate) {
34
- const a = o.validate(l[o.field]);
35
- if (a) return a;
36
- }
37
- if (o.required) {
38
- const a = l[o.field];
39
- if (a == null || a === "")
40
- return `${o.label} é obrigatório`;
41
- }
42
- }
43
- return null;
44
- }
45
- function Ye(d, l) {
46
- const o = {};
47
- for (const a of Object.keys(l))
48
- JSON.stringify(d[a]) !== JSON.stringify(l[a]) && (o[a] = l[a]);
49
- return o;
50
- }
51
- function Ze(d) {
52
- const {
53
- endpoint: l,
54
- form: o,
55
- pk: a = "id",
56
- searchDebounce: r = 300,
57
- partialUpdate: w = !0,
58
- refetchOnSave: M = !0,
59
- fetchDetailOnEdit: ae = !1,
60
- filterParams: L = void 0,
61
- createDefaults: O = void 0,
62
- transformItems: U = void 0,
63
- transformPayload: K = void 0,
64
- onAfterSave: P = void 0,
65
- onAfterDelete: u = void 0
66
- } = d, E = se(me);
67
- if (!E)
68
- throw new Error(
69
- "[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useCrudManager."
70
- );
71
- const b = E, j = se(ye), Y = d.pageSize ?? (j == null ? void 0 : j.defaultPageSize) ?? 20, h = { ...he, ...d.labels }, p = be(), { confirmDelete: x } = ke(), k = y([]), N = y([]), m = y({}), z = y(!1);
72
- let I = 0;
73
- const Q = y(!1), _ = y(""), $ = y(!1), B = y(!1), V = y(null), T = ee({});
74
- let G = null;
75
- const c = ee({
76
- page: 1,
77
- pageSize: Y,
78
- rows: 0,
79
- totalPages: 0
80
- }), S = ee({
81
- field: null,
82
- order: 0
83
- }), n = ee({});
84
- function i() {
85
- return fe(o);
86
- }
87
- const q = i();
88
- for (const t of Object.keys(q))
89
- T[t] = q[t];
90
- const R = Z(() => V.value !== null && !B.value), X = Z(() => B.value), te = Z(
91
- () => B.value ? h.viewTitle ?? "Visualizar Registro" : R.value ? h.editTitle : h.createTitle
92
- ), ne = Z(() => c.page <= 1), re = Z(() => c.page >= c.totalPages);
93
- let J = null;
94
- async function D(t = {}) {
95
- const e = ++I;
96
- z.value = !0;
97
- try {
98
- const s = {
99
- page: c.page,
100
- page_size: c.pageSize,
101
- ...t
102
- };
103
- _.value && (s.search = _.value), S.field && S.order !== 0 && (s.ordering = S.order === -1 ? `-${S.field}` : S.field), L && Object.assign(s, L());
104
- for (const [C, v] of Object.entries(n))
105
- v != null && v !== "" && (s[C] = v);
106
- const f = await b.list(l, s);
107
- if (e !== I) return;
108
- k.value = U ? U(f.data) : f.data, N.value = [], c.rows = f.rows, m.value = f.extras ?? {}, f.page && (c.page = f.page), f.page_size && (c.pageSize = f.page_size), c.totalPages = Math.ceil(c.rows / c.pageSize) || 0;
109
- } finally {
110
- e === I && (z.value = !1);
111
- }
112
- }
113
- async function oe() {
114
- await D();
115
- }
116
- async function je() {
117
- await D();
118
- }
119
- async function ze(t = 200) {
120
- const e = {};
121
- _.value && (e.search = _.value), S.field && S.order !== 0 && (e.ordering = S.order === -1 ? `-${S.field}` : S.field), L && Object.assign(e, L());
122
- for (const [v, g] of Object.entries(n))
123
- g != null && g !== "" && (e[v] = g);
124
- const s = [];
125
- let f = 1;
126
- const C = 1e4;
127
- for (; f <= C; ) {
128
- const v = await b.list(l, {
129
- ...e,
130
- page: f,
131
- page_size: t
132
- });
133
- s.push(...v.data);
134
- const g = v.rows ?? s.length;
135
- if (v.data.length === 0 || s.length >= g) break;
136
- f++;
137
- }
138
- return s;
139
- }
140
- function de(t) {
141
- _.value = t, J && clearTimeout(J), J = setTimeout(() => {
142
- c.page = 1, D();
143
- }, r);
144
- }
145
- function Te(t) {
146
- const e = t.target;
147
- de(e.value);
148
- }
149
- function le(t) {
150
- c.page = t, D();
151
- }
152
- function Ce() {
153
- le(1);
154
- }
155
- function Ee() {
156
- le(c.totalPages);
157
- }
158
- function xe(t) {
159
- c.page = t.page + 1, c.pageSize = t.rows, D();
160
- }
161
- function Ie(t) {
162
- S.field = t.sortField ?? null, S.order = t.sortOrder ?? 0, c.page = 1, D();
163
- }
164
- function ce() {
165
- const t = i();
166
- for (const e of Object.keys(t))
167
- T[e] = t[e];
168
- }
169
- function _e(t, e) {
170
- T[t] = e;
171
- }
172
- function Ve() {
173
- if (B.value = !1, V.value = null, G = null, ce(), O) {
174
- const t = O();
175
- for (const [e, s] of Object.entries(t))
176
- T[e] = s;
177
- }
178
- $.value = !0;
179
- }
180
- function ve(t) {
181
- G = Se(t, o, T);
182
- }
183
- async function Re(t) {
184
- try {
185
- return (await b.get(l, t[a])).data;
186
- } catch (e) {
187
- return p.error(ie(e, "Erro ao carregar registro")), null;
188
- }
189
- }
190
- function ue(t, e) {
191
- return ae ? Re(t).then((s) => {
192
- s && e(s);
193
- }) : e(t);
194
- }
195
- function Ae(t) {
196
- return ue(t, (e) => {
197
- B.value = !1, V.value = e, ve(e), $.value = !0;
198
- });
199
- }
200
- function Me(t) {
201
- return ue(t, (e) => {
202
- B.value = !0, V.value = e, ve(e), $.value = !0;
203
- });
204
- }
205
- function qe(t) {
206
- return ue(t, (e) => Ue(e));
207
- }
208
- function Ue(t) {
209
- B.value = !1, V.value = null, G = null, ce();
210
- for (const e of o) {
211
- if (e.field === a) continue;
212
- let s = t[e.field] !== void 0 ? t[e.field] : T[e.field];
213
- s && (e.type === "date" || e.type === "datetime") && typeof s == "string" && (s = Pe(s)), T[e.field] = s;
214
- }
215
- if (O) {
216
- const e = O();
217
- for (const [s, f] of Object.entries(e))
218
- T[s] = f;
219
- }
220
- $.value = !0;
221
- }
222
- function pe(t) {
223
- return Fe(t, o);
224
- }
225
- async function We() {
226
- const t = Oe(o, T);
227
- if (t)
228
- return p.error(t), null;
229
- Q.value = !0;
230
- try {
231
- let e = pe(T);
232
- if (!R.value && O) {
233
- const F = O();
234
- for (const [A, W] of Object.entries(F)) {
235
- const H = e[A];
236
- (H == null || H === "") && (e[A] = W);
237
- }
238
- }
239
- if (R.value && w && G) {
240
- const F = pe(G);
241
- if (e = Ye(F, e), Object.keys(e).length === 0 && !K) {
242
- $.value = !1;
243
- const A = V.value;
244
- return V.value = null, G = null, A;
245
- }
246
- }
247
- K && (e = K(e, R.value));
248
- const s = o.some((F) => F.type === "image" && e[F.field] instanceof File);
249
- let f = e, C;
250
- if (s) {
251
- const F = new Set(
252
- o.filter((W) => W.type === "image").map((W) => W.field)
253
- ), A = new FormData();
254
- for (const [W, H] of Object.entries(e))
255
- if (H != null)
256
- if (H instanceof File)
257
- A.append(W, H);
258
- else {
259
- if (F.has(W))
260
- continue;
261
- A.append(W, String(H));
262
- }
263
- f = A, C = { "Content-Type": "multipart/form-data" };
264
- }
265
- const v = C ? { headers: C } : void 0;
266
- let g;
267
- if (R.value && V.value) {
268
- const F = V.value[a];
269
- if (g = await b.update(
270
- l,
271
- F,
272
- f,
273
- v
274
- ), !M) {
275
- const A = k.value.findIndex((W) => W[a] === F);
276
- A !== -1 && (k.value[A] = g.data);
277
- }
278
- p.success(h.successUpdate);
279
- } else
280
- g = await b.create(l, f, v), M || (k.value.unshift(g.data), c.rows++), p.success(h.successCreate);
281
- return $.value = !1, V.value = null, G = null, M && await D(), P && P(g.data, R.value), g.data;
282
- } catch (e) {
283
- return p.error(ie(e, "Erro ao salvar registro")), null;
284
- } finally {
285
- Q.value = !1;
286
- }
287
- }
288
- async function Le(t, e, s) {
289
- const f = t[a], C = o.find((g) => g.field === e);
290
- let v = s;
291
- (C == null ? void 0 : C.type) === "date" && v instanceof Date ? v = De(v) : (C == null ? void 0 : C.type) === "datetime" && v instanceof Date && (v = we(v));
292
- try {
293
- const g = await b.update(l, f, { [e]: v }), F = k.value.findIndex((A) => A[a] === f);
294
- F !== -1 && (k.value[F] = { ...k.value[F], ...g.data }), p.success(h.successUpdate);
295
- } catch (g) {
296
- p.error(ie(g, "Erro ao salvar o campo"));
297
- }
298
- }
299
- async function ge(t) {
300
- try {
301
- const e = t[a];
302
- await b.delete(l, e);
303
- const s = k.value.findIndex((f) => f[a] === e);
304
- s !== -1 && (k.value.splice(s, 1), c.rows--), p.success(h.successDelete), u && u(t);
305
- } catch (e) {
306
- p.error(ie(e, "Erro ao excluir registro"));
307
- }
308
- }
309
- function Ne(t) {
310
- x(() => ge(t), h.deleteConfirmMessage);
311
- }
312
- function $e() {
313
- N.value = [];
314
- }
315
- function Be(t, e) {
316
- e == null || e === "" ? delete n[t] : n[t] = e, c.page = 1, D();
317
- }
318
- function Je() {
319
- for (const t of Object.keys(n)) delete n[t];
320
- c.page = 1, D();
321
- }
322
- return {
323
- items: k,
324
- selectedItems: N,
325
- columnFilters: n,
326
- extras: m,
327
- loading: z,
328
- saving: Q,
329
- search: _,
330
- dialogVisible: $,
331
- editingItem: V,
332
- formData: T,
333
- pagination: c,
334
- sort: S,
335
- isEditing: R,
336
- isViewing: X,
337
- viewMode: B,
338
- dialogTitle: te,
339
- isFirstPage: ne,
340
- isLastPage: re,
341
- init: oe,
342
- fetchItems: D,
343
- fetchAll: ze,
344
- refresh: je,
345
- setSearch: de,
346
- onSearch: Te,
347
- onPage: xe,
348
- onSort: Ie,
349
- openCreateDialog: Ve,
350
- openEditDialog: Ae,
351
- openViewDialog: Me,
352
- openDuplicateDialog: qe,
353
- save: We,
354
- updateField: Le,
355
- confirmDelete: Ne,
356
- performDelete: ge,
357
- setFormField: _e,
358
- resetForm: ce,
359
- goToPage: le,
360
- firstPage: Ce,
361
- lastPage: Ee,
362
- clearSelection: $e,
363
- setColumnFilter: Be,
364
- clearColumnFilters: Je,
365
- config: d
366
- };
367
- }
368
- function et(d) {
369
- const {
370
- rows: l,
371
- onChange: o,
372
- form: a,
373
- createDefaults: r = void 0,
374
- transformPayload: w = void 0,
375
- uniqueBy: M = void 0,
376
- uniqueMessage: ae = "Este item já está na lista.",
377
- toForm: L = void 0,
378
- onAfterSave: O = void 0,
379
- onAfterDelete: U = void 0,
380
- toast: K = !1
381
- } = d, P = { ...he, ...d.labels }, u = be(), { confirmDelete: E } = ke(), b = Z(() => l() ?? []), j = y(!1), Y = y(!1), h = y(null), p = y(-1), x = ee({}), k = fe(a);
382
- for (const n of Object.keys(k))
383
- x[n] = k[n];
384
- const N = Z(() => p.value >= 0), m = Z(() => N.value ? P.editTitle : P.createTitle);
385
- function z() {
386
- const n = fe(a);
387
- for (const i of Object.keys(n))
388
- x[i] = n[i];
389
- }
390
- function I(n, i) {
391
- x[n] = i;
392
- }
393
- function Q() {
394
- if (r)
395
- for (const [n, i] of Object.entries(r()))
396
- x[n] = i;
397
- }
398
- function _() {
399
- h.value = null, p.value = -1, z(), Q(), Y.value = !0;
400
- }
401
- function $(n) {
402
- if (Se(n, a, x), !!L)
403
- for (const [i, q] of Object.entries(L(n)))
404
- x[i] = q;
405
- }
406
- function B(n, i) {
407
- h.value = n, p.value = i, $(n), Y.value = !0;
408
- }
409
- function V(n) {
410
- h.value = null, p.value = -1, z(), $(n), Q(), Y.value = !0;
411
- }
412
- function T(n) {
413
- if (!M) return;
414
- const i = typeof M == "function" ? M(n) : n[M];
415
- if (!(i == null || i === ""))
416
- return String(i);
417
- }
418
- function G() {
419
- const n = Oe(a, x);
420
- if (n)
421
- return u.error(n), null;
422
- let i = Fe(x, a);
423
- if (!N.value && r)
424
- for (const [J, D] of Object.entries(r())) {
425
- const oe = i[J];
426
- (oe == null || oe === "") && (i[J] = D);
427
- }
428
- w && (i = w(i, N.value));
429
- const q = b.value, R = p.value, X = R >= 0, te = X ? { ...q[R], ...i } : { ...i }, ne = T(te);
430
- if (ne !== void 0 && q.some((J, D) => D !== R && T(J) === ne))
431
- return u.error(ae), null;
432
- const re = X ? q.map((J, D) => D === R ? te : J) : [...q, te];
433
- return o(re), K && u.success(X ? P.successUpdate : P.successCreate), O == null || O(te, X), Y.value = !1, h.value = null, p.value = -1, te;
434
- }
435
- function c(n) {
436
- const i = b.value, q = i[n];
437
- q !== void 0 && (o(i.filter((R, X) => X !== n)), K && u.success(P.successDelete), U == null || U(q, n));
438
- }
439
- function S(n, i) {
440
- E(() => c(i), P.deleteConfirmMessage);
441
- }
442
- return {
443
- items: b,
444
- saving: j,
445
- dialogVisible: Y,
446
- editingItem: h,
447
- editingIndex: p,
448
- formData: x,
449
- isEditing: N,
450
- dialogTitle: m,
451
- openCreateDialog: _,
452
- openEditDialog: B,
453
- openDuplicateDialog: V,
454
- save: G,
455
- confirmDelete: S,
456
- performDelete: c,
457
- setFormField: I,
458
- resetForm: z,
459
- labels: P,
460
- config: d
461
- };
462
- }
463
- function tt(d) {
464
- const { endpoint: l, searchDebounce: o = 300, immediate: a = !1 } = d, r = se(me);
465
- if (!r)
466
- throw new Error(
467
- "[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useApi."
468
- );
469
- const w = r, M = se(ye), ae = d.pageSize ?? (M == null ? void 0 : M.defaultPageSize) ?? 20, L = y([]), O = y(!1), U = y(""), K = y({}), P = ee({}), u = ee({
470
- page: 1,
471
- pageSize: ae,
472
- rows: 0,
473
- totalPages: 0
474
- }), E = ee({
475
- field: null,
476
- order: 0
477
- });
478
- let b = null;
479
- async function j(m = {}) {
480
- O.value = !0;
481
- try {
482
- const z = {
483
- page: u.page,
484
- page_size: u.pageSize,
485
- ...m
486
- };
487
- U.value && (z.search = U.value), E.field && E.order !== 0 && (z.ordering = E.order === -1 ? `-${E.field}` : E.field);
488
- for (const [Q, _] of Object.entries(P))
489
- _ != null && _ !== "" && (z[Q] = _);
490
- const I = await w.list(l, z);
491
- L.value = I.data, u.rows = I.rows, I.page && (u.page = I.page), I.page_size && (u.pageSize = I.page_size), u.totalPages = Math.ceil(u.rows / u.pageSize) || 0, K.value = I.extras ?? {};
492
- } finally {
493
- O.value = !1;
494
- }
495
- }
496
- async function Y() {
497
- await j();
498
- }
499
- function h(m) {
500
- U.value = m, b && clearTimeout(b), b = setTimeout(() => {
501
- u.page = 1, j();
502
- }, o);
503
- }
504
- function p(m, z) {
505
- P[m] = z, u.page = 1, j();
506
- }
507
- function x() {
508
- for (const m of Object.keys(P))
509
- delete P[m];
510
- u.page = 1, j();
511
- }
512
- function k(m) {
513
- u.page = m.page + 1, u.pageSize = m.rows, j();
514
- }
515
- function N(m) {
516
- E.field = m.sortField ?? null, E.order = m.sortOrder ?? 0, u.page = 1, j();
517
- }
518
- return a && j(), {
519
- items: L,
520
- loading: O,
521
- search: U,
522
- pagination: u,
523
- sort: E,
524
- extras: K,
525
- fetchItems: j,
526
- refresh: Y,
527
- setSearch: h,
528
- setFilter: p,
529
- clearFilters: x,
530
- onPage: k,
531
- onSort: N
532
- };
533
- }
534
- export {
535
- Ze as a,
536
- et as b,
537
- tt as u
538
- };
539
- //# sourceMappingURL=useApi-BM5JpPDe.js.map