evui 3.5.0 → 3.5.1

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 (134) hide show
  1. package/dist/index.js +23148 -0
  2. package/dist/index.umd.cjs +28 -0
  3. package/package.json +5 -11
  4. package/dist/_virtual/_plugin-vue_export-helper.js +0 -9
  5. package/dist/common/utils.bignumber.js +0 -23
  6. package/dist/common/utils.debounce.js +0 -66
  7. package/dist/common/utils.js +0 -64
  8. package/dist/common/utils.throttle.js +0 -15
  9. package/dist/components/button/Button.vue.js +0 -65
  10. package/dist/components/button/index.js +0 -7
  11. package/dist/components/buttonGroup/ButtonGroup.vue.js +0 -14
  12. package/dist/components/buttonGroup/index.js +0 -7
  13. package/dist/components/calendar/Calendar.vue.js +0 -299
  14. package/dist/components/calendar/index.js +0 -7
  15. package/dist/components/calendar/uses.js +0 -579
  16. package/dist/components/chart/Chart.vue.js +0 -261
  17. package/dist/components/chart/ChartToolbar.vue.js +0 -32
  18. package/dist/components/chart/chart.core.js +0 -738
  19. package/dist/components/chart/chartZoom.core.js +0 -221
  20. package/dist/components/chart/element/element.bar.js +0 -358
  21. package/dist/components/chart/element/element.bar.time.js +0 -55
  22. package/dist/components/chart/element/element.heatmap.js +0 -403
  23. package/dist/components/chart/element/element.line.js +0 -292
  24. package/dist/components/chart/element/element.pie.js +0 -73
  25. package/dist/components/chart/element/element.scatter.js +0 -209
  26. package/dist/components/chart/element/element.tip.js +0 -312
  27. package/dist/components/chart/helpers/helpers.canvas.js +0 -141
  28. package/dist/components/chart/helpers/helpers.constant.js +0 -253
  29. package/dist/components/chart/helpers/helpers.util.js +0 -265
  30. package/dist/components/chart/index.js +0 -7
  31. package/dist/components/chart/model/index.js +0 -6
  32. package/dist/components/chart/model/model.series.js +0 -82
  33. package/dist/components/chart/model/model.store.js +0 -650
  34. package/dist/components/chart/plugins/plugins.interaction.js +0 -823
  35. package/dist/components/chart/plugins/plugins.legend.gradient.js +0 -281
  36. package/dist/components/chart/plugins/plugins.legend.js +0 -665
  37. package/dist/components/chart/plugins/plugins.pie.js +0 -86
  38. package/dist/components/chart/plugins/plugins.scrollbar.js +0 -345
  39. package/dist/components/chart/plugins/plugins.title.js +0 -43
  40. package/dist/components/chart/plugins/plugins.tooltip.js +0 -508
  41. package/dist/components/chart/scale/scale.js +0 -492
  42. package/dist/components/chart/scale/scale.linear.js +0 -248
  43. package/dist/components/chart/scale/scale.logarithmic.js +0 -82
  44. package/dist/components/chart/scale/scale.step.js +0 -227
  45. package/dist/components/chart/scale/scale.time.category.js +0 -148
  46. package/dist/components/chart/scale/scale.time.js +0 -95
  47. package/dist/components/chart/uses.js +0 -479
  48. package/dist/components/chartBrush/ChartBrush.vue.js +0 -198
  49. package/dist/components/chartBrush/chartBrush.core.js +0 -265
  50. package/dist/components/chartBrush/index.js +0 -7
  51. package/dist/components/chartBrush/uses.js +0 -18
  52. package/dist/components/chartGroup/ChartGroup.vue.js +0 -128
  53. package/dist/components/chartGroup/index.js +0 -7
  54. package/dist/components/chartGroup/uses.js +0 -47
  55. package/dist/components/checkbox/Checkbox.vue.js +0 -99
  56. package/dist/components/checkbox/index.js +0 -7
  57. package/dist/components/checkboxGroup/CheckboxGroup.vue.js +0 -40
  58. package/dist/components/checkboxGroup/index.js +0 -7
  59. package/dist/components/contextMenu/ContextMenu.vue.js +0 -70
  60. package/dist/components/contextMenu/MenuList.vue.js +0 -105
  61. package/dist/components/contextMenu/index.js +0 -7
  62. package/dist/components/contextMenu/uses.js +0 -79
  63. package/dist/components/datePicker/DatePicker.vue.js +0 -310
  64. package/dist/components/datePicker/index.js +0 -7
  65. package/dist/components/datePicker/uses.js +0 -190
  66. package/dist/components/grid/Grid.vue.js +0 -1261
  67. package/dist/components/grid/GridColumnSetting.vue.js +0 -212
  68. package/dist/components/grid/GridFilterSetting.vue.js +0 -222
  69. package/dist/components/grid/GridPagination.vue.js +0 -69
  70. package/dist/components/grid/GridSummary.vue.js +0 -186
  71. package/dist/components/grid/GridToolbar.vue.js +0 -15
  72. package/dist/components/grid/icon/icon-option-button.vue.js +0 -39
  73. package/dist/components/grid/icon/icon-sort-button.vue.js +0 -56
  74. package/dist/components/grid/index.js +0 -7
  75. package/dist/components/grid/uses.js +0 -697
  76. package/dist/components/icon/Icon.vue.js +0 -50
  77. package/dist/components/icon/index.js +0 -8
  78. package/dist/components/inputNumber/InputNumber.vue.js +0 -112
  79. package/dist/components/inputNumber/index.js +0 -7
  80. package/dist/components/inputNumber/uses.js +0 -76
  81. package/dist/components/loading/Loading.vue.js +0 -78
  82. package/dist/components/loading/index.js +0 -7
  83. package/dist/components/menu/Menu.vue.js +0 -66
  84. package/dist/components/menu/MenuItem.vue.js +0 -125
  85. package/dist/components/menu/index.js +0 -7
  86. package/dist/components/message/Message.vue.js +0 -122
  87. package/dist/components/message/index.js +0 -16
  88. package/dist/components/messageBox/MessageBox.vue.js +0 -216
  89. package/dist/components/messageBox/index.js +0 -13
  90. package/dist/components/notification/Notification.vue.js +0 -140
  91. package/dist/components/notification/index.js +0 -23
  92. package/dist/components/pagination/Pagination.vue.js +0 -215
  93. package/dist/components/pagination/index.js +0 -7
  94. package/dist/components/pagination/pageButton.vue.js +0 -35
  95. package/dist/components/progress/Progress.vue.js +0 -88
  96. package/dist/components/progress/index.js +0 -7
  97. package/dist/components/radio/Radio.vue.js +0 -75
  98. package/dist/components/radio/index.js +0 -7
  99. package/dist/components/radioGroup/RadioGroup.vue.js +0 -37
  100. package/dist/components/radioGroup/index.js +0 -7
  101. package/dist/components/scheduler/Scheduler.vue.js +0 -128
  102. package/dist/components/scheduler/index.js +0 -7
  103. package/dist/components/scheduler/uses.js +0 -73
  104. package/dist/components/select/Select.vue.js +0 -381
  105. package/dist/components/select/index.js +0 -7
  106. package/dist/components/select/uses.js +0 -147
  107. package/dist/components/slider/Slider.vue.js +0 -243
  108. package/dist/components/slider/index.js +0 -7
  109. package/dist/components/slider/uses.js +0 -188
  110. package/dist/components/tabPanel/TabPanel.vue.js +0 -39
  111. package/dist/components/tabPanel/index.js +0 -7
  112. package/dist/components/tabs/Tabs.vue.js +0 -220
  113. package/dist/components/tabs/index.js +0 -7
  114. package/dist/components/textField/TextField.vue.js +0 -209
  115. package/dist/components/textField/index.js +0 -7
  116. package/dist/components/timePicker/TimePicker.vue.js +0 -227
  117. package/dist/components/timePicker/index.js +0 -7
  118. package/dist/components/toggle/Toggle.vue.js +0 -66
  119. package/dist/components/toggle/index.js +0 -7
  120. package/dist/components/tree/Tree.vue.js +0 -220
  121. package/dist/components/tree/TreeNode.vue.js +0 -146
  122. package/dist/components/tree/index.js +0 -7
  123. package/dist/components/treeGrid/TreeGrid.vue.js +0 -898
  124. package/dist/components/treeGrid/TreeGridNode.vue.js +0 -274
  125. package/dist/components/treeGrid/TreeGridToolbar.vue.js +0 -15
  126. package/dist/components/treeGrid/index.js +0 -7
  127. package/dist/components/treeGrid/uses.js +0 -497
  128. package/dist/components/window/Window.vue.js +0 -211
  129. package/dist/components/window/index.js +0 -7
  130. package/dist/components/window/uses.js +0 -345
  131. package/dist/directives/clickoutside.js +0 -47
  132. package/dist/main.js +0 -142
  133. package/dist/package.json.js +0 -4
  134. package/dist/resolver.js +0 -17
@@ -1,697 +0,0 @@
1
- import { getCurrentInstance as T, nextTick as _ } from "vue";
2
- import { uniqBy as q } from "lodash-es";
3
- import { numberWithComma as U } from "../../common/utils.js";
4
- const A = 0, N = 1, R = 2, B = 3, V = 4, J = () => {
5
- const { props: k } = T();
6
- return {
7
- isRenderer: (y = {}) => {
8
- var c;
9
- return !!((c = y == null ? void 0 : y.render) != null && c.use);
10
- },
11
- getComponentName: (y = "") => {
12
- const c = (w) => w.charAt(0).toUpperCase() + w.slice(1), v = "Renderer";
13
- let p = "";
14
- if (y.indexOf("_") !== -1) {
15
- const w = y.split("_");
16
- for (let m = 0; m < w.length; m++)
17
- p += c(w[m]);
18
- } else
19
- p = c(y);
20
- return p + v;
21
- },
22
- getConvertValue: (y, c) => {
23
- let v = y.type === "number" || y.type === "float" ? Number(c) : c;
24
- return y.type === "number" ? (v = U(c), v = v === !1 ? c : v) : y.type === "float" && (v = v.toFixed(y.decimal ?? 3).replace(/\B(?=(\d{3})+(?!\d))/g, ",")), v;
25
- },
26
- getColumnIndex: (y) => k.columns.findIndex((c) => c.field === y),
27
- setPixelUnit: (y) => {
28
- let c = y;
29
- const v = c.toString().indexOf("px") >= 0, p = c.toString().indexOf("%") >= 0;
30
- return !v && !p && (c = `${c}px`), c;
31
- }
32
- };
33
- }, X = (k) => {
34
- var n;
35
- const e = ((n = k.movedColumns) != null && n.length ? k.movedColumns : k.originColumns) ?? [], r = new Map(
36
- (k.filteredColumns ?? []).map((f) => [f.index, f])
37
- );
38
- return e.map((f) => {
39
- const S = r.get(f.index) ?? {};
40
- return {
41
- ...f,
42
- ...S
43
- };
44
- });
45
- }, K = (k) => {
46
- const {
47
- scrollInfo: e,
48
- stores: r,
49
- elementInfo: n,
50
- resizeInfo: f,
51
- pageInfo: S,
52
- summaryScroll: y,
53
- getPagingData: c,
54
- updatePagingInfo: v,
55
- expandedInfo: p
56
- } = k, w = (H) => {
57
- var C, s;
58
- const o = n.body, t = f.rowHeight, i = p.detailRowHeight ?? 0;
59
- if (o) {
60
- let a = r.store;
61
- S.isClientPaging && (a = c());
62
- const h = ((C = p.expandedRows) == null ? void 0 : C.length) ?? 0, b = ((s = p.expandedRows) == null ? void 0 : s.map(
63
- (D) => a.findIndex((W) => W[R] === D)
64
- )) ?? [], x = a.length * t + h * i;
65
- let l = 0, u = 0;
66
- if (h)
67
- for (l = 0; u + t < o.scrollTop; l++)
68
- b.includes(l) && (u += i), u += t;
69
- else
70
- l = Math.floor(o.scrollTop / t), u = Math.max(l, 0) * t;
71
- l > a.length - 1 && (l = 0);
72
- let d = 0, g = 0;
73
- if (h)
74
- for (let D = l; g <= o.clientHeight; D++)
75
- b.includes(D) && (g += i), g += t, d += 1;
76
- else
77
- d = o.clientHeight > t ? Math.ceil(o.clientHeight / t) : a.length, g = d * t;
78
- const E = l + d + 1, M = Math.max(l, 0), P = E, L = n.table;
79
- r.viewStore = a.slice(M, P), e.hasVerticalScrollBar = d < a.length || o.clientHeight < L.clientHeight, e.vScrollTopHeight = u, e.vScrollBottomHeight = x - g - e.vScrollTopHeight, H && S.isInfinite && e.vScrollBottomHeight === 0 && (S.prevPage = S.currentPage, S.currentPage = Math.ceil(P / S.perPage) + 1, S.startIndex = P, v({ onScrollEnd: !0 }));
80
- }
81
- }, m = (H) => {
82
- if (p.useRowDetail && !p.detailRowHeight) {
83
- let o = r.store;
84
- S.isClientPaging && (o = c()), r.viewStore = [...o], e.vScrollTopHeight = 0, e.vScrollBottomHeight = 0;
85
- } else
86
- w(H);
87
- }, I = () => {
88
- const H = n.header, o = n.body, t = n.table;
89
- H.scrollLeft = o.scrollLeft, y.value = o.scrollLeft, e.hasHorizontalScrollBar = o.clientWidth < t.clientWidth;
90
- };
91
- return { updateVScroll: m, updateHScroll: I, onScroll: () => {
92
- const H = n.body, o = H.scrollTop, t = H.scrollLeft, i = e.lastScroll.top, C = e.lastScroll.left, s = t !== C;
93
- o !== i && (H != null && H.clientHeight) && m(!0), s && I(), e.lastScroll.top = o, e.lastScroll.left = t;
94
- } };
95
- }, Q = (k) => {
96
- const { props: e, emit: r } = T(), {
97
- resizeInfo: n,
98
- elementInfo: f,
99
- checkInfo: S,
100
- expandedInfo: y,
101
- stores: c,
102
- isRenderer: v,
103
- updateVScroll: p,
104
- updateHScroll: w,
105
- contextInfo: m
106
- } = k, I = () => {
107
- var C;
108
- let t = n.columnWidth, i = 0;
109
- if (n.adjust) {
110
- const s = f.body;
111
- let a = s.offsetWidth;
112
- const h = s.offsetHeight, b = ((C = s.querySelector("tr")) == null ? void 0 : C.offsetHeight) || n.rowHeight, x = a - s.clientWidth, l = c.orderedColumns.reduce(
113
- (u, d) => (d.hide || d.hiddenDisplay || (d.width ? u.totalWidth += d.width : u.emptyCount++), u),
114
- { totalWidth: m.customContextMenu.length ? 30 : 0, emptyCount: 0 }
115
- );
116
- if (b * e.rows.length > h && (a -= x), S.useCheckbox.use && (a -= n.minWidth), y.useRowDetail && (a -= n.minWidth), t = a - l.totalWidth, t > 0) {
117
- const u = l.emptyCount === 0 ? 0 : Math.floor(t / l.emptyCount);
118
- i = t - u * l.emptyCount, t = l.emptyCount !== 0 ? u : t;
119
- } else
120
- t = n.columnWidth;
121
- t = t < n.minWidth ? n.minWidth : t, n.columnWidth = t;
122
- }
123
- if (c.orderedColumns.forEach((s) => {
124
- const a = v(s) ? n.rendererMinWidth : n.minWidth;
125
- s.width && s.width < a && (s.width = a), !s.width && !s.hide && (s.width = t);
126
- }), i && c.orderedColumns.length) {
127
- let s = c.orderedColumns.length - 1, a = c.orderedColumns[s];
128
- for (; s > 0 && a && (a.hide || a.hiddenDisplay); )
129
- s -= 1, a = c.orderedColumns[s];
130
- a && (a.width += i);
131
- }
132
- }, O = () => {
133
- const t = new Map(e.columns.map((i) => [i.field, i.width]));
134
- _(() => {
135
- var i, C;
136
- n.adjust && c.orderedColumns.forEach((s) => {
137
- const a = s;
138
- return a.resized || (a.width = t.get(a.field) ?? 0), a;
139
- }, void 0), I(), (i = f.body) != null && i.clientHeight && p(), (C = f.body) != null && C.clientWidth && w();
140
- });
141
- };
142
- return { calculatedColumn: I, onResize: O, onShow: (t) => {
143
- t && O();
144
- }, onColumnResize: (t, i) => {
145
- i.preventDefault();
146
- const C = f.header, s = f.body, a = C.getBoundingClientRect().left, h = C.querySelector(`li[data-index="${t}"]`), b = v(c.orderedColumns[t]) ? n.rendererMinWidth : n.minWidth, x = h.getBoundingClientRect(), l = f.resizeLine, u = x.left - a + b, d = x.right - a, g = i.clientX, E = x.left - a;
147
- s.style.overflow = "auto", l.style.left = `${d}px`, n.showResizeLine = !0;
148
- const M = (L) => {
149
- const D = L.clientX - g, W = d + D, F = Math.max(u, W);
150
- l.style.left = `${F}px`;
151
- }, P = () => {
152
- const D = parseInt(l.style.left, 10) - E;
153
- c.orderedColumns[t] && (c.orderedColumns[t].width = D, c.orderedColumns[t].resized = !0), n.showResizeLine = !1, document.removeEventListener("mousemove", M), O();
154
- const W = X(c);
155
- r("resize-column", {
156
- column: c.orderedColumns[t],
157
- columns: W
158
- }), r("change-column-info", {
159
- type: "resize",
160
- columns: W
161
- });
162
- };
163
- document.addEventListener("mousemove", M), document.addEventListener("mouseup", P, { once: !0 });
164
- } };
165
- }, Y = (k) => {
166
- const { emit: e } = T(), { selectInfo: r, stores: n } = k, f = (p, w) => {
167
- var O;
168
- const m = (O = p.target.tagName) == null ? void 0 : O.toLowerCase();
169
- let I = {};
170
- return m === "td" ? I = p.target.dataset : I = p.target.parentNode.dataset, {
171
- event: p,
172
- rowData: w[R],
173
- rowIndex: w[A],
174
- cellName: I.name,
175
- cellIndex: I.index
176
- };
177
- };
178
- let S = null, y = -1;
179
- return { onRowClick: (p, w, m) => {
180
- var H, o, t;
181
- if ((H = p.target.parentElement.classList) != null && H.contains("row-checkbox-input"))
182
- return !1;
183
- const I = !!((t = (o = p.target.closest("td")) == null ? void 0 : o.classList) != null && t.contains("row-contextmenu")), O = (i, C, s) => {
184
- if (i === "shift") {
185
- const a = w[A];
186
- if (y > -1)
187
- for (let h = Math.min(a, y); h <= Math.max(a, y); h++)
188
- if (!C)
189
- n.originStore[h][B] = !0, y !== h && r.selectedRow.push(n.originStore[h][R]);
190
- else {
191
- n.originStore[h][B] = !1;
192
- const b = r.selectedRow.indexOf(
193
- n.originStore[h][R]
194
- );
195
- b > -1 && r.selectedRow.splice(b, 1);
196
- }
197
- } else i === "ctrl" && (C ? r.selectedRow.splice(r.selectedRow.indexOf(w[R]), 1) : r.selectedRow.push(s));
198
- };
199
- return S && clearTimeout(S), S = setTimeout(() => {
200
- if (r.useSelect) {
201
- const i = w[R], C = w[B];
202
- w[B] = !w[B];
203
- let s = "";
204
- p.shiftKey ? s = "shift" : p.ctrlKey && (s = "ctrl"), r.multiple && s ? O(s, C, i) : m || I ? (r.selectedRow = [...r.selectedRow], r.selectedRow.includes(i) || (r.selectedRow = [i])) : C ? r.selectedRow = [] : r.selectedRow = [i], y = w[A], e("update:selected", r.selectedRow), e("click-row", f(p, w));
205
- }
206
- }, 100), !0;
207
- }, onRowDblClick: (p, w) => {
208
- S && clearTimeout(S), e("dblclick-row", f(p, w));
209
- } };
210
- }, Z = (k) => {
211
- const { checkInfo: e, stores: r, pageInfo: n, getPagingData: f } = k, { props: S, emit: y } = T(), c = (w) => {
212
- const m = r.originStore.findIndex(
213
- (I) => I[R] === w[R]
214
- );
215
- m !== -1 && (r.originStore[m][N] = w[N]);
216
- };
217
- return { onCheck: (w, m) => {
218
- if (e.useCheckbox.mode === "single" && e.prevCheckedRow.length && (e.prevCheckedRow = [], c(e.prevCheckedRow)), m[N]) {
219
- e.useCheckbox.mode === "single" ? e.checkedRows = [m[R]] : e.checkedRows.push(m[R]);
220
- let I = r.store;
221
- n.isClientPaging && (I = f());
222
- const O = I.filter((H) => !S.uncheckable.includes(H[R])).filter((H) => !S.disabledRows.includes(H[R])).every((H) => H[N]);
223
- I.length && O && (e.isHeaderChecked = !0), e.isHeaderIndeterminate = I.length && !O;
224
- } else
225
- e.useCheckbox.mode === "single" ? e.checkedRows = [] : e.checkedRows.splice(e.checkedRows.indexOf(m[R]), 1), e.isHeaderChecked = !1, e.isHeaderIndeterminate = !!(r.store.length && e.checkedRows.length);
226
- e.prevCheckedRow = m.slice(), y("update:checked", e.checkedRows), y("check-row", w, m[A], m[R]);
227
- }, onCheckAll: (w) => {
228
- const m = e.isHeaderChecked;
229
- let I = r.store;
230
- n.isClientPaging && (I = f()), I.forEach((O) => {
231
- const H = S.uncheckable.includes(O[R]) || S.disabledRows.includes(O[R]);
232
- m ? !e.checkedRows.includes(O[R]) && !H && e.checkedRows.push(O[R]) : e.checkedRows.splice(e.checkedRows.indexOf(O[R]), 1), H || (O[N] = m);
233
- }), e.isHeaderIndeterminate = !1, y("update:checked", e.checkedRows), y("check-all", w, e.checkedRows);
234
- } };
235
- }, ee = (k) => {
236
- const { expandedInfo: e } = k, { emit: r } = T();
237
- return {
238
- onExpanded: (f, S) => {
239
- const y = S[R], c = e.expandedRows.indexOf(y);
240
- c === -1 ? e.expandedRows.push(y) : e.expandedRows.splice(c, 1), S[V] = !S[V], r("update:expanded", e.expandedRows), r("expand-row", f, S[R], S[V], S[A]);
241
- }
242
- };
243
- }, te = (k) => {
244
- const { sortInfo: e, stores: r, updatePagingInfo: n } = k, { emit: f } = T(), S = (o = !0) => o ? ["asc", "desc", "init"] : ["asc", "desc"];
245
- function y() {
246
- this.orders = S(), this.dequeue = () => this.orders.shift(), this.enqueue = (o) => this.orders.push(o);
247
- }
248
- const c = (o, t = "init") => {
249
- r.orderedColumns.forEach((i) => {
250
- i.index === (o == null ? void 0 : o.index) && t ? i.sortOption = { sortType: t } : i.sortOption = { sortType: "init" };
251
- });
252
- }, v = () => {
253
- const o = r.originColumns.filter((t) => t.hiddenDisplay || t.hide);
254
- o.length && o.forEach((t) => {
255
- t.sortOption = { sortType: "init" };
256
- });
257
- }, p = new y(), w = (o, t = !0) => {
258
- const { sortType: i } = (o == null ? void 0 : o.sortOption) || {};
259
- e.sortColumn = o, e.sortField = o == null ? void 0 : o.field, e.sortOrder = i, e.isSorting = !!i, t && (c(o, i), f("change-column-info", {
260
- type: "sort",
261
- columns: X(r)
262
- }));
263
- }, m = (o, t) => {
264
- if (o.sortable === void 0 ? !0 : o.sortable) {
265
- e.sortColumn = o, e.sortField !== (o == null ? void 0 : o.field) && (p.orders = S(), e.sortField = o == null ? void 0 : o.field), t && (p.orders = S(), t === "desc" && (e.sortOrder = p.dequeue(), p.enqueue(e.sortOrder))), e.sortOrder = p.dequeue(), p.enqueue(e.sortOrder), e.isSorting = !0, n({ onSort: !0 }), v(), c(o, e.sortOrder);
266
- const C = X(r);
267
- f("sort-column", {
268
- field: e.sortField,
269
- order: e.sortOrder,
270
- column: e.sortColumn,
271
- columns: C
272
- }), f("change-column-info", {
273
- type: "sort",
274
- columns: C
275
- });
276
- }
277
- }, I = () => {
278
- var d;
279
- const { field: o, index: t } = e.sortColumn || {}, i = ((d = e.sortFunction) == null ? void 0 : d[o]) ?? null, C = (g, E) => g > E ? -1 : 1, s = (g, E) => g < E ? -1 : 1, a = (g, E) => (g === null) - (E === null) || Number(E) - Number(g), h = (g, E) => (g === null) - (E === null) || Number(g) - Number(E);
280
- if (e.sortOrder === "init" || !e.sortField && !e.isSorting) {
281
- r.store.sort((g, E) => typeof g[A] == "number" ? s(g[A], E[A]) : 0);
282
- return;
283
- }
284
- const b = e.sortColumn.type || "string", x = e.sortOrder === "desc" ? C : s, l = e.sortOrder === "desc" ? a : h, u = (g, E) => {
285
- var L, D;
286
- let M = g[R][t], P = E[R][t];
287
- return g[R][t] && typeof g[R][t] == "object" && (M = g[R][t][(L = r.originColumns[t]) == null ? void 0 : L.field], P = E[R][t][(D = r.originColumns[t]) == null ? void 0 : D.field]), { aCol: M, bCol: P };
288
- };
289
- if (i) {
290
- r.store.sort((g, E) => {
291
- const M = g[R][t], P = E[R][t], L = i(M, P);
292
- return e.sortOrder === "desc" ? -L : L;
293
- });
294
- return;
295
- }
296
- switch (b) {
297
- case "string":
298
- r.store.sort((g, E) => {
299
- let { aCol: M, bCol: P } = u(g, E);
300
- if ((!M || typeof M == "string") && (!P || typeof P == "string")) {
301
- M = M || "", P = P || "";
302
- const L = M.toLowerCase(), D = P.toLowerCase();
303
- if (M !== P && L === D) {
304
- const W = Array.from(M).findIndex((F, z) => F !== P[z]);
305
- return x(M[W], P[W]);
306
- }
307
- return x(L, D);
308
- }
309
- return 0;
310
- });
311
- break;
312
- case "stringNumber":
313
- r.store.sort((g, E) => {
314
- let { aCol: M, bCol: P } = u(g, E);
315
- return !M || typeof M == "string" || typeof M == "number" ? (M = M === "" ? null : M, P = P === "" ? null : P, l(M ?? null, P ?? null)) : 0;
316
- });
317
- break;
318
- default:
319
- r.store.sort((g, E) => {
320
- const { aCol: M, bCol: P } = u(g, E);
321
- return !M || typeof M == "number" || typeof M == "boolean" ? l(M ?? null, P ?? null) : 0;
322
- });
323
- break;
324
- }
325
- }, O = () => {
326
- var o;
327
- return (o = r.orderedColumns) == null ? void 0 : o.find(
328
- (t) => (t == null ? void 0 : t.sortOption) && S(!1).includes(t.sortOption.sortType)
329
- );
330
- };
331
- return { onSort: m, getSortTarget: O, setSort: I, setSortInfo: w, hasSortTarget: () => !!O() };
332
- }, ne = (k) => {
333
- const { props: e } = T(), {
334
- columnSettingInfo: r,
335
- filterInfo: n,
336
- stores: f,
337
- checkInfo: S,
338
- pageInfo: y,
339
- getConvertValue: c,
340
- updateVScroll: v,
341
- getPagingData: p,
342
- updatePagingInfo: w,
343
- getColumnIndex: m
344
- } = k, I = (h) => {
345
- let b = 0;
346
- h.forEach((x) => {
347
- const l = S.checkedRows.includes(x[R]);
348
- x[N] = l, b += l ? 1 : 0;
349
- }), h.length && (S.isHeaderChecked = h.length === b, S.isHeaderIndeterminate = h.length !== b && b > 0, S.isHeaderUncheckable = h.every(
350
- (x) => e.uncheckable.includes(x[R]) || e.disabledRows.includes(x[R])
351
- ));
352
- }, O = (h, b, x) => {
353
- if (typeof h != "string" || b === null)
354
- return !1;
355
- const l = b == null ? void 0 : b.toLowerCase(), u = h == null ? void 0 : h.toLowerCase();
356
- let d = l.includes(u);
357
- return x && (x === "start" ? d = l.startsWith(u) : x === "end" && (d = l.endsWith(u))), d;
358
- }, H = (h, b) => {
359
- const x = b.comparison, l = b.value;
360
- let u = h[R][b.index];
361
- (u || u === 0) && (u = `${h[R][b.index]}`);
362
- let d;
363
- return x === "=" ? d = (l == null ? void 0 : l.toLowerCase()) === (u == null ? void 0 : u.toLowerCase()) : x === "!=" ? d = (l == null ? void 0 : l.toLowerCase()) !== (u == null ? void 0 : u.toLowerCase()) : x === "%s%" ? d = O(l, u) : x === "notLike" ? d = !O(l, u) : x === "s%" ? d = O(l, u, "start") : x === "%s" ? d = O(l, u, "end") : x === "isEmpty" ? d = u == null || u === "" : x === "isNotEmpty" && (d = !!u), d;
364
- }, o = (h, b, x) => {
365
- const l = b.comparison, u = Number(b.value.replace(/,/g, ""));
366
- let d = Number(h[R][b.index]), g;
367
- return x === "float" && (d = Number(d.toFixed(3))), l === "=" ? g = d === u : l === ">" ? g = d > u : l === "<" ? g = d < u : l === "<=" ? g = d <= u : l === ">=" ? g = d >= u : l === "!=" ? g = d !== u : l === "isEmpty" ? g = d == null || isNaN(d) : l === "isNotEmpty" && (g = !!d || d === 0), g;
368
- }, t = (h, b) => {
369
- const x = b.comparison, l = b.value, u = `${h[R][b.index]}`;
370
- let d;
371
- return x === "=" && (d = u === l), d;
372
- }, i = (h, b, x) => {
373
- let l = b === "string" || b === "stringNumber" ? H : o;
374
- return b === "boolean" && (l = t), h.filter((u) => l(u, x, b)) || [];
375
- }, C = () => {
376
- const h = n.filteringItemsByColumn, b = Object.keys(h), x = f.originStore;
377
- let l = [], u = !1, d = [];
378
- b.forEach((g, E) => {
379
- const M = h[g], P = m(g), L = e.columns[P].type, D = n.columnOperator === "or", W = E > 0 && n.columnOperator === "and";
380
- M.forEach((F, z) => {
381
- !l.length && !u ? l = i(x, L, {
382
- ...F,
383
- index: P
384
- }) : W && F.operator === "or" ? z > 0 ? l.push(
385
- ...i(d, L, {
386
- ...F,
387
- index: P
388
- })
389
- ) : l = i(d, L, {
390
- ...F,
391
- index: P
392
- }) : z === 0 && D || z !== 0 && F.operator === "or" ? l.push(
393
- ...i(x, L, {
394
- ...F,
395
- index: P
396
- })
397
- ) : l = i(l, L, {
398
- ...F,
399
- index: P
400
- }), u = !0;
401
- }), d = JSON.parse(JSON.stringify(l));
402
- }), u ? f.filterStore = q(l, JSON.stringify) : f.filterStore = x;
403
- };
404
- let s = null;
405
- return { onSearch: (h) => {
406
- s && clearTimeout(s), s = setTimeout(() => {
407
- n.isSearch = !1, n.searchWord = h, h && (f.searchStore = f.store.filter((b) => {
408
- let x = !1;
409
- const l = r.isFilteringColumn ? b[R].filter(
410
- (u, d) => r.visibleColumnIdx.includes(d)
411
- ) : b[R];
412
- for (let u = 0; u < f.orderedColumns.length; u++) {
413
- const d = f.orderedColumns[u] || {};
414
- let g = l[d.index] ?? null;
415
- if (d.type = d.type || "string", g !== null && (g instanceof Array ? g = JSON.stringify(g) : typeof g == "object" && (g = g[d.field]), !d.hide && ((d == null ? void 0 : d.searchable) === void 0 || d != null && d.searchable) && (g = c(d, g).toString(), x = g.toLowerCase().includes(h.toString().toLowerCase()), x)))
416
- break;
417
- }
418
- return x;
419
- }), n.isSearch = !0), I(f.store), !h && y.isClientPaging && y.prevPage && (y.currentPage = 1, f.pagingStore = p()), w({ onSearch: !0 }), v();
420
- }, 500);
421
- }, setFilter: C, setHeaderCheckboxByFilter: I };
422
- }, oe = (k) => {
423
- const {
424
- contextInfo: e,
425
- stores: r,
426
- selectInfo: n,
427
- onSort: f,
428
- filterInfo: S,
429
- useGridSetting: y,
430
- columnSettingInfo: c,
431
- setColumnHidden: v
432
- } = k;
433
- let p = null;
434
- const { emit: w } = T(), m = (o) => {
435
- p && clearTimeout(p);
436
- const t = [];
437
- p = setTimeout(() => {
438
- if (e.customContextMenu.length) {
439
- const i = e.customContextMenu.map((C) => {
440
- const s = C;
441
- return s.validate && (s.disabled = !s.validate(s.itemId, n.selectedRow)), s.selectedRow = n.selectedRow ?? [], s.contextmenuInfo = n.contextmenuInfo ?? [], s;
442
- });
443
- t.push(...i);
444
- }
445
- e.contextMenuItems = t, e.menu.show(o);
446
- }, 200);
447
- };
448
- return {
449
- setContextMenu: m,
450
- onContextMenu: (o) => {
451
- var s, a, h;
452
- o.preventDefault();
453
- const i = (a = (s = o.target.closest(".row")) == null ? void 0 : s.dataset) == null ? void 0 : a.index;
454
- let C = null;
455
- i && (C = (h = r.viewStore.find((b) => b[A] === +i)) == null ? void 0 : h[R]), C && (n.contextmenuInfo = [C], m(o));
456
- },
457
- onColumnContextMenu: (o, t) => {
458
- var i, C, s, a, h, b, x, l;
459
- if (o.target.className === "column-name") {
460
- const u = t.sortable === void 0 ? !0 : t.sortable, d = S.isFiltering && t.filterable === void 0 ? !0 : t.filterable, g = [
461
- {
462
- text: ((i = e.columnMenuTextInfo) == null ? void 0 : i.ascending) ?? "Ascending",
463
- iconClass: "ev-icon-allow2-up",
464
- disabled: !u,
465
- hidden: (C = e.hiddenColumnMenuItem) == null ? void 0 : C.ascending,
466
- click: () => f(t, "asc")
467
- },
468
- {
469
- text: ((s = e.columnMenuTextInfo) == null ? void 0 : s.descending) ?? "Descending",
470
- iconClass: "ev-icon-allow2-down",
471
- disabled: !u,
472
- hidden: (a = e.hiddenColumnMenuItem) == null ? void 0 : a.descending,
473
- click: () => f(t, "desc")
474
- },
475
- {
476
- text: ((h = e.columnMenuTextInfo) == null ? void 0 : h.filter) ?? "Filter",
477
- iconClass: "ev-icon-filter-list",
478
- click: () => {
479
- const E = document.documentElement.clientWidth, M = e.columnMenu.menuStyle.clientX, P = e.columnMenu.menuStyle.pageX, L = 350;
480
- E < M + L && (e.columnMenu.menuStyle.left = `${P - L}px`), S.filterSettingPosition = {
481
- top: e.columnMenu.menuStyle.top,
482
- left: e.columnMenu.menuStyle.left
483
- }, S.isShowFilterSetting = !0, S.filteringColumn = t, w("change-column-info", {
484
- type: "filter",
485
- columns: r.updatedColumns
486
- });
487
- },
488
- disabled: !d,
489
- hidden: ((b = e.hiddenColumnMenuItem) == null ? void 0 : b.filter) || !S.isFiltering
490
- },
491
- {
492
- text: ((x = e.columnMenuTextInfo) == null ? void 0 : x.hide) ?? "Hide",
493
- iconClass: "ev-icon-visibility-off",
494
- disabled: !y.value || r.orderedColumns.length === 1 || t.fixed,
495
- hidden: ((l = e.hiddenColumnMenuItem) == null ? void 0 : l.hide) || !y.value,
496
- click: () => {
497
- v(t.field), w("change-column-status", {
498
- columns: r.updatedColumns
499
- }), w("change-column-info", {
500
- type: "display",
501
- columns: r.updatedColumns
502
- });
503
- }
504
- }
505
- ];
506
- if (e.columnMenuItems = [], !u && !d && !y.value)
507
- return;
508
- e.columnMenuItems = g.filter((E) => !E.hidden);
509
- }
510
- },
511
- onGridSettingContextMenu: (o) => {
512
- const { useDefaultColumnSetting: t, columnSettingTextInfo: i } = c, C = {
513
- text: (i == null ? void 0 : i.title) ?? "Column List",
514
- isShowMenu: !0,
515
- click: () => {
516
- c.isShowColumnSetting = !0, e.isShowMenuOnClick = !0;
517
- }
518
- };
519
- e.customGridSettingContextMenu.length && (e.gridSettingContextMenuItems = [...e.customGridSettingContextMenu]), t && e.gridSettingContextMenuItems.push(C), e.gridSettingMenu.show(o);
520
- }
521
- };
522
- }, se = (k) => {
523
- const { props: e } = T(), {
524
- selectInfo: r,
525
- checkInfo: n,
526
- stores: f,
527
- sortInfo: S,
528
- elementInfo: y,
529
- filterInfo: c,
530
- expandedInfo: v,
531
- setSort: p,
532
- setSortInfo: w,
533
- updateVScroll: m,
534
- setFilter: I
535
- } = k;
536
- return { setStore: ({ rows: H, isMakeIndex: o = !0, isInit: t = !1 }) => {
537
- var C, s, a;
538
- const i = f.orderedColumns.find(
539
- (h) => (h == null ? void 0 : h.sortOption) && ["asc", "desc"].includes(h.sortOption.sortType)
540
- );
541
- if (o) {
542
- const h = [];
543
- let b = !1;
544
- H.forEach((x, l) => {
545
- const u = e.checked.includes(x), d = e.uncheckable.includes(x) || e.disabledRows.includes(x);
546
- let g = !1;
547
- r.useSelect && (g = e.selected.includes(x)), !u && !d && (b = !0);
548
- let E = !1;
549
- v.useRowDetail && (E = e.expanded.includes(x));
550
- const M = e.disabledRows.includes(x);
551
- h.push([l, u, x, g, E, d, M]);
552
- }), H.length !== e.checked.length && (H.length === ((C = e.uncheckable) == null ? void 0 : C.length) || H.length === ((s = e.disabledRows) == null ? void 0 : s.length)) && (b = !0), n.isHeaderChecked = H.length > 0 ? !b : !1, n.isHeaderIndeterminate = b && !!n.checkedRows.length, n.isHeaderUncheckable = H.every(
553
- (x) => e.uncheckable.includes(x) || e.disabledRows.includes(x)
554
- ), f.originStore = h;
555
- }
556
- c.isFiltering && I(), i && t && w(i, !1), S.sortField && p(), (a = y.body) != null && a.clientHeight && m();
557
- } };
558
- }, ie = (k) => {
559
- const { emit: e } = T(), { stores: r, pageInfo: n, sortInfo: f, filterInfo: S, elementInfo: y, clearCheckInfo: c } = k, v = () => {
560
- const m = (n.currentPage - 1) * n.perPage, I = parseInt(m, 10) + parseInt(n.perPage, 10);
561
- return r.store.slice(m, I);
562
- }, p = (m) => {
563
- e("page-change", {
564
- eventName: m,
565
- pageInfo: {
566
- currentPage: n.currentPage,
567
- prevPage: n.prevPage,
568
- startIndex: n.startIndex,
569
- total: n.pageTotal,
570
- perPage: n.perPage
571
- },
572
- sortInfo: {
573
- field: f.sortField,
574
- order: f.sortOrder
575
- },
576
- searchInfo: {
577
- searchWord: S.searchWord,
578
- searchColumns: r.orderedColumns.filter((I) => !I.hide && ((I == null ? void 0 : I.searchable) === void 0 || (I == null ? void 0 : I.searchable))).map((I) => I.field)
579
- }
580
- }), n.isInfinite && (m != null && m.onSearch || m != null && m.onSort) && (n.currentPage = 1, y.body.scrollTop = 0, c());
581
- };
582
- return { getPagingData: v, updatePagingInfo: p, changePage: (m) => {
583
- if (n.isClientPaging)
584
- if (n.prevPage = m, r.store.length <= n.perPage)
585
- r.pagingStore = r.store;
586
- else {
587
- const I = (n.currentPage - 1) * n.perPage, O = parseInt(I, 10) + parseInt(n.perPage, 10);
588
- r.pagingStore = r.store.slice(I, O), y.body.scrollTop = 0, n.startIndex = I;
589
- }
590
- p({ onChangePage: !0 });
591
- } };
592
- }, re = (k) => {
593
- const { props: e, emit: r } = T(), { stores: n, columnSettingInfo: f, contextInfo: S, onSearch: y, onResize: c } = k, v = (o) => {
594
- var t, i, C;
595
- if (f.isShowColumnSetting)
596
- if (f.columnSettingPosition.columnListMenuWidth = 0, S.gridSettingContextMenuItems.length) {
597
- const s = S.gridSettingContextMenuItems.length - 1, a = (C = (i = (t = S.gridSettingMenu) == null ? void 0 : t.rootMenuList) == null ? void 0 : i.$el) == null ? void 0 : C.children[0].children[s].getBoundingClientRect();
598
- f.columnSettingPosition.columnListMenuWidth = a.width, f.columnSettingPosition.top = a.top, f.columnSettingPosition.left = a.right;
599
- } else {
600
- const s = o == null ? void 0 : o.getBoundingClientRect(), a = s == null ? void 0 : s.height;
601
- f.columnSettingPosition.top = (s == null ? void 0 : s.top) + a, f.columnSettingPosition.left = s == null ? void 0 : s.right;
602
- }
603
- }, p = () => {
604
- n.filteredColumns.length = 0, f.isFilteringColumn = !1, f.visibleColumnIdx = [], f.hiddenColumn = "";
605
- }, w = () => Array.isArray(n.movedColumns) && n.movedColumns.length ? n.movedColumns : n.originColumns || [], m = (o, t) => {
606
- var C;
607
- if (!o)
608
- return;
609
- o.hiddenDisplay = t;
610
- const i = (C = n.originColumns) == null ? void 0 : C.find((s) => s.index === o.index);
611
- if (i && i !== o && (i.hiddenDisplay = t), Array.isArray(n.movedColumns)) {
612
- const s = n.movedColumns.find((a) => a.index === o.index);
613
- s && s !== o && (s.hiddenDisplay = t);
614
- }
615
- }, I = () => {
616
- f.visibleColumnIdx = n.filteredColumns.map((i) => i.index);
617
- const o = n.originColumns.filter((i) => !i.hide || i.hiddenDisplay).map((i) => i.index), t = f.visibleColumnIdx;
618
- f.isFilteringColumn = t.length !== o.length, e.option.searchValue && y(e.option.searchValue), c();
619
- };
620
- return {
621
- setPositionColumnSetting: v,
622
- initColumnSettingInfo: p,
623
- onApplyColumn: (o) => {
624
- const t = n.orderedColumns.filter((a) => !a.hide && !a.hiddenDisplay);
625
- if (o.length === t.length && t.every((a) => o.includes(a.field)))
626
- return;
627
- const C = w(), s = new Set(o);
628
- n.filteredColumns = C.filter((a) => {
629
- const h = s.has(a.field) || !a.caption;
630
- return m(a, !h), h;
631
- }), f.hiddenColumn = "", I(), r("change-column-status", {
632
- columns: n.updatedColumns
633
- }), r("change-column-info", {
634
- type: "display",
635
- columns: n.updatedColumns
636
- });
637
- },
638
- setColumnHidden: (o) => {
639
- const t = n.orderedColumns.filter((C) => !C.hide && !C.hiddenDisplay);
640
- if (t.length === 1)
641
- return;
642
- n.filteredColumns = t.filter((C) => {
643
- const s = C.field === o;
644
- return m(C, s), !s;
645
- }), w().forEach((C) => {
646
- C.field === o && m(C, !0);
647
- }), f.hiddenColumn = o, I();
648
- }
649
- };
650
- }, le = ({ stores: k }) => {
651
- const { emit: e } = T(), r = (c) => {
652
- var m;
653
- const v = (m = k.movedColumns) != null && m.length ? [...k.movedColumns] : [...k.originColumns], p = [...c], w = new Set(p.map((I) => I.index));
654
- k.movedColumns = v.map((I) => w.has(I.index) ? p.shift() : I);
655
- }, n = (c, v) => {
656
- const p = parseInt(c, 10), w = parseInt(v, 10);
657
- if (!Number.isInteger(p) || !Number.isInteger(w))
658
- return;
659
- const m = [...k.orderedColumns], I = m[p];
660
- m.splice(p, 1), m.splice(w, 0, I), k.filteredColumns.length && (k.filteredColumns = m), r(m);
661
- };
662
- return {
663
- onDragStart: (c) => {
664
- c.dataTransfer.setData("text/plain", c.currentTarget.dataset.index);
665
- },
666
- onDragOver: (c) => {
667
- c.preventDefault();
668
- },
669
- onDrop: (c) => {
670
- c.preventDefault();
671
- const v = c.dataTransfer.getData("text/plain"), p = c.target.parentNode.dataset.index;
672
- n(v, p), e("change-column-order", {
673
- column: k.orderedColumns[p],
674
- columns: k.updatedColumns
675
- }), e("change-column-info", {
676
- type: "order",
677
- columns: k.updatedColumns
678
- });
679
- }
680
- };
681
- };
682
- export {
683
- Z as checkEvent,
684
- Y as clickEvent,
685
- re as columnSettingEvent,
686
- J as commonFunctions,
687
- oe as contextMenuEvent,
688
- le as dragEvent,
689
- ee as expandEvent,
690
- ne as filterEvent,
691
- X as getUpdatedColumns,
692
- ie as pagingEvent,
693
- Q as resizeEvent,
694
- K as scrollEvent,
695
- te as sortEvent,
696
- se as storeEvent
697
- };