@codetectonics/mantle 0.0.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/codetectonics-mantle.umd.js +7870 -6899
- package/bundles/codetectonics-mantle.umd.js.map +1 -1
- package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +1 -1
- package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +3 -2
- package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +1 -1
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +6 -2
- package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +9 -2
- package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +2 -2
- package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +11 -4
- package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +3 -2
- package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +5 -4
- package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +22 -0
- package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +7 -3
- package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +17 -5
- package/esm2015/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.js +21 -0
- package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +7 -2
- package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +18 -5
- package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +13 -3
- package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +6 -2
- package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +3 -2
- package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +3 -2
- package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +3 -2
- package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +15 -11
- package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +3 -2
- package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +3 -2
- package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +3 -2
- package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/number-input/number-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/password-input/password-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/text-input/text-input.component.js +3 -2
- package/esm2015/lib/components/form/fields/textarea/textarea.component.js +3 -2
- package/esm2015/lib/components/form/fields/time-input/time-input.component.js +80 -0
- package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +15 -7
- package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +11 -2
- package/esm2015/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.js +69 -0
- package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +13 -3
- package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +5 -4
- package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +33 -0
- package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +4 -3
- package/esm2015/lib/components/pages/detail-page/detail-page.component.js +25 -19
- package/esm2015/lib/components/pages/documents-page/documents-page.component.js +4 -3
- package/esm2015/lib/components/pages/export-page/export-page.component.js +4 -3
- package/esm2015/lib/components/pages/form-page/form-page.component.js +7 -6
- package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +12 -8
- package/esm2015/lib/components/pages/list-page/list-page-datasource.js +2 -2
- package/esm2015/lib/components/pages/list-page/list-page.component.js +22 -11
- package/esm2015/lib/components/pages/roster-page/roster-gantt.data.js +50 -0
- package/esm2015/lib/components/pages/roster-page/roster-page.component.js +134 -0
- package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +3 -2
- package/esm2015/lib/components/titles/page-title/page-title.component.js +11 -9
- package/esm2015/lib/components/titles/section-title/section-title.component.js +3 -2
- package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +3 -2
- package/esm2015/lib/components/widgets/draggable-table/draggable-table-datasource.js +31 -0
- package/esm2015/lib/components/widgets/draggable-table/draggable-table.component.js +79 -0
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +4 -5
- package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +3 -2
- package/esm2015/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.js +37 -0
- package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +4 -3
- package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +3 -2
- package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +3 -2
- package/esm2015/lib/data-structures/dynamic-layout.structure.js +1 -1
- package/esm2015/lib/guards/feature.guard.js +2 -2
- package/esm2015/lib/language-packs/en.data.js +62 -0
- package/esm2015/lib/language-packs/ms.data.js +62 -0
- package/esm2015/lib/mantle.module.js +49 -4
- package/esm2015/lib/material.module.js +12 -2
- package/esm2015/lib/services/confirmation.service.js +2 -2
- package/esm2015/lib/services/current-user.service.js +55 -21
- package/esm2015/lib/services/data-broadcast.service.js +18 -0
- package/esm2015/lib/services/dynamic-form.service.js +2 -1
- package/esm2015/lib/services/feature-config.service.js +34 -12
- package/esm2015/lib/services/interfaces/detail-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/form-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/list-page.service.js +1 -1
- package/esm2015/lib/services/interfaces/roster-page.service.js +2 -0
- package/esm2015/lib/services/interfaces/roster-schedule.service.js +2 -0
- package/esm2015/lib/services/locale.service.js +75 -0
- package/esm2015/lib/services/object.service.js +9 -1
- package/esm2015/lib/services/password-check.service.js +10 -8
- package/esm2015/public-api.js +15 -1
- package/fesm2015/codetectonics-mantle.js +1158 -255
- package/fesm2015/codetectonics-mantle.js.map +1 -1
- package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +2 -1
- package/lib/components/details/dialog-details/dialog-details.component.d.ts +1 -0
- package/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.d.ts +6 -0
- package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +2 -1
- package/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.d.ts +9 -0
- package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +3 -1
- package/lib/components/form/dialog-form/dialog-form.component.d.ts +5 -1
- package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +3 -0
- package/lib/components/form/fields/time-input/time-input.component.d.ts +22 -0
- package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +4 -1
- package/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.d.ts +23 -0
- package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +3 -1
- package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +2 -2
- package/lib/components/navigation/paginator/custom-paginator-intl.d.ts +12 -0
- package/lib/components/pages/detail-page/detail-page.component.d.ts +4 -3
- package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +2 -1
- package/lib/components/pages/list-page/list-page.component.d.ts +4 -1
- package/lib/components/pages/roster-page/roster-gantt.data.d.ts +1 -0
- package/lib/components/pages/roster-page/roster-page.component.d.ts +40 -0
- package/lib/components/titles/page-title/page-title.component.d.ts +3 -1
- package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +1 -1
- package/lib/components/widgets/draggable-table/draggable-table-datasource.d.ts +23 -0
- package/lib/components/widgets/draggable-table/draggable-table.component.d.ts +24 -0
- package/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.d.ts +18 -0
- package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +0 -2
- package/lib/data-structures/dynamic-layout.structure.d.ts +13 -0
- package/lib/language-packs/en.data.d.ts +61 -0
- package/lib/language-packs/ms.data.d.ts +61 -0
- package/lib/mantle.module.d.ts +104 -94
- package/lib/material.module.d.ts +12 -11
- package/lib/services/current-user.service.d.ts +14 -7
- package/lib/services/data-broadcast.service.d.ts +8 -0
- package/lib/services/dynamic-form.service.d.ts +2 -0
- package/lib/services/feature-config.service.d.ts +15 -3
- package/lib/services/interfaces/detail-page.service.d.ts +4 -2
- package/lib/services/interfaces/form-page.service.d.ts +11 -3
- package/lib/services/interfaces/list-page.service.d.ts +14 -1
- package/lib/services/interfaces/roster-page.service.d.ts +20 -0
- package/lib/services/interfaces/roster-schedule.service.d.ts +22 -0
- package/lib/services/locale.service.d.ts +21 -0
- package/lib/services/object.service.d.ts +2 -0
- package/lib/services/password-check.service.d.ts +3 -1
- package/package.json +3 -1
- package/public-api.d.ts +14 -0
|
@@ -17,7 +17,7 @@ export class PlainDashboardContainerComponent {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
PlainDashboardContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PlainDashboardContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
PlainDashboardContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PlainDashboardContainerComponent, selector: "mantle-plain-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container" }, ngImport: i0, template: "<ng-container *ngFor=\"let section of container.sections\">\n <ng-container *ngIf=\"!section.hidden\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"dashboardPageService\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [""], components: [{ type: i1.DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section"] }, { type: i2.GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { type: i3.TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
20
|
+
PlainDashboardContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PlainDashboardContainerComponent, selector: "mantle-plain-dashboard-container", inputs: { dashboardPageService: "dashboardPageService", content: "content", container: "container" }, ngImport: i0, template: "<ng-container *ngFor=\"let section of container.sections\">\n <ng-container *ngIf=\"!section.hidden\">\n <ng-container [ngSwitch]=\"section.layout\">\n\n <ng-container *ngSwitchCase=\"'dashboard'\">\n <mantle-dashboard-section\n [slug]=\"section.slug\"\n [section]=\"asDynamicLayoutDashboardSection(section)\"\n [data]=\"content.data\"\n [dashboardPageService]=\"dashboardPageService\">\n </mantle-dashboard-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'grid'\">\n <mantle-grid-details-section\n [section]=\"asDynamicLayoutGridSection(section)\"\n [data]=\"content.data\">\n </mantle-grid-details-section>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-table-details-section\n [section]=\"asDynamicLayoutTableSection(section)\"\n [data]=\"content.data\">\n </mantle-table-details-section>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [""], components: [{ type: i1.DashboardSectionComponent, selector: "mantle-dashboard-section", inputs: ["dashboardPageService", "slug", "data", "section"] }, { type: i2.GridDetailsSectionComponent, selector: "mantle-grid-details-section", inputs: ["data", "section", "defaultRowHeight"] }, { type: i3.TableDetailsSectionComponent, selector: "mantle-table-details-section", inputs: ["data", "section", "detailPageService"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PlainDashboardContainerComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{
|
|
@@ -15,6 +15,7 @@ import * as i10 from "@angular/flex-layout/flex";
|
|
|
15
15
|
import * as i11 from "@angular/common";
|
|
16
16
|
import * as i12 from "@angular/flex-layout/extended";
|
|
17
17
|
import * as i13 from "../../../directives/click-stop-propagation.directive";
|
|
18
|
+
import * as i14 from "@ngx-translate/core";
|
|
18
19
|
export class DashboardCardComponent {
|
|
19
20
|
constructor(objectService, screenSizeService) {
|
|
20
21
|
this.objectService = objectService;
|
|
@@ -101,7 +102,7 @@ export class DashboardCardComponent {
|
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
DashboardCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardCardComponent, deps: [{ token: i1.ObjectService }, { token: i2.ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
-
DashboardCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardCardComponent, selector: "mantle-dashboard-card", inputs: { widget: "widget", widgetConfig: "widgetConfig", widgetItems: "widgetItems", rowHeight: "rowHeight", dashboardWidgetService: "dashboardWidgetService", dashboardPageService: "dashboardPageService" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DashboardCardSearchMenuComponent, descendants: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"dashboard-card\">\n <mat-card-header fxFlex=\"0 0 auto\">\n <mat-card-title>\n <span *ngIf=\"!dashboardWidgetService.icon; else iconHeader\" class=\"sub-card-title\">{{ widget.label }}</span>\n <ng-template #iconHeader>\n <div>\n <mat-icon class=\"card-title-icon\">{{ dashboardWidgetService.icon }}</mat-icon>\n <span class=\"main-card-title\">\n {{ widget.label }}\n </span>\n </div>\n </ng-template>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(options).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"additionalWidgetButtons\">\n <div class=\"widget-button-container\" [ngClass]=\"{ 'with-menu-button': dashboardWidgetService.showMenuButton }\">\n <button *ngFor=\"let button of additionalWidgetButtons\"\n mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"widget-button\"\n [ngStyle]=\"button.styling\"\n (click)=\"onAdditionalWidgetButtonClicked(button.onClick)\"\n [disabled]=\"button.disabled\">\n {{ button.label }}\n </button>\n </div>\n </ng-container>\n\n <button #menuTrigger mat-icon-button class=\"more-button\" [matMenuTriggerFor]=\"menu\" *ngIf=\"dashboardWidgetService.showMenuButton\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <div class=\"menu-form\" click-stop-propagation>\n <mantle-dashboard-card-search-menu #searchForm [content]=\"formContent\"></mantle-dashboard-card-search-menu>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked(); menuTrigger.closeMenu();\">\n Search\n </button>\n </div>\n </div>\n </div>\n </mat-menu>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"dashboard-card-content\">\n\n <div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"widgetRowHeight\"\n [cols]=\"WIDGET_COLUMNS\">\n <mat-grid-tile *ngFor=\"let context of widgetItemContexts\" [colspan]=\"getWidgetItemColspan(context.config)\" [rowspan]=\"getWidgetItemRowspan(context.config)\">\n <mantle-dynamic-widget-display\n class=\"card-content-wrapper\"\n [widgetItem]=\"context.config\"\n [data]=\"context.data\"\n [options]=\"context.options\">\n </mantle-dynamic-widget-display>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n\n </mat-card-content>\n</mat-card>\n", styles: [".dashboard-card{position:absolute;top:15px;left:15px;right:15px;bottom:15px;padding:10px 15px}.more-button{position:absolute;top:5px;right:10px}.dashboard-card-content{text-align:center}.mat-card-title{margin-bottom:10px;padding-top:5px;font-weight:400}.mat-card-title .main-card-title{font-size:19px;text-transform:uppercase;font-weight:500;vertical-align:middle}.mat-card-title .card-title-icon{font-size:2rem;vertical-align:middle;padding-right:7px}.mat-card-title .sub-card-title{font-size:18px;font-weight:500}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.menu-form{width:140px;padding:0 8px}.export-button{display:inline-block;width:110px;background-color:transparent;white-space:nowrap;padding:0;position:absolute;top:8px;right:50px}.export-button .export-button-label{display:inline-block;width:80px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:normal;font-size:12px;line-height:1.25rem;margin-right:.25rem}.widget-button-container{display:inline-block;position:absolute;top:15px;right:20px}.widget-button-container .widget-button{margin-left:7px}.with-menu-button{right:50px}.mat-icon{height:auto;width:auto;font-size:1.5rem}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i7.DashboardCardSearchMenuComponent, selector: "mantle-dashboard-card-search-menu", inputs: ["content"] }, { type: i8.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i8.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i9.DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: ["widgetItem", "data", "options"] }], directives: [{ type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }] });
|
|
105
|
+
DashboardCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardCardComponent, selector: "mantle-dashboard-card", inputs: { widget: "widget", widgetConfig: "widgetConfig", widgetItems: "widgetItems", rowHeight: "rowHeight", dashboardWidgetService: "dashboardWidgetService", dashboardPageService: "dashboardPageService" }, viewQueries: [{ propertyName: "searchForm", first: true, predicate: DashboardCardSearchMenuComponent, descendants: true }, { propertyName: "menuTrigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<mat-card fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"0px\" class=\"dashboard-card\">\n <mat-card-header fxFlex=\"0 0 auto\">\n <mat-card-title>\n <span *ngIf=\"!dashboardWidgetService.icon; else iconHeader\" class=\"sub-card-title\">{{ widget.label }}</span>\n <ng-template #iconHeader>\n <div>\n <mat-icon class=\"card-title-icon\">{{ dashboardWidgetService.icon }}</mat-icon>\n <span class=\"main-card-title\">\n {{ widget.label }}\n </span>\n </div>\n </ng-template>\n\n <ng-container *ngFor=\"let exportOption of exportOptions\">\n <button mat-button type=\"button\" class=\"export-button\" (click)=\"exportOption.export(options).subscribe()\">\n <span class=\"export-button-label\">{{ exportOption.label | translate }}</span>\n <mat-icon>download</mat-icon>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"additionalWidgetButtons\">\n <div class=\"widget-button-container\" [ngClass]=\"{ 'with-menu-button': dashboardWidgetService.showMenuButton }\">\n <button *ngFor=\"let button of additionalWidgetButtons\"\n mat-raised-button\n color=\"{{ button.color }}\"\n type=\"button\"\n class=\"widget-button\"\n [ngStyle]=\"button.styling\"\n (click)=\"onAdditionalWidgetButtonClicked(button.onClick)\"\n [disabled]=\"button.disabled\">\n {{ button.label | translate }}\n </button>\n </div>\n </ng-container>\n\n <button #menuTrigger mat-icon-button class=\"more-button\" [matMenuTriggerFor]=\"menu\" *ngIf=\"dashboardWidgetService.showMenuButton\">\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <div class=\"menu-form\" click-stop-propagation>\n <mantle-dashboard-card-search-menu #searchForm [content]=\"formContent\"></mantle-dashboard-card-search-menu>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\">\n <div fxFlex=\"1 1 auto\"></div>\n <div fxFlex=\"0 0 auto\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"search-button\" (click)=\"onSearchClicked(); menuTrigger.closeMenu();\">\n {{ 'mantle.buttons.search' | translate }}\n </button>\n </div>\n </div>\n </div>\n </mat-menu>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content fxFlex=\"1 0 1px\" fxAlign=\"center center\" class=\"dashboard-card-content\">\n\n <div class=\"grid-container\">\n <mat-grid-list\n [rowHeight]=\"widgetRowHeight\"\n [cols]=\"WIDGET_COLUMNS\">\n <mat-grid-tile *ngFor=\"let context of widgetItemContexts\" [colspan]=\"getWidgetItemColspan(context.config)\" [rowspan]=\"getWidgetItemRowspan(context.config)\">\n <mantle-dynamic-widget-display\n class=\"card-content-wrapper\"\n [widgetItem]=\"context.config\"\n [data]=\"context.data\"\n [options]=\"context.options\">\n </mantle-dynamic-widget-display>\n </mat-grid-tile>\n </mat-grid-list>\n </div>\n\n </mat-card-content>\n</mat-card>\n", styles: [".dashboard-card{position:absolute;top:15px;left:15px;right:15px;bottom:15px;padding:10px 15px}.more-button{position:absolute;top:5px;right:10px}.dashboard-card-content{text-align:center}.mat-card-title{margin-bottom:10px;padding-top:5px;font-weight:400}.mat-card-title .main-card-title{font-size:19px;text-transform:uppercase;font-weight:500;vertical-align:middle}.mat-card-title .card-title-icon{font-size:2rem;vertical-align:middle;padding-right:7px}.mat-card-title .sub-card-title{font-size:18px;font-weight:500}.card-content-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch}.menu-form{width:140px;padding:0 8px}.export-button{display:inline-block;width:110px;background-color:transparent;white-space:nowrap;padding:0;position:absolute;top:8px;right:50px}.export-button .export-button-label{display:inline-block;width:80px;white-space:normal;text-align:right;text-transform:uppercase;font-weight:normal;font-size:12px;line-height:1.25rem;margin-right:.25rem}.widget-button-container{display:inline-block;position:absolute;z-index:100;top:15px;right:20px}.widget-button-container .widget-button{margin-left:7px}.with-menu-button{right:50px}.mat-icon{height:auto;width:auto;font-size:1.5rem}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i3.MatCardHeader, selector: "mat-card-header" }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i7.DashboardCardSearchMenuComponent, selector: "mantle-dashboard-card-search-menu", inputs: ["content"] }, { type: i8.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i8.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i9.DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: ["widgetItem", "data", "options"] }], directives: [{ type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.ClickStopPropagationDirective, selector: "[click-stop-propagation]" }, { type: i3.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }], pipes: { "translate": i14.TranslatePipe } });
|
|
105
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardCardComponent, decorators: [{
|
|
106
107
|
type: Component,
|
|
107
108
|
args: [{
|
|
@@ -128,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
128
129
|
}], dashboardPageService: [{
|
|
129
130
|
type: Input
|
|
130
131
|
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLWNhcmQvZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLWNhcmQvZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBV2pKLE1BQU0sT0FBTyxzQkFBc0I7SUFzQmpDLFlBQW9CLGFBQTRCLEVBQVUsaUJBQW9DO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWRyRixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBSXpCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUF5QixFQUFFLENBQUM7UUFDekMsNEJBQXVCLEdBQTRCLEVBQUUsQ0FBQztRQUV0RCxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBRWpCLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFDdkIsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFDckMsb0JBQWUsR0FBVyxPQUFPLENBQUM7SUFFeUQsQ0FBQztJQUVuRyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENB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QUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0QsQ0FBQzs7bUhBMUdVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlUQUV0QixnQ0FBZ0MsOEVBQ2hDLGNBQWMsZ0RDakIzQixvdUdBMEVBOzJGRDVEYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DO29JQUc4QyxVQUFVO3NCQUF0RCxTQUFTO3VCQUFDLGdDQUFnQztnQkFDaEIsV0FBVztzQkFBckMsU0FBUzt1QkFBQyxjQUFjO2dCQUVoQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgRHluYW1pY0Rhc2hib2FyZFdpZGdldCwgRGFzaGJvYXJkQ2FyZFNlYXJjaE1lbnVDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDYXJkU2VhcmNoTWVudUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGFzaGJvYXJkL2Rhc2hib2FyZC1jYXJkLXNlYXJjaC1tZW51L2Rhc2hib2FyZC1jYXJkLXNlYXJjaC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY3JlZW5TaXplU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Rhc2hib2FyZC1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0U2VydmljZSwgV2lkZ2V0RXhwb3J0T3B0aW9uLCBEYXNoYm9hcmRXaWRnZXRCdXR0b24sIERhc2hib2FyZFdpZGdldEl0ZW1Db25maWcgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2Rhc2hib2FyZC13aWRnZXQuc2VydmljZSc7XG5pbXBvcnQgeyBPYmplY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb2JqZWN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtZGFzaGJvYXJkLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtY2FyZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoRGFzaGJvYXJkQ2FyZFNlYXJjaE1lbnVDb21wb25lbnQpIHNlYXJjaEZvcm0hOiBEYXNoYm9hcmRDYXJkU2VhcmNoTWVudUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcikgbWVudVRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcblxuICBASW5wdXQoKSB3aWRnZXQhOiBEeW5hbWljRGFzaGJvYXJkV2lkZ2V0O1xuICBASW5wdXQoKSB3aWRnZXRDb25maWchOiBhbnk7XG4gIEBJbnB1dCgpIHdpZGdldEl0ZW1zITogYW55O1xuICBASW5wdXQoKSByb3dIZWlnaHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlITogRGFzaGJvYXJkV2lkZ2V0U2VydmljZTtcbiAgQElucHV0KCkgZGFzaGJvYXJkUGFnZVNlcnZpY2UhOiBEYXNoYm9hcmRQYWdlU2VydmljZTtcblxuICBwdWJsaWMgd2lkZ2V0SXRlbUNvbnRleHRzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgZXhwb3J0T3B0aW9uczogV2lkZ2V0RXhwb3J0T3B0aW9uW10gPSBbXTtcbiAgcHVibGljIGFkZGl0aW9uYWxXaWRnZXRCdXR0b25zOiBEYXNoYm9hcmRXaWRnZXRCdXR0b25bXSA9IFtdO1xuICBwdWJsaWMgZm9ybUNvbnRlbnQhOiBEYXNoYm9hcmRDYXJkU2VhcmNoTWVudUNvbnRlbnQ7XG4gIHB1YmxpYyBvcHRpb25zOiBhbnkgPSB7fTtcblxuICBwcml2YXRlIHNjcmVlblNpemU6IHN0cmluZyA9ICdkZWZhdWx0JztcbiAgcHVibGljIHJlYWRvbmx5IFdJREdFVF9DT0xVTU5TOiBudW1iZXIgPSAxMjtcbiAgcHVibGljIHdpZGdldFJvd0hlaWdodDogc3RyaW5nID0gJzE3MHB4JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9iamVjdFNlcnZpY2U6IE9iamVjdFNlcnZpY2UsIHByaXZhdGUgc2NyZWVuU2l6ZVNlcnZpY2U6IFNjcmVlblNpemVTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVXaWRnZXQoKTtcbiAgICB0aGlzLmdldFdpZGdldEl0ZW1EYXRhKCk7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5kYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLmRlZmF1bHRPcHRpb25zKCk7XG4gICAgdGhpcy53YXRjaFNjcmVlblNpemUodGhpcy5kYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLndpZGdldERpbWVuc2lvbnMpO1xuICAgIHRoaXMucmVmcmVzaEZvcm1Db250ZW50KCk7XG4gIH1cblxuICBpbml0aWFsaXplV2lkZ2V0KCkge1xuICAgIHRoaXMuZXhwb3J0T3B0aW9ucyA9IHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS53aWRnZXRFeHBvcnRPcHRpb25zKCk7XG4gICAgdGhpcy5hZGRpdGlvbmFsV2lkZ2V0QnV0dG9ucyA9IHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5hZGRpdGlvbmFsV2lkZ2V0QnV0dG9ucyh0aGlzLndpZGdldENvbmZpZyk7XG4gIH1cblxuICBnZXRXaWRnZXRJdGVtRGF0YSgpIHtcbiAgICB0aGlzLndpZGdldEl0ZW1Db250ZXh0cyA9IHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS53aWRnZXRJdGVtc0NvbmZpZygpLm1hcCgod2lkZ2V0SXRlbTogYW55KSA9PiB7XG4gICAgICBsZXQgd2lkZ2V0SXRlbURhdGEgPSB0aGlzLndpZGdldEl0ZW1zW3dpZGdldEl0ZW0uc2x1Z107XG4gICAgICB3aWRnZXRJdGVtRGF0YS5kYXRhID0gdGhpcy5vYmplY3RTZXJ2aWNlLmRlZXBNZXJnZSh3aWRnZXRJdGVtLmNvbmZpZ3VyYXRpb24sIHdpZGdldEl0ZW1EYXRhLmRhdGEpO1xuICAgICAgaWYgKHdpZGdldEl0ZW0udHlwZSA9PSAnaW5mbycpIHtcbiAgICAgICAgd2lkZ2V0SXRlbURhdGEuZGF0YSA9IHRoaXMub2JqZWN0U2VydmljZS5kZWVwTWVyZ2Uod2lkZ2V0SXRlbURhdGEuZGF0YSwgeyBrZXlfdmFsdWU6IHsgbGFiZWw6IHdpZGdldEl0ZW0ubGFiZWwgfSB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29uZmlnOiB3aWRnZXRJdGVtLFxuICAgICAgICBkYXRhOiB3aWRnZXRJdGVtRGF0YS5kYXRhLFxuICAgICAgICBvcHRpb25zOiB3aWRnZXRJdGVtRGF0YS5vcHRpb25zXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcmVmcmVzaEZvcm1Db250ZW50KCkge1xuICAgIHRoaXMuZm9ybUNvbnRlbnQgPSB7XG4gICAgICBkYXRhOiB0aGlzLm9wdGlvbnMsXG4gICAgICBlbGVtZW50czogdGhpcy5kYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLndpZGdldFNlYXJjaEZpZWxkcygpXG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hDbGlja2VkKCkge1xuICAgIGxldCBpdGVtU2x1Z3MgPSB0aGlzLndpZGdldEl0ZW1Db250ZXh0cy5tYXAoKGNvbnRleHQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIGNvbnRleHQuY29uZmlnLnNsdWc7XG4gICAgfSk7XG4gICAgbGV0IHNlYXJjaFBhcmFtcyA9IHRoaXMuc2VhcmNoRm9ybS52YWx1ZTtcbiAgICBzZWFyY2hQYXJhbXMud2lkZ2V0X2l0ZW1fc2x1Z3MgPSBKU09OLnN0cmluZ2lmeShpdGVtU2x1Z3MpO1xuICAgIHRoaXMub2JqZWN0U2VydmljZS5yZW1vdmVFbXB0eUF0dHJpYnV0ZXMoc2VhcmNoUGFyYW1zKTtcblxuICAgIHRoaXMuZGFzaGJvYXJkUGFnZVNlcnZpY2UuZ2V0V2lkZ2V0SXRlbXMoc2VhcmNoUGFyYW1zKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnID0gcmVzLmNvbnRlbnQuZGF0YS53aWRnZXRfY29uZmlnc1t0aGlzLndpZGdldC5zbHVnXTtcbiAgICAgIHRoaXMud2lkZ2V0SXRlbXMgPSByZXMuY29udGVudC5kYXRhLndpZGdldF9pdGVtcztcblxuICAgICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XG4gICAgICB0aGlzLmdldFdpZGdldEl0ZW1EYXRhKCk7XG4gICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLndpZGdldEl0ZW1zW2l0ZW1TbHVnc1swXV0ub3B0aW9ucztcbiAgICAgIHRoaXMucmVmcmVzaEZvcm1Db250ZW50KCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkFkZGl0aW9uYWxXaWRnZXRCdXR0b25DbGlja2VkKGJ1dHRvbkNhbGxiYWNrOiBGdW5jdGlvbikge1xuICAgIGJ1dHRvbkNhbGxiYWNrKHtcbiAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICB0aGlzLmRhc2hib2FyZFBhZ2VTZXJ2aWNlLmdldFdpZGdldEl0ZW1zKHt9KS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICB0aGlzLndpZGdldENvbmZpZyA9IHJlcy5jb250ZW50LmRhdGEud2lkZ2V0X2NvbmZpZ3NbdGhpcy53aWRnZXQuc2x1Z107XG4gICAgICAgICAgdGhpcy53aWRnZXRJdGVtcyA9IHJlcy5jb250ZW50LmRhdGEud2lkZ2V0X2l0ZW1zO1xuXG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XG4gICAgICAgICAgdGhpcy5nZXRXaWRnZXRJdGVtRGF0YSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHdhdGNoU2NyZWVuU2l6ZSh3aWRnZXREaW1lbnNpb25zOiBhbnkpIHtcbiAgICB0aGlzLnNjcmVlblNpemVTZXJ2aWNlLnNjcmVlblNpemUuc3Vic2NyaWJlKChzY3JlZW5TaXplOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNjcmVlblNpemU7XG4gICAgICB0aGlzLndpZGdldFJvd0hlaWdodCA9IHdpZGdldERpbWVuc2lvbnMuZmluZEJ5U2NyZWVuU2l6ZSh0aGlzLnNjcmVlblNpemUpLnJvd0hlaWdodDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFdpZGdldEl0ZW1Db2xzcGFuKGNvbmZpZzogRGFzaGJvYXJkV2lkZ2V0SXRlbUNvbmZpZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbmZpZy5zaXplLmZpbmRCeVNjcmVlblNpemUodGhpcy5zY3JlZW5TaXplKS5jb2xzcGFuO1xuICB9XG5cbiAgZ2V0V2lkZ2V0SXRlbVJvd3NwYW4oY29uZmlnOiBEYXNoYm9hcmRXaWRnZXRJdGVtQ29uZmlnKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29uZmlnLnNpemUuZmluZEJ5U2NyZWVuU2l6ZSh0aGlzLnNjcmVlblNpemUpLnJvd3NwYW47XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0QWxpZ249XCJzdHJldGNoXCIgZnhMYXlvdXRHYXA9XCIwcHhcIiBjbGFzcz1cImRhc2hib2FyZC1jYXJkXCI+XG4gIDxtYXQtY2FyZC1oZWFkZXIgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLmljb247IGVsc2UgaWNvbkhlYWRlclwiIGNsYXNzPVwic3ViLWNhcmQtdGl0bGVcIj57eyB3aWRnZXQubGFiZWwgfX08L3NwYW4+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25IZWFkZXI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2FyZC10aXRsZS1pY29uXCI+e3sgZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1haW4tY2FyZC10aXRsZVwiPlxuICAgICAgICAgICAge3sgd2lkZ2V0LmxhYmVsIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV4cG9ydE9wdGlvbiBvZiBleHBvcnRPcHRpb25zXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJleHBvcnQtYnV0dG9uXCIgKGNsaWNrKT1cImV4cG9ydE9wdGlvbi5leHBvcnQob3B0aW9ucykuc3Vic2NyaWJlKClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4cG9ydC1idXR0b24tbGFiZWxcIj57eyBleHBvcnRPcHRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFkZGl0aW9uYWxXaWRnZXRCdXR0b25zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtYnV0dG9uLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgJ3dpdGgtbWVudS1idXR0b24nOiBkYXNoYm9hcmRXaWRnZXRTZXJ2aWNlLnNob3dNZW51QnV0dG9uIH1cIj5cbiAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBidXR0b24gb2YgYWRkaXRpb25hbFdpZGdldEJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwie3sgYnV0dG9uLmNvbG9yIH19XCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aWRnZXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImJ1dHRvbi5zdHlsaW5nXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFkZGl0aW9uYWxXaWRnZXRCdXR0b25DbGlja2VkKGJ1dHRvbi5vbkNsaWNrKVwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCI+XG4gICAgICAgICAgICB7eyBidXR0b24ubGFiZWwgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGJ1dHRvbiAjbWVudVRyaWdnZXIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwibW9yZS1idXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiICpuZ0lmPVwiZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5zaG93TWVudUJ1dHRvblwiPlxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1mb3JtXCIgY2xpY2stc3RvcC1wcm9wYWdhdGlvbj5cbiAgICAgICAgICA8bWFudGxlLWRhc2hib2FyZC1jYXJkLXNlYXJjaC1tZW51ICNzZWFyY2hGb3JtIFtjb250ZW50XT1cImZvcm1Db250ZW50XCI+PC9tYW50bGUtZGFzaGJvYXJkLWNhcmQtc2VhcmNoLW1lbnU+XG5cbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMSAxIGF1dG9cIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZWFyY2gtYnV0dG9uXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ2xpY2tlZCgpOyBtZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcIj5cbiAgICAgICAgICAgICAgICBTZWFyY2hcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gIDxtYXQtY2FyZC1jb250ZW50IGZ4RmxleD1cIjEgMCAxcHhcIiBmeEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiZGFzaGJvYXJkLWNhcmQtY29udGVudFwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImdyaWQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWdyaWQtbGlzdFxuICAgICAgICBbcm93SGVpZ2h0XT1cIndpZGdldFJvd0hlaWdodFwiXG4gICAgICAgIFtjb2xzXT1cIldJREdFVF9DT0xVTU5TXCI+XG4gICAgICAgIDxtYXQtZ3JpZC10aWxlICpuZ0Zvcj1cImxldCBjb250ZXh0IG9mIHdpZGdldEl0ZW1Db250ZXh0c1wiIFtjb2xzcGFuXT1cImdldFdpZGdldEl0ZW1Db2xzcGFuKGNvbnRleHQuY29uZmlnKVwiIFtyb3dzcGFuXT1cImdldFdpZGdldEl0ZW1Sb3dzcGFuKGNvbnRleHQuY29uZmlnKVwiPlxuICAgICAgICAgIDxtYW50bGUtZHluYW1pYy13aWRnZXQtZGlzcGxheVxuICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWNvbnRlbnQtd3JhcHBlclwiXG4gICAgICAgICAgICBbd2lkZ2V0SXRlbV09XCJjb250ZXh0LmNvbmZpZ1wiXG4gICAgICAgICAgICBbZGF0YV09XCJjb250ZXh0LmRhdGFcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwiY29udGV4dC5vcHRpb25zXCI+XG4gICAgICAgICAgPC9tYW50bGUtZHluYW1pYy13aWRnZXQtZGlzcGxheT5cbiAgICAgICAgPC9tYXQtZ3JpZC10aWxlPlxuICAgICAgPC9tYXQtZ3JpZC1saXN0PlxuICAgIDwvZGl2PlxuXG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLWNhcmQvZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLWNhcmQvZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVdqSixNQUFNLE9BQU8sc0JBQXNCO0lBc0JqQyxZQUFvQixhQUE0QixFQUFVLGlCQUFvQztRQUExRSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFkckYsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUl6Qix1QkFBa0IsR0FBVSxFQUFFLENBQUM7UUFDL0Isa0JBQWEsR0FBeUIsRUFBRSxDQUFDO1FBQ3pDLDRCQUF1QixHQUE0QixFQUFFLENBQUM7UUFFdEQsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVqQixlQUFVLEdBQVcsU0FBUyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQ3JDLG9CQUFlLEdBQVcsT0FBTyxDQUFDO0lBRXlELENBQUM7SUFFbkcsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxD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Q0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQy9ELENBQUM7O21IQTFHVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5VEFFdEIsZ0NBQWdDLDhFQUNoQyxjQUFjLGdEQ2pCM0IsK3hHQTBFQTsyRkQ1RGEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUMvQztvSUFHOEMsVUFBVTtzQkFBdEQsU0FBUzt1QkFBQyxnQ0FBZ0M7Z0JBQ2hCLFdBQVc7c0JBQXJDLFNBQVM7dUJBQUMsY0FBYztnQkFFaEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IER5bmFtaWNEYXNoYm9hcmRXaWRnZXQsIERhc2hib2FyZENhcmRTZWFyY2hNZW51Q29udGVudCB9IGZyb20gJy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ2FyZFNlYXJjaE1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQtY2FyZC1zZWFyY2gtbWVudS9kYXNoYm9hcmQtY2FyZC1zZWFyY2gtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NyZWVuU2l6ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zY3JlZW4tc2l6ZS5zZXJ2aWNlJztcbmltcG9ydCB7IERhc2hib2FyZFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kYXNoYm9hcmQtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IERhc2hib2FyZFdpZGdldFNlcnZpY2UsIFdpZGdldEV4cG9ydE9wdGlvbiwgRGFzaGJvYXJkV2lkZ2V0QnV0dG9uLCBEYXNoYm9hcmRXaWRnZXRJdGVtQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kYXNoYm9hcmQtd2lkZ2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWRhc2hib2FyZC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLWNhcmQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXNoYm9hcmRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKERhc2hib2FyZENhcmRTZWFyY2hNZW51Q29tcG9uZW50KSBzZWFyY2hGb3JtITogRGFzaGJvYXJkQ2FyZFNlYXJjaE1lbnVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIG1lbnVUcmlnZ2VyITogTWF0TWVudVRyaWdnZXI7XG5cbiAgQElucHV0KCkgd2lkZ2V0ITogRHluYW1pY0Rhc2hib2FyZFdpZGdldDtcbiAgQElucHV0KCkgd2lkZ2V0Q29uZmlnITogYW55O1xuICBASW5wdXQoKSB3aWRnZXRJdGVtcyE6IGFueTtcbiAgQElucHV0KCkgcm93SGVpZ2h0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGFzaGJvYXJkV2lkZ2V0U2VydmljZSE6IERhc2hib2FyZFdpZGdldFNlcnZpY2U7XG4gIEBJbnB1dCgpIGRhc2hib2FyZFBhZ2VTZXJ2aWNlITogRGFzaGJvYXJkUGFnZVNlcnZpY2U7XG5cbiAgcHVibGljIHdpZGdldEl0ZW1Db250ZXh0czogYW55W10gPSBbXTtcbiAgcHVibGljIGV4cG9ydE9wdGlvbnM6IFdpZGdldEV4cG9ydE9wdGlvbltdID0gW107XG4gIHB1YmxpYyBhZGRpdGlvbmFsV2lkZ2V0QnV0dG9uczogRGFzaGJvYXJkV2lkZ2V0QnV0dG9uW10gPSBbXTtcbiAgcHVibGljIGZvcm1Db250ZW50ITogRGFzaGJvYXJkQ2FyZFNlYXJjaE1lbnVDb250ZW50O1xuICBwdWJsaWMgb3B0aW9uczogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBzY3JlZW5TaXplOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG4gIHB1YmxpYyByZWFkb25seSBXSURHRVRfQ09MVU1OUzogbnVtYmVyID0gMTI7XG4gIHB1YmxpYyB3aWRnZXRSb3dIZWlnaHQ6IHN0cmluZyA9ICcxNzBweCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvYmplY3RTZXJ2aWNlOiBPYmplY3RTZXJ2aWNlLCBwcml2YXRlIHNjcmVlblNpemVTZXJ2aWNlOiBTY3JlZW5TaXplU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XG4gICAgdGhpcy5nZXRXaWRnZXRJdGVtRGF0YSgpO1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5kZWZhdWx0T3B0aW9ucygpO1xuICAgIHRoaXMud2F0Y2hTY3JlZW5TaXplKHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS53aWRnZXREaW1lbnNpb25zKTtcbiAgICB0aGlzLnJlZnJlc2hGb3JtQ29udGVudCgpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZVdpZGdldCgpIHtcbiAgICB0aGlzLmV4cG9ydE9wdGlvbnMgPSB0aGlzLmRhc2hib2FyZFdpZGdldFNlcnZpY2Uud2lkZ2V0RXhwb3J0T3B0aW9ucygpO1xuICAgIHRoaXMuYWRkaXRpb25hbFdpZGdldEJ1dHRvbnMgPSB0aGlzLmRhc2hib2FyZFdpZGdldFNlcnZpY2UuYWRkaXRpb25hbFdpZGdldEJ1dHRvbnModGhpcy53aWRnZXRDb25maWcpO1xuICB9XG5cbiAgZ2V0V2lkZ2V0SXRlbURhdGEoKSB7XG4gICAgdGhpcy53aWRnZXRJdGVtQ29udGV4dHMgPSB0aGlzLmRhc2hib2FyZFdpZGdldFNlcnZpY2Uud2lkZ2V0SXRlbXNDb25maWcoKS5tYXAoKHdpZGdldEl0ZW06IGFueSkgPT4ge1xuICAgICAgbGV0IHdpZGdldEl0ZW1EYXRhID0gdGhpcy53aWRnZXRJdGVtc1t3aWRnZXRJdGVtLnNsdWddO1xuICAgICAgd2lkZ2V0SXRlbURhdGEuZGF0YSA9IHRoaXMub2JqZWN0U2VydmljZS5kZWVwTWVyZ2Uod2lkZ2V0SXRlbS5jb25maWd1cmF0aW9uLCB3aWRnZXRJdGVtRGF0YS5kYXRhKTtcbiAgICAgIGlmICh3aWRnZXRJdGVtLnR5cGUgPT0gJ2luZm8nKSB7XG4gICAgICAgIHdpZGdldEl0ZW1EYXRhLmRhdGEgPSB0aGlzLm9iamVjdFNlcnZpY2UuZGVlcE1lcmdlKHdpZGdldEl0ZW1EYXRhLmRhdGEsIHsga2V5X3ZhbHVlOiB7IGxhYmVsOiB3aWRnZXRJdGVtLmxhYmVsIH0gfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbmZpZzogd2lkZ2V0SXRlbSxcbiAgICAgICAgZGF0YTogd2lkZ2V0SXRlbURhdGEuZGF0YSxcbiAgICAgICAgb3B0aW9uczogd2lkZ2V0SXRlbURhdGEub3B0aW9uc1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hGb3JtQ29udGVudCgpIHtcbiAgICB0aGlzLmZvcm1Db250ZW50ID0ge1xuICAgICAgZGF0YTogdGhpcy5vcHRpb25zLFxuICAgICAgZWxlbWVudHM6IHRoaXMuZGFzaGJvYXJkV2lkZ2V0U2VydmljZS53aWRnZXRTZWFyY2hGaWVsZHMoKVxuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoQ2xpY2tlZCgpIHtcbiAgICBsZXQgaXRlbVNsdWdzID0gdGhpcy53aWRnZXRJdGVtQ29udGV4dHMubWFwKChjb250ZXh0OiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBjb250ZXh0LmNvbmZpZy5zbHVnO1xuICAgIH0pO1xuICAgIGxldCBzZWFyY2hQYXJhbXMgPSB0aGlzLnNlYXJjaEZvcm0udmFsdWU7XG4gICAgc2VhcmNoUGFyYW1zLndpZGdldF9pdGVtX3NsdWdzID0gSlNPTi5zdHJpbmdpZnkoaXRlbVNsdWdzKTtcbiAgICB0aGlzLm9iamVjdFNlcnZpY2UucmVtb3ZlRW1wdHlBdHRyaWJ1dGVzKHNlYXJjaFBhcmFtcyk7XG5cbiAgICB0aGlzLmRhc2hib2FyZFBhZ2VTZXJ2aWNlLmdldFdpZGdldEl0ZW1zKHNlYXJjaFBhcmFtcykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLndpZGdldENvbmZpZyA9IHJlcy5jb250ZW50LmRhdGEud2lkZ2V0X2NvbmZpZ3NbdGhpcy53aWRnZXQuc2x1Z107XG4gICAgICB0aGlzLndpZGdldEl0ZW1zID0gcmVzLmNvbnRlbnQuZGF0YS53aWRnZXRfaXRlbXM7XG5cbiAgICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xuICAgICAgdGhpcy5nZXRXaWRnZXRJdGVtRGF0YSgpO1xuICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy53aWRnZXRJdGVtc1tpdGVtU2x1Z3NbMF1dLm9wdGlvbnM7XG4gICAgICB0aGlzLnJlZnJlc2hGb3JtQ29udGVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb25BZGRpdGlvbmFsV2lkZ2V0QnV0dG9uQ2xpY2tlZChidXR0b25DYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgICBidXR0b25DYWxsYmFjayh7XG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgdGhpcy5kYXNoYm9hcmRQYWdlU2VydmljZS5nZXRXaWRnZXRJdGVtcyh7fSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy53aWRnZXRDb25maWcgPSByZXMuY29udGVudC5kYXRhLndpZGdldF9jb25maWdzW3RoaXMud2lkZ2V0LnNsdWddO1xuICAgICAgICAgIHRoaXMud2lkZ2V0SXRlbXMgPSByZXMuY29udGVudC5kYXRhLndpZGdldF9pdGVtcztcblxuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xuICAgICAgICAgIHRoaXMuZ2V0V2lkZ2V0SXRlbURhdGEoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB3YXRjaFNjcmVlblNpemUod2lkZ2V0RGltZW5zaW9uczogYW55KSB7XG4gICAgdGhpcy5zY3JlZW5TaXplU2VydmljZS5zY3JlZW5TaXplLnN1YnNjcmliZSgoc2NyZWVuU2l6ZTogYW55KSA9PiB7XG4gICAgICB0aGlzLnNjcmVlblNpemUgPSBzY3JlZW5TaXplO1xuICAgICAgdGhpcy53aWRnZXRSb3dIZWlnaHQgPSB3aWRnZXREaW1lbnNpb25zLmZpbmRCeVNjcmVlblNpemUodGhpcy5zY3JlZW5TaXplKS5yb3dIZWlnaHQ7XG4gICAgfSk7XG4gIH1cblxuICBnZXRXaWRnZXRJdGVtQ29sc3Bhbihjb25maWc6IERhc2hib2FyZFdpZGdldEl0ZW1Db25maWcpOiBudW1iZXIge1xuICAgIHJldHVybiBjb25maWcuc2l6ZS5maW5kQnlTY3JlZW5TaXplKHRoaXMuc2NyZWVuU2l6ZSkuY29sc3BhbjtcbiAgfVxuXG4gIGdldFdpZGdldEl0ZW1Sb3dzcGFuKGNvbmZpZzogRGFzaGJvYXJkV2lkZ2V0SXRlbUNvbmZpZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbmZpZy5zaXplLmZpbmRCeVNjcmVlblNpemUodGhpcy5zY3JlZW5TaXplKS5yb3dzcGFuO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RyZXRjaFwiIGZ4TGF5b3V0R2FwPVwiMHB4XCIgY2xhc3M9XCJkYXNoYm9hcmQtY2FyZFwiPlxuICA8bWF0LWNhcmQtaGVhZGVyIGZ4RmxleD1cIjAgMCBhdXRvXCI+XG4gICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5pY29uOyBlbHNlIGljb25IZWFkZXJcIiBjbGFzcz1cInN1Yi1jYXJkLXRpdGxlXCI+e3sgd2lkZ2V0LmxhYmVsIH19PC9zcGFuPlxuICAgICAgPG5nLXRlbXBsYXRlICNpY29uSGVhZGVyPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNhcmQtdGl0bGUtaWNvblwiPnt7IGRhc2hib2FyZFdpZGdldFNlcnZpY2UuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYWluLWNhcmQtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHdpZGdldC5sYWJlbCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBleHBvcnRPcHRpb24gb2YgZXhwb3J0T3B0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZXhwb3J0LWJ1dHRvblwiIChjbGljayk9XCJleHBvcnRPcHRpb24uZXhwb3J0KG9wdGlvbnMpLnN1YnNjcmliZSgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJleHBvcnQtYnV0dG9uLWxhYmVsXCI+e3sgZXhwb3J0T3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxtYXQtaWNvbj5kb3dubG9hZDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZGRpdGlvbmFsV2lkZ2V0QnV0dG9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWJ1dHRvbi1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICd3aXRoLW1lbnUtYnV0dG9uJzogZGFzaGJvYXJkV2lkZ2V0U2VydmljZS5zaG93TWVudUJ1dHRvbiB9XCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFkZGl0aW9uYWxXaWRnZXRCdXR0b25zXCJcbiAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cInt7IGJ1dHRvbi5jb2xvciB9fVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2lkZ2V0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJidXR0b24uc3R5bGluZ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BZGRpdGlvbmFsV2lkZ2V0QnV0dG9uQ2xpY2tlZChidXR0b24ub25DbGljaylcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5kaXNhYmxlZFwiPlxuICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxidXR0b24gI21lbnVUcmlnZ2VyIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm1vcmUtYnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiAqbmdJZj1cImRhc2hib2FyZFdpZGdldFNlcnZpY2Uuc2hvd01lbnVCdXR0b25cIj5cbiAgICAgICAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtZm9ybVwiIGNsaWNrLXN0b3AtcHJvcGFnYXRpb24+XG4gICAgICAgICAgPG1hbnRsZS1kYXNoYm9hcmQtY2FyZC1zZWFyY2gtbWVudSAjc2VhcmNoRm9ybSBbY29udGVudF09XCJmb3JtQ29udGVudFwiPjwvbWFudGxlLWRhc2hib2FyZC1jYXJkLXNlYXJjaC1tZW51PlxuXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxNnB4XCI+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2VhcmNoLWJ1dHRvblwiIChjbGljayk9XCJvblNlYXJjaENsaWNrZWQoKTsgbWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XCI+XG4gICAgICAgICAgICAgICAge3sgJ21hbnRsZS5idXR0b25zLnNlYXJjaCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21hdC1tZW51PlxuICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gIDxtYXQtY2FyZC1jb250ZW50IGZ4RmxleD1cIjEgMCAxcHhcIiBmeEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiZGFzaGJvYXJkLWNhcmQtY29udGVudFwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImdyaWQtY29udGFpbmVyXCI+XG4gICAgICA8bWF0LWdyaWQtbGlzdFxuICAgICAgICBbcm93SGVpZ2h0XT1cIndpZGdldFJvd0hlaWdodFwiXG4gICAgICAgIFtjb2xzXT1cIldJREdFVF9DT0xVTU5TXCI+XG4gICAgICAgIDxtYXQtZ3JpZC10aWxlICpuZ0Zvcj1cImxldCBjb250ZXh0IG9mIHdpZGdldEl0ZW1Db250ZXh0c1wiIFtjb2xzcGFuXT1cImdldFdpZGdldEl0ZW1Db2xzcGFuKGNvbnRleHQuY29uZmlnKVwiIFtyb3dzcGFuXT1cImdldFdpZGdldEl0ZW1Sb3dzcGFuKGNvbnRleHQuY29uZmlnKVwiPlxuICAgICAgICAgIDxtYW50bGUtZHluYW1pYy13aWRnZXQtZGlzcGxheVxuICAgICAgICAgICAgY2xhc3M9XCJjYXJkLWNvbnRlbnQtd3JhcHBlclwiXG4gICAgICAgICAgICBbd2lkZ2V0SXRlbV09XCJjb250ZXh0LmNvbmZpZ1wiXG4gICAgICAgICAgICBbZGF0YV09XCJjb250ZXh0LmRhdGFcIlxuICAgICAgICAgICAgW29wdGlvbnNdPVwiY29udGV4dC5vcHRpb25zXCI+XG4gICAgICAgICAgPC9tYW50bGUtZHluYW1pYy13aWRnZXQtZGlzcGxheT5cbiAgICAgICAgPC9tYXQtZ3JpZC10aWxlPlxuICAgICAgPC9tYXQtZ3JpZC1saXN0PlxuICAgIDwvZGl2PlxuXG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
@@ -10,7 +10,7 @@ export class DashboardInfoCardComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
DashboardInfoCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardInfoCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
DashboardInfoCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: { data: "data", options: "options" }, ngImport: i0, template: "<div class=\"info-card\">\n <div *ngIf=\"data.key_value\">\n <div *ngIf=\"data.key_value.label\" class=\"sub-header\">{{ data.key_value.label }}</div>\n <span class=\"header\">\n <h1 class=\"header-value\" [ngStyle]=\"{ 'color': data.color }\">{{ data.key_value.value }}</h1> <span class=\"header-units\">{{ data.key_value.unit }}</span>\n </span>\n <div *ngIf=\"data.showSubLabel\">\n <span class=\"header-date\">{{ data.key_value.sub_label }}</span>\n </div>\n </div>\n\n <small *ngIf=\"data.comparison\" class=\"comparison\">\n <mat-icon>{{ (data.comparison.value < 0) ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</mat-icon>\n {{ data.comparison.value }} {{ data.comparison.unit }} {{ data.comparison.label }}\n </small>\n\n <table *ngIf=\"data.bulletpoints && data.bulletpoints.length > 0\" class=\"bulletpoints\">\n <tr *ngFor=\"let bulletpoint of data.bulletpoints\" class=\"bulletpoint\">\n <td class=\"bulletpoint-icon\"><mat-icon>chevron_right</mat-icon></td><td class=\"bulletpoint-value\"><b>{{ bulletpoint.value }}</b></td><td class=\"bulletpoint-label\">{{ bulletpoint.label }}</td>\n </tr>\n </table>\n</div>\n", styles: [".info-card{padding:10px;margin:
|
|
13
|
+
DashboardInfoCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: { data: "data", options: "options" }, ngImport: i0, template: "<div class=\"info-card\">\n <div *ngIf=\"data.key_value\">\n <div *ngIf=\"data.key_value.label\" class=\"sub-header\">{{ data.key_value.label }}</div>\n <span class=\"header\">\n <h1 class=\"header-value\" [ngStyle]=\"{ 'color': data.color }\">{{ data.key_value.value }}</h1> <span class=\"header-units\">{{ data.key_value.unit }}</span>\n </span>\n <div *ngIf=\"data.showSubLabel\">\n <span class=\"header-date\">{{ data.key_value.sub_label }}</span>\n </div>\n </div>\n\n <small *ngIf=\"data.comparison\" class=\"comparison\">\n <mat-icon>{{ (data.comparison.value < 0) ? 'keyboard_arrow_down' : 'keyboard_arrow_up' }}</mat-icon>\n {{ data.comparison.value }} {{ data.comparison.unit }} {{ data.comparison.label }}\n </small>\n\n <table *ngIf=\"data.bulletpoints && data.bulletpoints.length > 0\" class=\"bulletpoints\">\n <tr *ngFor=\"let bulletpoint of data.bulletpoints\" class=\"bulletpoint\">\n <td class=\"bulletpoint-icon\"><mat-icon>chevron_right</mat-icon></td><td class=\"bulletpoint-value\"><b>{{ bulletpoint.value }}</b></td><td class=\"bulletpoint-label\">{{ bulletpoint.label }}</td>\n </tr>\n </table>\n</div>\n", styles: [".info-card{padding:10px;margin:auto;max-width:100%;max-height:100%}.header{padding-bottom:4px;min-width:100px;margin:auto;word-wrap:normal}.header .header-value{display:inline-block;margin-bottom:10px;font-size:46px;font-weight:500}.header .header-units{display:inline-block;margin-left:4px;margin-bottom:0;font-size:16px;text-transform:uppercase}.sub-header{margin-top:4px;margin-bottom:30px;font-size:15px;font-weight:500}.header-date{margin-top:4px;margin-bottom:30px;font-size:12px;color:gray}.comparison .mat-icon{font-size:14px!important;height:14px}.bulletpoints{margin-top:16px;border-collapse:collapse}.bulletpoints .bulletpoint .bulletpoint-icon{padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-value{font-weight:500;font-size:16px;text-align:right;padding-left:2px!important;padding-right:4px!important}.bulletpoints .bulletpoint .bulletpoint-label{text-align:left;padding-left:2px!important}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardInfoCardComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{
|
package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js
CHANGED
|
@@ -6,9 +6,11 @@ import * as i1 from "@angular/material/dialog";
|
|
|
6
6
|
import * as i2 from "@angular/material/table";
|
|
7
7
|
import * as i3 from "../../../details/fields/dynamic-attribute-display/dynamic-attribute-display.component";
|
|
8
8
|
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@ngx-translate/core";
|
|
9
10
|
export class DashboardTableComponent {
|
|
10
11
|
constructor(dialog) {
|
|
11
12
|
this.dialog = dialog;
|
|
13
|
+
this.label = '';
|
|
12
14
|
this.dataSource = new DashboardTableDataSource();
|
|
13
15
|
}
|
|
14
16
|
ngAfterViewInit() {
|
|
@@ -30,7 +32,7 @@ export class DashboardTableComponent {
|
|
|
30
32
|
}
|
|
31
33
|
}
|
|
32
34
|
DashboardTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardTableComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
DashboardTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardTableComponent, selector: "mantle-dashboard-table", inputs: { columns: "columns", items: "items", hideHeaders: "hideHeaders", withStripedRows: "withStripedRows", withClickableRows: "withClickableRows", onRecordClicked: "onRecordClicked" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"vertically-scrollable horizontal-scroll-table\">\n <table mat-table class=\"full-width\">\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hideHeaders\">\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n </ng-container>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\"\n [class.striped-row]=\"withStripedRows\">\n </tr>\n\n </table>\n</div>\n", styles: [".horizontal-scroll-table{width:100%}.mat-header-row,th{font-weight:bold}.mat-row{text-align:left}\n"], components: [{ type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type:
|
|
35
|
+
DashboardTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DashboardTableComponent, selector: "mantle-dashboard-table", inputs: { label: "label", columns: "columns", items: "items", hideHeaders: "hideHeaders", withStripedRows: "withStripedRows", withClickableRows: "withClickableRows", onRecordClicked: "onRecordClicked" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<div class=\"vertically-scrollable horizontal-scroll-table\">\n <table mat-table class=\"full-width\">\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container matColumnDef=\"{{ column.attr }}\">\n <th mat-header-cell *matHeaderCellDef>{{ column.header | translate }}</th>\n <td mat-cell *matCellDef=\"let row\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row[column.attr]\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hideHeaders\">\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n </ng-container>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\"\n [class.striped-row]=\"withStripedRows\">\n </tr>\n\n </table>\n</div>\n", styles: [".horizontal-scroll-table{width:100%}.mat-header-row,th{font-weight:bold}.mat-row{text-align:left}.header{text-align:left;width:95%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}\n"], components: [{ type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "translate": i5.TranslatePipe } });
|
|
34
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DashboardTableComponent, decorators: [{
|
|
35
37
|
type: Component,
|
|
36
38
|
args: [{
|
|
@@ -41,6 +43,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
41
43
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { table: [{
|
|
42
44
|
type: ViewChild,
|
|
43
45
|
args: [MatTable]
|
|
46
|
+
}], label: [{
|
|
47
|
+
type: Input
|
|
44
48
|
}], columns: [{
|
|
45
49
|
type: Input
|
|
46
50
|
}], items: [{
|
|
@@ -54,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
54
58
|
}], onRecordClicked: [{
|
|
55
59
|
type: Input
|
|
56
60
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZGFzaGJvYXJkL3dpZGdldHMvZGFzaGJvYXJkLXRhYmxlL2Rhc2hib2FyZC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC93aWRnZXRzL2Rhc2hib2FyZC10YWJsZS9kYXNoYm9hcmQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFjeEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBVjVCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFXMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFRO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUVwQyxtSkFBbUo7UUFDbkosSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O29IQXJDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixpVEFFdkIsUUFBUSxxRUNuQnJCLDZoQ0EyQkE7MkZEVmEsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUNoRDtnR0FHc0IsS0FBSztzQkFBekIsU0FBUzt1QkFBQyxRQUFRO2dCQUVWLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL2Rhc2hib2FyZC10YWJsZS1kYXRhc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRUYWJsZUNvbHVtbiB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBhdHRyOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgb3B0aW9uczogYW55W107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kYXNoYm9hcmQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUpIHRhYmxlITogTWF0VGFibGU8YW55PjtcblxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBEYXNoYm9hcmRUYWJsZUNvbHVtbltdO1xuICBASW5wdXQoKSBpdGVtcyE6IGFueVtdO1xuICBASW5wdXQoKSBoaWRlSGVhZGVycyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdpdGhTdHJpcGVkUm93cyE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdpdGhDbGlja2FibGVSb3dzITogYm9vbGVhbjtcbiAgQElucHV0KCkgb25SZWNvcmRDbGlja2VkITogYW55O1xuXG4gIHByaXZhdGUgZGF0YVNvdXJjZTogRGFzaGJvYXJkVGFibGVEYXRhU291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgRGFzaGJvYXJkVGFibGVEYXRhU291cmNlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZS5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLmxpc3RTdWJqZWN0Lm5leHQodGhpcy5pdGVtcyk7XG4gIH1cblxuICBsaXN0Q29sdW1uQXR0cnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiB7XG4gICAgICByZXR1cm4gY29sdW1uLmF0dHI7XG4gICAgfSk7XG4gIH1cblxuICBvblJvd0NsaWNrZWQocm93OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2l0aENsaWNrYWJsZVJvd3MpIHJldHVybjtcblxuICAgIC8vIFRPRE86IFRoZSBhY3Rpb24gdHJpZ2dlcmVkIGJ5IHRoZSBjbGljayBzaG91bGQgZGVwZW5kIG9uIHRoZSBhc3NvY2lhdGVkIHNlcnZpY2UuIFNvLCB0aGUgZHluYW1pYyB0YWJsZSBzaG91bGQgbm90IGtub3cgYWJvdXQgdGhlIGRpYWxvZyBzZXJ2aWNlLlxuICAgIHRoaXMub25SZWNvcmRDbGlja2VkKHRoaXMuZGlhbG9nLCByb3cpO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiaGVhZGVyXCI+XG4gIDxwIGNsYXNzPVwiaGVhZGVyLXRleHRcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvcD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwidmVydGljYWxseS1zY3JvbGxhYmxlIGhvcml6b250YWwtc2Nyb2xsLXRhYmxlXCI+XG4gIDx0YWJsZSBtYXQtdGFibGUgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ7eyBjb2x1bW4uYXR0ciB9fVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7IGNvbHVtbi5oZWFkZXIgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAgPG1hbnRsZS1keW5hbWljLWF0dHJpYnV0ZS1kaXNwbGF5IFtmaWVsZFR5cGVdPVwiY29sdW1uLnR5cGVcIiBbdmFsdWVdPVwicm93W2NvbHVtbi5hdHRyXVwiIFtmaWVsZF09XCJjb2x1bW5cIj48L21hbnRsZS1keW5hbWljLWF0dHJpYnV0ZS1kaXNwbGF5PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVIZWFkZXJzXCI+XG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImxpc3RDb2x1bW5BdHRycygpXCI+PC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogbGlzdENvbHVtbkF0dHJzKCk7XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2tlZChyb3cpXCJcbiAgICAgICAgW2NsYXNzLmNsaWNrYWJsZS1yb3ddPVwid2l0aENsaWNrYWJsZVJvd3NcIlxuICAgICAgICBbY2xhc3Muc3RyaXBlZC1yb3ddPVwid2l0aFN0cmlwZWRSb3dzXCI+XG4gICAgPC90cj5cblxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -4,8 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../services/object.service";
|
|
5
5
|
import * as i2 from "highcharts-angular";
|
|
6
6
|
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@ngx-translate/core";
|
|
7
8
|
require('highcharts/modules/item-series')(Highcharts);
|
|
8
9
|
require('highcharts/modules/gantt')(Highcharts);
|
|
10
|
+
require('highcharts/modules/exporting')(Highcharts);
|
|
9
11
|
export class DynamicChartComponent {
|
|
10
12
|
constructor(objectService) {
|
|
11
13
|
this.objectService = objectService;
|
|
@@ -21,11 +23,15 @@ export class DynamicChartComponent {
|
|
|
21
23
|
plotBackgroundColor: undefined,
|
|
22
24
|
plotBorderWidth: undefined,
|
|
23
25
|
plotShadow: false,
|
|
26
|
+
styledMode: false,
|
|
24
27
|
type: ''
|
|
25
28
|
},
|
|
26
29
|
credits: {
|
|
27
30
|
enabled: false
|
|
28
31
|
},
|
|
32
|
+
exporting: {
|
|
33
|
+
enabled: false
|
|
34
|
+
},
|
|
29
35
|
plotOptions: {
|
|
30
36
|
column: {
|
|
31
37
|
pointPadding: 0.2,
|
|
@@ -35,6 +41,7 @@ export class DynamicChartComponent {
|
|
|
35
41
|
minPointLength: 4
|
|
36
42
|
}
|
|
37
43
|
},
|
|
44
|
+
tooltip: {},
|
|
38
45
|
series: [],
|
|
39
46
|
title: {
|
|
40
47
|
text: ''
|
|
@@ -68,7 +75,7 @@ export class DynamicChartComponent {
|
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
77
|
DynamicChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicChartComponent, deps: [{ token: i1.ObjectService }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: { label: "label", data: "data" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label }}</p>\n</div>\n\n<highcharts-chart\n [Highcharts]=\"Highcharts\"\n [constructorType]=\"chartConstructor\"\n [options]=\"chartOptions\"\n [(update)]=\"updateFlag\"\n [oneToOne]=\"oneToOneFlag\"\n [callbackFunction]=\"chartCallback\">\n</highcharts-chart>\n", styles: [".header{text-align:left;width:90%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}highcharts-chart{display:block;max-width:100%;max-height:100%;width:100%;height:100%}\n"], components: [{ type: i2.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
78
|
+
DynamicChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: { label: "label", data: "data" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"label\" class=\"header\">\n <p class=\"header-text\">{{ label | translate }}</p>\n</div>\n\n<highcharts-chart\n [Highcharts]=\"Highcharts\"\n [constructorType]=\"chartConstructor\"\n [options]=\"chartOptions\"\n [(update)]=\"updateFlag\"\n [oneToOne]=\"oneToOneFlag\"\n [callbackFunction]=\"chartCallback\">\n</highcharts-chart>\n", styles: [".header{text-align:left;width:90%;padding-top:5px}.header .header-text{font-size:15px;font-weight:500}highcharts-chart{display:block;max-width:100%;max-height:100%;width:100%;height:100%}\n"], components: [{ type: i2.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
72
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicChartComponent, decorators: [{
|
|
73
80
|
type: Component,
|
|
74
81
|
args: [{
|
|
@@ -81,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
81
88
|
}], data: [{
|
|
82
89
|
type: Input
|
|
83
90
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC93aWRnZXRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC93aWRnZXRzL2R5bmFtaWMtY2hhcnQvZHluYW1pYy1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQzs7Ozs7O0FBRXpDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2hELE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBUXBELE1BQU0sT0FBTyxxQkFBcUI7SUE0Q2hDLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBMUN2QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFeEIsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFDM0MscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBQ25DLGlCQUFZLEdBQXVCLEVBQUUsQ0FBQztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBRTdCLHdCQUFtQixHQUF1QjtZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsbUJBQW1CLEVBQUUsU0FBUztnQkFDOUIsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsS0FBSztnQkFDakIsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELE9BQU8sRUFBRTtnQkFDUCxPQUFPLEVBQUUsS0FBSzthQUNmO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxLQUFLO2FBQ2Y7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsTUFBTSxFQUFFO29CQUNOLFlBQVksRUFBRSxHQUFHO29CQUNqQixXQUFXLEVBQUUsQ0FBQztvQkFDZCxZQUFZLEVBQUUsQ0FBQztvQkFDZixhQUFhLEVBQUUsRUFBRTtvQkFDakIsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxFQUFFO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxFQUFFO2FBQ1Q7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsYUFBYSxFQUFFLEtBQUs7YUFDckI7U0FDRixDQUFDO1FBeUJGLGtCQUFhLEdBQXFDLFVBQVUsS0FBSztZQUMvRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7SUEzQmtELENBQUM7SUFFckQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxPQUFPLEVBQUU7WUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQztZQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU1RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDNUIsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdEMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtTQUNIO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7O2tIQWpFVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwySENibEMsNFdBWUE7MkZEQ2EscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5QztvR0FHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xuZGVjbGFyZSB2YXIgcmVxdWlyZTogYW55O1xucmVxdWlyZSgnaGlnaGNoYXJ0cy9tb2R1bGVzL2l0ZW0tc2VyaWVzJykoSGlnaGNoYXJ0cyk7XG5yZXF1aXJlKCdoaWdoY2hhcnRzL21vZHVsZXMvZ2FudHQnKShIaWdoY2hhcnRzKTtcbnJlcXVpcmUoJ2hpZ2hjaGFydHMvbW9kdWxlcy9leHBvcnRpbmcnKShIaWdoY2hhcnRzKTtcbmltcG9ydCB7IE9iamVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1keW5hbWljLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9IHt9O1xuXG4gIEhpZ2hjaGFydHM6IHR5cGVvZiBIaWdoY2hhcnRzID0gSGlnaGNoYXJ0cztcbiAgY2hhcnRDb25zdHJ1Y3Rvcjogc3RyaW5nID0gJ2NoYXJ0JztcbiAgY2hhcnRPcHRpb25zOiBIaWdoY2hhcnRzLk9wdGlvbnMgPSB7fTtcbiAgdXBkYXRlRmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuICBvbmVUb09uZUZsYWc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGRlZmF1bHRDaGFydE9wdGlvbnM6IEhpZ2hjaGFydHMuT3B0aW9ucyA9IHtcbiAgICBjaGFydDoge1xuICAgICAgcGxvdEJhY2tncm91bmRDb2xvcjogdW5kZWZpbmVkLFxuICAgICAgcGxvdEJvcmRlcldpZHRoOiB1bmRlZmluZWQsXG4gICAgICBwbG90U2hhZG93OiBmYWxzZSxcbiAgICAgIHN0eWxlZE1vZGU6IGZhbHNlLFxuICAgICAgdHlwZTogJydcbiAgICB9LFxuICAgIGNyZWRpdHM6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgfSxcbiAgICBleHBvcnRpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlXG4gICAgfSxcbiAgICBwbG90T3B0aW9uczoge1xuICAgICAgY29sdW1uOiB7XG4gICAgICAgIHBvaW50UGFkZGluZzogMC4yLFxuICAgICAgICBib3JkZXJXaWR0aDogMCxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAzLFxuICAgICAgICBtYXhQb2ludFdpZHRoOiA0MCxcbiAgICAgICAgbWluUG9pbnRMZW5ndGg6IDRcbiAgICAgIH1cbiAgICB9LFxuICAgIHRvb2x0aXA6IHt9LFxuICAgIHNlcmllczogW10sXG4gICAgdGl0bGU6IHtcbiAgICAgIHRleHQ6ICcnXG4gICAgfSxcbiAgICB5QXhpczoge1xuICAgICAgYWxsb3dEZWNpbWFsczogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvYmplY3RTZXJ2aWNlOiBPYmplY3RTZXJ2aWNlKSB7IH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGF0YSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jaGFydENvbnN0cnVjdG9yID0gJ2NoYXJ0JztcbiAgICBpZiAodGhpcy5kYXRhLmNoYXJ0ICYmIHRoaXMuZGF0YS5jaGFydC50eXBlID09ICdnYW50dCcpIHtcbiAgICAgIHRoaXMuY2hhcnRDb25zdHJ1Y3RvciA9ICdnYW50dENoYXJ0JztcblxuICAgICAgdGhpcy5kYXRhLnhBeGlzWzBdLm1pbiA9IERhdGUucGFyc2UodGhpcy5kYXRhLnhBeGlzWzBdLm1pbik7XG4gICAgICB0aGlzLmRhdGEueEF4aXNbMF0ubWF4ID0gRGF0ZS5wYXJzZSh0aGlzLmRhdGEueEF4aXNbMF0ubWF4KTtcblxuICAgICAgdGhpcy5kYXRhLnNlcmllcy5mb3JFYWNoKChzOiBhbnkpID0+IHtcbiAgICAgICAgcy5kYXRhLmZvckVhY2goKHBvaW50OiBhbnkpID0+IHtcbiAgICAgICAgICBwb2ludC5zdGFydCA9IERhdGUucGFyc2UocG9pbnQuc3RhcnQpO1xuICAgICAgICAgIHBvaW50LmVuZCA9IERhdGUucGFyc2UocG9pbnQuZW5kKTtcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgdGhpcy5jaGFydE9wdGlvbnMgPSB0aGlzLm9iamVjdFNlcnZpY2UuZGVlcE1lcmdlKHRoaXMuZGVmYXVsdENoYXJ0T3B0aW9ucywgdGhpcy5kYXRhKTtcbiAgfVxuXG4gIGNoYXJ0Q2FsbGJhY2s6IEhpZ2hjaGFydHMuQ2hhcnRDYWxsYmFja0Z1bmN0aW9uID0gZnVuY3Rpb24gKGNoYXJ0KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjaGFydC5yZWZsb3coKTtcbiAgICB9LDApO1xuICB9O1xuXG59XG4iLCI8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImhlYWRlclwiPlxuICA8cCBjbGFzcz1cImhlYWRlci10ZXh0XCI+e3sgbGFiZWwgfCB0cmFuc2xhdGUgfX08L3A+XG48L2Rpdj5cblxuPGhpZ2hjaGFydHMtY2hhcnRcbiAgICBbSGlnaGNoYXJ0c109XCJIaWdoY2hhcnRzXCJcbiAgICBbY29uc3RydWN0b3JUeXBlXT1cImNoYXJ0Q29uc3RydWN0b3JcIlxuICAgIFtvcHRpb25zXT1cImNoYXJ0T3B0aW9uc1wiXG4gICAgWyh1cGRhdGUpXT1cInVwZGF0ZUZsYWdcIlxuICAgIFtvbmVUb09uZV09XCJvbmVUb09uZUZsYWdcIlxuICAgIFtjYWxsYmFja0Z1bmN0aW9uXT1cImNoYXJ0Q2FsbGJhY2tcIj5cbjwvaGlnaGNoYXJ0cy1jaGFydD5cbiJdfQ==
|
|
@@ -11,7 +11,7 @@ export class DynamicWidgetDisplayComponent {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
DynamicWidgetDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicWidgetDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
DynamicWidgetDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: { widgetItem: "widgetItem", data: "data", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"widgetItem.type\">\n\n <ng-container *ngSwitchCase=\"'chart'\">\n <mantle-dynamic-chart class=\"widget-item\" [label]=\"widgetItem.label\" [data]=\"data\">\n </mantle-dynamic-chart>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'info'\">\n <mantle-dashboard-info-card class=\"widget-item\" [data]=\"data\" [options]=\"options\">\n </mantle-dashboard-info-card>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-dashboard-table class=\"widget-item\"\n [columns]=\"data.columns\" [items]=\"data.items\"\n [hideHeaders]=\"data.hideHeaders\"\n [withStripedRows]=\"data.withStripedRows\"\n [withClickableRows]=\"data.withClickableRows\"\n [onRecordClicked]=\"data.onRecordClicked\">\n </mantle-dashboard-table>\n </ng-container>\n\n</ng-container>\n", styles: [".widget-item{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;flex-direction:column}\n"], components: [{ type: i1.DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { type: i2.DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: ["data", "options"] }, { type: i3.DashboardTableComponent, selector: "mantle-dashboard-table", inputs: ["columns", "items", "hideHeaders", "withStripedRows", "withClickableRows", "onRecordClicked"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
14
|
+
DynamicWidgetDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicWidgetDisplayComponent, selector: "mantle-dynamic-widget-display", inputs: { widgetItem: "widgetItem", data: "data", options: "options" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"widgetItem.type\">\n\n <ng-container *ngSwitchCase=\"'chart'\">\n <mantle-dynamic-chart class=\"widget-item\" [label]=\"widgetItem.label\" [data]=\"data\">\n </mantle-dynamic-chart>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'info'\">\n <mantle-dashboard-info-card class=\"widget-item\" [data]=\"data\" [options]=\"options\">\n </mantle-dashboard-info-card>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'table'\">\n <mantle-dashboard-table class=\"widget-item\"\n [label]=\"widgetItem.label\"\n [columns]=\"data.columns\" [items]=\"data.items\"\n [hideHeaders]=\"data.hideHeaders\"\n [withStripedRows]=\"data.withStripedRows\"\n [withClickableRows]=\"data.withClickableRows\"\n [onRecordClicked]=\"data.onRecordClicked\">\n </mantle-dashboard-table>\n </ng-container>\n\n</ng-container>\n", styles: [".widget-item{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;flex-direction:column}\n"], components: [{ type: i1.DynamicChartComponent, selector: "mantle-dynamic-chart", inputs: ["label", "data"] }, { type: i2.DashboardInfoCardComponent, selector: "mantle-dashboard-info-card", inputs: ["data", "options"] }, { type: i3.DashboardTableComponent, selector: "mantle-dashboard-table", inputs: ["label", "columns", "items", "hideHeaders", "withStripedRows", "withClickableRows", "onRecordClicked"] }], directives: [{ type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicWidgetDisplayComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
26
26
|
}], options: [{
|
|
27
27
|
type: Input
|
|
28
28
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy13aWRnZXQtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC93aWRnZXRzL2R5bmFtaWMtd2lkZ2V0LWRpc3BsYXkvZHluYW1pYy13aWRnZXQtZGlzcGxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC93aWRnZXRzL2R5bmFtaWMtd2lkZ2V0LWRpc3BsYXkvZHluYW1pYy13aWRnZXQtZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUWpELE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFRVyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2YsWUFBTyxHQUFRLEVBQUUsQ0FBQztLQUU1Qjs7MEhBTlksNkJBQTZCOzhHQUE3Qiw2QkFBNkIsNklDUjFDLHkrQkF3QkE7MkZEaEJhLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztpQkFDdkQ7OEJBR1UsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkV2lkZ2V0SXRlbUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZGFzaGJvYXJkLXdpZGdldC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWR5bmFtaWMtd2lkZ2V0LWRpc3BsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy13aWRnZXQtZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtd2lkZ2V0LWRpc3BsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljV2lkZ2V0RGlzcGxheUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgd2lkZ2V0SXRlbSE6IERhc2hib2FyZFdpZGdldEl0ZW1Db25maWc7XG4gIEBJbnB1dCgpIGRhdGE6IGFueSA9ICcnO1xuICBASW5wdXQoKSBvcHRpb25zOiBhbnkgPSAnJztcblxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwid2lkZ2V0SXRlbS50eXBlXCI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NoYXJ0J1wiPlxuICAgIDxtYW50bGUtZHluYW1pYy1jaGFydCBjbGFzcz1cIndpZGdldC1pdGVtXCIgW2xhYmVsXT1cIndpZGdldEl0ZW0ubGFiZWxcIiBbZGF0YV09XCJkYXRhXCI+XG4gICAgPC9tYW50bGUtZHluYW1pYy1jaGFydD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCI+XG4gICAgPG1hbnRsZS1kYXNoYm9hcmQtaW5mby1jYXJkIGNsYXNzPVwid2lkZ2V0LWl0ZW1cIiBbZGF0YV09XCJkYXRhXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiPlxuICAgIDwvbWFudGxlLWRhc2hib2FyZC1pbmZvLWNhcmQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0YWJsZSdcIj5cbiAgICA8bWFudGxlLWRhc2hib2FyZC10YWJsZSBjbGFzcz1cIndpZGdldC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwid2lkZ2V0SXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiZGF0YS5jb2x1bW5zXCIgW2l0ZW1zXT1cImRhdGEuaXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlSGVhZGVyc109XCJkYXRhLmhpZGVIZWFkZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aFN0cmlwZWRSb3dzXT1cImRhdGEud2l0aFN0cmlwZWRSb3dzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbd2l0aENsaWNrYWJsZVJvd3NdPVwiZGF0YS53aXRoQ2xpY2thYmxlUm93c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW29uUmVjb3JkQ2xpY2tlZF09XCJkYXRhLm9uUmVjb3JkQ2xpY2tlZFwiPlxuICAgIDwvbWFudGxlLWRhc2hib2FyZC10YWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -14,6 +14,7 @@ import * as i8 from "@angular/material/progress-spinner";
|
|
|
14
14
|
import * as i9 from "@angular/flex-layout/flex";
|
|
15
15
|
import * as i10 from "@angular/common";
|
|
16
16
|
import * as i11 from "@angular/material/form-field";
|
|
17
|
+
import * as i12 from "@ngx-translate/core";
|
|
17
18
|
export class DialogDetailsComponent {
|
|
18
19
|
constructor(router, dialogRef, dialogDetailParams, announcementService) {
|
|
19
20
|
this.router = router;
|
|
@@ -35,6 +36,12 @@ export class DialogDetailsComponent {
|
|
|
35
36
|
onCancelClicked() {
|
|
36
37
|
this.close();
|
|
37
38
|
}
|
|
39
|
+
onCloneClicked() {
|
|
40
|
+
this.close();
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
this.detailPageService.openForm({}, { clone_id: this.id });
|
|
43
|
+
}, 500);
|
|
44
|
+
}
|
|
38
45
|
onEditClicked() {
|
|
39
46
|
this.close();
|
|
40
47
|
setTimeout(() => {
|
|
@@ -45,12 +52,12 @@ export class DialogDetailsComponent {
|
|
|
45
52
|
this.detailPageService.delete(this.id, () => { this.isDeleteInProgress = true; }, (res) => { this.onDeleteSuccess(res); }, (res) => { this.onDeleteFailure(res); });
|
|
46
53
|
}
|
|
47
54
|
onDeleteSuccess(res) {
|
|
48
|
-
this.announcementService.success('
|
|
55
|
+
this.announcementService.success('mantle.messages.delete_successful');
|
|
49
56
|
this.close({ id: this.id, _destroy: true });
|
|
50
57
|
this.isDeleteInProgress = false;
|
|
51
58
|
}
|
|
52
59
|
onDeleteFailure(res) {
|
|
53
|
-
this.announcementService.error('
|
|
60
|
+
this.announcementService.error('mantle.messages.delete_failed');
|
|
54
61
|
this.isDeleteInProgress = false;
|
|
55
62
|
}
|
|
56
63
|
close(result = false) {
|
|
@@ -61,7 +68,7 @@ export class DialogDetailsComponent {
|
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
70
|
DialogDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogDetailsComponent, deps: [{ token: i1.Router }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.AnnouncementService }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
-
DialogDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DialogDetailsComponent, selector: "mantle-dialog-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-details [content]=\"content$ | async\"></mantle-dynamic-details>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n
|
|
71
|
+
DialogDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DialogDetailsComponent, selector: "mantle-dialog-details", ngImport: i0, template: "<div mat-dialog-title fxLayout=\"row\" fxLayoutAlign=\"start\" fxLayoutGap=\"8px\" class=\"dialog-title-section\">\n <mantle-section-title fxFlex=\"1 0 1px\" [title]=\"title\"></mantle-section-title>\n <button fxFlex=\"0 0 auto\" mat-icon-button tabindex=\"-1\" (click)=\"onCancelClicked()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <mantle-dynamic-details [content]=\"content$ | async\"></mantle-dynamic-details>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"16px\" class=\"actions-section\">\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showDeleteButton && detailPageService.canWrite()\">\n <button mat-button\n *ngIf=\"!isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"delete-button\"\n (click)=\"onDeleteClicked()\">\n {{ 'mantle.buttons.delete' | translate }}\n </button>\n\n <button mat-raised-button\n *ngIf=\"isDeleteInProgress\"\n color=\"warn\"\n type=\"button\"\n class=\"deleting-button\"\n [disabled]=\"true\">\n {{ 'mantle.buttons.deleting' | translate }}\n <mat-spinner matSuffix [diameter]=\"16\"></mat-spinner>\n </button>\n </div>\n\n <div fxFlex=\"1 1 auto\"></div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showCloneButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"accent\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onCloneClicked()\">\n {{ 'mantle.buttons.clone' | translate }}\n </button>\n </div>\n\n <div fxFlex=\"0 0 auto\" *ngIf=\"detailPageService.showEditButton && detailPageService.canWrite()\">\n <button mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"edit-button\"\n (click)=\"onEditClicked()\">\n {{ 'mantle.buttons.edit' | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".delete-button,.deleting-button{text-transform:uppercase}.deleting-button .mat-spinner{position:absolute;top:10px;right:12px}.edit-button{width:140px}\n"], components: [{ type: i4.SectionTitleComponent, selector: "mantle-section-title", inputs: ["title"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.DynamicDetailsComponent, selector: "mantle-dynamic-details", inputs: ["detailPageService", "content"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i9.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { type: i9.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.MatSuffix, selector: "[matSuffix]" }], pipes: { "async": i10.AsyncPipe, "translate": i12.TranslatePipe } });
|
|
65
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DialogDetailsComponent, decorators: [{
|
|
66
73
|
type: Component,
|
|
67
74
|
args: [{
|
|
@@ -73,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImpor
|
|
|
73
80
|
type: Inject,
|
|
74
81
|
args: [MAT_DIALOG_DATA]
|
|
75
82
|
}] }, { type: i3.AnnouncementService }]; } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kZXRhaWxzL2RpYWxvZy1kZXRhaWxzL2RpYWxvZy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZGV0YWlscy9kaWFsb2ctZGV0YWlscy9kaWFsb2ctZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBUyxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBZ0I3QyxNQUFNLE9BQU8sc0JBQXNCO0lBVWpDLFlBQW9CLE1BQWMsRUFBVSxTQUErQyxFQUM5QyxrQkFBc0MsRUFDL0QsbUJBQXdDO1FBRnhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUM5Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQy9ELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQztRQUNuRSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBRTNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxHQUEwQixFQUFFLEVBQUU7WUFDakMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9DLE1BQU0sQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGVBQWUsQ0FBQyxFQUMxRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDL0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQzNCLElBQUksQ0FBQyxFQUFFLEVBQ1AsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDekMsQ0FBQyxHQUF5QixFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RCxDQUFDLEdBQXlCLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQXlCO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQXlCO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBYyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hDLENBQUM7O21IQXpFVSxzQkFBc0Isb0VBV2IsZUFBZTt1R0FYeEIsc0JBQXNCLDZEQ3BCbkMsK2hEQTZDQTsyRkR6QmEsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUMvQzs7MEJBWWMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBFdmVudCwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdlYkFwaURlbGV0ZVJlc3BvbnNlLCBXZWJBcGlEZXRhaWxzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hZGFwdGVycy93ZWItYXBpLWNydWQuYWRhcHRlcic7XG5pbXBvcnQgeyBBbm5vdW5jZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYW5ub3VuY2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV0YWlsUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2RldGFpbC1wYWdlLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ0RldGFpbFBhcmFtcyB7XG4gIGRldGFpbFBhZ2VTZXJ2aWNlOiBEZXRhaWxQYWdlU2VydmljZTtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWRpYWxvZy1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZGV0YWlsUGFnZVNlcnZpY2U6IERldGFpbFBhZ2VTZXJ2aWNlO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBjb250ZW50JCE6IE9ic2VydmFibGU8YW55PjtcbiAgcHVibGljIGlzRGVsZXRlSW5Qcm9ncmVzcyE6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSByb3V0ZXJTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dEZXRhaWxzQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGlhbG9nRGV0YWlsUGFyYW1zOiBEaWFsb2dEZXRhaWxQYXJhbXMsXG4gICAgICAgICAgICAgIHByaXZhdGUgYW5ub3VuY2VtZW50U2VydmljZTogQW5ub3VuY2VtZW50U2VydmljZSkge1xuICAgIHRoaXMuZGV0YWlsUGFnZVNlcnZpY2UgPSB0aGlzLmRpYWxvZ0RldGFpbFBhcmFtcy5kZXRhaWxQYWdlU2VydmljZTtcbiAgICB0aGlzLmlkID0gdGhpcy5kaWFsb2dEZXRhaWxQYXJhbXMuaWQ7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZGlhbG9nRGV0YWlsUGFyYW1zLnRpdGxlO1xuXG4gICAgdGhpcy5jb250ZW50JCA9IHRoaXMuZGV0YWlsUGFnZVNlcnZpY2UuZ2V0KHRoaXMuaWQpLnBpcGUoXG4gICAgICBtYXAoKHJlczogV2ViQXBpRGV0YWlsc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXMuY29udGVudDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBFdmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5kaWFsb2dSZWYpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2FuY2VsQ2xpY2tlZCgpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBvbkVkaXRDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kZXRhaWxQYWdlU2VydmljZS5vcGVuRm9ybSh7IGlkOiB0aGlzLmlkIH0pO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBvbkRlbGV0ZUNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxQYWdlU2VydmljZS5kZWxldGUoXG4gICAgICB0aGlzLmlkLFxuICAgICAgKCkgPT4geyB0aGlzLmlzRGVsZXRlSW5Qcm9ncmVzcyA9IHRydWU7IH0sXG4gICAgICAocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSkgPT4geyB0aGlzLm9uRGVsZXRlU3VjY2VzcyhyZXMpOyB9LFxuICAgICAgKHJlczogV2ViQXBpRGVsZXRlUmVzcG9uc2UpID0+IHsgdGhpcy5vbkRlbGV0ZUZhaWx1cmUocmVzKTsgfVxuICAgICk7XG4gIH1cblxuICBvbkRlbGV0ZVN1Y2Nlc3MocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMuYW5ub3VuY2VtZW50U2VydmljZS5zdWNjZXNzKCdEZWxldGUgc3VjY2Vzc2Z1bCEnKTtcbiAgICB0aGlzLmNsb3NlKHsgaWQ6IHRoaXMuaWQsIF9kZXN0cm95OiB0cnVlIH0pO1xuXG4gICAgdGhpcy5pc0RlbGV0ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIG9uRGVsZXRlRmFpbHVyZShyZXM6IFdlYkFwaURlbGV0ZVJlc3BvbnNlKTogdm9pZCB7XG4gICAgdGhpcy5hbm5vdW5jZW1lbnRTZXJ2aWNlLmVycm9yKCdEZWxldGUgZmFpbGVkIScpO1xuXG4gICAgdGhpcy5pc0RlbGV0ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdDogYW55ID0gZmFsc2UpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjhweFwiIGNsYXNzPVwiZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgPG1hbnRsZS1zZWN0aW9uLXRpdGxlIGZ4RmxleD1cIjEgMCAxcHhcIiBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuICA8YnV0dG9uIGZ4RmxleD1cIjAgMCBhdXRvXCIgbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwib25DYW5jZWxDbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hbnRsZS1keW5hbWljLWRldGFpbHMgW2NvbnRlbnRdPVwiY29udGVudCQgfCBhc3luY1wiPjwvbWFudGxlLWR5bmFtaWMtZGV0YWlscz5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIiBjbGFzcz1cImFjdGlvbnMtc2VjdGlvblwiPlxuICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCIgKm5nSWY9XCJkZXRhaWxQYWdlU2VydmljZS5zaG93RGVsZXRlQnV0dG9uICYmIGRldGFpbFBhZ2VTZXJ2aWNlLmNhbldyaXRlKClcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXNEZWxldGVJblByb2dyZXNzXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQoKVwiPlxuICAgICAgRGVsZXRlXG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaXNEZWxldGVJblByb2dyZXNzXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZGVsZXRpbmctYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cbiAgICAgIERlbGV0aW5nXG4gICAgICA8bWF0LXNwaW5uZXIgbWF0U3VmZml4IFtkaWFtZXRlcl09XCIxNlwiPjwvbWF0LXNwaW5uZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgZnhGbGV4PVwiMSAxIGF1dG9cIj48L2Rpdj5cblxuICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCIgKm5nSWY9XCJkZXRhaWxQYWdlU2VydmljZS5zaG93RWRpdEJ1dHRvbiAmJiBkZXRhaWxQYWdlU2VydmljZS5jYW5Xcml0ZSgpXCI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJlZGl0LWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkVkaXRDbGlja2VkKClcIj5cbiAgICAgIEVkaXRcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctYWN0aW9ucz5cbiJdfQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9kZXRhaWxzL2RpYWxvZy1kZXRhaWxzL2RpYWxvZy1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvZGV0YWlscy9kaWFsb2ctZGV0YWlscy9kaWFsb2ctZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBUyxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWdCN0MsTUFBTSxPQUFPLHNCQUFzQjtJQVVqQyxZQUFvQixNQUFjLEVBQVUsU0FBK0MsRUFDOUMsa0JBQXNDLEVBQy9ELG1CQUF3QztRQUZ4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDOUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUMvRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQzFELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUUz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QkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDL0M7OzBCQVljLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgRXZlbnQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBXZWJBcGlEZWxldGVSZXNwb25zZSwgV2ViQXBpRGV0YWlsc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWRhcHRlcnMvd2ViLWFwaS1jcnVkLmFkYXB0ZXInO1xuaW1wb3J0IHsgQW5ub3VuY2VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Fubm91bmNlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IERldGFpbFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kZXRhaWwtcGFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEZXRhaWxQYXJhbXMge1xuICBkZXRhaWxQYWdlU2VydmljZTogRGV0YWlsUGFnZVNlcnZpY2U7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kaWFsb2ctZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGRldGFpbFBhZ2VTZXJ2aWNlOiBEZXRhaWxQYWdlU2VydmljZTtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBwdWJsaWMgY29udGVudCQhOiBPYnNlcnZhYmxlPGFueT47XG4gIHB1YmxpYyBpc0RlbGV0ZUluUHJvZ3Jlc3MhOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nRGV0YWlsc0NvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRpYWxvZ0RldGFpbFBhcmFtczogRGlhbG9nRGV0YWlsUGFyYW1zLFxuICAgICAgICAgICAgICBwcml2YXRlIGFubm91bmNlbWVudFNlcnZpY2U6IEFubm91bmNlbWVudFNlcnZpY2UpIHtcbiAgICB0aGlzLmRldGFpbFBhZ2VTZXJ2aWNlID0gdGhpcy5kaWFsb2dEZXRhaWxQYXJhbXMuZGV0YWlsUGFnZVNlcnZpY2U7XG4gICAgdGhpcy5pZCA9IHRoaXMuZGlhbG9nRGV0YWlsUGFyYW1zLmlkO1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmRpYWxvZ0RldGFpbFBhcmFtcy50aXRsZTtcblxuICAgIHRoaXMuY29udGVudCQgPSB0aGlzLmRldGFpbFBhZ2VTZXJ2aWNlLmdldCh0aGlzLmlkKS5waXBlKFxuICAgICAgbWFwKChyZXM6IFdlYkFwaURldGFpbHNSZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzLmNvbnRlbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgZmlsdGVyKChldmVudDogRXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSxcbiAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMuZGlhbG9nUmVmKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfSk7XG4gIH1cblxuICBvbkNhbmNlbENsaWNrZWQoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgb25DbG9uZUNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRldGFpbFBhZ2VTZXJ2aWNlLm9wZW5Gb3JtKHt9LCB7IGNsb25lX2lkOiB0aGlzLmlkIH0pO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBvbkVkaXRDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5kZXRhaWxQYWdlU2VydmljZS5vcGVuRm9ybSh7IGlkOiB0aGlzLmlkIH0pO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBvbkRlbGV0ZUNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhaWxQYWdlU2VydmljZS5kZWxldGUoXG4gICAgICB0aGlzLmlkLFxuICAgICAgKCkgPT4geyB0aGlzLmlzRGVsZXRlSW5Qcm9ncmVzcyA9IHRydWU7IH0sXG4gICAgICAocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSkgPT4geyB0aGlzLm9uRGVsZXRlU3VjY2VzcyhyZXMpOyB9LFxuICAgICAgKHJlczogV2ViQXBpRGVsZXRlUmVzcG9uc2UpID0+IHsgdGhpcy5vbkRlbGV0ZUZhaWx1cmUocmVzKTsgfVxuICAgICk7XG4gIH1cblxuICBvbkRlbGV0ZVN1Y2Nlc3MocmVzOiBXZWJBcGlEZWxldGVSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMuYW5ub3VuY2VtZW50U2VydmljZS5zdWNjZXNzKCdtYW50bGUubWVzc2FnZXMuZGVsZXRlX3N1Y2Nlc3NmdWwnKTtcbiAgICB0aGlzLmNsb3NlKHsgaWQ6IHRoaXMuaWQsIF9kZXN0cm95OiB0cnVlIH0pO1xuXG4gICAgdGhpcy5pc0RlbGV0ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIG9uRGVsZXRlRmFpbHVyZShyZXM6IFdlYkFwaURlbGV0ZVJlc3BvbnNlKTogdm9pZCB7XG4gICAgdGhpcy5hbm5vdW5jZW1lbnRTZXJ2aWNlLmVycm9yKCdtYW50bGUubWVzc2FnZXMuZGVsZXRlX2ZhaWxlZCcpO1xuXG4gICAgdGhpcy5pc0RlbGV0ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdDogYW55ID0gZmFsc2UpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjhweFwiIGNsYXNzPVwiZGlhbG9nLXRpdGxlLXNlY3Rpb25cIj5cbiAgPG1hbnRsZS1zZWN0aW9uLXRpdGxlIGZ4RmxleD1cIjEgMCAxcHhcIiBbdGl0bGVdPVwidGl0bGVcIj48L21hbnRsZS1zZWN0aW9uLXRpdGxlPlxuICA8YnV0dG9uIGZ4RmxleD1cIjAgMCBhdXRvXCIgbWF0LWljb24tYnV0dG9uIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwib25DYW5jZWxDbGlja2VkKClcIj5cbiAgICA8bWF0LWljb24+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hbnRsZS1keW5hbWljLWRldGFpbHMgW2NvbnRlbnRdPVwiY29udGVudCQgfCBhc3luY1wiPjwvbWFudGxlLWR5bmFtaWMtZGV0YWlscz5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjE2cHhcIiBjbGFzcz1cImFjdGlvbnMtc2VjdGlvblwiPlxuICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCIgKm5nSWY9XCJkZXRhaWxQYWdlU2VydmljZS5zaG93RGVsZXRlQnV0dG9uICYmIGRldGFpbFBhZ2VTZXJ2aWNlLmNhbldyaXRlKClcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaXNEZWxldGVJblByb2dyZXNzXCJcbiAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQoKVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLmRlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJpc0RlbGV0ZUluUHJvZ3Jlc3NcIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJkZWxldGluZy1idXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLmRlbGV0aW5nJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPG1hdC1zcGlubmVyIG1hdFN1ZmZpeCBbZGlhbWV0ZXJdPVwiMTZcIj48L21hdC1zcGlubmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG5cbiAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiICpuZ0lmPVwiZGV0YWlsUGFnZVNlcnZpY2Uuc2hvd0Nsb25lQnV0dG9uICYmIGRldGFpbFBhZ2VTZXJ2aWNlLmNhbldyaXRlKClcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiZWRpdC1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwib25DbG9uZUNsaWNrZWQoKVwiPlxuICAgICAge3sgJ21hbnRsZS5idXR0b25zLmNsb25lJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGZ4RmxleD1cIjAgMCBhdXRvXCIgKm5nSWY9XCJkZXRhaWxQYWdlU2VydmljZS5zaG93RWRpdEJ1dHRvbiAmJiBkZXRhaWxQYWdlU2VydmljZS5jYW5Xcml0ZSgpXCI+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJlZGl0LWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJvbkVkaXRDbGlja2VkKClcIj5cbiAgICAgIHt7ICdtYW50bGUuYnV0dG9ucy5lZGl0JyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|