@saydar/table-builder 1.0.9-beta.5 → 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 normalizeStringFilterValue(v) {
1448
- if (typeof v === 'string' && v.includes(',')) {
1449
- return v.split(',').map(s => s.trim()).filter(s => s);
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 v;
1451
+ return value;
1452
1452
  }
1453
+
1453
1454
  const makeStringFunc = (op) => (filterInfo) => {
1454
- const filterValue = normalizeStringFilterValue(filterInfo.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 filterValue = normalizeNumberFilterValue(filterInfo.filterValue);
1497
- if (Array.isArray(filterValue)) {
1498
- return (val) => filterValue.some((v) => val === v);
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
- if (typeof value === 'string' && value.includes(',')) {
2996
- const parts = value.split(',').map(s => s.trim()).filter(s => s);
2997
- this.value.splice(i, 1, ...parts);
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;