@bcgov/nr-ngx-component-lib 0.0.2 → 0.0.4

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.
@@ -1,12 +1,24 @@
1
+ import { ChangeDetectorRef, TemplateRef } from "@angular/core";
1
2
  import { ConfigurationSubscriberBase } from "../../directives/configuration-subscriber.base";
2
3
  import * as i0 from "@angular/core";
3
- export declare class DesktopViewComponent extends ConfigurationSubscriberBase {
4
- get visible(): boolean;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<DesktopViewComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<DesktopViewComponent, "nrcl-desktop-view", never, {}, {}, never, ["*"], false, never>;
4
+ export declare class DesktopViewDirective {
5
+ templateRef: TemplateRef<unknown>;
6
+ constructor(templateRef: TemplateRef<unknown>);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DesktopViewDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DesktopViewDirective, "[desktop-view]", never, {}, {}, never, never, false, never>;
7
9
  }
8
- export declare class MobileViewComponent extends ConfigurationSubscriberBase {
9
- get visible(): boolean;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<MobileViewComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<MobileViewComponent, "nrcl-mobile-view", never, {}, {}, never, ["*"], false, never>;
10
+ export declare class MobileViewDirective {
11
+ templateRef: TemplateRef<unknown>;
12
+ constructor(templateRef: TemplateRef<unknown>);
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<MobileViewDirective, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MobileViewDirective, "[mobile-view]", never, {}, {}, never, never, false, never>;
15
+ }
16
+ export declare class DeviceViewComponent extends ConfigurationSubscriberBase {
17
+ desktopContent: DesktopViewDirective;
18
+ mobileContent: MobileViewDirective;
19
+ changeDetectorRef: ChangeDetectorRef;
20
+ get desktopVisible(): boolean;
21
+ get mobileVisible(): boolean;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<DeviceViewComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<DeviceViewComponent, "nrcl-device-view", never, {}, {}, ["desktopContent", "mobileContent"], never, false, never>;
12
24
  }
@@ -0,0 +1,55 @@
1
+ import { Observable } from "rxjs";
2
+ import { LoadRowListResult, RowListBase, RowListState } from "../../directives/row-list.base";
3
+ import * as i0 from "@angular/core";
4
+ export type AttachmentsTableRow = {
5
+ attachmentTypeDescription: string;
6
+ fileName: string;
7
+ fileExtension: string;
8
+ uploadedBy: string;
9
+ uploadedTimestamp: string;
10
+ attachmentDescription: string;
11
+ attachmentId: string;
12
+ fileId: string;
13
+ sourceObjectUniqueId: string;
14
+ };
15
+ export type FetchAttachmentsParameters = {
16
+ pageNumber: number;
17
+ pageRowCount: number;
18
+ sortColumn: string;
19
+ sortDirection: string;
20
+ };
21
+ export interface AttachmentRowListProvider<R, L = any> {
22
+ fetchAttachments(x: FetchAttachmentsParameters): Observable<L>;
23
+ displayRowListPage(res: L): LoadRowListResult<R>;
24
+ downloadItem(item: R): any;
25
+ deleteItem(item: R): any;
26
+ }
27
+ export declare class ListAttachmentsComponent extends RowListBase<{}, AttachmentsTableRow> {
28
+ rowListProvider: AttachmentRowListProvider<AttachmentsTableRow>;
29
+ canDelete: boolean;
30
+ showPagination: boolean;
31
+ DATE_FORMATS: {
32
+ fullPickerInput: string;
33
+ datePickerInput: string;
34
+ timePickerInput: string;
35
+ monthYearLabel: string;
36
+ dateA11yLabel: string;
37
+ monthYearA11yLabel: string;
38
+ simplifiedDate: string;
39
+ simplifiedMonthDate: string;
40
+ fullPickerInputWithSlash: string;
41
+ API_DATE: string;
42
+ API_TIMESTAMP: string;
43
+ API_TIMESTAMP_WITH_SEP: string;
44
+ };
45
+ columns: string[];
46
+ initializeRowList(): void;
47
+ get initialPageState(): RowListState<{}>;
48
+ ngAfterViewInit(): void;
49
+ fetchRowListPage(): Observable<any>;
50
+ displayRowListPage(res: any): LoadRowListResult<AttachmentsTableRow>;
51
+ onDownloadClick(item: AttachmentsTableRow): any;
52
+ onDeleteClick(item: AttachmentsTableRow): any;
53
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListAttachmentsComponent, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListAttachmentsComponent, "nrcl-list-attachments", never, { "rowListProvider": { "alias": "rowListProvider"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "showPagination": { "alias": "showPagination"; "required": false; }; }, {}, never, never, false, never>;
55
+ }
@@ -0,0 +1,47 @@
1
+ import { Observable } from "rxjs";
2
+ import { LoadRowListResult, RowListBase, RowListState } from "../../directives/row-list.base";
3
+ import * as i0 from "@angular/core";
4
+ export type EventHistoryTableRow = {
5
+ eventTimestamp: string;
6
+ createdByUserId: string;
7
+ eventHistoryTypeDescription: string;
8
+ sourceObjectNameDescription: string;
9
+ comment: string;
10
+ };
11
+ export type FetchEventHistoryParameters = {
12
+ isSupplier: boolean;
13
+ pageNumber: number;
14
+ pageRowCount: number;
15
+ sortColumn: string;
16
+ sortDirection: string;
17
+ };
18
+ export interface EventHistoryRowListProvider<R, L = any> {
19
+ fetchEventHistory(x: FetchEventHistoryParameters): Observable<L>;
20
+ displayRowListPage(res: L): LoadRowListResult<R>;
21
+ }
22
+ export declare class ListEventHistoryComponent extends RowListBase<{}, EventHistoryTableRow> {
23
+ rowListProvider: EventHistoryRowListProvider<EventHistoryTableRow>;
24
+ canDelete: boolean;
25
+ showPagination: boolean;
26
+ isSupplier: boolean;
27
+ DATE_FORMATS: {
28
+ fullPickerInput: string;
29
+ datePickerInput: string;
30
+ timePickerInput: string;
31
+ monthYearLabel: string;
32
+ dateA11yLabel: string;
33
+ monthYearA11yLabel: string;
34
+ simplifiedDate: string;
35
+ simplifiedMonthDate: string;
36
+ fullPickerInputWithSlash: string;
37
+ API_DATE: string;
38
+ API_TIMESTAMP: string;
39
+ API_TIMESTAMP_WITH_SEP: string;
40
+ };
41
+ columns: string[];
42
+ fetchRowListPage(): Observable<any>;
43
+ displayRowListPage(res: any): LoadRowListResult<EventHistoryTableRow>;
44
+ get initialPageState(): RowListState<{}>;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListEventHistoryComponent, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListEventHistoryComponent, "nrcl-list-event-history", never, { "rowListProvider": { "alias": "rowListProvider"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "showPagination": { "alias": "showPagination"; "required": false; }; "isSupplier": { "alias": "isSupplier"; "required": false; }; }, {}, never, never, false, never>;
47
+ }
@@ -21,11 +21,11 @@ export class CellContentComponent {
21
21
  });
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CellContentComponent, selector: "nrcl-cell-content", inputs: { tooltip: "tooltip", content: "content" }, ngImport: i0, template: "<div [matTooltip]=\"tooltipContent\" class=\"content\">\n @if ( content ) {\n {{ content }}\n }\n @else {\n <ng-content></ng-content>\n }\n</div>\n", styles: [":host{display:block;width:100%;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .content{width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CellContentComponent, selector: "nrcl-cell-content", inputs: { tooltip: "tooltip", content: "content" }, ngImport: i0, template: "<div [matTooltip]=\"tooltipContent\" class=\"content\">\n @if ( content ) {\n {{ content }}\n }\n @else {\n <ng-content></ng-content>\n }\n</div>\n", styles: [":host{display:block;width:100%;font-family:var(--nrcl-font-family)}:host .content{width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellContentComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'nrcl-cell-content', template: "<div [matTooltip]=\"tooltipContent\" class=\"content\">\n @if ( content ) {\n {{ content }}\n }\n @else {\n <ng-content></ng-content>\n }\n</div>\n", styles: [":host{display:block;width:100%;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host .content{width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}\n"] }]
28
+ args: [{ selector: 'nrcl-cell-content', template: "<div [matTooltip]=\"tooltipContent\" class=\"content\">\n @if ( content ) {\n {{ content }}\n }\n @else {\n <ng-content></ng-content>\n }\n</div>\n", styles: [":host{display:block;width:100%;font-family:var(--nrcl-font-family)}:host .content{width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}\n"] }]
29
29
  }], propDecorators: { tooltip: [{
30
30
  type: Input
31
31
  }], content: [{
@@ -1,34 +1,70 @@
1
- import { Component } from "@angular/core";
1
+ import { ChangeDetectorRef, Component, ContentChild, Directive, inject } from "@angular/core";
2
2
  import { ConfigurationSubscriberBase } from "../../directives/configuration-subscriber.base";
3
3
  import * as i0 from "@angular/core";
4
- export class DesktopViewComponent extends ConfigurationSubscriberBase {
5
- get visible() { return this.configuration.displayMode == 'desktop'; }
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DesktopViewComponent, selector: "nrcl-desktop-view", host: { properties: { "class.nrcl-device-desktop": "true" } }, usesInheritance: true, ngImport: i0, template: '@if ( visible ) { <ng-content></ng-content> }', isInline: true }); }
4
+ import * as i1 from "@angular/common";
5
+ export class DesktopViewDirective {
6
+ constructor(templateRef) {
7
+ this.templateRef = templateRef;
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DesktopViewDirective, selector: "[desktop-view]", ngImport: i0 }); }
8
11
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewComponent, decorators: [{
10
- type: Component,
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DesktopViewDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: "[desktop-view]"
16
+ }]
17
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
18
+ export class MobileViewDirective {
19
+ constructor(templateRef) {
20
+ this.templateRef = templateRef;
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: MobileViewDirective, selector: "[mobile-view]", ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewDirective, decorators: [{
26
+ type: Directive,
11
27
  args: [{
12
- selector: "nrcl-desktop-view",
13
- template: '@if ( visible ) { <ng-content></ng-content> }',
14
- host: {
15
- '[class.nrcl-device-desktop]': 'true'
16
- }
28
+ selector: "[mobile-view]"
17
29
  }]
18
- }] });
19
- export class MobileViewComponent extends ConfigurationSubscriberBase {
20
- get visible() { return this.configuration.displayMode == 'mobile'; }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MobileViewComponent, selector: "nrcl-mobile-view", host: { properties: { "class.nrcl-device-mobile": "true" } }, usesInheritance: true, ngImport: i0, template: '@if ( visible ) { <ng-content></ng-content> }', isInline: true }); }
30
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
31
+ export class DeviceViewComponent extends ConfigurationSubscriberBase {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.changeDetectorRef = inject(ChangeDetectorRef);
35
+ }
36
+ get desktopVisible() { return this.configuration.displayMode == 'desktop'; }
37
+ get mobileVisible() { return this.configuration.displayMode == 'mobile'; }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeviceViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DeviceViewComponent, selector: "nrcl-device-view", queries: [{ propertyName: "desktopContent", first: true, predicate: DesktopViewDirective, descendants: true }, { propertyName: "mobileContent", first: true, predicate: MobileViewDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
40
+ @if ( mobileVisible && mobileContent ) {
41
+ <ng-container [ngTemplateOutlet]="mobileContent.templateRef"></ng-container>
42
+ }
43
+
44
+ @if ( desktopVisible && desktopContent ) {
45
+ <ng-container [ngTemplateOutlet]="desktopContent.templateRef"></ng-container>
46
+ }
47
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
23
48
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MobileViewComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeviceViewComponent, decorators: [{
25
50
  type: Component,
26
51
  args: [{
27
- selector: "nrcl-mobile-view",
28
- template: '@if ( visible ) { <ng-content></ng-content> }',
29
- host: {
30
- '[class.nrcl-device-mobile]': 'true'
31
- }
52
+ selector: "nrcl-device-view",
53
+ template: `
54
+ @if ( mobileVisible && mobileContent ) {
55
+ <ng-container [ngTemplateOutlet]="mobileContent.templateRef"></ng-container>
56
+ }
57
+
58
+ @if ( desktopVisible && desktopContent ) {
59
+ <ng-container [ngTemplateOutlet]="desktopContent.templateRef"></ng-container>
60
+ }
61
+ `,
32
62
  }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZGV2aWNlLXZpZXcvZGV2aWNlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBUzdGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSwyQkFBMkI7SUFDakUsSUFBSSxPQUFPLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUEsQ0FBQyxDQUFDOytHQUQzRCxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrSUFMbkIsK0NBQStDOzs0RkFLaEQsb0JBQW9CO2tCQVBoQyxTQUFTO21CQUFFO29CQUNSLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSwrQ0FBK0M7b0JBQ3pELElBQUksRUFBRTt3QkFDRiw2QkFBNkIsRUFBRSxNQUFNO3FCQUN4QztpQkFDSjs7QUFZRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMkJBQTJCO0lBQ2hFLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFBLENBQUMsQ0FBQzsrR0FEMUQsbUJBQW1CO21HQUFuQixtQkFBbUIsNklBTGxCLCtDQUErQzs7NEZBS2hELG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBRTtvQkFDUixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsK0NBQStDO29CQUN6RCxJQUFJLEVBQUU7d0JBQ0YsNEJBQTRCLEVBQUUsTUFBTTtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2VcIjtcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZGVza3RvcC12aWV3XCIsXG4gICAgdGVtcGxhdGU6ICdAaWYgKCB2aXNpYmxlICkgeyA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IH0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5ucmNsLWRldmljZS1kZXNrdG9wXSc6ICd0cnVlJ1xuICAgIH1cbn0gKVxuZXhwb3J0IGNsYXNzIERlc2t0b3BWaWV3Q29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIHsgICAgXG4gICAgZ2V0IHZpc2libGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uZGlzcGxheU1vZGUgPT0gJ2Rlc2t0b3AnIH1cbn1cblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtbW9iaWxlLXZpZXdcIixcbiAgICB0ZW1wbGF0ZTogJ0BpZiAoIHZpc2libGUgKSB7IDxuZy1jb250ZW50PjwvbmctY29udGVudD4gfScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLm5yY2wtZGV2aWNlLW1vYmlsZV0nOiAndHJ1ZSdcbiAgICB9XG59IClcbmV4cG9ydCBjbGFzcyBNb2JpbGVWaWV3Q29tcG9uZW50IGV4dGVuZHMgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIHsgICAgXG4gICAgZ2V0IHZpc2libGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uZGlzcGxheU1vZGUgPT0gJ21vYmlsZScgfVxufVxuIl19
63
+ }], propDecorators: { desktopContent: [{
64
+ type: ContentChild,
65
+ args: [DesktopViewDirective]
66
+ }], mobileContent: [{
67
+ type: ContentChild,
68
+ args: [MobileViewDirective]
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZGV2aWNlLXZpZXcvZGV2aWNlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFLN0YsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUNXLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUN6QyxDQUFDOytHQUhLLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOztBQVdELE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFDVyxXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFDekMsQ0FBQzsrR0FISyxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtpQkFDNUI7O0FBb0JELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFacEU7O1FBZ0JJLHNCQUFpQixHQUFHLE1BQU0sQ0FBRSxpQkFBaUIsQ0FBRSxDQUFBO0tBSWxEO0lBRkcsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUEsQ0FBQyxDQUFDO0lBQzNFLElBQUksYUFBYSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFBLENBQUMsQ0FBQzsrR0FQaEUsbUJBQW1CO21HQUFuQixtQkFBbUIsb0dBQ2Isb0JBQW9CLGdGQUNwQixtQkFBbUIsdUVBWnhCOzs7Ozs7OztLQVFUOzs0RkFFUSxtQkFBbUI7a0JBWi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7OztLQVFUO2lCQUNKOzhCQUV5QyxjQUFjO3NCQUFuRCxZQUFZO3VCQUFFLG9CQUFvQjtnQkFDRSxhQUFhO3NCQUFqRCxZQUFZO3VCQUFFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2VcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW2Rlc2t0b3Atdmlld11cIlxufSlcbmV4cG9ydCBjbGFzcyBEZXNrdG9wVmlld0RpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj5cbiAgICApIHt9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwiW21vYmlsZS12aWV3XVwiXG59KVxuZXhwb3J0IGNsYXNzIE1vYmlsZVZpZXdEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+XG4gICAgKSB7fVxufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZGV2aWNlLXZpZXdcIixcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCBtb2JpbGVWaXNpYmxlICYmIG1vYmlsZUNvbnRlbnQgKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vYmlsZUNvbnRlbnQudGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoIGRlc2t0b3BWaXNpYmxlICYmIGRlc2t0b3BDb250ZW50ICkge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZXNrdG9wQ29udGVudC50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlVmlld0NvbXBvbmVudCBleHRlbmRzIENvbmZpZ3VyYXRpb25TdWJzY3JpYmVyQmFzZSB7XG4gICAgQENvbnRlbnRDaGlsZCggRGVza3RvcFZpZXdEaXJlY3RpdmUgKSBkZXNrdG9wQ29udGVudCE6IERlc2t0b3BWaWV3RGlyZWN0aXZlO1xuICAgIEBDb250ZW50Q2hpbGQoIE1vYmlsZVZpZXdEaXJlY3RpdmUgKSBtb2JpbGVDb250ZW50ITogTW9iaWxlVmlld0RpcmVjdGl2ZTtcblxuICAgIGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KCBDaGFuZ2VEZXRlY3RvclJlZiApXG5cbiAgICBnZXQgZGVza3RvcFZpc2libGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uZGlzcGxheU1vZGUgPT0gJ2Rlc2t0b3AnIH1cbiAgICBnZXQgbW9iaWxlVmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5kaXNwbGF5TW9kZSA9PSAnbW9iaWxlJyB9XG59XG5cbiJdfQ==
@@ -22,11 +22,11 @@ export class FiltersPanelComponent {
22
22
  this.showFiltersChange.emit(true);
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange" }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </nrcl-mobile-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MobileViewComponent, selector: "nrcl-mobile-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersPanelComponent, selector: "nrcl-filters-panel", inputs: { showClear: "showClear", showFilters: "showFilters" }, outputs: { clearFilters: "clearFilters", showFiltersChange: "showFiltersChange" }, ngImport: i0, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </ng-template>\n </nrcl-device-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i3.DeviceViewComponent, selector: "nrcl-device-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersPanelComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </nrcl-mobile-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"] }]
29
+ args: [{ selector: "nrcl-filters-panel", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( showFilters ) {\n <ng-content></ng-content>\n}\n\n<div class=\"actions\">\n <nrcl-device-view>\n <ng-template mobile-view>\n @if ( showFilters ) {\n <button mat-stroked-button class=\"hide\"\n (click)=\"onHideClick()\"\n >\n <mat-icon>expand_less</mat-icon>\n Hide Filters\n </button>\n }\n @else {\n <button mat-stroked-button class=\"show\"\n (click)=\"onShowClick()\"\n >\n <mat-icon>expand_more</mat-icon>\n Show Filters\n </button>\n }\n </ng-template>\n </nrcl-device-view>\n\n <div class=\"spacer\"></div> \n\n @if ( showClear && showFilters ) {\n <button mat-stroked-button class=\"clear\"\n (click)=\"onClearClick()\"\n >\n <mat-icon>filter_list_off</mat-icon>\n Clear\n </button>\n }\n</div>\n", styles: [":host{display:flex;flex-flow:row wrap;gap:8px;position:relative;border:1px solid #c6c8cb;padding:8px;background-color:#f2f2f2}:host ::ng-deep .material-icons{font-family:Material Symbols Outlined;font-feature-settings:\"liga\"}:host ::ng-deep .mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab>.mat-icon,:host ::ng-deep button.mat-mdc-raised-button>.mat-icon,:host ::ng-deep button.mat-mdc-button>.mat-icon,:host ::ng-deep button.mat-mdc-icon-button>.mat-icon,:host ::ng-deep button.mat-mdc-outlined-button>.mat-icon,:host ::ng-deep button.mat-mdc-unelevated-button>.mat-icon,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item>.mat-icon{width:var(--nrcl-icon-size);height:var(--nrcl-icon-size);font-size:var(--nrcl-icon-size);line-height:var(--nrcl-icon-size)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button,:host ::ng-deep button.mat-mdc-button,:host ::ng-deep button.mat-mdc-icon-button,:host ::ng-deep button.mat-mdc-outlined-button,:host ::ng-deep button.mat-mdc-unelevated-button,:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);white-space:nowrap;font-weight:500}:host ::ng-deep button.mat-mdc-fab[disabled],:host ::ng-deep button.mat-mdc-raised-button[disabled],:host ::ng-deep button.mat-mdc-button[disabled],:host ::ng-deep button.mat-mdc-icon-button[disabled],:host ::ng-deep button.mat-mdc-outlined-button[disabled],:host ::ng-deep button.mat-mdc-unelevated-button[disabled],:host ::ng-deep button.mat-mdc-mini-fab .mat-mdc-menu-item[disabled]{border:1px solid #d7d7d7!important}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]),:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]),:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]){background-color:var(--nrcl-button-primary-background-color);color:var(--nrcl-button-primary-foreground-color)}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]).intermediate-action,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]).intermediate-action{background-color:#2e7940}:host ::ng-deep button.primary.mat-mdc-fab:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-raised-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-icon-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-outlined-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-unelevated-button:not([disabled]):hover,:host ::ng-deep button.primary.mat-mdc-mini-fab .mat-mdc-menu-item:not([disabled]):hover{background-color:var(--nrcl-button-primary-hover-background-color)}:host ::ng-deep button.mat-mdc-fab,:host ::ng-deep button.mat-mdc-raised-button{background-color:#aaa;color:#fff;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);box-shadow:none!important;border:1px solid #003366}:host ::ng-deep button.mat-mdc-fab:not([class*=mat-elevation-z]),:host ::ng-deep button.mat-mdc-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f!important}:host ::ng-deep button.mdc-button.right-side-icon{display:flex}:host ::ng-deep button.mdc-button.right-side-icon mat-icon{order:1;margin-left:8px;margin-right:-4px}:host .actions{flex-grow:1;flex-direction:row;justify-content:flex-end;align-items:flex-end;width:unset;display:flex}:host .actions button{height:40px}:host .actions .spacer{flex-grow:1}:host-context(.nrcl-device-mobile) :host{display:grid;grid-template-columns:1fr 1fr}:host-context(.nrcl-device-mobile) :host .actions{grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-search{--nrcl-filter-search-width: auto;grid-row:1;grid-column:1/span 2}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-select{--nrcl-filter-select-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-date{--nrcl-filter-date-width: auto}:host-context(.nrcl-device-mobile) :host ::ng-deep nrcl-filter-container{--nrcl-filter-container-width: auto}\n"] }]
30
30
  }], propDecorators: { showClear: [{
31
31
  type: Input
32
32
  }], showFilters: [{
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
36
36
  }], showFiltersChange: [{
37
37
  type: Output
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXJzLXBhbmVsL2ZpbHRlcnMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVycy1wYW5lbC9maWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2QixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBT2EsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQTtRQUVqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWU1RDtJQWJHLFlBQVk7UUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDdkMsQ0FBQzsrR0FuQlEscUJBQXFCO21HQUFyQixxQkFBcUIsNk1DZGxDLGk2QkFtQ0E7OzRGRHJCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVycy1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSApXG5leHBvcnQgY2xhc3MgRmlsdGVyc1BhbmVsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93Q2xlYXIgPSB0cnVlXG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcnMgPSB0cnVlXG5cbiAgICBAT3V0cHV0KCkgY2xlYXJGaWx0ZXJzID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gICAgQE91dHB1dCgpIHNob3dGaWx0ZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgICBvbkNsZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzLmVtaXQoKVxuICAgIH1cblxuICAgIG9uSGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2VcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyc0NoYW5nZS5lbWl0KCBmYWxzZSApXG4gICAgfVxuXG4gICAgb25TaG93Q2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnMgPSB0cnVlXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnNDaGFuZ2UuZW1pdCggdHJ1ZSApXG4gICAgfVxufVxuIiwiQGlmICggc2hvd0ZpbHRlcnMgKSB7XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxufVxuXG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxucmNsLW1vYmlsZS12aWV3PlxuICAgICAgICBAaWYgKCBzaG93RmlsdGVycyApIHtcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwiaGlkZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSGlkZUNsaWNrKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5leHBhbmRfbGVzczwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgSGlkZSBGaWx0ZXJzXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInNob3dcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNob3dDbGljaygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIFNob3cgRmlsdGVyc1xuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L25yY2wtbW9iaWxlLXZpZXc+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+ICAgICAgICBcblxuICAgIEBpZiAoIHNob3dDbGVhciAmJiBzaG93RmlsdGVycyApIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjbGVhclwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Rfb2ZmPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbjwvZGl2PlxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9maWx0ZXJzLXBhbmVsL2ZpbHRlcnMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZmlsdGVycy1wYW5lbC9maWx0ZXJzLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2QixNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBT2EsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQTtRQUVqQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFDakMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQWU1RDtJQWJHLFlBQVk7UUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDdkMsQ0FBQzsrR0FuQlEscUJBQXFCO21HQUFyQixxQkFBcUIsNk1DZGxDLDRoQ0FxQ0E7OzRGRHZCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQENvbXBvbmVudCgge1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZmlsdGVycy1wYW5lbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vZmlsdGVycy1wYW5lbC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSApXG5leHBvcnQgY2xhc3MgRmlsdGVyc1BhbmVsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBzaG93Q2xlYXIgPSB0cnVlXG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcnMgPSB0cnVlXG5cbiAgICBAT3V0cHV0KCkgY2xlYXJGaWx0ZXJzID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gICAgQE91dHB1dCgpIHNob3dGaWx0ZXJzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgICBvbkNsZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXJzLmVtaXQoKVxuICAgIH1cblxuICAgIG9uSGlkZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJzID0gZmFsc2VcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyc0NoYW5nZS5lbWl0KCBmYWxzZSApXG4gICAgfVxuXG4gICAgb25TaG93Q2xpY2soKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnMgPSB0cnVlXG4gICAgICAgIHRoaXMuc2hvd0ZpbHRlcnNDaGFuZ2UuZW1pdCggdHJ1ZSApXG4gICAgfVxufVxuIiwiQGlmICggc2hvd0ZpbHRlcnMgKSB7XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxufVxuXG48ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxucmNsLWRldmljZS12aWV3PlxuICAgICAgICA8bmctdGVtcGxhdGUgbW9iaWxlLXZpZXc+XG4gICAgICAgICAgICBAaWYgKCBzaG93RmlsdGVycyApIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImhpZGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25IaWRlQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBIaWRlIEZpbHRlcnNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cInNob3dcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TaG93Q2xpY2soKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICBTaG93IEZpbHRlcnNcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25yY2wtZGV2aWNlLXZpZXc+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+ICAgICAgICBcblxuICAgIEBpZiAoIHNob3dDbGVhciAmJiBzaG93RmlsdGVycyApIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjbGVhclwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2xpc3Rfb2ZmPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbjwvZGl2PlxuIl19
@@ -0,0 +1,80 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
+ import { RowListBase } from "../../directives/row-list.base";
3
+ import { DATE_FORMATS } from "../../utils/date.util";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/card";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/material/sort";
8
+ import * as i4 from "@angular/material/table";
9
+ import * as i5 from "../button/button.component";
10
+ import * as i6 from "../cell-content/cell-content.component";
11
+ import * as i7 from "../gap/gap.component";
12
+ import * as i8 from "../row-list-desktop/row-list-desktop.component";
13
+ import * as i9 from "../row-list-mobile/row-list-mobile.component";
14
+ import * as i10 from "../row-list-pagination/row-list-pagination.component";
15
+ import * as i11 from "../device-view/device-view.component";
16
+ import * as i12 from "ngx-pagination";
17
+ export class ListAttachmentsComponent extends RowListBase {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.canDelete = true;
21
+ this.showPagination = false;
22
+ this.DATE_FORMATS = DATE_FORMATS;
23
+ this.columns = ['attachmentTypeCode', 'fileName', 'sourceObjectNameCode', 'uploadedBy', 'uploadedTimestamp', 'description', 'download'];
24
+ }
25
+ initializeRowList() {
26
+ super.initializeRowList();
27
+ }
28
+ get initialPageState() {
29
+ return {
30
+ filter: {},
31
+ pageSize: 5,
32
+ pageNumber: 1,
33
+ sortActive: null,
34
+ sortDirection: 'desc',
35
+ };
36
+ }
37
+ ngAfterViewInit() {
38
+ if (this.canDelete)
39
+ this.columns.push('delete');
40
+ super.ngAfterViewInit();
41
+ }
42
+ fetchRowListPage() {
43
+ if (!this.rowListProvider?.fetchAttachments)
44
+ throw Error('no provider');
45
+ return this.rowListProvider.fetchAttachments({
46
+ pageNumber: this.pageNumber,
47
+ pageRowCount: this.pageSize,
48
+ sortColumn: this.sortActive,
49
+ sortDirection: this.sortDirection,
50
+ });
51
+ }
52
+ displayRowListPage(res) {
53
+ if (!this.rowListProvider?.displayRowListPage)
54
+ throw Error('no provider');
55
+ return this.rowListProvider.displayRowListPage(res);
56
+ }
57
+ onDownloadClick(item) {
58
+ if (!this.rowListProvider?.downloadItem)
59
+ throw Error('no provider');
60
+ return this.rowListProvider.downloadItem(item);
61
+ }
62
+ onDeleteClick(item) {
63
+ if (!this.rowListProvider?.deleteItem)
64
+ throw Error('no provider');
65
+ return this.rowListProvider.deleteItem(item);
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", showPagination: "showPagination" }, usesInheritance: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n <nrcl-row-list-desktop>\n <table mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }\"\n >\n <ng-container matColumnDef=\"make\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Make</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.make }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <th mat-header-cell *matHeaderCellDef>Attachment Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <th mat-header-cell *matHeaderCellDef>File Name</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileName }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <th mat-header-cell *matHeaderCellDef>File Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileExtension }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <th mat-header-cell *matHeaderCellDef>Uploaded By</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedBy }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <th mat-header-cell *matHeaderCellDef>Uploaded At</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedTimestamp }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: columns;\"></tr>\n </table>\n </nrcl-row-list-desktop>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-title>\n <section title>\n <h2>{{ item.fileName }}</h2>\n </section>\n\n <section actions>\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </section>\n </mat-card-title>\n\n <mat-card-content>\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded At</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{min-width:100px}:host .mat-mdc-table .mat-column-orgUnit{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-fileName{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-sourceObjectNameCode{min-width:60px;max-width:60px}:host .mat-mdc-table .mat-column-uploadedBy{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-uploadedTimestamp{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-description{width:100%;min-width:200px;max-width:100px;white-space:normal}:host .mat-mdc-table .mat-column-download .button-container,:host .mat-mdc-table .mat-column-delete .button-container{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.ButtonComponent, selector: "nrcl-button", inputs: ["label", "icon", "iconRight", "iconCompact", "tooltip", "compact", "primary", "disabled"], outputs: ["click"] }, { kind: "component", type: i6.CellContentComponent, selector: "nrcl-cell-content", inputs: ["tooltip", "content"] }, { kind: "component", type: i7.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical"] }, { kind: "component", type: i8.RowListDesktopComponent, selector: "nrcl-row-list-desktop" }, { kind: "component", type: i9.RowListMobileComponent, selector: "nrcl-row-list-mobile" }, { kind: "component", type: i10.RowListPaginationComponent, selector: "nrcl-row-list-pagination", inputs: ["paginationId", "pageSizeOptions", "pageSize", "pageNumber", "rowCount", "showPageSize"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "directive", type: i11.DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: i11.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i11.DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i12.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n <nrcl-row-list-desktop>\n <table mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }\"\n >\n <ng-container matColumnDef=\"make\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>Make</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.make }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <th mat-header-cell *matHeaderCellDef>Attachment Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <th mat-header-cell *matHeaderCellDef>File Name</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileName }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <th mat-header-cell *matHeaderCellDef>File Type</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.fileExtension }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <th mat-header-cell *matHeaderCellDef>Uploaded By</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedBy }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <th mat-header-cell *matHeaderCellDef>Uploaded At</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.uploadedTimestamp }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentDescription }}</nrcl-cell-content>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let item\">\n <div class=\"button-container\">\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let item; columns: columns;\"></tr>\n </table>\n </nrcl-row-list-desktop>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"desktop-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: showPagination ? pageSize : totalRowCount, \n currentPage: showPagination ? pageNumber : 1, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-title>\n <section title>\n <h2>{{ item.fileName }}</h2>\n </section>\n\n <section actions>\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </section>\n </mat-card-title>\n\n <mat-card-content>\n <section>\n <mat-label>Attachment Type</mat-label>\n <div class=\"value\">{{ item.attachmentTypeDescription }}</div>\n </section>\n\n <section>\n <mat-label>File Type</mat-label>\n <div class=\"value\">{{ item.fileExtension }}</div>\n </section>\n\n <section>\n <mat-label>Uploaded By</mat-label>\n <div class=\"value\">{{ item.uploadedBy }}</div>\n </section> \n\n <section>\n <mat-label>Uploaded At</mat-label>\n <div class=\"value\">{{ item.uploadedTimestamp }}</div>\n </section> \n\n <section full-width>\n <mat-label>Description</mat-label>\n <div class=\"value\">{{ item.attachmentDescription }}</div>\n </section> \n </mat-card-content>\n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n @if ( showPagination ) {\n <nrcl-gap vertical/>\n\n <nrcl-row-list-pagination\n paginationId=\"mobile-attachments\"\n [pageSize]=\"pageSize\"\n [pageNumber]=\"pageNumber\"\n [rowCount]=\"totalRowCount\"\n (pageNumberChange)=\"onPageNumberChange( $event )\"\n (pageSizeChange)=\"onPageSizeChange( $event )\"\n ></nrcl-row-list-pagination>\n }\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{min-width:100px}:host .mat-mdc-table .mat-column-orgUnit{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-fileName{min-width:100px;max-width:200px}:host .mat-mdc-table .mat-column-sourceObjectNameCode{min-width:60px;max-width:60px}:host .mat-mdc-table .mat-column-uploadedBy{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-uploadedTimestamp{min-width:140px;max-width:140px}:host .mat-mdc-table .mat-column-description{width:100%;min-width:200px;max-width:100px;white-space:normal}:host .mat-mdc-table .mat-column-download .button-container,:host .mat-mdc-table .mat-column-delete .button-container{display:flex;justify-content:center;align-items:center}\n"] }]
73
+ }], propDecorators: { rowListProvider: [{
74
+ type: Input
75
+ }], canDelete: [{
76
+ type: Input
77
+ }], showPagination: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hdHRhY2htZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uci1uZ3gtY29tcG9uZW50LWxpYi9zcmMvY29tcG9uZW50cy9saXN0LWF0dGFjaG1lbnRzL2xpc3QtYXR0YWNobWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvbGlzdC1hdHRhY2htZW50cy9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBcUIsV0FBVyxFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFrQ3JELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUFtQztJQU5qRjs7UUFRYSxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLG1CQUFjLEdBQUcsS0FBSyxDQUFBO1FBRS9CLGlCQUFZLEdBQUcsWUFBWSxDQUFBO1FBQzNCLFlBQU8sR0FBRyxDQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBRSxDQUFBO0tBbUR2STtJQWpERyxpQkFBaUI7UUFDYixLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTztZQUNILE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxNQUFNO1NBQ3hCLENBQUE7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUssSUFBSSxDQUFDLFNBQVM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxRQUFRLENBQUUsQ0FBQTtRQUVqQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDM0IsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGdCQUFnQjtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRTNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDcEMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFFLEdBQVE7UUFDeEIsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsa0JBQWtCO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFN0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFFLEdBQUcsQ0FBRSxDQUFBO0lBQ3pELENBQUM7SUFFRCxlQUFlLENBQUUsSUFBeUI7UUFDdEMsSUFBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWTtZQUFHLE1BQU0sS0FBSyxDQUFFLGFBQWEsQ0FBRSxDQUFBO1FBRXZFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUUsSUFBSSxDQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVELGFBQWEsQ0FBRSxJQUF5QjtRQUNwQyxJQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVO1lBQUcsTUFBTSxLQUFLLENBQUUsYUFBYSxDQUFFLENBQUE7UUFFckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBRSxJQUFJLENBQUUsQ0FBQTtJQUNsRCxDQUFDOytHQXhEUSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw4TENyQ3JDLGdoUUFvTEE7OzRGRC9JYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTG9hZFJvd0xpc3RSZXN1bHQsIFJvd0xpc3RCYXNlLCBSb3dMaXN0U3RhdGUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9yb3ctbGlzdC5iYXNlXCI7XG5pbXBvcnQgeyBEQVRFX0ZPUk1BVFMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZGF0ZS51dGlsXCI7XG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRzVGFibGVSb3cgPSB7XG4gICAgYXR0YWNobWVudFR5cGVEZXNjcmlwdGlvbjogc3RyaW5nXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIGZpbGVFeHRlbnNpb246IHN0cmluZ1xuICAgIHVwbG9hZGVkQnk6IHN0cmluZ1xuICAgIHVwbG9hZGVkVGltZXN0YW1wOiBzdHJpbmdcbiAgICBhdHRhY2htZW50RGVzY3JpcHRpb246IHN0cmluZ1xuICAgIGF0dGFjaG1lbnRJZDogc3RyaW5nIFxuICAgIGZpbGVJZDogc3RyaW5nXG4gICAgc291cmNlT2JqZWN0VW5pcXVlSWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyA9IHsgXG4gICAgcGFnZU51bWJlcjogbnVtYmVyIFxuICAgIHBhZ2VSb3dDb3VudDogbnVtYmVyIFxuICAgIHNvcnRDb2x1bW46IHN0cmluZyBcbiAgICBzb3J0RGlyZWN0aW9uOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50Um93TGlzdFByb3ZpZGVyPFIsTD1hbnk+IHtcbiAgICBmZXRjaEF0dGFjaG1lbnRzKCB4OiBGZXRjaEF0dGFjaG1lbnRzUGFyYW1ldGVycyApOiBPYnNlcnZhYmxlPEw+ICAgIFxuICAgIGRpc3BsYXlSb3dMaXN0UGFnZSggcmVzOiBMICk6IExvYWRSb3dMaXN0UmVzdWx0PFI+XG4gICAgZG93bmxvYWRJdGVtKCBpdGVtOiBSIClcbiAgICBkZWxldGVJdGVtKCBpdGVtOiBSIClcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1saXN0LWF0dGFjaG1lbnRzXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmw6IFwiLi9saXN0LWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEF0dGFjaG1lbnRzQ29tcG9uZW50IGV4dGVuZHMgUm93TGlzdEJhc2U8e30sQXR0YWNobWVudHNUYWJsZVJvdz4ge1xuICAgIEBJbnB1dCgpIHJvd0xpc3RQcm92aWRlcjogQXR0YWNobWVudFJvd0xpc3RQcm92aWRlcjxBdHRhY2htZW50c1RhYmxlUm93PlxuICAgIEBJbnB1dCgpIGNhbkRlbGV0ZSA9IHRydWVcbiAgICBASW5wdXQoKSBzaG93UGFnaW5hdGlvbiA9IGZhbHNlXG5cbiAgICBEQVRFX0ZPUk1BVFMgPSBEQVRFX0ZPUk1BVFNcbiAgICBjb2x1bW5zID0gWyAnYXR0YWNobWVudFR5cGVDb2RlJywgJ2ZpbGVOYW1lJywgJ3NvdXJjZU9iamVjdE5hbWVDb2RlJywgJ3VwbG9hZGVkQnknLCAndXBsb2FkZWRUaW1lc3RhbXAnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnIF1cblxuICAgIGluaXRpYWxpemVSb3dMaXN0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplUm93TGlzdCgpXG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxQYWdlU3RhdGUoKTogUm93TGlzdFN0YXRlPHt9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaWx0ZXI6IHt9LFxuICAgICAgICAgICAgcGFnZVNpemU6IDUsXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgICAgICAgc29ydEFjdGl2ZTogbnVsbCxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246ICdkZXNjJyxcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCB0aGlzLmNhbkRlbGV0ZSApXG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCggJ2RlbGV0ZScgKVxuICAgICAgICBcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcbiAgICB9XG5cbiAgICBmZXRjaFJvd0xpc3RQYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5mZXRjaEF0dGFjaG1lbnRzICkgdGhyb3cgRXJyb3IoICdubyBwcm92aWRlcicgKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvd0xpc3RQcm92aWRlci5mZXRjaEF0dGFjaG1lbnRzKHtcbiAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHRoaXMucGFnZU51bWJlcixcbiAgICAgICAgICAgIHBhZ2VSb3dDb3VudDogdGhpcy5wYWdlU2l6ZSxcbiAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydEFjdGl2ZSxcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb246IHRoaXMuc29ydERpcmVjdGlvbixcbiAgICAgICAgfSlcbiAgICB9XG4gICAgXG4gICAgZGlzcGxheVJvd0xpc3RQYWdlKCByZXM6IGFueSApOiBMb2FkUm93TGlzdFJlc3VsdDxBdHRhY2htZW50c1RhYmxlUm93PiB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kaXNwbGF5Um93TGlzdFBhZ2UgKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRpc3BsYXlSb3dMaXN0UGFnZSggcmVzIClcbiAgICB9XG5cbiAgICBvbkRvd25sb2FkQ2xpY2soIGl0ZW06IEF0dGFjaG1lbnRzVGFibGVSb3cgKSB7XG4gICAgICAgIGlmICggIXRoaXMucm93TGlzdFByb3ZpZGVyPy5kb3dubG9hZEl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucm93TGlzdFByb3ZpZGVyLmRvd25sb2FkSXRlbSggaXRlbSApXG4gICAgfVxuXG4gICAgb25EZWxldGVDbGljayggaXRlbTogQXR0YWNobWVudHNUYWJsZVJvdyApIHtcbiAgICAgICAgaWYgKCAhdGhpcy5yb3dMaXN0UHJvdmlkZXI/LmRlbGV0ZUl0ZW0gKSB0aHJvdyBFcnJvciggJ25vIHByb3ZpZGVyJyApXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdGhpcy5yb3dMaXN0UHJvdmlkZXIuZGVsZXRlSXRlbSggaXRlbSApXG4gICAgfVxufVxuIiwiPG5yY2wtZGV2aWNlLXZpZXc+XG4gICAgPG5nLXRlbXBsYXRlIGRlc2t0b3Atdmlldz5cbiAgICAgICAgPG5yY2wtcm93LWxpc3QtZGVza3RvcD5cbiAgICAgICAgICAgIDx0YWJsZSBtYXQtdGFibGVcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJyb3dzIHwgcGFnaW5hdGU6IHsgXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnZGVza3RvcC1hdHRhY2htZW50cycsIFxuICAgICAgICAgICAgICAgICAgICBpdGVtc1BlclBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZVNpemUgOiB0b3RhbFJvd0NvdW50LCBcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZU51bWJlciA6IDEsIFxuICAgICAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zOiB0b3RhbFJvd0NvdW50IFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibWFrZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5NYWtlPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0ubWFrZSB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImF0dGFjaG1lbnRUeXBlQ29kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkF0dGFjaG1lbnQgVHlwZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLmF0dGFjaG1lbnRUeXBlRGVzY3JpcHRpb24gfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmaWxlTmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPkZpbGUgTmFtZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1jZWxsLWNvbnRlbnQgdG9vbHRpcD57eyBpdGVtLmZpbGVOYW1lIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic291cmNlT2JqZWN0TmFtZUNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5GaWxlIFR5cGU8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5maWxlRXh0ZW5zaW9uIH19PC9ucmNsLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXBsb2FkZWRCeVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlVwbG9hZGVkIEJ5PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWNlbGwtY29udGVudCB0b29sdGlwPnt7IGl0ZW0udXBsb2FkZWRCeSB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVwbG9hZGVkVGltZXN0YW1wXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+VXBsb2FkZWQgQXQ8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS51cGxvYWRlZFRpbWVzdGFtcCB9fTwvbnJjbC1jZWxsLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+RGVzY3JpcHRpb248L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtY2VsbC1jb250ZW50IHRvb2x0aXA+e3sgaXRlbS5hdHRhY2htZW50RGVzY3JpcHRpb24gfX08L25yY2wtY2VsbC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkb3dubG9hZFwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZG93bmxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Eb3dubG9hZENsaWNrKCBpdGVtIClcIiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlbGV0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxucmNsLWJ1dHRvbiBjb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKCBpdGVtIClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBjb2x1bW5zOiBjb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L25yY2wtcm93LWxpc3QtZGVza3RvcD5cblxuICAgICAgICBAaWYgKCBzaG93UGFnaW5hdGlvbiApIHtcbiAgICAgICAgICAgIDxucmNsLWdhcCB2ZXJ0aWNhbC8+XG5cbiAgICAgICAgICAgIDxucmNsLXJvdy1saXN0LXBhZ2luYXRpb25cbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uSWQ9XCJkZXNrdG9wLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cInBhZ2VOdW1iZXJcIlxuICAgICAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSBtb2JpbGUtdmlldz5cbiAgICAgICAgPG5yY2wtcm93LWxpc3QtbW9iaWxlPlxuICAgICAgICAgICAgQGZvciAoIGl0ZW0gb2Ygcm93cyB8IHBhZ2luYXRlOiB7IFxuICAgICAgICAgICAgICAgIGlkOiAnbW9iaWxlLWF0dGFjaG1lbnRzJywgXG4gICAgICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiBzaG93UGFnaW5hdGlvbiA/IHBhZ2VTaXplIDogdG90YWxSb3dDb3VudCwgXG4gICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHNob3dQYWdpbmF0aW9uID8gcGFnZU51bWJlciA6IDEsIFxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXM6IHRvdGFsUm93Q291bnQgXG4gICAgICAgICAgICB9OyB0cmFjayBpdGVtLmF0dGFjaG1lbnRJZCApIHtcbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIHRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj57eyBpdGVtLmZpbGVOYW1lIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gYWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bnJjbC1idXR0b24gY29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIkRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImRvd25sb2FkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRG93bmxvYWRDbGljayggaXRlbSApXCIgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9ucmNsLWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIGNhbkRlbGV0ZSApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5yY2wtYnV0dG9uIGNvbXBhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlQ2xpY2soIGl0ZW0gKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L25yY2wtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+QXR0YWNobWVudCBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS5hdHRhY2htZW50VHlwZURlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RmlsZSBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS5maWxlRXh0ZW5zaW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VXBsb2FkZWQgQnk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57eyBpdGVtLnVwbG9hZGVkQnkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlVwbG9hZGVkIEF0PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3sgaXRlbS51cGxvYWRlZFRpbWVzdGFtcCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGZ1bGwtd2lkdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5EZXNjcmlwdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPnt7IGl0ZW0uYXR0YWNobWVudERlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbnJjbC1yb3ctbGlzdC1tb2JpbGU+XG5cbiAgICAgICAgQGlmICggc2hvd1BhZ2luYXRpb24gKSB7XG4gICAgICAgICAgICA8bnJjbC1nYXAgdmVydGljYWwvPlxuXG4gICAgICAgICAgICA8bnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbklkPVwibW9iaWxlLWF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICAgIFtwYWdlTnVtYmVyXT1cInBhZ2VOdW1iZXJcIlxuICAgICAgICAgICAgICAgIFtyb3dDb3VudF09XCJ0b3RhbFJvd0NvdW50XCJcbiAgICAgICAgICAgICAgICAocGFnZU51bWJlckNoYW5nZSk9XCJvblBhZ2VOdW1iZXJDaGFuZ2UoICRldmVudCApXCJcbiAgICAgICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSggJGV2ZW50IClcIlxuICAgICAgICAgICAgPjwvbnJjbC1yb3ctbGlzdC1wYWdpbmF0aW9uPlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbnJjbC1kZXZpY2Utdmlldz5cbiJdfQ==