@orchidui/core 1.8.1-107 → 1.8.1-109
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.
- package/dist/DataTable/useDataTable.js +52 -54
- package/package.json +1 -1
@@ -1,81 +1,79 @@
|
|
1
|
-
import { ref as
|
2
|
-
function O(
|
3
|
-
const { id:
|
1
|
+
import { ref as s } from "vue";
|
2
|
+
function O(D) {
|
3
|
+
const { id: L, name: w, localDb: B } = D, _ = s(L), r = s(w), f = s(B), m = s([]), a = s([]), i = s({
|
4
4
|
page: 1,
|
5
5
|
per_page: 10
|
6
|
-
}),
|
6
|
+
}), g = s({
|
7
7
|
total: 0,
|
8
8
|
last_page: 0
|
9
|
-
}), y =
|
10
|
-
let
|
11
|
-
const
|
12
|
-
y.value = !0,
|
13
|
-
let
|
14
|
-
const l =
|
15
|
-
l.filter && Object.entries(l.filter).forEach(([
|
16
|
-
o && Array.isArray(o) ?
|
17
|
-
const
|
18
|
-
return o.some((
|
19
|
-
}) : o && typeof o == "string" ?
|
20
|
-
const
|
21
|
-
return typeof
|
22
|
-
}) : o != null && (
|
23
|
-
}), l.sortBy && l.sortBy.length > 0 && l.sortBy.forEach((
|
24
|
-
|
9
|
+
}), y = s(!1);
|
10
|
+
let b = null;
|
11
|
+
const p = async () => {
|
12
|
+
y.value = !0, b && clearTimeout(b), b = setTimeout(async () => {
|
13
|
+
let t = f.value.table(r.value);
|
14
|
+
const l = I();
|
15
|
+
l.filter && Object.entries(l.filter).forEach(([c, o]) => {
|
16
|
+
o && Array.isArray(o) ? t = t.filter((d) => {
|
17
|
+
const u = d[c];
|
18
|
+
return o.some((v) => typeof v == "string" && typeof u == "string" ? u.toLowerCase().includes(v.toLowerCase()) : u === v);
|
19
|
+
}) : o && typeof o == "string" ? t = t.filter((d) => {
|
20
|
+
const u = d[c];
|
21
|
+
return typeof u == "string" && u.toLowerCase().includes(o.toLowerCase());
|
22
|
+
}) : o != null && (t = t.filter((d) => d[c] === o));
|
23
|
+
}), l.sortBy && l.sortBy.length > 0 && l.sortBy.forEach((c) => {
|
24
|
+
t = t.sortBy(c.column), c.direction === "desc" && (t = t.reverse());
|
25
25
|
});
|
26
|
-
const
|
27
|
-
|
28
|
-
const
|
29
|
-
m.value =
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
last_page: Math.ceil(b / parseInt(r.value.per_page))
|
34
|
-
}, console.log("paginationData", p.value, r.value.per_page), y.value = !1;
|
26
|
+
const e = (parseInt(i.value.page) - 1) * parseInt(i.value.per_page), n = await t.count();
|
27
|
+
t = t.offset(e).limit(parseInt(i.value.per_page));
|
28
|
+
const C = await t.toArray();
|
29
|
+
m.value = C, g.value = {
|
30
|
+
total: n,
|
31
|
+
last_page: Math.ceil(n / parseInt(i.value.per_page))
|
32
|
+
}, y.value = !1;
|
35
33
|
}, 300);
|
36
|
-
},
|
37
|
-
const
|
38
|
-
return Object.entries(
|
39
|
-
!l.includes(
|
34
|
+
}, I = () => {
|
35
|
+
const t = {}, l = ["columnEdit", "page", "per_page"];
|
36
|
+
return Object.entries(i.value).forEach(([e, n]) => {
|
37
|
+
!l.includes(e) && n !== void 0 && n !== null && n !== "" && (t[e] = n);
|
40
38
|
}), {
|
41
|
-
filter:
|
39
|
+
filter: t,
|
42
40
|
sortBy: a.value,
|
43
|
-
pagination:
|
41
|
+
pagination: g.value
|
44
42
|
};
|
45
43
|
};
|
46
44
|
return {
|
47
45
|
// State
|
48
46
|
sortBy: a,
|
49
47
|
localData: m,
|
50
|
-
dataTableId:
|
51
|
-
dbTablename:
|
52
|
-
paginationData:
|
48
|
+
dataTableId: _,
|
49
|
+
dbTablename: r,
|
50
|
+
paginationData: g,
|
53
51
|
isLoading: y,
|
54
52
|
// Methods
|
55
|
-
toggleSort: (
|
56
|
-
const l = a.value.find((
|
53
|
+
toggleSort: (t) => {
|
54
|
+
const l = a.value.find((e) => e.column === t);
|
57
55
|
l ? l.direction === "asc" ? a.value = a.value.map(
|
58
|
-
(
|
59
|
-
) : a.value = a.value.filter((
|
56
|
+
(e) => e.column === t ? { ...e, direction: "desc" } : e
|
57
|
+
) : a.value = a.value.filter((e) => e.column !== t) : a.value = [...a.value, { column: t, direction: "asc" }], p();
|
60
58
|
},
|
61
|
-
bulkPutLocalData: async (
|
62
|
-
await
|
59
|
+
bulkPutLocalData: async (t) => {
|
60
|
+
await f.value.table(r.value).bulkPut(t);
|
63
61
|
},
|
64
|
-
bulkDeleteLocalData: async (
|
65
|
-
await
|
62
|
+
bulkDeleteLocalData: async (t) => {
|
63
|
+
await f.value.table(r.value).bulkDelete(t);
|
66
64
|
},
|
67
65
|
getLocalDataUpdatedAt: async () => {
|
68
|
-
const
|
69
|
-
return
|
66
|
+
const t = await f.value.table(r.value).orderBy("updated_at").reverse().limit(1).first();
|
67
|
+
return t == null ? void 0 : t.updated_at;
|
70
68
|
},
|
71
|
-
getLocalDataIds: async () => await
|
72
|
-
syncLocalData:
|
69
|
+
getLocalDataIds: async () => await f.value.table(r.value).toCollection().primaryKeys(),
|
70
|
+
syncLocalData: p,
|
73
71
|
// Setters
|
74
|
-
setFilter: (
|
75
|
-
|
72
|
+
setFilter: (t) => {
|
73
|
+
i.value = { ...t }, p();
|
76
74
|
},
|
77
|
-
setSortBy: (
|
78
|
-
a.value = { ...
|
75
|
+
setSortBy: (t) => {
|
76
|
+
a.value = { ...t }, p();
|
79
77
|
}
|
80
78
|
};
|
81
79
|
}
|