@recursyve/nice-data-filter-kit 14.0.7 → 14.1.1
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/esm2020/lib/components/nice-filter-view/components/common/data.directive.mjs +14 -0
- package/esm2020/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +22 -0
- package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +85 -0
- package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +27 -0
- package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +33 -0
- package/esm2020/lib/components/nice-filter-view/components/search/search.component.mjs +54 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +48 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +58 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-tables.mjs +22 -0
- package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +81 -0
- package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +89 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +34 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.constant.mjs +5 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.module.mjs +143 -0
- package/esm2020/lib/components/nice-filter-view/public-api.mjs +16 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +29 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +229 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +119 -0
- package/esm2020/lib/components/public-api.mjs +2 -1
- package/esm2020/lib/utils/query-params.utils.mjs +5 -1
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +958 -17
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +972 -16
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/components/nice-filter-view/components/common/data.directive.d.ts +8 -0
- package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +11 -0
- package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +25 -0
- package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +11 -0
- package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +14 -0
- package/lib/components/nice-filter-view/components/search/search.component.d.ts +20 -0
- package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +16 -0
- package/lib/components/nice-filter-view/directives/mat-sort.d.ts +16 -0
- package/lib/components/nice-filter-view/directives/mat-tables.d.ts +12 -0
- package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +21 -0
- package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +55 -0
- package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +12 -0
- package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +4 -0
- package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +40 -0
- package/lib/components/nice-filter-view/public-api.d.ts +15 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +15 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +36 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +31 -0
- package/lib/components/public-api.d.ts +1 -0
- package/lib/utils/query-params.utils.d.ts +3 -0
- package/package.json +1 -1
- package/src/lib/nice-data-filter.theme.scss +25 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Directive, TemplateRef } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NiceFilterDataDirective {
|
|
4
|
+
constructor(template) {
|
|
5
|
+
this.template = template;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
NiceFilterDataDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterDataDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
NiceFilterDataDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterDataDirective, selector: "[niceFilterData]", ngImport: i0 });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterDataDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{ selector: "[niceFilterData]" }]
|
|
13
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2NvbW1vbi9kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFHLENBQUM7O29IQUR4Qyx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogXCJbbmljZUZpbHRlckRhdGFdXCIgfSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, ContentChild, TemplateRef, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
|
|
3
|
+
import { NiceFilterDataDirective } from "../common/data.directive";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../store/nice-filter-view.query";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class NiceFilterCustomDataViewComponent {
|
|
8
|
+
constructor(query) {
|
|
9
|
+
this.query = query;
|
|
10
|
+
this.data$ = this.query.selectAll();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
NiceFilterCustomDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterCustomDataViewComponent, deps: [{ token: i1.NiceFilterViewQuery }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
NiceFilterCustomDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterCustomDataViewComponent, selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterCustomDataViewComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: "nice-filter-custom-data-view, div[nice-filter-custom-data-view]", encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n" }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }]; }, propDecorators: { content: [{
|
|
19
|
+
type: ContentChild,
|
|
20
|
+
args: [NiceFilterDataDirective, { read: TemplateRef }]
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGEtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2N1c3RvbS1kYXRhLXZpZXcvY3VzdG9tLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2N1c3RvbS1kYXRhLXZpZXcvY3VzdG9tLWRhdGEtdmlldy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVFuRSxNQUFNLE9BQU8saUNBQWlDO0lBTTFDLFlBQW9CLEtBQTBCO1FBQTFCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRnZDLFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRVcsQ0FBQzs7OEhBTnpDLGlDQUFpQztrSEFBakMsaUNBQWlDLDRJQUM1Qix1QkFBdUIsMkJBQVUsV0FBVyw2QkNYOUQsNkpBR0E7MkZET2EsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNJLGlFQUFpRSxpQkFHNUQsaUJBQWlCLENBQUMsSUFBSTswR0FJOUIsT0FBTztzQkFEYixZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSB9IGZyb20gXCIuLi9jb21tb24vZGF0YS5kaXJlY3RpdmVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1maWx0ZXItY3VzdG9tLWRhdGEtdmlldywgZGl2W25pY2UtZmlsdGVyLWN1c3RvbS1kYXRhLXZpZXddXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiY3VzdG9tLWRhdGEtdmlldy50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJjdXN0b20tZGF0YS12aWV3LnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyQ3VzdG9tRGF0YVZpZXdDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoTmljZUZpbHRlckRhdGFEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBwdWJsaWMgY29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyBkYXRhJCA9IHRoaXMucXVlcnkuc2VsZWN0QWxsKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5KSB7fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGEkIHwgYXN5bmMgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, Inject, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { MatBottomSheet } from "@angular/material/bottom-sheet";
|
|
3
|
+
import { ExportBottomSheetComponent } from "@recursyve/nice-ui-kit.v2";
|
|
4
|
+
import { EXPORTS_SETTINGS, FILTER_VIEW_ICONS } from "../../nice-filter-view.constant";
|
|
5
|
+
import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
|
|
6
|
+
import { NiceFilterViewService } from "../../store/nice-filter-view.service";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../store/nice-filter-view.query";
|
|
9
|
+
import * as i2 from "../../store/nice-filter-view.service";
|
|
10
|
+
import * as i3 from "@angular/material/bottom-sheet";
|
|
11
|
+
import * as i4 from "@angular/material/icon";
|
|
12
|
+
import * as i5 from "@angular/material/tooltip";
|
|
13
|
+
import * as i6 from "@angular/material/button";
|
|
14
|
+
import * as i7 from "@ngx-translate/core";
|
|
15
|
+
import * as i8 from "@angular/common";
|
|
16
|
+
export class NiceFilterExportButtonsComponent {
|
|
17
|
+
constructor(icons, exportsSettings, query, service, bottomSheet) {
|
|
18
|
+
this.icons = icons;
|
|
19
|
+
this.exportsSettings = exportsSettings;
|
|
20
|
+
this.query = query;
|
|
21
|
+
this.service = service;
|
|
22
|
+
this.bottomSheet = bottomSheet;
|
|
23
|
+
this.customExport = [];
|
|
24
|
+
this.downloadFileName = "data";
|
|
25
|
+
this.loading$ = this.query.selectLoading();
|
|
26
|
+
}
|
|
27
|
+
clickExport() {
|
|
28
|
+
const exports = [];
|
|
29
|
+
if (this.exportsSettings.xlsx) {
|
|
30
|
+
exports.push({
|
|
31
|
+
type: "xlsx",
|
|
32
|
+
onClickExport: () => this.clickXlsx()
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (this.exportsSettings.csv) {
|
|
36
|
+
exports.push({
|
|
37
|
+
type: "csv",
|
|
38
|
+
onClickExport: () => this.clickCsv()
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
if (this.exportsSettings.pdf) {
|
|
42
|
+
exports.push({
|
|
43
|
+
type: "pdf",
|
|
44
|
+
onClickExport: () => this.clickPdf()
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
this.bottomSheet.open(ExportBottomSheetComponent, {
|
|
48
|
+
data: {
|
|
49
|
+
exportStrategies: [
|
|
50
|
+
...exports,
|
|
51
|
+
...this.customExport
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
clickXlsx() {
|
|
57
|
+
this.service.downloadData("xlsx", this.downloadFileName);
|
|
58
|
+
}
|
|
59
|
+
clickCsv() {
|
|
60
|
+
this.service.downloadData("csv", this.downloadFileName);
|
|
61
|
+
}
|
|
62
|
+
clickPrint() {
|
|
63
|
+
this.service.printData();
|
|
64
|
+
}
|
|
65
|
+
clickPdf() {
|
|
66
|
+
this.service.downloadData("pdf", this.downloadFileName);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
NiceFilterExportButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: EXPORTS_SETTINGS }, { token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.MatBottomSheet }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
NiceFilterExportButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportButtonsComponent, selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", inputs: { customExport: "customExport", downloadFileName: "downloadFileName" }, ngImport: i0, template: "<button\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.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"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", encapsulation: ViewEncapsulation.None, template: "<button\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n" }]
|
|
74
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
75
|
+
type: Inject,
|
|
76
|
+
args: [FILTER_VIEW_ICONS]
|
|
77
|
+
}] }, { type: undefined, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [EXPORTS_SETTINGS]
|
|
80
|
+
}] }, { type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.MatBottomSheet }]; }, propDecorators: { customExport: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], downloadFileName: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}] } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9leHBvcnQtYnV0dG9ucy9leHBvcnQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2V4cG9ydC1idXR0b25zL2V4cG9ydC1idXR0b25zLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFHdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLGdDQUFnQztJQVN6QyxZQUNzQyxLQUEwQixFQUNqQixlQUErQixFQUNsRSxLQUEwQixFQUMxQixPQUE4QixFQUNyQixXQUEyQjtRQUpWLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQ2pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUNsRSxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFaekMsaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBR3BDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUUxQixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQVExQyxDQUFDO0lBRUcsV0FBVztRQUNkLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLE1BQU07Z0JBQ1osYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7YUFDeEMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDdkMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDdkMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUM5QyxJQUFJLEVBQUU7Z0JBQ0YsZ0JBQWdCLEVBQUU7b0JBQ2QsR0FBRyxPQUFPO29CQUNWLEdBQUcsSUFBSSxDQUFDLFlBQVk7aUJBQ3ZCO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sU0FBUztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQzs7NkhBN0RRLGdDQUFnQyxrQkFVN0IsaUJBQWlCLGFBQ2pCLGdCQUFnQjtpSEFYbkIsZ0NBQWdDLG1MQ2Y3Qyw4aUJBbUJBOzJGREphLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSw2REFBNkQsaUJBR3hELGlCQUFpQixDQUFDLElBQUk7OzBCQVloQyxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0JBQWdCOytJQVRyQixZQUFZO3NCQURsQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0XCI7XG5pbXBvcnQgeyBFeHBvcnRCb3R0b21TaGVldENvbXBvbmVudCwgRXhwb3J0U3RyYXRlZ3kgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgRXhwb3J0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9leHBvcnQubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VCYXNlSWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgRVhQT1JUU19TRVRUSU5HUywgRklMVEVSX1ZJRVdfSUNPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLWV4cG9ydC1idXR0b25zLCBkaXZbbmljZS1maWx0ZXItZXhwb3J0LWJ1dHRvbnNdXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiZXhwb3J0LWJ1dHRvbnMudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiZXhwb3J0LWJ1dHRvbnMuc3R5bGUuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJFeHBvcnRCdXR0b25zQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21FeHBvcnQ6IEV4cG9ydFN0cmF0ZWd5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvd25sb2FkRmlsZU5hbWUgPSBcImRhdGFcIjtcblxuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMucXVlcnkuc2VsZWN0TG9hZGluZygpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRklMVEVSX1ZJRVdfSUNPTlMpIHB1YmxpYyBpY29uczogTmljZUJhc2VJY29uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFWFBPUlRTX1NFVFRJTkdTKSBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydHNTZXR0aW5nczogRXhwb3J0U2V0dGluZ3MsXG4gICAgICAgIHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGJvdHRvbVNoZWV0OiBNYXRCb3R0b21TaGVldFxuICAgICkge31cblxuICAgIHB1YmxpYyBjbGlja0V4cG9ydCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhwb3J0cyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MueGxzeCkge1xuICAgICAgICAgICAgZXhwb3J0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInhsc3hcIixcbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwb3J0OiAoKSA9PiB0aGlzLmNsaWNrWGxzeCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MuY3N2KSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiY3N2XCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja0NzdigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MucGRmKSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwicGRmXCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja1BkZigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJvdHRvbVNoZWV0Lm9wZW4oRXhwb3J0Qm90dG9tU2hlZXRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBleHBvcnRTdHJhdGVnaWVzOiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmV4cG9ydHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY3VzdG9tRXhwb3J0XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2tYbHN4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwieGxzeFwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja0NzdigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmRvd25sb2FkRGF0YShcImNzdlwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja1ByaW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UucHJpbnREYXRhKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUGRmKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwicGRmXCIsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIChjbGljayk9XCJjbGlja1ByaW50KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5wcmludCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwiZXhwb3J0LWJ1dHRvblwiXG4gICAgbWF0LW1pbmktZmFiXG4+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLnByaW50LnN2Z0ljb25cIj57eyBpY29ucy5wcmludC5tYXRJY29uIH19PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48YnV0dG9uXG4gICAgKGNsaWNrKT1cImNsaWNrRXhwb3J0KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5leHBvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cImV4cG9ydC1idXR0b25cIlxuICAgIG1hdC1taW5pLWZhYlxuPlxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5kb3dubG9hZC5zdmdJY29uXCI+e3sgaWNvbnMuZG93bmxvYWQubWF0SWNvbiB9fTwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from "@angular/core";
|
|
2
|
+
import { NiceFilterViewService } from "../../store/nice-filter-view.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../store/nice-filter-view.service";
|
|
5
|
+
export class NiceFilterExportDirective {
|
|
6
|
+
constructor(service) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
this.downloadFileName = "data";
|
|
9
|
+
}
|
|
10
|
+
onClick() {
|
|
11
|
+
this.service.downloadData(this.type, this.downloadFileName);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
NiceFilterExportDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportDirective, deps: [{ token: i1.NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
NiceFilterExportDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportDirective, selector: "[niceFilterExport]", inputs: { type: "type", downloadFileName: "downloadFileName" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportDirective, decorators: [{
|
|
17
|
+
type: Directive,
|
|
18
|
+
args: [{ selector: "[niceFilterExport]" }]
|
|
19
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewService }]; }, propDecorators: { type: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], downloadFileName: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], onClick: [{
|
|
24
|
+
type: HostListener,
|
|
25
|
+
args: ["click"]
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvZXhwb3J0LWJ1dHRvbnMvZXhwb3J0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7OztBQUc3RSxNQUFNLE9BQU8seUJBQXlCO0lBT2xDLFlBQW9CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBRjNDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUVvQixDQUFDO0lBRy9DLE9BQU87UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7O3NIQVpRLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUM7NEdBR2hDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBTUMsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogXCJbbmljZUZpbHRlckV4cG9ydF1cIn0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlckV4cG9ydERpcmVjdGl2ZSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHlwZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZG93bmxvYWRGaWxlTmFtZSA9IFwiZGF0YVwiO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBOaWNlRmlsdGVyVmlld1NlcnZpY2UpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIilcbiAgICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmRvd25sb2FkRGF0YSh0aGlzLnR5cGUsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, ContentChild, TemplateRef, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
|
|
3
|
+
import { NiceFilterViewService } from "../../store/nice-filter-view.service";
|
|
4
|
+
import { NiceFilterDataDirective } from "../common/data.directive";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../store/nice-filter-view.query";
|
|
7
|
+
import * as i2 from "../../store/nice-filter-view.service";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
export class NiceFilterInfiniteScrollDataViewComponent {
|
|
10
|
+
constructor(query, service) {
|
|
11
|
+
this.query = query;
|
|
12
|
+
this.service = service;
|
|
13
|
+
this.data$ = this.query.selectAll();
|
|
14
|
+
}
|
|
15
|
+
async loadNextPage() {
|
|
16
|
+
const { filterParameters } = this.query.getValue();
|
|
17
|
+
this.service.setMode("paginated");
|
|
18
|
+
await this.service.setParameters({
|
|
19
|
+
...filterParameters,
|
|
20
|
+
start: filterParameters.start + filterParameters.length
|
|
21
|
+
}, true);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
NiceFilterInfiniteScrollDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterInfiniteScrollDataViewComponent, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
NiceFilterInfiniteScrollDataViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterInfiniteScrollDataViewComponent, selector: "nice-filter-infinite-scroll-data-view, div[nice-filter-infinite-scroll-data-view]", queries: [{ propertyName: "content", first: true, predicate: NiceFilterDataDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterInfiniteScrollDataViewComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: "nice-filter-infinite-scroll-data-view, div[nice-filter-infinite-scroll-data-view]", encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: data$ | async }\"></ng-container>\n</ng-container>\n" }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }]; }, propDecorators: { content: [{
|
|
30
|
+
type: ContentChild,
|
|
31
|
+
args: [NiceFilterDataDirective, { read: TemplateRef }]
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLWRhdGEtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcvaW5maW5pdGUtc2Nyb2xsLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcvaW5maW5pdGUtc2Nyb2xsLWRhdGEtdmlldy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRbkUsTUFBTSxPQUFPLHlDQUF5QztJQU1sRCxZQUFvQixLQUEwQixFQUFVLE9BQThCO1FBQWxFLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFGL0UsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFFbUQsQ0FBQztJQUVuRixLQUFLLENBQUMsWUFBWTtRQUNyQixNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDN0IsR0FBRyxnQkFBZ0I7WUFDbkIsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNO1NBQzFELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDYixDQUFDOztzSUFmUSx5Q0FBeUM7MEhBQXpDLHlDQUF5Qyw4SkFDcEMsdUJBQXVCLDJCQUFVLFdBQVcsNkJDWjlELDZKQUdBOzJGRFFhLHlDQUF5QztrQkFOckQsU0FBUzsrQkFDSSxtRkFBbUYsaUJBRzlFLGlCQUFpQixDQUFDLElBQUk7OElBSTlCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlckRhdGFEaXJlY3RpdmUgfSBmcm9tIFwiLi4vY29tbW9uL2RhdGEuZGlyZWN0aXZlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLWluZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcsIGRpdltuaWNlLWZpbHRlci1pbmZpbml0ZS1zY3JvbGwtZGF0YS12aWV3XVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcImluZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiaW5maW5pdGUtc2Nyb2xsLWRhdGEtdmlldy5zdHlsZS5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlckluZmluaXRlU2Nyb2xsRGF0YVZpZXdDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoTmljZUZpbHRlckRhdGFEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBwdWJsaWMgY29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyBkYXRhJCA9IHRoaXMucXVlcnkuc2VsZWN0QWxsKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5LCBwcml2YXRlIHNlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZSkge31cblxuICAgIHB1YmxpYyBhc3luYyBsb2FkTmV4dFBhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0TW9kZShcInBhZ2luYXRlZFwiKTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnNldFBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgIHN0YXJ0OiBmaWx0ZXJQYXJhbWV0ZXJzLnN0YXJ0ICsgZmlsdGVyUGFyYW1ldGVycy5sZW5ndGhcbiAgICAgICAgfSwgdHJ1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGRhdGEkIHwgYXN5bmMgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Inject, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { Subject, tap } from "rxjs";
|
|
3
|
+
import { debounceTime, distinctUntilChanged, map, takeUntil } from "rxjs/operators";
|
|
4
|
+
import { FILTER_VIEW_ICONS } from "../../nice-filter-view.constant";
|
|
5
|
+
import { NiceFilterViewQuery } from "../../store/nice-filter-view.query";
|
|
6
|
+
import { NiceFilterViewService } from "../../store/nice-filter-view.service";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../store/nice-filter-view.query";
|
|
9
|
+
import * as i2 from "../../store/nice-filter-view.service";
|
|
10
|
+
import * as i3 from "@angular/material/icon";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
import * as i5 from "@ngx-translate/core";
|
|
13
|
+
import * as i6 from "@angular/common";
|
|
14
|
+
export class NiceFilterSearchComponent {
|
|
15
|
+
constructor(icons, query, service) {
|
|
16
|
+
this.icons = icons;
|
|
17
|
+
this.query = query;
|
|
18
|
+
this.service = service;
|
|
19
|
+
this.appearance = "default";
|
|
20
|
+
this.searchQuery$ = this.query.selectFilterParameters().pipe(map(f => f.search));
|
|
21
|
+
this.unsubscribeAll$ = new Subject();
|
|
22
|
+
this.searchText$ = new Subject();
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.searchText$
|
|
26
|
+
.pipe(takeUntil(this.unsubscribeAll$), debounceTime(300), distinctUntilChanged(), tap((search) => {
|
|
27
|
+
const { filterParameters } = this.query.getValue();
|
|
28
|
+
this.service.setParameters({
|
|
29
|
+
...filterParameters,
|
|
30
|
+
search
|
|
31
|
+
}, true);
|
|
32
|
+
}))
|
|
33
|
+
.subscribe();
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this.unsubscribeAll$.next();
|
|
37
|
+
this.unsubscribeAll$.complete();
|
|
38
|
+
}
|
|
39
|
+
onUpdateSearch(search) {
|
|
40
|
+
this.searchText$.next(search);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
NiceFilterSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterSearchComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
NiceFilterSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterSearchComponent, selector: "nice-filter-search", inputs: { appearance: "appearance" }, ngImport: i0, template: "<div\n class=\"search-wrapper mx-md-0\"\n [class.nice-search-default]=\"appearance === 'default'\"\n [class.nice-search-outlined]=\"appearance === 'outlined'\"\n [class.nice-search-legacy]=\"appearance === 'legacy'\"\n [class.nice-search-custom]=\"appearance === 'custom'\"\n>\n <div class=\"search flex flex-auto justify-start items-center\">\n <mat-icon [svgIcon]=\"icons.search.svgIcon\">{{ icons.search.matIcon }}</mat-icon>\n <input [ngModel]=\"searchQuery$ | async\" (ngModelChange)=\"onUpdateSearch($event)\" [placeholder]=\"'general.search' | translate\" />\n\n <ng-content select=\"[niceFilterSearchButtons]\"></ng-content>\n </div>\n</div>\n", styles: ["nice-filter-search .search-wrapper{width:100%;max-width:480px;overflow:hidden}nice-filter-search .search-wrapper.nice-search-default{box-shadow:0 4px 12px #0000001f;border-radius:5px}nice-filter-search .search-wrapper.nice-search-outlined{border-radius:5px}nice-filter-search .search-wrapper.nice-search-legacy{box-shadow:0 3px 3px -2px #0000000f,0 3px 4px #0000000b,0 1px 8px #00000009;border-radius:28px}nice-filter-search .search-wrapper .search{width:100%;height:48px;line-height:48px;padding:0 18px}nice-filter-search .search-wrapper .search input{width:100%;height:48px;min-height:48px;max-height:48px;padding:0 16px;border:none;outline:none}\n"], dependencies: [{ kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterSearchComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: "nice-filter-search", encapsulation: ViewEncapsulation.None, template: "<div\n class=\"search-wrapper mx-md-0\"\n [class.nice-search-default]=\"appearance === 'default'\"\n [class.nice-search-outlined]=\"appearance === 'outlined'\"\n [class.nice-search-legacy]=\"appearance === 'legacy'\"\n [class.nice-search-custom]=\"appearance === 'custom'\"\n>\n <div class=\"search flex flex-auto justify-start items-center\">\n <mat-icon [svgIcon]=\"icons.search.svgIcon\">{{ icons.search.matIcon }}</mat-icon>\n <input [ngModel]=\"searchQuery$ | async\" (ngModelChange)=\"onUpdateSearch($event)\" [placeholder]=\"'general.search' | translate\" />\n\n <ng-content select=\"[niceFilterSearchButtons]\"></ng-content>\n </div>\n</div>\n", styles: ["nice-filter-search .search-wrapper{width:100%;max-width:480px;overflow:hidden}nice-filter-search .search-wrapper.nice-search-default{box-shadow:0 4px 12px #0000001f;border-radius:5px}nice-filter-search .search-wrapper.nice-search-outlined{border-radius:5px}nice-filter-search .search-wrapper.nice-search-legacy{box-shadow:0 3px 3px -2px #0000000f,0 3px 4px #0000000b,0 1px 8px #00000009;border-radius:28px}nice-filter-search .search-wrapper .search{width:100%;height:48px;line-height:48px;padding:0 18px}nice-filter-search .search-wrapper .search input{width:100%;height:48px;min-height:48px;max-height:48px;padding:0 16px;border:none;outline:none}\n"] }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
49
|
+
type: Inject,
|
|
50
|
+
args: [FILTER_VIEW_ICONS]
|
|
51
|
+
}] }, { type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }]; }, propDecorators: { appearance: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQVE3RSxNQUFNLE9BQU8seUJBQXlCO0lBU2xDLFlBQ3NDLEtBQTBCLEVBQ3BELEtBQTBCLEVBQzFCLE9BQThCO1FBRkosVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFDcEQsVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFWbkMsZUFBVSxHQUFpRCxTQUFTLENBQUM7UUFFckUsaUJBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTNFLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFNekMsQ0FBQztJQUVHLFFBQVE7UUFDWCxJQUFJLENBQUMsV0FBVzthQUNYLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ25CLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQ3ZCLEdBQUcsZ0JBQWdCO2dCQUNuQixNQUFNO2FBQ1QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFjO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O3NIQXZDUSx5QkFBeUIsa0JBVXRCLGlCQUFpQjswR0FWcEIseUJBQXlCLGdHQ2R0Qyx1ckJBY0E7MkZEQWEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLG9CQUFvQixpQkFHZixpQkFBaUIsQ0FBQyxJQUFJOzswQkFZaEMsTUFBTTsyQkFBQyxpQkFBaUI7a0hBUnRCLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VCYXNlSWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgRklMVEVSX1ZJRVdfSUNPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLXNlYXJjaFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInNlYXJjaC50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJzZWFyY2guc3R5bGUuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXBwZWFyYW5jZTogXCJkZWZhdWx0XCIgfCBcIm91dGxpbmVkXCIgfCBcImxlZ2FjeVwiIHwgXCJjdXN0b21cIiA9IFwiZGVmYXVsdFwiO1xuXG4gICAgcHVibGljIHNlYXJjaFF1ZXJ5JCA9IHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyUGFyYW1ldGVycygpLnBpcGUobWFwKGYgPT4gZi5zZWFyY2gpKTtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlYXJjaFRleHQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRklMVEVSX1ZJRVdfSUNPTlMpIHB1YmxpYyBpY29uczogTmljZUJhc2VJY29uT3B0aW9ucyxcbiAgICAgICAgcHJpdmF0ZSBxdWVyeTogTmljZUZpbHRlclZpZXdRdWVyeSxcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlRmlsdGVyVmlld1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICB0YXAoKHNlYXJjaDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0UGFyYW1ldGVycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoXG4gICAgICAgICAgICAgICAgICAgIH0sIHRydWUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVXBkYXRlU2VhcmNoKHNlYXJjaDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGV4dCQubmV4dChzZWFyY2gpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInNlYXJjaC13cmFwcGVyIG14LW1kLTBcIlxuICAgIFtjbGFzcy5uaWNlLXNlYXJjaC1kZWZhdWx0XT1cImFwcGVhcmFuY2UgPT09ICdkZWZhdWx0J1wiXG4gICAgW2NsYXNzLm5pY2Utc2VhcmNoLW91dGxpbmVkXT1cImFwcGVhcmFuY2UgPT09ICdvdXRsaW5lZCdcIlxuICAgIFtjbGFzcy5uaWNlLXNlYXJjaC1sZWdhY3ldPVwiYXBwZWFyYW5jZSA9PT0gJ2xlZ2FjeSdcIlxuICAgIFtjbGFzcy5uaWNlLXNlYXJjaC1jdXN0b21dPVwiYXBwZWFyYW5jZSA9PT0gJ2N1c3RvbSdcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2ggZmxleCBmbGV4LWF1dG8ganVzdGlmeS1zdGFydCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLnNlYXJjaC5zdmdJY29uXCI+e3sgaWNvbnMuc2VhcmNoLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICA8aW5wdXQgW25nTW9kZWxdPVwic2VhcmNoUXVlcnkkIHwgYXN5bmNcIiAobmdNb2RlbENoYW5nZSk9XCJvblVwZGF0ZVNlYXJjaCgkZXZlbnQpXCIgW3BsYWNlaG9sZGVyXT1cIidnZW5lcmFsLnNlYXJjaCcgfCB0cmFuc2xhdGVcIiAvPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltuaWNlRmlsdGVyU2VhcmNoQnV0dG9uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import { MatPaginator } from "@angular/material/paginator";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { takeUntil } from "rxjs/operators";
|
|
5
|
+
import { NiceFilterViewQuery } from "../store/nice-filter-view.query";
|
|
6
|
+
import { NiceFilterViewService } from "../store/nice-filter-view.service";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../store/nice-filter-view.query";
|
|
9
|
+
import * as i2 from "../store/nice-filter-view.service";
|
|
10
|
+
import * as i3 from "@angular/material/paginator";
|
|
11
|
+
export class NiceFilterMatPaginatorPaginationDirective {
|
|
12
|
+
constructor(query, service, paginator) {
|
|
13
|
+
this.query = query;
|
|
14
|
+
this.service = service;
|
|
15
|
+
this.paginator = paginator;
|
|
16
|
+
this.unsubscribeAll$ = new Subject();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.query.selectFilterResult().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
|
|
20
|
+
if (!res) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { page, total } = res;
|
|
24
|
+
this.paginator.pageIndex = page.number;
|
|
25
|
+
this.paginator.pageSize = page.size;
|
|
26
|
+
this.paginator.length = total;
|
|
27
|
+
});
|
|
28
|
+
this.paginator.page.pipe(takeUntil(this.unsubscribeAll$)).subscribe((page) => {
|
|
29
|
+
const { filterParameters } = this.query.getValue();
|
|
30
|
+
this.service.setParameters({
|
|
31
|
+
...filterParameters,
|
|
32
|
+
start: page.pageIndex,
|
|
33
|
+
length: page.pageSize
|
|
34
|
+
}, true);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this.unsubscribeAll$.next();
|
|
39
|
+
this.unsubscribeAll$.complete();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
NiceFilterMatPaginatorPaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.MatPaginator }], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
NiceFilterMatPaginatorPaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatPaginatorPaginationDirective, selector: "mat-paginator[niceFilterPagination]", ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatPaginatorPaginationDirective, decorators: [{
|
|
45
|
+
type: Directive,
|
|
46
|
+
args: [{ selector: "mat-paginator[niceFilterPagination]" }]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.MatPaginator }]; } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhZ2luYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2RpcmVjdGl2ZXMvbWF0LXBhZ2luYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBRzFFLE1BQU0sT0FBTyx5Q0FBeUM7SUFHbEQsWUFBb0IsS0FBMEIsRUFBVSxPQUE4QixFQUFVLFNBQXVCO1FBQW5HLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRi9HLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU0RSxDQUFDO0lBRXBILFFBQVE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwRixJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNOLE9BQU87YUFDVjtZQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQ3ZCLEdBQUcsZ0JBQWdCO2dCQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztzSUE5QlEseUNBQXlDOzBIQUF6Qyx5Q0FBeUM7MkZBQXpDLHlDQUF5QztrQkFEckQsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxxQ0FBcUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvclwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwibWF0LXBhZ2luYXRvcltuaWNlRmlsdGVyUGFnaW5hdGlvbl1cIiB9KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJNYXRQYWdpbmF0b3JQYWdpbmF0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLCBwcml2YXRlIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1ZXJ5LnNlbGVjdEZpbHRlclJlc3VsdCgpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmICghcmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IHBhZ2UsIHRvdGFsIH0gPSByZXM7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggPSBwYWdlLm51bWJlcjtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplID0gcGFnZS5zaXplO1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IubGVuZ3RoID0gdG90YWw7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHBhZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldFBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgc3RhcnQ6IHBhZ2UucGFnZUluZGV4LFxuICAgICAgICAgICAgICAgIGxlbmd0aDogcGFnZS5wYWdlU2l6ZVxuICAgICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import { MatSort } from "@angular/material/sort";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { takeUntil } from "rxjs/operators";
|
|
5
|
+
import { NiceFilterViewQuery } from "../store/nice-filter-view.query";
|
|
6
|
+
import { NiceFilterViewService } from "../store/nice-filter-view.service";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../store/nice-filter-view.query";
|
|
9
|
+
import * as i2 from "../store/nice-filter-view.service";
|
|
10
|
+
import * as i3 from "@angular/material/sort";
|
|
11
|
+
export class NiceFilterMatSortSortingDirective {
|
|
12
|
+
constructor(query, service, sort) {
|
|
13
|
+
this.query = query;
|
|
14
|
+
this.service = service;
|
|
15
|
+
this.sort = sort;
|
|
16
|
+
this.unsubscribeAll$ = new Subject();
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((res) => {
|
|
20
|
+
if (!res) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const { order } = res;
|
|
24
|
+
this.sort.direction = order.direction;
|
|
25
|
+
this.sort.active = order.column;
|
|
26
|
+
});
|
|
27
|
+
this.sort.sortChange.pipe(takeUntil(this.unsubscribeAll$)).subscribe((sort) => {
|
|
28
|
+
const { filterParameters } = this.query.getValue();
|
|
29
|
+
if (!sort.direction) {
|
|
30
|
+
const { order, ...values } = filterParameters;
|
|
31
|
+
this.service.setParameters({
|
|
32
|
+
...values,
|
|
33
|
+
order: {}
|
|
34
|
+
}, true);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.service.setParameters({
|
|
38
|
+
...filterParameters,
|
|
39
|
+
order: {
|
|
40
|
+
column: sort.active,
|
|
41
|
+
direction: sort.direction
|
|
42
|
+
}
|
|
43
|
+
}, true);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
ngOnDestroy() {
|
|
48
|
+
this.unsubscribeAll$.next();
|
|
49
|
+
this.unsubscribeAll$.complete();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
NiceFilterMatSortSortingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatSortSortingDirective, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.MatSort }], target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
NiceFilterMatSortSortingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatSortSortingDirective, selector: "mat-table[matSort][niceFilterSorting]", ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatSortSortingDirective, decorators: [{
|
|
55
|
+
type: Directive,
|
|
56
|
+
args: [{ selector: "mat-table[matSort][niceFilterSorting]" }]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.MatSort }]; } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9kaXJlY3RpdmVzL21hdC1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHMUUsTUFBTSxPQUFPLGlDQUFpQztJQUcxQyxZQUFvQixLQUEwQixFQUFVLE9BQThCLEVBQVUsSUFBYTtRQUF6RixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUztRQUZyRyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFa0UsQ0FBQztJQUUxRyxRQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDTixPQUFPO2FBQ1Y7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDakIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO2dCQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDdkIsR0FBRyxNQUFNO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNaLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDdkIsR0FBRyxnQkFBZ0I7b0JBQ25CLEtBQUssRUFBRTt3QkFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBMkI7cUJBQzlDO2lCQUNKLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7OEhBdkNRLGlDQUFpQztrSEFBakMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsdUNBQXVDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwibWF0LXRhYmxlW21hdFNvcnRdW25pY2VGaWx0ZXJTb3J0aW5nXVwiIH0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlck1hdFNvcnRTb3J0aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLCBwcml2YXRlIHNvcnQ6IE1hdFNvcnQpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyUGFyYW1ldGVycygpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmICghcmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IG9yZGVyIH0gPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNvcnQuZGlyZWN0aW9uID0gb3JkZXIuZGlyZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5zb3J0LmFjdGl2ZSA9IG9yZGVyLmNvbHVtbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHNvcnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgaWYgKCFzb3J0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3JkZXIsIC4uLnZhbHVlcyB9ID0gZmlsdGVyUGFyYW1ldGVycztcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0UGFyYW1ldGVycyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IHt9XG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogc29ydC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHNvcnQuZGlyZWN0aW9uIGFzIFwiYXNjXCIgfCBcImRlc2NcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Directive } from "@angular/core";
|
|
2
|
+
import { MatTable } from "@angular/material/table";
|
|
3
|
+
import { NiceFilterViewQuery } from "../store/nice-filter-view.query";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../store/nice-filter-view.query";
|
|
6
|
+
import * as i2 from "@angular/material/table";
|
|
7
|
+
export class NiceFilterMatTableViewDirective {
|
|
8
|
+
constructor(query, table) {
|
|
9
|
+
this.query = query;
|
|
10
|
+
this.table = table;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.table.dataSource = this.query.selectAll();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
NiceFilterMatTableViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatTableViewDirective, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.MatTable }], target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
+
NiceFilterMatTableViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterMatTableViewDirective, selector: "mat-table[niceFilterDataView]", ngImport: i0 });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterMatTableViewDirective, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{ selector: "mat-table[niceFilterDataView]" }]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.MatTable }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2RpcmVjdGl2ZXMvbWF0LXRhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUd0RSxNQUFNLE9BQU8sK0JBQStCO0lBQ3hDLFlBQW9CLEtBQTBCLEVBQVUsS0FBb0I7UUFBeEQsVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFlO0lBQUcsQ0FBQztJQUV6RSxRQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzs0SEFMUSwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLCtCQUErQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwibWF0LXRhYmxlW25pY2VGaWx0ZXJEYXRhVmlld11cIiB9KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJNYXRUYWJsZVZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksIHByaXZhdGUgdGFibGU6IE1hdFRhYmxlPGFueT4pIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFibGUuZGF0YVNvdXJjZSA9IHRoaXMucXVlcnkuc2VsZWN0QWxsKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Output } from "@angular/core";
|
|
2
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import { map, takeUntil } from "rxjs/operators";
|
|
5
|
+
import { FilterUtils } from "../../../utils/filter.utils";
|
|
6
|
+
import { QueryParamsUtils } from "../../../utils/query-params.utils";
|
|
7
|
+
import { NiceFilterViewQuery } from "../store/nice-filter-view.query";
|
|
8
|
+
import { NiceFilterViewService } from "../store/nice-filter-view.service";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../store/nice-filter-view.query";
|
|
11
|
+
import * as i2 from "../store/nice-filter-view.service";
|
|
12
|
+
import * as i3 from "@angular/router";
|
|
13
|
+
export class NiceFilterQueryParamsDirective {
|
|
14
|
+
constructor(query, service, route, router) {
|
|
15
|
+
this.query = query;
|
|
16
|
+
this.service = service;
|
|
17
|
+
this.route = route;
|
|
18
|
+
this.router = router;
|
|
19
|
+
this.init = new EventEmitter();
|
|
20
|
+
this.unsubscribeAll$ = new Subject();
|
|
21
|
+
this.initialized = false;
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((parameters) => {
|
|
25
|
+
this.updateQueryParams(parameters);
|
|
26
|
+
});
|
|
27
|
+
this.loadQueryParams();
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this.unsubscribeAll$.next();
|
|
31
|
+
this.unsubscribeAll$.complete();
|
|
32
|
+
}
|
|
33
|
+
updateQueryParams(parameters) {
|
|
34
|
+
if (!this.route) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const params = { ...parameters };
|
|
38
|
+
const { mode } = this.query.getValue();
|
|
39
|
+
if (mode === "accumulated") {
|
|
40
|
+
delete params.start;
|
|
41
|
+
delete params.length;
|
|
42
|
+
}
|
|
43
|
+
this.router.navigate([], {
|
|
44
|
+
relativeTo: this.route,
|
|
45
|
+
queryParams: QueryParamsUtils.filterParametersToParamsMap(params),
|
|
46
|
+
queryParamsHandling: "merge"
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
loadQueryParams() {
|
|
50
|
+
this.route.queryParams
|
|
51
|
+
.pipe(takeUntil(this.unsubscribeAll$), map((params) => {
|
|
52
|
+
return {
|
|
53
|
+
params: QueryParamsUtils.extractFilterParameters(params)
|
|
54
|
+
};
|
|
55
|
+
}))
|
|
56
|
+
.subscribe(({ params }) => {
|
|
57
|
+
if (!QueryParamsUtils.hasFilterParameters(params) || Object.keys(params).length === 0) {
|
|
58
|
+
params = { ...this.query.getValue().filterParameters };
|
|
59
|
+
}
|
|
60
|
+
const { filterParameters, filterResult } = this.query.getValue();
|
|
61
|
+
if (FilterUtils.filterChangeNeedsRefresh(filterParameters, params) ||
|
|
62
|
+
!filterResult) {
|
|
63
|
+
this.service.setParameters(params, false);
|
|
64
|
+
}
|
|
65
|
+
if (!this.initialized) {
|
|
66
|
+
this.initialized = true;
|
|
67
|
+
this.init.emit();
|
|
68
|
+
this.service.filter();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
NiceFilterQueryParamsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterQueryParamsDirective, deps: [{ token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
74
|
+
NiceFilterQueryParamsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterQueryParamsDirective, selector: "nice-filter-view[niceFilterQueryParams]", outputs: { init: "init" }, ngImport: i0 });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterQueryParamsDirective, decorators: [{
|
|
76
|
+
type: Directive,
|
|
77
|
+
args: [{ selector: "nice-filter-view[niceFilterQueryParams]" }]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.ActivatedRoute }, { type: i3.Router }]; }, propDecorators: { init: [{
|
|
79
|
+
type: Output
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2RpcmVjdGl2ZXMvcXVlcnktcGFyYW1zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBNEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHMUUsTUFBTSxPQUFPLDhCQUE4QjtJQU92QyxZQUNZLEtBQTBCLEVBQzFCLE9BQThCLEVBQzlCLEtBQXFCLEVBQ3JCLE1BQWM7UUFIZCxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVG5CLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQU96QixDQUFDO0lBRUcsUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsVUFBaUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixPQUFPO1NBQ1Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDakMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNwQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDeEI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsT0FBTztTQUMvQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDakIsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQy9CLEdBQUcsQ0FBQyxDQUFDLE1BQThCLEVBQUUsRUFBRTtZQUNuQyxPQUFPO2dCQUNILE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7YUFDM0QsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ25GLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQzFEO1lBQ0QsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakUsSUFDSSxXQUFXLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO2dCQUM5RCxDQUFDLFlBQVksRUFDZjtnQkFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDN0M7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OzJIQTFFUSw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFO2dNQUd2RCxJQUFJO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJVdGlscyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9maWx0ZXIudXRpbHNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcXVlcnktcGFyYW1zLnV0aWxzXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1F1ZXJ5IH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnlcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3U2VydmljZSB9IGZyb20gXCIuLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnNlcnZpY2VcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLXZpZXdbbmljZUZpbHRlclF1ZXJ5UGFyYW1zXVwiIH0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclF1ZXJ5UGFyYW1zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpbml0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5LFxuICAgICAgICBwcml2YXRlIHNlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyUGFyYW1ldGVycygpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChwYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtZXRlcnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvYWRRdWVyeVBhcmFtcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUXVlcnlQYXJhbXMocGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yb3V0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5wYXJhbWV0ZXJzIH07XG4gICAgICAgIGNvbnN0IHsgbW9kZSB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAobW9kZSA9PT0gXCJhY2N1bXVsYXRlZFwiKSB7XG4gICAgICAgICAgICBkZWxldGUgcGFyYW1zLnN0YXJ0O1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtc1V0aWxzLmZpbHRlclBhcmFtZXRlcnNUb1BhcmFtc01hcChwYXJhbXMpLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogXCJtZXJnZVwiXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFF1ZXJ5UGFyYW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICAgICAgICAgIG1hcCgocGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFF1ZXJ5UGFyYW1zVXRpbHMuZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh7IHBhcmFtcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFRdWVyeVBhcmFtc1V0aWxzLmhhc0ZpbHRlclBhcmFtZXRlcnMocGFyYW1zKSB8fCBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSB7IC4uLnRoaXMucXVlcnkuZ2V0VmFsdWUoKS5maWx0ZXJQYXJhbWV0ZXJzIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLnF1ZXJ5LmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBGaWx0ZXJVdGlscy5maWx0ZXJDaGFuZ2VOZWVkc1JlZnJlc2goZmlsdGVyUGFyYW1ldGVycywgcGFyYW1zKSB8fFxuICAgICAgICAgICAgICAgICAgICAhZmlsdGVyUmVzdWx0XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRQYXJhbWV0ZXJzKHBhcmFtcywgZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmZpbHRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|