ngx-kit 8.4.0 → 8.5.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.
- package/dialog/README.md +212 -73
- package/fesm2022/ngx-kit-core.mjs +29 -73
- package/fesm2022/ngx-kit-core.mjs.map +1 -1
- package/fesm2022/ngx-kit-data-table.mjs +12 -8
- package/fesm2022/ngx-kit-data-table.mjs.map +1 -1
- package/fesm2022/ngx-kit-dialog.mjs +10 -85
- package/fesm2022/ngx-kit-dialog.mjs.map +1 -1
- package/fesm2022/ngx-kit-menu.mjs +19 -26
- package/fesm2022/ngx-kit-menu.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ngx-kit-core.d.ts +1 -7
- package/types/ngx-kit-data-table.d.ts +3 -2
- package/types/ngx-kit-dialog.d.ts +9 -42
- package/types/ngx-kit-menu.d.ts +9 -9
|
@@ -380,7 +380,7 @@ class ColumnFilterService {
|
|
|
380
380
|
isFilterActive(filter) {
|
|
381
381
|
if (!filter)
|
|
382
382
|
return false;
|
|
383
|
-
const { operator, value, valueTo } = filter;
|
|
383
|
+
const { operator, value, valueTo, values } = filter;
|
|
384
384
|
const noValueOps = [
|
|
385
385
|
DynamicDataFilterOperator.IsNull,
|
|
386
386
|
DynamicDataFilterOperator.IsNotNull,
|
|
@@ -398,7 +398,7 @@ class ColumnFilterService {
|
|
|
398
398
|
valueTo !== '');
|
|
399
399
|
}
|
|
400
400
|
if (operator === DynamicDataFilterOperator.In) {
|
|
401
|
-
return Array.isArray(
|
|
401
|
+
return Array.isArray(values) && values.length > 0;
|
|
402
402
|
}
|
|
403
403
|
return value !== undefined && value !== null && value !== '';
|
|
404
404
|
}
|
|
@@ -407,6 +407,7 @@ class ColumnFilterService {
|
|
|
407
407
|
const op = filter.operator;
|
|
408
408
|
const target = filter.value;
|
|
409
409
|
const targetTo = filter.valueTo;
|
|
410
|
+
const targets = filter.values;
|
|
410
411
|
if (op === DynamicDataFilterOperator.IsNull)
|
|
411
412
|
return rawVal === null || rawVal === undefined;
|
|
412
413
|
if (op === DynamicDataFilterOperator.IsNotNull)
|
|
@@ -417,7 +418,8 @@ class ColumnFilterService {
|
|
|
417
418
|
return rawVal !== '' && rawVal !== null && rawVal !== undefined;
|
|
418
419
|
if (rawVal === null || rawVal === undefined)
|
|
419
420
|
return false;
|
|
420
|
-
if (rawVal instanceof Date ||
|
|
421
|
+
if (rawVal instanceof Date ||
|
|
422
|
+
(typeof rawVal === 'string' && !isNaN(Date.parse(rawVal)) && isNaN(Number(rawVal)))) {
|
|
421
423
|
const itemTime = new Date(rawVal).getTime();
|
|
422
424
|
const targetTime = target ? new Date(target).getTime() : NaN;
|
|
423
425
|
const targetToTime = targetTo ? new Date(targetTo).getTime() : NaN;
|
|
@@ -460,8 +462,8 @@ class ColumnFilterService {
|
|
|
460
462
|
case DynamicDataFilterOperator.Between:
|
|
461
463
|
return Number(rawVal) >= Number(target) && Number(rawVal) <= Number(targetTo);
|
|
462
464
|
case DynamicDataFilterOperator.In:
|
|
463
|
-
return Array.isArray(
|
|
464
|
-
?
|
|
465
|
+
return Array.isArray(targets)
|
|
466
|
+
? targets.some((t) => String(t).toLowerCase() === String(rawVal).toLowerCase())
|
|
465
467
|
: false;
|
|
466
468
|
default:
|
|
467
469
|
return true;
|
|
@@ -643,8 +645,8 @@ class NgxColumnFilter {
|
|
|
643
645
|
const type = this.filterType();
|
|
644
646
|
if (cur) {
|
|
645
647
|
this.selectedOperator.set(cur.operator);
|
|
646
|
-
if (type === 'enum' && Array.isArray(cur.
|
|
647
|
-
this.selectedEnumValues.set(new Set(cur.
|
|
648
|
+
if (type === 'enum' && Array.isArray(cur.values)) {
|
|
649
|
+
this.selectedEnumValues.set(new Set(cur.values));
|
|
648
650
|
}
|
|
649
651
|
else {
|
|
650
652
|
this.filterValue.set(cur.value ?? '');
|
|
@@ -667,10 +669,11 @@ class NgxColumnFilter {
|
|
|
667
669
|
onApply() {
|
|
668
670
|
const type = this.filterType();
|
|
669
671
|
let value = this.filterValue();
|
|
672
|
+
let values = [];
|
|
670
673
|
let operator = this.selectedOperator();
|
|
671
674
|
if (type === 'enum') {
|
|
672
675
|
operator = DynamicDataFilterOperator.In;
|
|
673
|
-
|
|
676
|
+
values = Array.from(this.selectedEnumValues());
|
|
674
677
|
}
|
|
675
678
|
this.applyFilter.emit({
|
|
676
679
|
field: this.field(),
|
|
@@ -679,6 +682,7 @@ class NgxColumnFilter {
|
|
|
679
682
|
valueTo: this.selectedOperator() === DynamicDataFilterOperator.Between
|
|
680
683
|
? this.filterValueTo()
|
|
681
684
|
: undefined,
|
|
685
|
+
values,
|
|
682
686
|
});
|
|
683
687
|
this.isOpen.set(false);
|
|
684
688
|
}
|