@refrakt-md/behaviors 0.26.0 → 0.28.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../src/behaviors/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../src/behaviors/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAY7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CAuP5D"}
|
|
@@ -29,10 +29,14 @@ export function datatableBehavior(el) {
|
|
|
29
29
|
const thEls = Array.from(table.querySelectorAll('th'));
|
|
30
30
|
const headers = thEls.map((th) => th.textContent?.trim() || '');
|
|
31
31
|
const bodyRows = table.querySelectorAll('tbody tr');
|
|
32
|
-
const rows = Array.from(bodyRows.length > 0 ? bodyRows : table.querySelectorAll('tr:not(:first-child)')).map((tr) =>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const rows = Array.from(bodyRows.length > 0 ? bodyRows : table.querySelectorAll('tr:not(:first-child)')).map((tr) => {
|
|
33
|
+
const tds = Array.from(tr.querySelectorAll('td'));
|
|
34
|
+
return {
|
|
35
|
+
el: tr,
|
|
36
|
+
cells: tds.map((td) => td.textContent?.trim() || ''),
|
|
37
|
+
dataValues: tds.map((td) => td.getAttribute('data-value')),
|
|
38
|
+
};
|
|
39
|
+
});
|
|
36
40
|
// Save original row order for cleanup
|
|
37
41
|
const originalOrder = rows.map((r) => r.el);
|
|
38
42
|
// State
|
|
@@ -130,12 +134,22 @@ export function datatableBehavior(el) {
|
|
|
130
134
|
const q = searchQuery.toLowerCase();
|
|
131
135
|
filtered = filtered.filter((r) => r.cells.some((c) => c.toLowerCase().includes(q)));
|
|
132
136
|
}
|
|
133
|
-
// Sort
|
|
137
|
+
// Sort. Prefer a cell's `data-value` when present and numeric (mirrors
|
|
138
|
+
// `chart`'s `dataset.value ?? textContent`), so human-formatted numbers
|
|
139
|
+
// (currency, thousands separators, units) sort by their real value. With
|
|
140
|
+
// no usable `data-value` the comparator falls back to the exact
|
|
141
|
+
// natural-string collation used before — so plain tables are unchanged.
|
|
134
142
|
if (sortColumn) {
|
|
135
143
|
const idx = headers.indexOf(sortColumn);
|
|
136
144
|
if (idx >= 0) {
|
|
137
145
|
filtered.sort((a, b) => {
|
|
138
|
-
const
|
|
146
|
+
const av = a.dataValues[idx];
|
|
147
|
+
const bv = b.dataValues[idx];
|
|
148
|
+
const an = av !== null ? Number(av) : NaN;
|
|
149
|
+
const bn = bv !== null ? Number(bv) : NaN;
|
|
150
|
+
const cmp = (av !== null && bv !== null && !Number.isNaN(an) && !Number.isNaN(bn))
|
|
151
|
+
? an - bn
|
|
152
|
+
: a.cells[idx].localeCompare(b.cells[idx], undefined, { numeric: true });
|
|
139
153
|
return sortDirection === 'asc' ? cmp : -cmp;
|
|
140
154
|
});
|
|
141
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datatable.js","sourceRoot":"","sources":["../../src/behaviors/datatable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datatable.js","sourceRoot":"","sources":["../../src/behaviors/datatable.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED