@alaarab/ogrid-core 2.1.14 → 2.1.15
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/esm/index.js +22 -6
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -524,23 +524,39 @@ function processClientSideData(data, columns, filters, sortBy, sortDirection) {
|
|
|
524
524
|
const trimmed = val.value.trim();
|
|
525
525
|
if (trimmed) {
|
|
526
526
|
const lower = trimmed.toLowerCase();
|
|
527
|
-
|
|
527
|
+
const textCache = /* @__PURE__ */ new Map();
|
|
528
|
+
for (let j = 0; j < data.length; j++) {
|
|
529
|
+
textCache.set(data[j], String(getCellValue(data[j], col) ?? "").toLowerCase());
|
|
530
|
+
}
|
|
531
|
+
predicates.push((r) => (textCache.get(r) ?? "").includes(lower));
|
|
528
532
|
}
|
|
529
533
|
break;
|
|
530
534
|
}
|
|
531
535
|
case "people": {
|
|
532
536
|
const email = val.value.email.toLowerCase();
|
|
533
|
-
|
|
537
|
+
const peopleCache = /* @__PURE__ */ new Map();
|
|
538
|
+
for (let j = 0; j < data.length; j++) {
|
|
539
|
+
peopleCache.set(data[j], String(getCellValue(data[j], col) ?? "").toLowerCase());
|
|
540
|
+
}
|
|
541
|
+
predicates.push((r) => (peopleCache.get(r) ?? "") === email);
|
|
534
542
|
break;
|
|
535
543
|
}
|
|
536
544
|
case "date": {
|
|
537
545
|
const dv = val.value;
|
|
538
546
|
const fromTs = dv.from ? (/* @__PURE__ */ new Date(dv.from + "T00:00:00")).getTime() : NaN;
|
|
539
547
|
const toTs = dv.to ? (/* @__PURE__ */ new Date(dv.to + "T23:59:59.999")).getTime() : NaN;
|
|
548
|
+
const dateCache = /* @__PURE__ */ new Map();
|
|
549
|
+
for (let j = 0; j < data.length; j++) {
|
|
550
|
+
const cellVal = getCellValue(data[j], col);
|
|
551
|
+
if (cellVal == null) {
|
|
552
|
+
dateCache.set(data[j], NaN);
|
|
553
|
+
} else {
|
|
554
|
+
const t = new Date(String(cellVal)).getTime();
|
|
555
|
+
dateCache.set(data[j], Number.isNaN(t) ? NaN : t);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
540
558
|
predicates.push((r) => {
|
|
541
|
-
const
|
|
542
|
-
if (cellVal == null) return false;
|
|
543
|
-
const cellTs = new Date(String(cellVal)).getTime();
|
|
559
|
+
const cellTs = dateCache.get(r) ?? NaN;
|
|
544
560
|
if (Number.isNaN(cellTs)) return false;
|
|
545
561
|
if (!Number.isNaN(fromTs) && cellTs < fromTs) return false;
|
|
546
562
|
if (!Number.isNaN(toTs) && cellTs > toTs) return false;
|
|
@@ -1311,7 +1327,7 @@ function computeRowSelectionState(selectedIds, items, getRowId) {
|
|
|
1311
1327
|
if (selectedIds.size === 0 || items.length === 0) {
|
|
1312
1328
|
return { allSelected: false, someSelected: false };
|
|
1313
1329
|
}
|
|
1314
|
-
const allSelected = items.every((item) => selectedIds.has(getRowId(item)));
|
|
1330
|
+
const allSelected = selectedIds.size >= items.length && items.every((item) => selectedIds.has(getRowId(item)));
|
|
1315
1331
|
const someSelected = !allSelected && selectedIds.size > 0;
|
|
1316
1332
|
return { allSelected, someSelected };
|
|
1317
1333
|
}
|
package/package.json
CHANGED