@firestitch/filter 13.3.1 → 13.4.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/app/components/saved-filter/index.d.ts +3 -0
- package/app/components/saved-filter/saved-filter-edit/index.d.ts +1 -0
- package/app/components/{saved-filter-edit → saved-filter/saved-filter-edit}/saved-filter-edit.component.d.ts +2 -2
- package/app/components/saved-filter/saved-filter-manage/index.d.ts +1 -0
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -0
- package/app/components/saved-filter/saved-filters-menu/index.d.ts +1 -0
- package/app/components/{saved-filters-menu → saved-filter/saved-filters-menu}/saved-filters-menu.component.d.ts +7 -5
- package/app/fs-filter.module.d.ts +37 -35
- package/esm2020/app/components/saved-filter/index.mjs +4 -0
- package/esm2020/app/components/saved-filter/saved-filter-edit/index.mjs +2 -0
- package/esm2020/app/components/{saved-filter-edit → saved-filter/saved-filter-edit}/saved-filter-edit.component.mjs +1 -1
- package/esm2020/app/components/saved-filter/saved-filter-manage/index.mjs +2 -0
- package/esm2020/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +40 -0
- package/esm2020/app/components/saved-filter/saved-filters-menu/index.mjs +2 -0
- package/esm2020/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +52 -0
- package/esm2020/app/fs-filter.module.mjs +10 -3
- package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +6 -6
- package/esm2020/public_api.mjs +2 -2
- package/fesm2015/firestitch-filter.mjs +54 -10
- package/fesm2015/firestitch-filter.mjs.map +1 -1
- package/fesm2020/firestitch-filter.mjs +52 -10
- package/fesm2020/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -1
- package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +0 -44
|
@@ -29,6 +29,8 @@ import * as i7 from '@firestitch/form';
|
|
|
29
29
|
import { FsFormModule } from '@firestitch/form';
|
|
30
30
|
import * as i3$2 from '@angular/material/input';
|
|
31
31
|
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
32
|
+
import * as i4$3 from '@angular/cdk/drag-drop';
|
|
33
|
+
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
32
34
|
import { ComponentPortal, PortalInjector, PortalModule } from '@angular/cdk/portal';
|
|
33
35
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
34
36
|
import * as i4$2 from '@angular/material/checkbox';
|
|
@@ -2060,17 +2062,17 @@ class SavedFiltersController {
|
|
|
2060
2062
|
}
|
|
2061
2063
|
order(savedFilters) {
|
|
2062
2064
|
return this._config.order(savedFilters)
|
|
2063
|
-
.pipe(tap((
|
|
2065
|
+
.pipe(tap(() => {
|
|
2064
2066
|
this.savedFilters = [
|
|
2065
|
-
...
|
|
2067
|
+
...savedFilters,
|
|
2066
2068
|
];
|
|
2067
2069
|
}));
|
|
2068
2070
|
}
|
|
2069
2071
|
delete(savedFilter) {
|
|
2070
2072
|
return this._config.delete(savedFilter)
|
|
2071
|
-
.pipe(tap((
|
|
2073
|
+
.pipe(tap(() => {
|
|
2072
2074
|
this.savedFilters = this.savedFilters
|
|
2073
|
-
.filter((f) => f.id !==
|
|
2075
|
+
.filter((f) => f.id !== savedFilter.id);
|
|
2074
2076
|
}));
|
|
2075
2077
|
}
|
|
2076
2078
|
setActiveFilter(savedFilter) {
|
|
@@ -4280,11 +4282,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
4280
4282
|
args: [{ selector: 'filter-item-select-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"] }]
|
|
4281
4283
|
}], ctorParameters: function () { return []; } });
|
|
4282
4284
|
|
|
4285
|
+
class FsFilterSavedFilterManageComponent {
|
|
4286
|
+
constructor(data, _cdRef) {
|
|
4287
|
+
this.data = data;
|
|
4288
|
+
this._cdRef = _cdRef;
|
|
4289
|
+
this._savedFiltersController = this.data.savedFiltersController;
|
|
4290
|
+
this.savedFilters = [...this._savedFiltersController.savedFilters];
|
|
4291
|
+
}
|
|
4292
|
+
remove(savedFilter) {
|
|
4293
|
+
this._savedFiltersController.delete(savedFilter)
|
|
4294
|
+
.subscribe(() => {
|
|
4295
|
+
this.savedFilters = [...this._savedFiltersController.savedFilters];
|
|
4296
|
+
this._cdRef.markForCheck();
|
|
4297
|
+
});
|
|
4298
|
+
}
|
|
4299
|
+
drop(event) {
|
|
4300
|
+
moveItemInArray(this.savedFilters, event.previousIndex, event.currentIndex);
|
|
4301
|
+
this._savedFiltersController.order(this.savedFilters)
|
|
4302
|
+
.subscribe();
|
|
4303
|
+
}
|
|
4304
|
+
}
|
|
4305
|
+
FsFilterSavedFilterManageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterSavedFilterManageComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4306
|
+
FsFilterSavedFilterManageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterSavedFilterManageComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>\n Manage saved filters\n</h1>\n<div mat-dialog-content>\n <div\n cdkDropList \n [cdkDropListData]=\"savedFilters\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"> \n <ng-container \n *ngFor=\"let savedFilter of savedFilters\">\n <div class=\"chip-container\">\n <fs-chip \n cdkDrag\n (removed)=\"remove(savedFilter)\">\n {{savedFilter.name}}\n </fs-chip>\n </div>\n </ng-container>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n</div>\n", styles: [".chip-container{padding:5px 0}.chip-container fs-chip{cursor:move}.cdk-drag-preview{box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2$3.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { type: i1$3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4$3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i1$1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i7.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i1$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterSavedFilterManageComponent, decorators: [{
|
|
4308
|
+
type: Component,
|
|
4309
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 mat-dialog-title>\n Manage saved filters\n</h1>\n<div mat-dialog-content>\n <div\n cdkDropList \n [cdkDropListData]=\"savedFilters\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"> \n <ng-container \n *ngFor=\"let savedFilter of savedFilters\">\n <div class=\"chip-container\">\n <fs-chip \n cdkDrag\n (removed)=\"remove(savedFilter)\">\n {{savedFilter.name}}\n </fs-chip>\n </div>\n </ng-container>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n</div>\n", styles: [".chip-container{padding:5px 0}.chip-container fs-chip{cursor:move}.cdk-drag-preview{box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
4310
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
4311
|
+
type: Inject,
|
|
4312
|
+
args: [MAT_DIALOG_DATA]
|
|
4313
|
+
}] }, { type: i0.ChangeDetectorRef }]; } });
|
|
4314
|
+
|
|
4283
4315
|
class FsSavedFiltersMenuComponent {
|
|
4284
|
-
constructor(_itemsStore, _externalParams, _savedFilters) {
|
|
4316
|
+
constructor(_itemsStore, _externalParams, _savedFilters, _dialog) {
|
|
4285
4317
|
this._itemsStore = _itemsStore;
|
|
4286
4318
|
this._externalParams = _externalParams;
|
|
4287
4319
|
this._savedFilters = _savedFilters;
|
|
4320
|
+
this._dialog = _dialog;
|
|
4288
4321
|
this.clear = new EventEmitter();
|
|
4289
4322
|
}
|
|
4290
4323
|
get filters$() {
|
|
@@ -4302,15 +4335,19 @@ class FsSavedFiltersMenuComponent {
|
|
|
4302
4335
|
this.clear.emit();
|
|
4303
4336
|
}
|
|
4304
4337
|
manageFilters() {
|
|
4305
|
-
|
|
4338
|
+
this._dialog.open(FsFilterSavedFilterManageComponent, {
|
|
4339
|
+
data: {
|
|
4340
|
+
savedFiltersController: this._savedFilters,
|
|
4341
|
+
},
|
|
4342
|
+
});
|
|
4306
4343
|
}
|
|
4307
4344
|
}
|
|
4308
|
-
FsSavedFiltersMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsSavedFiltersMenuComponent, deps: [{ token: FsFilterItemsStore }, { token: ExternalParamsController }, { token: SavedFiltersController }], target: i0.ɵɵFactoryTarget.Component });
|
|
4309
|
-
FsSavedFiltersMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: { clear: "clear" }, ngImport: i0, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'Not selected' }}</a>\n\n<fs-menu #menu>\n <ng-container *ngIf=\"activeFilter$ | async\">\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n </ng-container>\n <ng-container *ngFor=\"let filter of filters$ | async\">\n
|
|
4345
|
+
FsSavedFiltersMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsSavedFiltersMenuComponent, deps: [{ token: FsFilterItemsStore }, { token: ExternalParamsController }, { token: SavedFiltersController }, { token: i1$1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
4346
|
+
FsSavedFiltersMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: { clear: "clear" }, ngImport: i0, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'Not selected' }}</a>\n\n<fs-menu #menu>\n <ng-container *ngIf=\"activeFilter$ | async\">\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n <ng-template \n fs-menu-item \n class=\"saved-filter-last-item\" \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"], components: [{ type: i3$3.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }], directives: [{ type: i3$3.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$3.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4310
4347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsSavedFiltersMenuComponent, decorators: [{
|
|
4311
4348
|
type: Component,
|
|
4312
|
-
args: [{ selector: 'fs-filter-saved-filters-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'Not selected' }}</a>\n\n<fs-menu #menu>\n <ng-container *ngIf=\"activeFilter$ | async\">\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n </ng-container>\n <ng-container *ngFor=\"let filter of filters$ | async\">\n
|
|
4313
|
-
}], ctorParameters: function () { return [{ type: FsFilterItemsStore }, { type: ExternalParamsController }, { type: SavedFiltersController }]; }, propDecorators: { clear: [{
|
|
4349
|
+
args: [{ selector: 'fs-filter-saved-filters-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'Not selected' }}</a>\n\n<fs-menu #menu>\n <ng-container *ngIf=\"activeFilter$ | async\">\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n <ng-template \n fs-menu-item \n class=\"saved-filter-last-item\" \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"] }]
|
|
4350
|
+
}], ctorParameters: function () { return [{ type: FsFilterItemsStore }, { type: ExternalParamsController }, { type: SavedFiltersController }, { type: i1$1.MatDialog }]; }, propDecorators: { clear: [{
|
|
4314
4351
|
type: Output
|
|
4315
4352
|
}] } });
|
|
4316
4353
|
|
|
@@ -4360,6 +4397,7 @@ FsFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
4360
4397
|
FsFilterActionsComponent,
|
|
4361
4398
|
FsFilterActionButtonComponent,
|
|
4362
4399
|
FsFilterActionKebabActionsComponent,
|
|
4400
|
+
FsFilterSavedFilterManageComponent,
|
|
4363
4401
|
FilterStatusBarDirective,
|
|
4364
4402
|
FocusToItemDirective,
|
|
4365
4403
|
// Pipes
|
|
@@ -4367,6 +4405,7 @@ FsFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
4367
4405
|
RouterModule,
|
|
4368
4406
|
FormsModule,
|
|
4369
4407
|
ReactiveFormsModule,
|
|
4408
|
+
DragDropModule,
|
|
4370
4409
|
MatIconModule,
|
|
4371
4410
|
MatInputModule,
|
|
4372
4411
|
MatSelectModule,
|
|
@@ -4402,6 +4441,7 @@ FsFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
4402
4441
|
RouterModule,
|
|
4403
4442
|
FormsModule,
|
|
4404
4443
|
ReactiveFormsModule,
|
|
4444
|
+
DragDropModule,
|
|
4405
4445
|
MatIconModule,
|
|
4406
4446
|
MatInputModule,
|
|
4407
4447
|
MatSelectModule,
|
|
@@ -4437,6 +4477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
4437
4477
|
RouterModule,
|
|
4438
4478
|
FormsModule,
|
|
4439
4479
|
ReactiveFormsModule,
|
|
4480
|
+
DragDropModule,
|
|
4440
4481
|
MatIconModule,
|
|
4441
4482
|
MatInputModule,
|
|
4442
4483
|
MatSelectModule,
|
|
@@ -4492,6 +4533,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
4492
4533
|
FsFilterActionsComponent,
|
|
4493
4534
|
FsFilterActionButtonComponent,
|
|
4494
4535
|
FsFilterActionKebabActionsComponent,
|
|
4536
|
+
FsFilterSavedFilterManageComponent,
|
|
4495
4537
|
FilterStatusBarDirective,
|
|
4496
4538
|
FocusToItemDirective,
|
|
4497
4539
|
// Pipes
|