@saydar/table-builder 1.0.9-beta.6 → 1.0.9-beta.8
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.
|
@@ -1444,14 +1444,15 @@ const isNull = (filterInfo) => {
|
|
|
1444
1444
|
return func;
|
|
1445
1445
|
};
|
|
1446
1446
|
|
|
1447
|
-
function
|
|
1448
|
-
if (typeof
|
|
1449
|
-
return
|
|
1447
|
+
function splitCommaValue(value) {
|
|
1448
|
+
if (typeof value === 'string' && value.includes(',')) {
|
|
1449
|
+
return value.split(',').map(s => s.trim()).filter(s => s);
|
|
1450
1450
|
}
|
|
1451
|
-
return
|
|
1451
|
+
return value;
|
|
1452
1452
|
}
|
|
1453
|
+
|
|
1453
1454
|
const makeStringFunc = (op) => (filterInfo) => {
|
|
1454
|
-
const filterValue =
|
|
1455
|
+
const filterValue = splitCommaValue(filterInfo.filterValue);
|
|
1455
1456
|
if (Array.isArray(filterValue)) {
|
|
1456
1457
|
const vals = filterValue.map((v) => prepareForStringCompare(v));
|
|
1457
1458
|
return (val) => vals.some((v) => op(prepareForStringCompare(val), v));
|
|
@@ -1486,18 +1487,13 @@ const EnumFilterFuncs = {
|
|
|
1486
1487
|
};
|
|
1487
1488
|
const prepareForStringCompare = (val) => val?.toString().trim().toLowerCase();
|
|
1488
1489
|
|
|
1489
|
-
function normalizeNumberFilterValue(v) {
|
|
1490
|
-
if (typeof v === 'string' && v.includes(',')) {
|
|
1491
|
-
return v.split(',').map(s => Number(s.trim())).filter(n => !isNaN(n));
|
|
1492
|
-
}
|
|
1493
|
-
return v;
|
|
1494
|
-
}
|
|
1495
1490
|
const numberEqalsFunc = (filterInfo) => {
|
|
1496
|
-
const
|
|
1497
|
-
if (Array.isArray(
|
|
1498
|
-
|
|
1491
|
+
const split = splitCommaValue(filterInfo.filterValue);
|
|
1492
|
+
if (Array.isArray(split)) {
|
|
1493
|
+
const nums = split.map(s => Number(s)).filter(n => !isNaN(n));
|
|
1494
|
+
return (val) => nums.some(v => val === v);
|
|
1499
1495
|
}
|
|
1500
|
-
return (val) => val === filterValue;
|
|
1496
|
+
return (val) => val === filterInfo.filterValue;
|
|
1501
1497
|
};
|
|
1502
1498
|
const numberNotEqualFunc = (filterInfo) => (val) => {
|
|
1503
1499
|
return val !== filterInfo.filterValue;
|
|
@@ -1738,6 +1734,7 @@ class TableStore extends ComponentStore {
|
|
|
1738
1734
|
if (!filter.filterId) {
|
|
1739
1735
|
filter.filterId = v4();
|
|
1740
1736
|
}
|
|
1737
|
+
filter.filterValue = splitCommaValue(filter.filterValue);
|
|
1741
1738
|
filtersObj[filter.filterId] = filter;
|
|
1742
1739
|
return filtersObj;
|
|
1743
1740
|
}, {});
|
|
@@ -2992,9 +2989,9 @@ class InFilterComponent {
|
|
|
2992
2989
|
}
|
|
2993
2990
|
onValueChange(i, value) {
|
|
2994
2991
|
this.value = [...this.value];
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
this.value.splice(i, 1, ...
|
|
2992
|
+
const split = splitCommaValue(value);
|
|
2993
|
+
if (Array.isArray(split)) {
|
|
2994
|
+
this.value.splice(i, 1, ...split);
|
|
2998
2995
|
}
|
|
2999
2996
|
else {
|
|
3000
2997
|
this.value[i] = value;
|
|
@@ -3424,9 +3421,6 @@ class TableFilterStringContainsDirective extends TableFilterDirective {
|
|
|
3424
3421
|
super.reset();
|
|
3425
3422
|
}
|
|
3426
3423
|
setFilter(filter) {
|
|
3427
|
-
if (typeof filter.filterValue === 'string' && filter.filterValue.includes(',')) {
|
|
3428
|
-
filter.filterValue = filter.filterValue.split(',').map(s => s.trim()).filter(s => s);
|
|
3429
|
-
}
|
|
3430
3424
|
filter.active = filter.filterValue && this._userActive;
|
|
3431
3425
|
super.setFilter(filter);
|
|
3432
3426
|
}
|