@bcgov/nr-ngx-component-lib 0.0.34 → 0.0.36
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/components/tag-list/tag-list.component.d.ts +1 -1
- package/esm2022/components/expansion-panel/section/expansion-panel-section.component.mjs +3 -3
- package/esm2022/components/form-field/form-field.component.mjs +2 -2
- package/esm2022/components/list-attachments/list-attachments.component.mjs +2 -2
- package/esm2022/components/page-header/page-header.component.mjs +3 -3
- package/esm2022/components/tag-list/tag-list.component.mjs +7 -6
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs +13 -13
- package/fesm2022/bcgov-nr-ngx-component-lib.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -14,5 +14,5 @@ export declare class TagListComponent extends NrclBase {
|
|
|
14
14
|
itemRemoved: EventEmitter<TagItem>;
|
|
15
15
|
onRemoveItem(id: any): void;
|
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<TagListComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TagListComponent, "nrcl-tag-list", never, { "items": { "alias": "items"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; }; }, { "itemRemoved": "itemRemoved"; }, never,
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TagListComponent, "nrcl-tag-list", never, { "items": { "alias": "items"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; }; }, { "itemRemoved": "itemRemoved"; }, never, ["nrcl-button"], false, never>;
|
|
18
18
|
}
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../gap/gap.component";
|
|
5
5
|
export class ExpansionPanelSectionComponent extends NrclBase {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpansionPanelSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExpansionPanelSectionComponent, selector: "nrcl-expansion-panel-section", usesInheritance: true, ngImport: i0, template: "<nrcl-gap divider/>\n\n<ng-content></ng-content>\n", styles: [":host
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExpansionPanelSectionComponent, selector: "nrcl-expansion-panel-section", usesInheritance: true, ngImport: i0, template: "<nrcl-gap divider class=\"section\"/>\n\n<ng-content></ng-content>\n", styles: [":host .nrcl-gap.section{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host .nrcl-gap.section ::ng-deep .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}:host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "component", type: i1.GapComponent, selector: "nrcl-gap", inputs: ["horizontal", "vertical", "divider"] }] }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpansionPanelSectionComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
|
-
args: [{ selector: "nrcl-expansion-panel-section", template: "<nrcl-gap divider/>\n\n<ng-content></ng-content>\n", styles: [":host
|
|
11
|
+
args: [{ selector: "nrcl-expansion-panel-section", template: "<nrcl-gap divider class=\"section\"/>\n\n<ng-content></ng-content>\n", styles: [":host .nrcl-gap.section{width:calc(100% + 2 * var(--nrcl-gutter-space))}:host .nrcl-gap.section ::ng-deep .divider{margin-left:calc(-1 * var(--nrcl-gutter-space));margin-right:calc(-1 * var(--nrcl-gutter-space))}:host ::ng-deep h3{font-size:var(--nrcl-font-size-h3);font-weight:400;padding:0;margin:0;display:flex;justify-content:space-between}\n"] }]
|
|
12
12
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZXhwYW5zaW9uLXBhbmVsL3NlY3Rpb24vZXhwYW5zaW9uLXBhbmVsLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvZXhwYW5zaW9uLXBhbmVsL3NlY3Rpb24vZXhwYW5zaW9uLXBhbmVsLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLDhCQUErQixTQUFRLFFBQVE7K0dBQS9DLDhCQUE4QjttR0FBOUIsOEJBQThCLDJGQ1IzQyxzRUFHQTs7NEZES2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNJLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5yY2xCYXNlIH0gZnJvbSBcIi4uLy4uLy4uL2RpcmVjdGl2ZXMvbnJjbC5iYXNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5yY2wtZXhwYW5zaW9uLXBhbmVsLXNlY3Rpb25cIixcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhwYW5zaW9uLXBhbmVsLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9leHBhbnNpb24tcGFuZWwtc2VjdGlvbi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEV4cGFuc2lvblBhbmVsU2VjdGlvbkNvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIHtcbn1cbiIsIjxucmNsLWdhcCBkaXZpZGVyIGNsYXNzPVwic2VjdGlvblwiLz5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -18,14 +18,14 @@ export class FormFieldComponent extends NrclBase {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: FormFieldComponent, selector: "nrcl-form-field", inputs: { required: ["required", "required", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "class.required": "required", "class.readonly": "readonly" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", isInline: true, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: FormFieldComponent, selector: "nrcl-form-field", inputs: { required: ["required", "required", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, host: { properties: { "class.required": "required", "class.readonly": "readonly" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>", isInline: true, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-subscript-dynamic-size{min-height:22px}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: "nrcl-form-field", template: "<ng-content></ng-content>", changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
26
26
|
'[class.required]': "required",
|
|
27
27
|
'[class.readonly]': "readonly",
|
|
28
|
-
}, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"] }]
|
|
28
|
+
}, styles: [":host ::ng-deep .mat-mdc-form-field{width:100%;font-family:var(--nrcl-font-family)}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:0;padding-right:0;background-color:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix{font-size:var(--nrcl-font-size);padding-bottom:2px;line-height:20px;min-height:50px;width:unset}:host ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-mdc-form-field-required-marker{display:none}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-error-wrapper,:host ::ng-deep .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding:0}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-subscript-dynamic-size{min-height:22px}:host.required ::ng-deep .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mdc-floating-label :after{color:red;content:\" *\"}:host.readonly ::ng-deep .mat-mdc-form-field{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field [readonly=true]{color:#0000008c;cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .mdc-line-ripple:before{border-style:dashed;border-width:1px;border-color:#00000021}:host.readonly ::ng-deep .mat-mdc-form-field mat-error{display:none}:host.readonly ::ng-deep .mat-mdc-form-field input,:host.readonly ::ng-deep .mat-mdc-form-field textarea{cursor:not-allowed}:host.readonly ::ng-deep .mat-mdc-form-field .select-read-only-cursor{cursor:not-allowed;pointer-events:none}\n"] }]
|
|
29
29
|
}], propDecorators: { required: [{
|
|
30
30
|
type: Input,
|
|
31
31
|
args: [{ transform: booleanAttribute }]
|
|
@@ -81,11 +81,11 @@ export class ListAttachmentsComponent extends RowListBase {
|
|
|
81
81
|
return this.rowListProvider.deleteItem(item);
|
|
82
82
|
}
|
|
83
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", canDownload: "canDownload", noRowsMessage: "noRowsMessage" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down­load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\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 Date</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\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:3;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download{flex-basis:90px;flex-grow:0;flex-shrink:0;justify-content:center}:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content: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.MatCardFooter, selector: "mat-card-footer" }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { 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", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], 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", "divider"] }, { kind: "component", type: i8.RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: ["showRowHover"] }, { 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", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i11.RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: ["sortColumn", "sortColumnOptions", "sortDirection"], outputs: ["sortChange"] }, { kind: "directive", type: i12.DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: i12.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i12.DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i13.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListAttachmentsComponent, selector: "nrcl-list-attachments", inputs: { rowListProvider: "rowListProvider", canDelete: "canDelete", canDownload: "canDownload", noRowsMessage: "noRowsMessage" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down­load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\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 Date</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\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:3;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download{flex-basis:90px;flex-grow:0;flex-shrink:0;justify-content:center}:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content: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.MatCardFooter, selector: "mat-card-footer" }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { 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", "small", "primary", "secondary", "tertiary", "disabled", "anchor"], 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", "divider"] }, { kind: "component", type: i8.RowListDesktopComponent, selector: "nrcl-row-list-desktop", inputs: ["showRowHover"] }, { 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", "noRowsMessage"], outputs: ["pageSizeChange", "pageNumberChange"] }, { kind: "component", type: i11.RowListSortingComponent, selector: "nrcl-row-list-sorting", inputs: ["sortColumn", "sortColumnOptions", "sortDirection"], outputs: ["sortChange"] }, { kind: "directive", type: i12.DesktopViewDirective, selector: "[desktop-view]" }, { kind: "directive", type: i12.MobileViewDirective, selector: "[mobile-view]" }, { kind: "component", type: i12.DeviceViewComponent, selector: "nrcl-device-view" }, { kind: "pipe", type: i13.PaginatePipe, name: "paginate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListAttachmentsComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
|
-
args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down­load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\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 Date</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\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:
|
|
88
|
+
args: [{ selector: "nrcl-list-attachments", changeDetection: ChangeDetectionStrategy.OnPush, template: "<nrcl-device-view>\n <ng-template desktop-view>\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-desktop [showRowHover]=\"false\">\n <mat-table\n [dataSource]=\"rows | paginate: { \n id: 'desktop-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n (matSortChange)=\"onSortChange( $event )\"\n >\n <ng-container matColumnDef=\"attachmentTypeCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Attachment Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-cell-content tooltip>{{ item.attachmentTypeDescription }}</nrcl-cell-content>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"fileName\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Name</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileName }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"sourceObjectNameCode\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>File Type</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.fileExtension }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedBy\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded By</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedBy }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"uploadedTimestamp\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Uploaded Date</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.uploadedTimestamp }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Description</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n {{ item.attachmentDescription }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"download\">\n <mat-header-cell *matHeaderCellDef>Down­load</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"delete\">\n <mat-header-cell *matHeaderCellDef>Delete</mat-header-cell>\n <mat-cell *matCellDef=\"let item\">\n <nrcl-button compact\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n </mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"columns; sticky: true\"></mat-header-row>\n <mat-row *matRowDef=\"let item; columns: columns;\"></mat-row>\n </mat-table>\n </nrcl-row-list-desktop>\n \n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n\n <ng-template mobile-view>\n <nrcl-gap/>\n\n @if ( rows?.length > 0 ) {\n <nrcl-row-list-sorting\n [sortColumn]=\"sortActive\"\n [sortColumnOptions]=\"sortColumns\"\n [sortDirection]=\"sortDirection\"\n (sortChange)=\"onSortChange($event)\">\n </nrcl-row-list-sorting>\n\n <nrcl-gap/>\n\n <nrcl-row-list-mobile>\n @for ( item of rows | paginate: { \n id: 'mobile-attachments', \n itemsPerPage: pageSize, \n currentPage: pageNumber, \n totalItems: totalRowCount \n }; track item.attachmentId ) {\n <mat-card>\n <mat-card-content>\n <section full-width>\n <mat-label>File name</mat-label>\n <div class=\"value\">{{ item.fileName }}</div>\n </section>\n\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 Date</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\n <mat-card-footer>\n @if ( canDownload ) {\n <nrcl-button compact\n label=\"Download\"\n icon=\"download\"\n (click)=\"onDownloadClick( item )\" \n ></nrcl-button>\n }\n\n @if ( canDelete ) {\n <nrcl-button compact\n label=\"Delete\"\n icon=\"delete\"\n (click)=\"onDeleteClick( item )\"\n ></nrcl-button>\n }\n </mat-card-footer> \n </mat-card>\n }\n </nrcl-row-list-mobile>\n\n <nrcl-gap/>\n }\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 [noRowsMessage]=\"noRowsMessage\"\n ></nrcl-row-list-pagination>\n </ng-template>\n</nrcl-device-view>\n", styles: [":host .mat-mdc-table .mat-column-attachmentTypeCode{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-fileName{flex-basis:200px;flex-grow:2;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-sourceObjectNameCode{flex-basis:60px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedBy{flex-basis:150px;flex-grow:0;flex-shrink:0}:host .mat-mdc-table .mat-column-uploadedTimestamp{flex-basis:150px;flex-grow:1;flex-shrink:0}:host .mat-mdc-table .mat-column-description{flex-basis:200px;flex-grow:3;flex-shrink:0;word-break:break-word}:host .mat-mdc-table .mat-column-download{flex-basis:90px;flex-grow:0;flex-shrink:0;justify-content:center}:host .mat-mdc-table .mat-column-delete{flex-basis:60px;flex-grow:0;flex-shrink:0;justify-content:center}\n"] }]
|
|
89
89
|
}], propDecorators: { rowListProvider: [{
|
|
90
90
|
type: Input
|
|
91
91
|
}], canDelete: [{
|
|
@@ -9,14 +9,14 @@ export class PageHeaderComponent extends ConfigurationSubscriberBase {
|
|
|
9
9
|
this.isLoading = false;
|
|
10
10
|
}
|
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PageHeaderComponent, selector: "nrcl-page-header", inputs: { isLoading: "isLoading" }, host: { properties: { "class.isLoading": "isLoading" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #headers>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n</ng-template>\n\n<ng-template #indicator>\n <ng-content select=\"nrcl-indicator,[indicator]\"></ng-content>\n</ng-template>\n\n<ng-template #leftSide>\n <ng-content select=\"[left-side]\"></ng-content>\n</ng-template>\n\n<ng-template #actions>\n <ng-content select=\"[action]\"></ng-content>\n</ng-template>\n\n<ng-template #rightSide>\n <ng-content select=\"[right-side]\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n\n@if ( desktopVisible ) {\n <div class=\"left-side\">\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n\n <div class=\"below-title\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n </div>\n </div>\n\n <div class=\"middle\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n </div>\n\n <div class=\"right-side\">\n <div class=\"actions\">\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n <div class=\"below-actions\">\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n </div>\n}\n\n@if ( mobileVisible ) {\n <div class=\"top\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n </div>\n\n <div class=\"actions\">\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PageHeaderComponent, selector: "nrcl-page-header", inputs: { isLoading: "isLoading" }, host: { properties: { "class.isLoading": "isLoading" } }, usesInheritance: true, ngImport: i0, template: "<ng-template #headers>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n</ng-template>\n\n<ng-template #indicator>\n <ng-content select=\"nrcl-indicator,[indicator]\"></ng-content>\n</ng-template>\n\n<ng-template #leftSide>\n <ng-content select=\"[left-side]\"></ng-content>\n</ng-template>\n\n<ng-template #actions>\n <ng-content select=\"[action]\"></ng-content>\n</ng-template>\n\n<ng-template #rightSide>\n <ng-content select=\"[right-side]\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n\n@if ( desktopVisible ) {\n <div class=\"left-side\">\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n\n <div class=\"below-title\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n </div>\n </div>\n\n <div class=\"middle\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n </div>\n\n <div class=\"right-side\">\n <div class=\"actions\">\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n <div class=\"below-actions\">\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n </div>\n}\n\n@if ( mobileVisible ) {\n <div class=\"top\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n </div>\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n </div>\n\n <div class=\"actions\">\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n\n <div class=\"bottom\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n}\n\n", styles: [":host{display:flex;position:relative;padding-top:var(--nrcl-gutter-space);font-family:var(--nrcl-font-family)}:host .headers{display:flex;flex-direction:column}:host .headers ::ng-deep h1{font-size:var(--nrcl-font-size-h1);font-weight:200;padding:0;margin:0}:host .headers ::ng-deep h2{font-size:var(--nrcl-font-size-h2);font-weight:200;padding:0;margin:0}:host .actions{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--nrcl-gutter-space);position:relative}:host .actions:empty{display:none}:host .loading{position:absolute;top:0;right:0;display:none}:host.isLoading .loading{display:block}:host-context(.nrcl-device-desktop) :host .left-side{display:flex;flex-direction:column}:host-context(.nrcl-device-desktop) :host .middle{flex-grow:1}:host-context(.nrcl-device-desktop) :host .middle .indicator{display:flex;align-items:center;height:var(--nrcl-button-normal-height);margin-left:var(--nrcl-gutter-space)}:host-context(.nrcl-device-desktop) :host .right-side{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}:host-context(.nrcl-device-desktop) :host.isLoading .actions>::ng-deep *:not(.loading){visibility:hidden}:host-context(.nrcl-device-mobile) :host{flex-direction:column;gap:var(--nrcl-gutter-space)}:host-context(.nrcl-device-mobile) :host .top{display:block}:host-context(.nrcl-device-mobile) :host .top .headers{display:contents}:host-context(.nrcl-device-mobile) :host .top .headers ::ng-deep h1,:host-context(.nrcl-device-mobile) :host .top .headers ::ng-deep h2{display:block}:host-context(.nrcl-device-mobile) :host .top .indicator{float:right}:host-context(.nrcl-device-mobile) :host .top .indicator:empty{display:none}:host-context(.nrcl-device-mobile) :host .actions{align-self:stretch;justify-content:flex-start}:host-context(.nrcl-device-mobile) :host .bottom{display:flex;flex-direction:column}:host-context(.nrcl-device-mobile) :host .bottom:empty{display:none}:host-context(.nrcl-device-mobile) :host.isLoading .indicator>::ng-deep *:not(.loading){visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: "nrcl-page-header", changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
17
17
|
'[class.isLoading]': 'isLoading',
|
|
18
|
-
}, template: "<ng-template #headers>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n</ng-template>\n\n<ng-template #indicator>\n <ng-content select=\"nrcl-indicator,[indicator]\"></ng-content>\n</ng-template>\n\n<ng-template #leftSide>\n <ng-content select=\"[left-side]\"></ng-content>\n</ng-template>\n\n<ng-template #actions>\n <ng-content select=\"[action]\"></ng-content>\n</ng-template>\n\n<ng-template #rightSide>\n <ng-content select=\"[right-side]\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n\n@if ( desktopVisible ) {\n <div class=\"left-side\">\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n\n <div class=\"below-title\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n </div>\n </div>\n\n <div class=\"middle\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n </div>\n\n <div class=\"right-side\">\n <div class=\"actions\">\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n <div class=\"below-actions\">\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n </div>\n}\n\n@if ( mobileVisible ) {\n <div class=\"top\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n </div>\n\n <div class=\"actions\">\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n
|
|
18
|
+
}, template: "<ng-template #headers>\n <ng-content select=\"h1\"></ng-content>\n <ng-content select=\"h2\"></ng-content>\n</ng-template>\n\n<ng-template #indicator>\n <ng-content select=\"nrcl-indicator,[indicator]\"></ng-content>\n</ng-template>\n\n<ng-template #leftSide>\n <ng-content select=\"[left-side]\"></ng-content>\n</ng-template>\n\n<ng-template #actions>\n <ng-content select=\"[action]\"></ng-content>\n</ng-template>\n\n<ng-template #rightSide>\n <ng-content select=\"[right-side]\"></ng-content>\n <ng-content></ng-content>\n</ng-template>\n\n@if ( desktopVisible ) {\n <div class=\"left-side\">\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n\n <div class=\"below-title\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n </div>\n </div>\n\n <div class=\"middle\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n </div>\n </div>\n\n <div class=\"right-side\">\n <div class=\"actions\">\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n <div class=\"below-actions\">\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n </div>\n}\n\n@if ( mobileVisible ) {\n <div class=\"top\">\n <div class=\"indicator\">\n <ng-container [ngTemplateOutlet]=\"indicator\"></ng-container>\n <mat-spinner class=\"loading\" [diameter]=\"30\"></mat-spinner>\n </div>\n <div class=\"headers\">\n <ng-container [ngTemplateOutlet]=\"headers\"></ng-container>\n </div>\n </div>\n\n <div class=\"actions\">\n <ng-container [ngTemplateOutlet]=\"actions\"></ng-container>\n </div>\n\n <div class=\"bottom\">\n <ng-container [ngTemplateOutlet]=\"leftSide\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rightSide\"></ng-container>\n </div>\n}\n\n", styles: [":host{display:flex;position:relative;padding-top:var(--nrcl-gutter-space);font-family:var(--nrcl-font-family)}:host .headers{display:flex;flex-direction:column}:host .headers ::ng-deep h1{font-size:var(--nrcl-font-size-h1);font-weight:200;padding:0;margin:0}:host .headers ::ng-deep h2{font-size:var(--nrcl-font-size-h2);font-weight:200;padding:0;margin:0}:host .actions{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--nrcl-gutter-space);position:relative}:host .actions:empty{display:none}:host .loading{position:absolute;top:0;right:0;display:none}:host.isLoading .loading{display:block}:host-context(.nrcl-device-desktop) :host .left-side{display:flex;flex-direction:column}:host-context(.nrcl-device-desktop) :host .middle{flex-grow:1}:host-context(.nrcl-device-desktop) :host .middle .indicator{display:flex;align-items:center;height:var(--nrcl-button-normal-height);margin-left:var(--nrcl-gutter-space)}:host-context(.nrcl-device-desktop) :host .right-side{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}:host-context(.nrcl-device-desktop) :host.isLoading .actions>::ng-deep *:not(.loading){visibility:hidden}:host-context(.nrcl-device-mobile) :host{flex-direction:column;gap:var(--nrcl-gutter-space)}:host-context(.nrcl-device-mobile) :host .top{display:block}:host-context(.nrcl-device-mobile) :host .top .headers{display:contents}:host-context(.nrcl-device-mobile) :host .top .headers ::ng-deep h1,:host-context(.nrcl-device-mobile) :host .top .headers ::ng-deep h2{display:block}:host-context(.nrcl-device-mobile) :host .top .indicator{float:right}:host-context(.nrcl-device-mobile) :host .top .indicator:empty{display:none}:host-context(.nrcl-device-mobile) :host .actions{align-self:stretch;justify-content:flex-start}:host-context(.nrcl-device-mobile) :host .bottom{display:flex;flex-direction:column}:host-context(.nrcl-device-mobile) :host .bottom:empty{display:none}:host-context(.nrcl-device-mobile) :host.isLoading .indicator>::ng-deep *:not(.loading){visibility:hidden}\n"] }]
|
|
19
19
|
}], propDecorators: { isLoading: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7O0FBVzdGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSwyQkFBMkI7SUFUcEU7O1FBVWEsY0FBUyxHQUFHLEtBQUssQ0FBQTtLQUM3QjsrR0FGWSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2S0NqQmhDLG9sRUF1RUE7OzRGRHREYSxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsbUJBQW1CLEVBQUUsV0FBVztxQkFDbkM7OEJBR1EsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOcmNsQmFzZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL25yY2wuYmFzZVwiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblN1YnNjcmliZXJCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvY29uZmlndXJhdGlvbi1zdWJzY3JpYmVyLmJhc2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC1wYWdlLWhlYWRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vcGFnZS1oZWFkZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmlzTG9hZGluZ10nOiAnaXNMb2FkaW5nJyxcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uU3Vic2NyaWJlckJhc2Uge1xuICAgIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlXG59XG4iLCI8bmctdGVtcGxhdGUgI2hlYWRlcnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaDFcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaDJcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2luZGljYXRvcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJucmNsLWluZGljYXRvcixbaW5kaWNhdG9yXVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGVmdFNpZGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xlZnQtc2lkZV1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FjdGlvbl1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0U2lkZT5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmlnaHQtc2lkZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmICggZGVza3RvcFZpc2libGUgKSB7XG4gICAgPGRpdiBjbGFzcz1cImxlZnQtc2lkZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZWxvdy10aXRsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0U2lkZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtaWRkbGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImluZGljYXRvclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpbmRpY2F0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtc2lkZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwibG9hZGluZ1wiIFtkaWFtZXRlcl09XCIzMFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZWxvdy1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cblxuQGlmICggbW9iaWxlVmlzaWJsZSApIHtcbiAgICA8ZGl2IGNsYXNzPVwidG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmRpY2F0b3JcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5kaWNhdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bWF0LXNwaW5uZXIgY2xhc3M9XCJsb2FkaW5nXCIgW2RpYW1ldGVyXT1cIjMwXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlcnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib3R0b21cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0U2lkZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxufVxuXG4iXX0=
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
2
|
import { NrclBase } from "../../directives/nrcl.base";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/
|
|
5
|
-
import * as i2 from "@angular/material/
|
|
6
|
-
import * as i3 from "
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/chips";
|
|
6
|
+
import * as i3 from "@angular/material/tooltip";
|
|
7
|
+
import * as i4 from "../icon/icon.component";
|
|
7
8
|
export class TagListComponent extends NrclBase {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
@@ -15,11 +16,11 @@ export class TagListComponent extends NrclBase {
|
|
|
15
16
|
this.itemRemoved.emit(this.items.find(i => i.id == id));
|
|
16
17
|
}
|
|
17
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"], dependencies: [{ kind: "
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TagListComponent, selector: "nrcl-tag-list", inputs: { items: "items", removable: "removable", noItemsMessage: "noItemsMessage" }, outputs: { itemRemoved: "itemRemoved" }, usesInheritance: true, ngImport: i0, template: "<ng-template #action>\n <ng-content select=\"nrcl-button\"></ng-content>\n</ng-template>\n\n@if ( items?.length > 0 ) {\n <mat-chip-set>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <div class=\"no-tags\">\n <span>{{ noItemsMessage }}</span>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n </div>\n}\n", styles: [":host{display:block;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding-top:var(--nrcl-device-mobile-gutter-space)}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{display:block;margin:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .nrcl-button{float:right}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;margin:0 6px 6px 0;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}:host .no-tags{display:flex;align-items:center;height:38px}:host .no-tags span{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i2.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.IconComponent, selector: "nrcl-icon", inputs: ["small", "large"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
20
|
}
|
|
20
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TagListComponent, decorators: [{
|
|
21
22
|
type: Component,
|
|
22
|
-
args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ( items?.length > 0 ) {\n <mat-chip-set>\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <span>{{ noItemsMessage }}</span>\n}\n", styles: [":host{font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size)}:host ::ng-deep .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}\n"] }]
|
|
23
|
+
args: [{ selector: "nrcl-tag-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #action>\n <ng-content select=\"nrcl-button\"></ng-content>\n</ng-template>\n\n@if ( items?.length > 0 ) {\n <mat-chip-set>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n\n @for ( item of items; track item.id ) {\n <mat-chip\n (removed)=\"onRemoveItem( item.id )\"\n [matTooltip]=\"item.tooltip\"\n >\n @if ( item.icon ) {\n <nrcl-icon small matChipAvatar>{{ item.icon }}</nrcl-icon>\n }\n\n {{ item.description }}\n\n @if ( removable ) {\n <nrcl-icon small matChipRemove>cancel</nrcl-icon>\n }\n </mat-chip>\n }\n </mat-chip-set>\n} \n@else {\n <div class=\"no-tags\">\n <span>{{ noItemsMessage }}</span>\n <ng-container [ngTemplateOutlet]=\"action\"></ng-container>\n </div>\n}\n", styles: [":host{display:block;font-family:var(--nrcl-font-family);font-size:var(--nrcl-font-size);padding-top:var(--nrcl-device-mobile-gutter-space)}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips{display:block;margin:0}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .nrcl-button{float:right}:host ::ng-deep .mat-mdc-chip-set .mdc-evolution-chip-set__chips .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px;border:1px solid #c6c8cb;margin:0 6px 6px 0;--mdc-chip-focus-state-layer-opacity: 0;--mdc-chip-label-text-weight: 800;--mdc-chip-elevated-container-color: #f2f2f2}:host .no-tags{display:flex;align-items:center;height:38px}:host .no-tags span{flex-grow:1}\n"] }]
|
|
23
24
|
}], propDecorators: { items: [{
|
|
24
25
|
type: Input
|
|
25
26
|
}], removable: [{
|
|
@@ -29,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
29
30
|
}], itemRemoved: [{
|
|
30
31
|
type: Output
|
|
31
32
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnItbmd4LWNvbXBvbmVudC1saWIvc3JjL2NvbXBvbmVudHMvdGFnLWxpc3QvdGFnLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFldEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFFBQVE7SUFOOUM7O1FBUWEsY0FBUyxHQUFHLElBQUksQ0FBQTtRQUNoQixtQkFBYyxHQUFHLDJCQUEyQixDQUFBO1FBRTNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQTtLQUt0RDtJQUhHLFlBQVksQ0FBRSxFQUFFO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFFLENBQUE7SUFDL0QsQ0FBQzsrR0FUUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiwyTUN0QjdCLDI2QkFnQ0E7OzRGRFZhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5yY2xCYXNlIH0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZXMvbnJjbC5iYXNlXCI7XG5cbmV4cG9ydCB0eXBlIFRhZ0l0ZW0gPSB7XG4gICAgaWQ6IHN0cmluZ1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgICB0b29sdGlwOiBzdHJpbmdcbiAgICBpY29uOiBzdHJpbmdcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibnJjbC10YWctbGlzdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGFnLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybDogXCIuL3RhZy1saXN0LmNvbXBvbmVudC5zY3NzXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFnTGlzdENvbXBvbmVudCBleHRlbmRzIE5yY2xCYXNlIHtcbiAgICBASW5wdXQoKSBpdGVtczogVGFnSXRlbVtdXG4gICAgQElucHV0KCkgcmVtb3ZhYmxlID0gdHJ1ZVxuICAgIEBJbnB1dCgpIG5vSXRlbXNNZXNzYWdlID0gJ05vIGl0ZW1zIGhhdmUgYmVlbiBhZGRlZC4nXG5cbiAgICBAT3V0cHV0KCkgaXRlbVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ0l0ZW0+KClcbiAgICBcbiAgICBvblJlbW92ZUl0ZW0oIGlkICkge1xuICAgICAgICB0aGlzLml0ZW1SZW1vdmVkLmVtaXQoIHRoaXMuaXRlbXMuZmluZCggaSA9PiBpLmlkID09IGlkICkgKVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjYWN0aW9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5yY2wtYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmICggaXRlbXM/Lmxlbmd0aCA+IDAgKSB7XG4gICAgPG1hdC1jaGlwLXNldD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhY3Rpb25cIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICBAZm9yICggaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5pZCApIHtcbiAgICAgICAgICAgIDxtYXQtY2hpcFxuICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cIm9uUmVtb3ZlSXRlbSggaXRlbS5pZCApXCJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtLnRvb2x0aXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoIGl0ZW0uaWNvbiApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBzbWFsbCBtYXRDaGlwQXZhdGFyPnt7IGl0ZW0uaWNvbiB9fTwvbnJjbC1pY29uPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGVzY3JpcHRpb24gfX1cblxuICAgICAgICAgICAgICAgIEBpZiAoIHJlbW92YWJsZSApIHtcbiAgICAgICAgICAgICAgICAgICAgPG5yY2wtaWNvbiBzbWFsbCBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbnJjbC1pY29uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgIH1cbiAgICA8L21hdC1jaGlwLXNldD5cbn0gXG5AZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cIm5vLXRhZ3NcIj5cbiAgICAgICAgPHNwYW4+e3sgbm9JdGVtc01lc3NhZ2UgfX08L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG59XG4iXX0=
|