@keenthemes/ktui 1.1.4 → 1.1.6
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/ktui.js +11061 -10799
- package/dist/ktui.min.js +1 -1
- package/dist/ktui.min.js.map +1 -1
- package/dist/styles.css +33 -27
- package/lib/cjs/components/collapse/collapse.js +0 -2
- package/lib/cjs/components/collapse/collapse.js.map +1 -1
- package/lib/cjs/components/component.js +11 -0
- package/lib/cjs/components/component.js.map +1 -1
- package/lib/cjs/components/datatable/datatable-sort.js +80 -11
- package/lib/cjs/components/datatable/datatable-sort.js.map +1 -1
- package/lib/cjs/components/datatable/datatable.js +77 -24
- package/lib/cjs/components/datatable/datatable.js.map +1 -1
- package/lib/cjs/components/drawer/drawer.js +63 -42
- package/lib/cjs/components/drawer/drawer.js.map +1 -1
- package/lib/cjs/components/dropdown/dropdown.js +6 -0
- package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
- package/lib/cjs/components/scrollto/scrollto.js +0 -2
- package/lib/cjs/components/scrollto/scrollto.js.map +1 -1
- package/lib/cjs/components/select/combobox.js.map +1 -1
- package/lib/cjs/components/select/dropdown.js.map +1 -1
- package/lib/cjs/components/select/remote.js.map +1 -1
- package/lib/cjs/components/select/search.js +9 -5
- package/lib/cjs/components/select/search.js.map +1 -1
- package/lib/cjs/components/select/select.js +29 -9
- package/lib/cjs/components/select/select.js.map +1 -1
- package/lib/cjs/components/select/tags.js.map +1 -1
- package/lib/cjs/components/select/templates.js.map +1 -1
- package/lib/cjs/components/select/utils.js +10 -0
- package/lib/cjs/components/select/utils.js.map +1 -1
- package/lib/cjs/components/sticky/sticky.js +104 -24
- package/lib/cjs/components/sticky/sticky.js.map +1 -1
- package/lib/cjs/components/theme-switch/theme-switch.js +0 -2
- package/lib/cjs/components/theme-switch/theme-switch.js.map +1 -1
- package/lib/cjs/components/toast/toast.js +1 -2
- package/lib/cjs/components/toast/toast.js.map +1 -1
- package/lib/cjs/helpers/dom.js +0 -2
- package/lib/cjs/helpers/dom.js.map +1 -1
- package/lib/esm/components/collapse/collapse.js +0 -2
- package/lib/esm/components/collapse/collapse.js.map +1 -1
- package/lib/esm/components/component.js +11 -0
- package/lib/esm/components/component.js.map +1 -1
- package/lib/esm/components/datatable/datatable-sort.js +80 -11
- package/lib/esm/components/datatable/datatable-sort.js.map +1 -1
- package/lib/esm/components/datatable/datatable.js +77 -24
- package/lib/esm/components/datatable/datatable.js.map +1 -1
- package/lib/esm/components/drawer/drawer.js +63 -42
- package/lib/esm/components/drawer/drawer.js.map +1 -1
- package/lib/esm/components/dropdown/dropdown.js +6 -0
- package/lib/esm/components/dropdown/dropdown.js.map +1 -1
- package/lib/esm/components/scrollto/scrollto.js +0 -2
- package/lib/esm/components/scrollto/scrollto.js.map +1 -1
- package/lib/esm/components/select/combobox.js.map +1 -1
- package/lib/esm/components/select/dropdown.js.map +1 -1
- package/lib/esm/components/select/remote.js.map +1 -1
- package/lib/esm/components/select/search.js +9 -5
- package/lib/esm/components/select/search.js.map +1 -1
- package/lib/esm/components/select/select.js +29 -9
- package/lib/esm/components/select/select.js.map +1 -1
- package/lib/esm/components/select/tags.js.map +1 -1
- package/lib/esm/components/select/templates.js.map +1 -1
- package/lib/esm/components/select/utils.js +10 -0
- package/lib/esm/components/select/utils.js.map +1 -1
- package/lib/esm/components/sticky/sticky.js +104 -24
- package/lib/esm/components/sticky/sticky.js.map +1 -1
- package/lib/esm/components/theme-switch/theme-switch.js +0 -2
- package/lib/esm/components/theme-switch/theme-switch.js.map +1 -1
- package/lib/esm/components/toast/toast.js +1 -2
- package/lib/esm/components/toast/toast.js.map +1 -1
- package/lib/esm/helpers/dom.js +0 -2
- package/lib/esm/helpers/dom.js.map +1 -1
- package/package.json +14 -7
- package/src/components/collapse/collapse.ts +0 -3
- package/src/components/component.ts +14 -4
- package/src/components/datatable/__tests__/currency-sort.test.ts +108 -0
- package/src/components/datatable/__tests__/multi-row-headers.test.ts +121 -0
- package/src/components/datatable/__tests__/pagination-reset.test.ts +13 -5
- package/src/components/datatable/__tests__/race-conditions.test.ts +138 -78
- package/src/components/datatable/__tests__/setup.ts +9 -4
- package/src/components/datatable/datatable-sort.ts +88 -10
- package/src/components/datatable/datatable.css +4 -4
- package/src/components/datatable/datatable.ts +91 -30
- package/src/components/datatable/types.ts +16 -0
- package/src/components/drawer/drawer.ts +97 -57
- package/src/components/drawer/types.ts +4 -2
- package/src/components/dropdown/dropdown.ts +8 -1
- package/src/components/scrollto/scrollto.ts +0 -3
- package/src/components/select/__tests__/ux-behaviors.test.ts +274 -8
- package/src/components/select/combobox.ts +0 -1
- package/src/components/select/dropdown.ts +0 -2
- package/src/components/select/remote.ts +1 -6
- package/src/components/select/search.ts +14 -7
- package/src/components/select/select.ts +29 -29
- package/src/components/select/tags.ts +0 -1
- package/src/components/select/templates.ts +8 -8
- package/src/components/select/utils.ts +15 -2
- package/src/components/sticky/__tests__/sticky.test.ts +205 -0
- package/src/components/sticky/sticky.ts +119 -21
- package/src/components/sticky/types.ts +3 -0
- package/src/components/theme-switch/theme-switch.ts +0 -3
- package/src/components/toast/toast.ts +3 -2
- package/src/helpers/dom.ts +0 -3
package/dist/styles.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! tailwindcss v4.1
|
|
1
|
+
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
@layer theme, base, components, utilities;
|
|
4
4
|
@layer theme {
|
|
@@ -316,11 +316,17 @@
|
|
|
316
316
|
.inset-0 {
|
|
317
317
|
inset: calc(var(--spacing) * 0);
|
|
318
318
|
}
|
|
319
|
+
.start {
|
|
320
|
+
inset-inline-start: var(--spacing);
|
|
321
|
+
}
|
|
322
|
+
.end {
|
|
323
|
+
inset-inline-end: var(--spacing);
|
|
324
|
+
}
|
|
319
325
|
.top-1\/2 {
|
|
320
|
-
top: calc(1/2 * 100%);
|
|
326
|
+
top: calc(1 / 2 * 100%);
|
|
321
327
|
}
|
|
322
328
|
.left-1\/2 {
|
|
323
|
-
left: calc(1/2 * 100%);
|
|
329
|
+
left: calc(1 / 2 * 100%);
|
|
324
330
|
}
|
|
325
331
|
.z-50 {
|
|
326
332
|
z-index: 50;
|
|
@@ -553,11 +559,11 @@
|
|
|
553
559
|
flex-grow: 1;
|
|
554
560
|
}
|
|
555
561
|
.-translate-x-1\/2 {
|
|
556
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
562
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
557
563
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
558
564
|
}
|
|
559
565
|
.-translate-y-1\/2 {
|
|
560
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
566
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
561
567
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
562
568
|
}
|
|
563
569
|
.transform {
|
|
@@ -4331,10 +4337,10 @@
|
|
|
4331
4337
|
.kt-modal-dialog {
|
|
4332
4338
|
position: fixed;
|
|
4333
4339
|
inset-inline-start: calc(1/2 * 100%);
|
|
4334
|
-
top: calc(1/2 * 100%);
|
|
4340
|
+
top: calc(1 / 2 * 100%);
|
|
4335
4341
|
display: none;
|
|
4336
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
4337
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
4342
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
4343
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
4338
4344
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
4339
4345
|
overflow: auto;
|
|
4340
4346
|
padding: calc(var(--spacing) * 4);
|
|
@@ -4389,8 +4395,8 @@
|
|
|
4389
4395
|
}
|
|
4390
4396
|
.kt-modal-center:not(.kt-modal-fit) {
|
|
4391
4397
|
.kt-modal-content {
|
|
4392
|
-
top: calc(1/2 * 100%);
|
|
4393
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
4398
|
+
top: calc(1 / 2 * 100%);
|
|
4399
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
4394
4400
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
4395
4401
|
}
|
|
4396
4402
|
}
|
|
@@ -4399,9 +4405,9 @@
|
|
|
4399
4405
|
padding: calc(var(--spacing) * 0);
|
|
4400
4406
|
&.kt-modal-center {
|
|
4401
4407
|
inset-inline-start: calc(1/2 * 100%);
|
|
4402
|
-
top: calc(1/2 * 100%);
|
|
4403
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
4404
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
4408
|
+
top: calc(1 / 2 * 100%);
|
|
4409
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
4410
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
4405
4411
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
4406
4412
|
}
|
|
4407
4413
|
}
|
|
@@ -5076,10 +5082,10 @@
|
|
|
5076
5082
|
pointer-events: none;
|
|
5077
5083
|
position: absolute;
|
|
5078
5084
|
inset-inline-start: calc(var(--spacing) * 0);
|
|
5079
|
-
top: calc(1/2 * 100%);
|
|
5085
|
+
top: calc(1 / 2 * 100%);
|
|
5080
5086
|
display: block;
|
|
5081
5087
|
--tw-translate-x: calc(var(--spacing) * 1);
|
|
5082
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
5088
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
5083
5089
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5084
5090
|
border-radius: calc(infinity * 1px);
|
|
5085
5091
|
background-color: var(--color-white);
|
|
@@ -5916,8 +5922,8 @@
|
|
|
5916
5922
|
&.kt-toast-top-center {
|
|
5917
5923
|
top: calc(var(--spacing) * 0);
|
|
5918
5924
|
bottom: auto;
|
|
5919
|
-
left: calc(1/2 * 100%);
|
|
5920
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
5925
|
+
left: calc(1 / 2 * 100%);
|
|
5926
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
5921
5927
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5922
5928
|
}
|
|
5923
5929
|
&.kt-toast-top-start {
|
|
@@ -5927,21 +5933,21 @@
|
|
|
5927
5933
|
}
|
|
5928
5934
|
&.kt-toast-middle-end {
|
|
5929
5935
|
inset-inline-end: calc(var(--spacing) * 0);
|
|
5930
|
-
top: calc(1/2 * 100%);
|
|
5931
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
5936
|
+
top: calc(1 / 2 * 100%);
|
|
5937
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
5932
5938
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5933
5939
|
}
|
|
5934
5940
|
&.kt-toast-middle-center {
|
|
5935
|
-
top: calc(1/2 * 100%);
|
|
5936
|
-
left: calc(1/2 * 100%);
|
|
5937
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
5938
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
5941
|
+
top: calc(1 / 2 * 100%);
|
|
5942
|
+
left: calc(1 / 2 * 100%);
|
|
5943
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
5944
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
5939
5945
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5940
5946
|
}
|
|
5941
5947
|
&.kt-toast-middle-start {
|
|
5942
5948
|
inset-inline-start: calc(var(--spacing) * 0);
|
|
5943
|
-
top: calc(1/2 * 100%);
|
|
5944
|
-
--tw-translate-y: calc(calc(1/2 * 100%) * -1);
|
|
5949
|
+
top: calc(1 / 2 * 100%);
|
|
5950
|
+
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
5945
5951
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5946
5952
|
}
|
|
5947
5953
|
&.kt-toast-bottom-end {
|
|
@@ -5952,8 +5958,8 @@
|
|
|
5952
5958
|
&.kt-toast-bottom-center {
|
|
5953
5959
|
top: auto;
|
|
5954
5960
|
bottom: calc(var(--spacing) * 0);
|
|
5955
|
-
left: calc(1/2 * 100%);
|
|
5956
|
-
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
5961
|
+
left: calc(1 / 2 * 100%);
|
|
5962
|
+
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
5957
5963
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5958
5964
|
}
|
|
5959
5965
|
&.kt-toast-bottom-start {
|
|
@@ -20,8 +20,6 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
20
20
|
})();
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.KTCollapse = void 0;
|
|
23
|
-
/* eslint-disable max-len */
|
|
24
|
-
/* eslint-disable require-jsdoc */
|
|
25
23
|
var data_1 = require("../../helpers/data");
|
|
26
24
|
var dom_1 = require("../../helpers/dom");
|
|
27
25
|
var component_1 = require("../component");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../src/components/collapse/collapse.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../src/components/collapse/collapse.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,6 +150,17 @@ var KTComponent = /** @class */ (function () {
|
|
|
150
150
|
return;
|
|
151
151
|
this._config = __assign(__assign(__assign(__assign({}, this._defaultConfig), this._getGlobalConfig()), dom_1.default.getDataAttributes(this._element, this._dataOptionPrefix + this._name)), config);
|
|
152
152
|
};
|
|
153
|
+
/**
|
|
154
|
+
* Merge config into the existing _config in place. Use when re-applying config to an
|
|
155
|
+
* already-initialized instance so handlers that hold a reference to _config see updates.
|
|
156
|
+
*/
|
|
157
|
+
KTComponent.prototype._mergeConfig = function (config) {
|
|
158
|
+
if (config &&
|
|
159
|
+
typeof config === 'object' &&
|
|
160
|
+
Object.keys(config).length > 0) {
|
|
161
|
+
Object.assign(this._config, config);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
153
164
|
KTComponent.prototype.dispose = function () {
|
|
154
165
|
if (!this._element)
|
|
155
166
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/component.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.createSortHandler = createSortHandler;
|
|
8
8
|
function createSortHandler(config, theadElement, getState, setState, fireEvent, dispatchEvent, updateData) {
|
|
9
|
-
// Helper to compare values for sorting
|
|
9
|
+
// Helper to compare values for sorting (string)
|
|
10
10
|
function compareValues(a, b, sortOrder) {
|
|
11
11
|
var aText = String(a).replace(/<[^>]*>| /g, '');
|
|
12
12
|
var bText = String(b).replace(/<[^>]*>| /g, '');
|
|
@@ -20,11 +20,63 @@ function createSortHandler(config, theadElement, getState, setState, fireEvent,
|
|
|
20
20
|
: 1
|
|
21
21
|
: 0;
|
|
22
22
|
}
|
|
23
|
+
// Parse value for numeric sort: strip currency/commas, then parseFloat
|
|
24
|
+
function parseNumeric(value) {
|
|
25
|
+
if (value === null || value === undefined || value === '') {
|
|
26
|
+
return Number.NaN;
|
|
27
|
+
}
|
|
28
|
+
var s = String(value).replace(/[^0-9.-]/g, '');
|
|
29
|
+
var n = parseFloat(s);
|
|
30
|
+
return Number.isNaN(n) ? Number.NaN : n;
|
|
31
|
+
}
|
|
32
|
+
// Compare two numbers; NaN sorts to the end for both asc and desc
|
|
33
|
+
function compareNumeric(aNum, bNum, sortOrder) {
|
|
34
|
+
var aNaN = Number.isNaN(aNum);
|
|
35
|
+
var bNaN = Number.isNaN(bNum);
|
|
36
|
+
if (aNaN && bNaN)
|
|
37
|
+
return 0;
|
|
38
|
+
if (aNaN)
|
|
39
|
+
return 1;
|
|
40
|
+
if (bNaN)
|
|
41
|
+
return -1;
|
|
42
|
+
if (aNum < bNum)
|
|
43
|
+
return sortOrder === 'asc' ? -1 : 1;
|
|
44
|
+
if (aNum > bNum)
|
|
45
|
+
return sortOrder === 'asc' ? 1 : -1;
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
function getColumnDef(sortField) {
|
|
49
|
+
var columns = config.columns;
|
|
50
|
+
if (!columns)
|
|
51
|
+
return undefined;
|
|
52
|
+
var key = typeof sortField === 'number'
|
|
53
|
+
? Object.keys(columns)[sortField]
|
|
54
|
+
: sortField;
|
|
55
|
+
return key !== undefined ? columns[key] : undefined;
|
|
56
|
+
}
|
|
23
57
|
function sortData(data, sortField, sortOrder) {
|
|
58
|
+
var columnDef = getColumnDef(sortField);
|
|
59
|
+
var sortValueFn = columnDef === null || columnDef === void 0 ? void 0 : columnDef.sortValue;
|
|
60
|
+
var useNumeric = !sortValueFn && (columnDef === null || columnDef === void 0 ? void 0 : columnDef.sortType) === 'numeric';
|
|
24
61
|
return data.sort(function (a, b) {
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
|
|
62
|
+
var aRaw = a[sortField];
|
|
63
|
+
var bRaw = b[sortField];
|
|
64
|
+
if (typeof sortValueFn === 'function') {
|
|
65
|
+
var aVal = sortValueFn(aRaw, a);
|
|
66
|
+
var bVal = sortValueFn(bRaw, b);
|
|
67
|
+
var aNum = typeof aVal === 'number' ? aVal : parseNumeric(aVal);
|
|
68
|
+
var bNum = typeof bVal === 'number' ? bVal : parseNumeric(bVal);
|
|
69
|
+
if (typeof aVal === 'number' && typeof bVal === 'number') {
|
|
70
|
+
return compareNumeric(aNum, bNum, sortOrder);
|
|
71
|
+
}
|
|
72
|
+
return compareValues(aVal, bVal, sortOrder);
|
|
73
|
+
}
|
|
74
|
+
if (useNumeric) {
|
|
75
|
+
var aNum = parseNumeric(aRaw);
|
|
76
|
+
var bNum = parseNumeric(bRaw);
|
|
77
|
+
return compareNumeric(aNum, bNum, sortOrder);
|
|
78
|
+
}
|
|
79
|
+
return compareValues(aRaw, bRaw, sortOrder);
|
|
28
80
|
});
|
|
29
81
|
}
|
|
30
82
|
function toggleSortOrder(currentField, currentOrder, newField) {
|
|
@@ -41,20 +93,37 @@ function createSortHandler(config, theadElement, getState, setState, fireEvent,
|
|
|
41
93
|
return 'asc';
|
|
42
94
|
}
|
|
43
95
|
function setSortIcon(sortField, sortOrder) {
|
|
44
|
-
var _a, _b, _c, _d, _e, _f
|
|
96
|
+
var _a, _b, _c, _d, _e, _f;
|
|
97
|
+
var baseClass = ((_b = (_a = config.sort) === null || _a === void 0 ? void 0 : _a.classes) === null || _b === void 0 ? void 0 : _b.base) || '';
|
|
45
98
|
var sortClass = sortOrder
|
|
46
99
|
? sortOrder === 'asc'
|
|
47
|
-
? ((
|
|
48
|
-
: ((
|
|
100
|
+
? ((_d = (_c = config.sort) === null || _c === void 0 ? void 0 : _c.classes) === null || _d === void 0 ? void 0 : _d.asc) || ''
|
|
101
|
+
: ((_f = (_e = config.sort) === null || _e === void 0 ? void 0 : _e.classes) === null || _f === void 0 ? void 0 : _f.desc) || ''
|
|
49
102
|
: '';
|
|
103
|
+
// Clear all headers: remove sort state so only the active column shows highlighted arrow
|
|
104
|
+
var allTh = theadElement.querySelectorAll('th');
|
|
105
|
+
allTh.forEach(function (header) {
|
|
106
|
+
var el = header;
|
|
107
|
+
el.setAttribute('aria-sort', 'none');
|
|
108
|
+
var sortElement = header.querySelector(".".concat(baseClass));
|
|
109
|
+
if (sortElement) {
|
|
110
|
+
sortElement.className = baseClass;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
// Apply sort state to the active column so table.css [aria-sort='asc'] / [aria-sort='desc'] can highlight the arrow
|
|
50
114
|
var th = typeof sortField === 'number'
|
|
51
|
-
?
|
|
115
|
+
? allTh[sortField]
|
|
52
116
|
: theadElement.querySelector("th[data-kt-datatable-column=\"".concat(String(sortField), "\"], th[data-kt-datatable-column-sort=\"").concat(String(sortField), "\"]"));
|
|
53
117
|
if (th) {
|
|
54
|
-
var sortElement = th.querySelector(".".concat(
|
|
118
|
+
var sortElement = th.querySelector(".".concat(baseClass));
|
|
55
119
|
if (sortElement) {
|
|
56
|
-
sortElement.className =
|
|
57
|
-
|
|
120
|
+
sortElement.className = "".concat(baseClass, " ").concat(sortClass).trim();
|
|
121
|
+
}
|
|
122
|
+
if (sortOrder) {
|
|
123
|
+
th.setAttribute('aria-sort', sortOrder);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
th.setAttribute('aria-sort', 'none');
|
|
58
127
|
}
|
|
59
128
|
}
|
|
60
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datatable-sort.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-sort.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA4BH,
|
|
1
|
+
{"version":3,"file":"datatable-sort.js","sourceRoot":"","sources":["../../../../src/components/datatable/datatable-sort.ts"],"names":[],"mappings":"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"}
|
|
@@ -125,8 +125,14 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
125
125
|
* Used to detect and ignore stale responses from older requests
|
|
126
126
|
*/
|
|
127
127
|
_this._requestId = 0;
|
|
128
|
-
if (data_1.default.has(element, _this._name))
|
|
128
|
+
if (data_1.default.has(element, _this._name)) {
|
|
129
|
+
// Already initialized (e.g. by createInstances). Merge user config so columns/sortType etc. apply.
|
|
130
|
+
var existing = KTDataTable.getInstance(element);
|
|
131
|
+
if (existing && config) {
|
|
132
|
+
existing._mergeConfig(config);
|
|
133
|
+
}
|
|
129
134
|
return _this;
|
|
135
|
+
}
|
|
130
136
|
_this._defaultConfig = _this._initDefaultConfig(config);
|
|
131
137
|
_this._init(element);
|
|
132
138
|
_this._buildConfig();
|
|
@@ -648,18 +654,39 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
648
654
|
*/
|
|
649
655
|
KTDataTable.prototype._localTableHeaderInvalidate = function () {
|
|
650
656
|
var originalData = this.getState().originalData;
|
|
651
|
-
|
|
657
|
+
var totalColumns = originalData.length
|
|
658
|
+
? Object.keys(originalData[0]).length
|
|
659
|
+
: 0;
|
|
660
|
+
// Count th elements with data-kt-datatable-column; when none (e.g. multi-row headers), use logical column count so we don't falsely invalidate
|
|
652
661
|
var allThs = this._theadElement
|
|
653
662
|
? this._theadElement.querySelectorAll('th')
|
|
654
663
|
: [];
|
|
655
|
-
var
|
|
664
|
+
var thsWithColumn = Array.from(allThs).filter(function (th) {
|
|
656
665
|
return th.hasAttribute('data-kt-datatable-column');
|
|
657
|
-
})
|
|
658
|
-
var
|
|
659
|
-
?
|
|
660
|
-
:
|
|
666
|
+
});
|
|
667
|
+
var currentTableHeaders = thsWithColumn.length > 0
|
|
668
|
+
? thsWithColumn.length
|
|
669
|
+
: this._getLogicalColumnCount();
|
|
661
670
|
return currentTableHeaders !== totalColumns;
|
|
662
671
|
};
|
|
672
|
+
/**
|
|
673
|
+
* Returns the logical data column count (number of data columns), used for multi-row headers
|
|
674
|
+
* where querySelectorAll('th') would overcount. Prefers state.originalData, then first tbody row td count.
|
|
675
|
+
* @returns {number} Number of data columns, or 0 if unknown
|
|
676
|
+
*/
|
|
677
|
+
KTDataTable.prototype._getLogicalColumnCount = function () {
|
|
678
|
+
var originalData = this.getState().originalData;
|
|
679
|
+
if (originalData && originalData.length > 0) {
|
|
680
|
+
return Object.keys(originalData[0]).length;
|
|
681
|
+
}
|
|
682
|
+
if (this._tbodyElement) {
|
|
683
|
+
var firstRow = this._tbodyElement.querySelector('tr');
|
|
684
|
+
if (firstRow) {
|
|
685
|
+
return firstRow.querySelectorAll('td').length;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
return 0;
|
|
689
|
+
};
|
|
663
690
|
/**
|
|
664
691
|
* Fetch data from the server
|
|
665
692
|
*/
|
|
@@ -708,13 +735,13 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
708
735
|
response: response,
|
|
709
736
|
error: String(error_2),
|
|
710
737
|
status: response.status,
|
|
711
|
-
statusText: response.statusText
|
|
738
|
+
statusText: response.statusText,
|
|
712
739
|
});
|
|
713
740
|
this._dispatchEvent('parseError', {
|
|
714
741
|
response: response,
|
|
715
742
|
error: String(error_2),
|
|
716
743
|
status: response.status,
|
|
717
|
-
statusText: response.statusText
|
|
744
|
+
statusText: response.statusText,
|
|
718
745
|
});
|
|
719
746
|
return [2 /*return*/];
|
|
720
747
|
case 8:
|
|
@@ -912,6 +939,9 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
912
939
|
var ths = Array.from(allThs).filter(function (th) {
|
|
913
940
|
return th.hasAttribute('data-kt-datatable-column');
|
|
914
941
|
});
|
|
942
|
+
// When no th has data-kt-datatable-column (e.g. multi-row headers), use logical column count from tbody so we don't overcount thead cells
|
|
943
|
+
var columnsToRender = ths.length > 0 ? ths : [];
|
|
944
|
+
var logicalColumnCount = ths.length > 0 ? ths.length : this._getLogicalColumnCount();
|
|
915
945
|
this._data.forEach(function (item, rowIndex) {
|
|
916
946
|
var row = document.createElement('tr');
|
|
917
947
|
// Apply original tr class if available
|
|
@@ -919,14 +949,14 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
919
949
|
row.className = _this._originalTrClasses[rowIndex];
|
|
920
950
|
}
|
|
921
951
|
if (!_this._config.columns) {
|
|
922
|
-
var
|
|
952
|
+
var dataRowAttributes = _this.getState().originalDataAttributes
|
|
923
953
|
? _this.getState().originalDataAttributes[rowIndex]
|
|
924
954
|
: null;
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
var colName = th.getAttribute('data-kt-datatable-column');
|
|
955
|
+
for (var colIndex = 0; colIndex < logicalColumnCount; colIndex++) {
|
|
956
|
+
var th = columnsToRender[colIndex];
|
|
957
|
+
var colName = th === null || th === void 0 ? void 0 : th.getAttribute('data-kt-datatable-column');
|
|
928
958
|
var td = document.createElement('td');
|
|
929
|
-
var value;
|
|
959
|
+
var value = void 0;
|
|
930
960
|
if (colName && Object.prototype.hasOwnProperty.call(item, colName)) {
|
|
931
961
|
value = item[colName];
|
|
932
962
|
}
|
|
@@ -943,13 +973,13 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
943
973
|
_this._originalTdClasses[rowIndex][colIndex]) {
|
|
944
974
|
td.className = _this._originalTdClasses[rowIndex][colIndex];
|
|
945
975
|
}
|
|
946
|
-
if (
|
|
947
|
-
for (var attr in
|
|
948
|
-
td.setAttribute(attr,
|
|
976
|
+
if (dataRowAttributes && dataRowAttributes[colIndex]) {
|
|
977
|
+
for (var attr in dataRowAttributes[colIndex]) {
|
|
978
|
+
td.setAttribute(attr, dataRowAttributes[colIndex][attr]);
|
|
949
979
|
}
|
|
950
980
|
}
|
|
951
981
|
row.appendChild(td);
|
|
952
|
-
}
|
|
982
|
+
}
|
|
953
983
|
}
|
|
954
984
|
else {
|
|
955
985
|
Object.keys(_this._config.columns).forEach(function (key, colIndex) {
|
|
@@ -994,9 +1024,9 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
994
1024
|
if (message === void 0) { message = ''; }
|
|
995
1025
|
var row = this._tableElement.tBodies[0].insertRow();
|
|
996
1026
|
var cell = row.insertCell();
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1027
|
+
var logicalCount = this._getLogicalColumnCount();
|
|
1028
|
+
// Use logical column count so multi-row headers don't overcount; fallback to 1 when 0 so message still displays
|
|
1029
|
+
cell.colSpan = logicalCount > 0 ? logicalCount : 1;
|
|
1000
1030
|
cell.innerHTML = message;
|
|
1001
1031
|
};
|
|
1002
1032
|
KTDataTable.prototype._updatePagination = function () {
|
|
@@ -1246,7 +1276,7 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
1246
1276
|
this._config._state = state;
|
|
1247
1277
|
return state;
|
|
1248
1278
|
}
|
|
1249
|
-
catch (_a) { }
|
|
1279
|
+
catch (_a) { }
|
|
1250
1280
|
return null;
|
|
1251
1281
|
};
|
|
1252
1282
|
KTDataTable.prototype._deleteState = function () {
|
|
@@ -1519,8 +1549,31 @@ var KTDataTable = /** @class */ (function (_super) {
|
|
|
1519
1549
|
KTDataTable.init = function () {
|
|
1520
1550
|
if (typeof document === 'undefined')
|
|
1521
1551
|
return;
|
|
1522
|
-
|
|
1523
|
-
|
|
1552
|
+
KTDataTable.createInstances();
|
|
1553
|
+
};
|
|
1554
|
+
/**
|
|
1555
|
+
* Force reinitialization of datatables by clearing existing instances.
|
|
1556
|
+
* Useful for Livewire wire:navigate where the DOM is replaced and new tables need to be initialized.
|
|
1557
|
+
*/
|
|
1558
|
+
KTDataTable.reinit = function () {
|
|
1559
|
+
if (typeof document === 'undefined')
|
|
1560
|
+
return;
|
|
1561
|
+
var elements = document.querySelectorAll('[data-kt-datatable="true"]');
|
|
1562
|
+
elements.forEach(function (element) {
|
|
1563
|
+
try {
|
|
1564
|
+
var instance = KTDataTable.getInstance(element);
|
|
1565
|
+
if (instance && typeof instance.dispose === 'function') {
|
|
1566
|
+
instance.dispose();
|
|
1567
|
+
}
|
|
1568
|
+
data_1.default.remove(element, 'datatable');
|
|
1569
|
+
element.removeAttribute('data-kt-datatable-initialized');
|
|
1570
|
+
element.classList.remove('datatable-initialized');
|
|
1571
|
+
}
|
|
1572
|
+
catch (_a) {
|
|
1573
|
+
// ignore per-element errors
|
|
1574
|
+
}
|
|
1575
|
+
});
|
|
1576
|
+
KTDataTable._instances.clear();
|
|
1524
1577
|
KTDataTable.createInstances();
|
|
1525
1578
|
};
|
|
1526
1579
|
/**
|