@firestitch/list 18.0.76 → 18.0.78
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/app/classes/list-controller.d.ts +1 -0
- package/app/components/head/head.component.d.ts +2 -2
- package/app/interfaces/listconfig.interface.d.ts +9 -1
- package/esm2022/app/classes/list-controller.mjs +7 -1
- package/esm2022/app/components/head/head.component.mjs +7 -4
- package/esm2022/app/interfaces/listconfig.interface.mjs +1 -1
- package/fesm2022/firestitch-list.mjs +12 -3
- package/fesm2022/firestitch-list.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -3030,7 +3030,6 @@ class SortingController {
|
|
|
3030
3030
|
}
|
|
3031
3031
|
|
|
3032
3032
|
class FsHeadComponent {
|
|
3033
|
-
_cdRef = inject(ChangeDetectorRef);
|
|
3034
3033
|
sorting;
|
|
3035
3034
|
columns;
|
|
3036
3035
|
hasRowActions;
|
|
@@ -3043,6 +3042,7 @@ class FsHeadComponent {
|
|
|
3043
3042
|
selectedAll = false;
|
|
3044
3043
|
ReorderStrategyEnum = ReorderStrategy;
|
|
3045
3044
|
_destroy$ = new Subject();
|
|
3045
|
+
_cdRef = inject(ChangeDetectorRef);
|
|
3046
3046
|
get leftDragDropEnabled() {
|
|
3047
3047
|
return this.reorderEnabled
|
|
3048
3048
|
&& this.reorderPosition === ReorderPosition.Left
|
|
@@ -3076,7 +3076,10 @@ class FsHeadComponent {
|
|
|
3076
3076
|
* @param column
|
|
3077
3077
|
*/
|
|
3078
3078
|
trackByFn(index, column) {
|
|
3079
|
-
|
|
3079
|
+
// Combine the label with the index so columns without a name/title
|
|
3080
|
+
// (whose name||title resolves to an empty string) never collide and
|
|
3081
|
+
// produce duplicate "" keys -> NG0955.
|
|
3082
|
+
return `${column.name || column.title || ''}_${index}`;
|
|
3080
3083
|
}
|
|
3081
3084
|
/**
|
|
3082
3085
|
* Subscribe to sorting change
|
|
@@ -3112,7 +3115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
3112
3115
|
MatCheckbox,
|
|
3113
3116
|
FsHeadCellComponent,
|
|
3114
3117
|
NgClass,
|
|
3115
|
-
AsyncPipe
|
|
3118
|
+
AsyncPipe,
|
|
3116
3119
|
], template: "<tr class=\"fs-list-row\">\n <!-- Drag -->\n @if (leftDragDropEnabled) {\n <th class=\"fs-list-col drag-col\"></th>\n }\n <!-- Selection -->\n @if (selection && !(selection.disabled$ | async)) {\n <th class=\"fs-list-col fs-list-col-selection\">\n <mat-checkbox\n (change)=\"selectAll($event)\"\n [checked]=\"selectedAll\">\n </mat-checkbox>\n </th>\n }\n <!-- Content -->\n @for (column of columns; track trackByFn($index, column)) {\n <th\n fs-head-cell\n (click)=\"$event.stopPropagation(); sorting.sortBy(column)\"\n [column]=\"column\"\n [class.sorting]=\"column.sortable\"\n [ngClass]=\"column.headerConfigs.classesArray\"\n [attr.colspan]=\"column.headerConfigs.colspan\"\n [attr.width]=\"column.width\">\n </th>\n }\n <!-- Drag -->\n @if (rightDragDropEnabled) {\n <th class=\"fs-list-col drag-col\"></th>\n }\n <!-- Row Actions -->\n @if (hasRowActions && !(reorderEnabled && reorderStrategy === ReorderStrategyEnum.Manual)) {\n <th class=\"fs-list-col actions-col\"></th>\n }\n</tr>", styles: ["th.fs-list-col-selection{width:1%!important;text-align:left}th.sorting{cursor:pointer}th.sorting:hover{background-color:#f6f6f6}th.sorting{background-image:none}th.left{text-align:left}th.center{text-align:center}th.right{text-align:right}\n"] }]
|
|
3117
3120
|
}], propDecorators: { sorting: [{
|
|
3118
3121
|
type: Input
|
|
@@ -4442,6 +4445,7 @@ class List {
|
|
|
4442
4445
|
externalParams;
|
|
4443
4446
|
selection;
|
|
4444
4447
|
filterConfig = null;
|
|
4448
|
+
filterBaseConfig = null;
|
|
4445
4449
|
status = true;
|
|
4446
4450
|
chips = false;
|
|
4447
4451
|
queryParam = false;
|
|
@@ -4704,6 +4708,7 @@ class List {
|
|
|
4704
4708
|
this.restore = config.restore;
|
|
4705
4709
|
this.persist = config.persist;
|
|
4706
4710
|
this.filters = config.filters ?? [];
|
|
4711
|
+
this.filterBaseConfig = config.filterConfig ?? null;
|
|
4707
4712
|
this.filterInitCb = config.filterInit;
|
|
4708
4713
|
this.filterChangeCb = config.filterChange;
|
|
4709
4714
|
this.savedFilters = config.savedFilters;
|
|
@@ -4946,7 +4951,11 @@ class List {
|
|
|
4946
4951
|
? { value: this.sorting.sortingColumn.name, direction: this.sorting.sortingColumn.direction }
|
|
4947
4952
|
: null;
|
|
4948
4953
|
// Config
|
|
4954
|
+
// Baseline filter config is spread first so the list's own dedicated options
|
|
4955
|
+
// (below) take precedence where they overlap, while any extra filter options
|
|
4956
|
+
// (e.g. minSecondaryItems) flow through unchanged.
|
|
4949
4957
|
this.filterConfig = {
|
|
4958
|
+
...this.filterBaseConfig,
|
|
4950
4959
|
items: this.filters || [],
|
|
4951
4960
|
savedFilters: this.savedFilters,
|
|
4952
4961
|
actions: this.actions.actions,
|