@codetectonics/mantle 0.0.6 → 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/dynamic-dashboard-container/dynamic-dashboard-container.component.js +4 -4
- package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +4 -4
- package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +5 -6
- package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +5 -6
- package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +4 -4
- package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +4 -6
- package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +4 -4
- package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +8 -5
- package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +11 -5
- package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +4 -4
- package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +4 -4
- package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +4 -4
- package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +4 -4
- package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +15 -9
- package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +6 -5
- package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +4 -4
- package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +7 -7
- package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +5 -5
- package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +22 -0
- package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +5 -5
- package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +4 -5
- package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +4 -4
- package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +4 -4
- package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +9 -5
- package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +19 -8
- package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +4 -4
- 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 +10 -5
- package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +4 -5
- package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +4 -5
- package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +4 -5
- package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +22 -11
- package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +17 -8
- package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +10 -7
- package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +6 -5
- package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +6 -5
- package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +6 -5
- package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +17 -15
- package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +7 -7
- package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +6 -5
- package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +7 -8
- package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/number-input/number-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/password-input/password-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/text-input/text-input.component.js +6 -5
- package/esm2015/lib/components/form/fields/textarea/textarea.component.js +6 -5
- 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 +17 -10
- package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +14 -7
- 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 +16 -8
- package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +4 -4
- package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +4 -4
- package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +4 -4
- package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +5 -5
- package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +5 -5
- package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +5 -7
- package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +4 -4
- package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +5 -6
- package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +7 -6
- package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +33 -0
- package/esm2015/lib/components/navigation/reroute/reroute.component.js +5 -6
- package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +7 -7
- package/esm2015/lib/components/pages/detail-page/detail-page.component.js +28 -24
- package/esm2015/lib/components/pages/documents-page/documents-page.component.js +7 -10
- package/esm2015/lib/components/pages/export-page/export-page.component.js +7 -9
- package/esm2015/lib/components/pages/form-page/form-page.component.js +10 -12
- package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +15 -13
- package/esm2015/lib/components/pages/list-page/list-page-datasource.js +2 -2
- package/esm2015/lib/components/pages/list-page/list-page.component.js +25 -17
- 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 +6 -6
- package/esm2015/lib/components/titles/content-title/content-title.component.js +4 -4
- package/esm2015/lib/components/titles/page-title/page-title.component.js +12 -11
- package/esm2015/lib/components/titles/section-title/section-title.component.js +5 -4
- package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +6 -5
- 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-datasource.js +1 -1
- package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +6 -8
- package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +6 -6
- package/esm2015/lib/components/widgets/loader/loader.component.js +4 -4
- 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 +7 -6
- package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +5 -6
- package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +6 -5
- package/esm2015/lib/data-structures/dynamic-layout.structure.js +1 -1
- package/esm2015/lib/directives/click-stop-propagation.directive.js +4 -4
- package/esm2015/lib/directives/file-dropzone.directive.js +4 -4
- package/esm2015/lib/guards/feature.guard.js +6 -9
- package/esm2015/lib/guards/password-check.guard.js +4 -5
- package/esm2015/lib/guards/session.guard.js +4 -5
- 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 +53 -8
- package/esm2015/lib/material.module.js +16 -6
- package/esm2015/lib/pipes/dynamic.pipe.js +4 -4
- package/esm2015/lib/pipes/secure-image.pipe.js +4 -5
- package/esm2015/lib/services/announcement.service.js +4 -5
- package/esm2015/lib/services/array.service.js +4 -5
- package/esm2015/lib/services/chart.service.js +4 -5
- package/esm2015/lib/services/confirmation.service.js +6 -6
- package/esm2015/lib/services/current-user.service.js +57 -26
- package/esm2015/lib/services/data-broadcast.service.js +18 -0
- package/esm2015/lib/services/dynamic-form.service.js +5 -4
- 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 +12 -4
- package/esm2015/lib/services/password-check.service.js +13 -14
- package/esm2015/lib/services/screen-size.service.js +5 -5
- package/esm2015/lib/services/web-api.service.js +4 -6
- package/esm2015/lib/services/websocket.service.js +4 -5
- package/esm2015/public-api.js +15 -1
- package/fesm2015/codetectonics-mantle.js +1412 -509
- 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/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +1 -1
- 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 +6 -5
- 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/dynamic-table/dynamic-table-datasource.d.ts +1 -1
- package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +1 -6
- 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 +4 -5
- package/lib/data-structures/dynamic-layout.structure.d.ts +19 -1
- 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 +5 -5
- package/public-api.d.ts +14 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Component
|
|
2
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
1
|
+
import { Component } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "@angular/router";
|
|
5
4
|
import * as i2 from "@angular/material/tabs";
|
|
6
5
|
import * as i3 from "@angular/flex-layout/flex";
|
|
7
6
|
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@ngx-translate/core";
|
|
8
8
|
export class TabbedPageComponent {
|
|
9
9
|
constructor(route, router, injector) {
|
|
10
10
|
this.route = route;
|
|
@@ -22,9 +22,9 @@ export class TabbedPageComponent {
|
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
TabbedPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
26
|
-
TabbedPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
25
|
+
TabbedPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TabbedPageComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
TabbedPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TabbedPageComponent, selector: "mantle-tabbed-page", ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutAlign=\"stretch\" fxLayoutGap=\"4px\" class=\"tabbed-page full-height-only\">\n\n <div fxFlex=\"0 0 auto\" class=\"tab-bar\">\n <nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let link of links\"\n (click)=\"activeLink = link.route\"\n [active]=\"activeLink == link.route\"\n [routerLink]=\"link.route\"> {{ link.label | translate }} </a>\n </nav>\n </div>\n\n <div fxFlex=\"1 0 1px\" class=\"tab-content vertically-scrollable\">\n <router-outlet></router-outlet>\n </div>\n\n</div>\n", styles: [""], components: [{ type: i2.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }], directives: [{ type: i3.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: i3.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: i3.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: i3.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: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i2.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }], pipes: { "translate": i5.TranslatePipe } });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TabbedPageComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: 'mantle-tabbed-page',
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
32
32
|
styleUrls: ['./tabbed-page.component.scss']
|
|
33
33
|
}]
|
|
34
34
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i0.Injector }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy9wYWdlcy90YWJiZWQtcGFnZS90YWJiZWQtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL3RhYmJlZC1wYWdlL3RhYmJlZC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUzVELE1BQU0sT0FBTyxtQkFBbUI7SUFPOUIsWUFBb0IsS0FBcUIsRUFBVSxNQUFjLEVBQVUsUUFBa0I7UUFBekUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUh0RixVQUFLLEdBQW9CLEVBQUUsQ0FBQztRQUM1QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRzdCLE1BQU0sNEJBQTRCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFpQiw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQWpCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwwRENUaEMsa2pCQWdCQTsyRkRQYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdlRhYnNTZXJ2aWNlLCBUYWJiZWRQYWdlVGFiIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9uYXYtdGFicy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLXRhYmJlZC1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmJlZC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFiYmVkLXBhZ2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJiZWRQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgbmF2VGFic1NlcnZpY2U6IE5hdlRhYnNTZXJ2aWNlO1xuXG4gIHB1YmxpYyBsaW5rczogVGFiYmVkUGFnZVRhYltdID0gW107XG4gIHB1YmxpYyBhY3RpdmVMaW5rOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBuYXZUYWJzU2VydmljZUluamVjdGlvblRva2VuID0gcm91dGUuc25hcHNob3QuZGF0YVsnbmF2VGFic1NlcnZpY2UnXTtcbiAgICB0aGlzLm5hdlRhYnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8TmF2VGFic1NlcnZpY2U+KG5hdlRhYnNTZXJ2aWNlSW5qZWN0aW9uVG9rZW4pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmxpbmtzID0gdGhpcy5uYXZUYWJzU2VydmljZS50YWJzKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zKTtcbiAgICAgIHRoaXMuYWN0aXZlTGluayA9IHRoaXMucm91dGVyLnVybDtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0cmV0Y2hcIiBmeExheW91dEdhcD1cIjRweFwiIGNsYXNzPVwidGFiYmVkLXBhZ2UgZnVsbC1oZWlnaHQtb25seVwiPlxuXG4gIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIiBjbGFzcz1cInRhYi1iYXJcIj5cbiAgICA8bmF2IG1hdC10YWItbmF2LWJhcj5cbiAgICAgIDxhIG1hdC10YWItbGluayAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rc1wiXG4gICAgICAgICAoY2xpY2spPVwiYWN0aXZlTGluayA9IGxpbmsucm91dGVcIlxuICAgICAgICAgW2FjdGl2ZV09XCJhY3RpdmVMaW5rID09IGxpbmsucm91dGVcIlxuICAgICAgICAgW3JvdXRlckxpbmtdPVwibGluay5yb3V0ZVwiPiB7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19IDwvYT5cbiAgICA8L25hdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCIgY2xhc3M9XCJ0YWItY29udGVudCB2ZXJ0aWNhbGx5LXNjcm9sbGFibGVcIj5cbiAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -6,9 +6,9 @@ import * as i3 from "../../../pipes/secure-image.pipe";
|
|
|
6
6
|
export class ContentTitleComponent {
|
|
7
7
|
constructor() { }
|
|
8
8
|
}
|
|
9
|
-
ContentTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
10
|
-
ContentTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
9
|
+
ContentTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ContentTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
ContentTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: ContentTitleComponent, selector: "mantle-content-title", inputs: { thumbnail: "thumbnail", title: "title" }, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"content-title\">\n <div *ngIf=\"thumbnail\" fxFlex=\"0 0 auto\">\n <img class=\"content-title-thumbnail\" [attr.src]=\"thumbnail | secureImage | async\" />\n </div>\n\n <div fxFlex=\"1 0 1px\">\n <h1 *ngIf=\"title\" class=\"content-title-title\">{{ title }}</h1>\n </div>\n</div>\n", styles: [".content-title .content-title-thumbnail{width:60px;height:60px;border-radius:50%;margin:0 16px}.content-title .content-title-title{max-width:100%;text-transform:uppercase;margin-bottom:0}\n"], directives: [{ type: i1.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: i1.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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.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"] }], pipes: { "async": i2.AsyncPipe, "secureImage": i3.SecureImagePipe } });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: ContentTitleComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{
|
|
14
14
|
selector: 'mantle-content-title',
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
20
20
|
}], title: [{
|
|
21
21
|
type: Input
|
|
22
22
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3RpdGxlcy9jb250ZW50LXRpdGxlL2NvbnRlbnQtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy90aXRsZXMvY29udGVudC10aXRsZS9jb250ZW50LXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU9qRCxNQUFNLE9BQU8scUJBQXFCO0lBS2hDLGdCQUFnQixDQUFDOztrSEFMTixxQkFBcUI7c0dBQXJCLHFCQUFxQixnSENQbEMsbVdBU0E7MkZERmEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5QzswRUFHVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWNvbnRlbnQtdGl0bGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtdGl0bGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50VGl0bGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHRodW1ibmFpbCE6IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJjb250ZW50LXRpdGxlXCI+XG4gIDxkaXYgKm5nSWY9XCJ0aHVtYm5haWxcIiBmeEZsZXg9XCIwIDAgYXV0b1wiPlxuICAgIDxpbWcgY2xhc3M9XCJjb250ZW50LXRpdGxlLXRodW1ibmFpbFwiIFthdHRyLnNyY109XCJ0aHVtYm5haWwgfCBzZWN1cmVJbWFnZSB8IGFzeW5jXCIgLz5cbiAgPC9kaXY+XG5cbiAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCI+XG4gICAgPGgxICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cImNvbnRlbnQtdGl0bGUtdGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as moment from 'moment';
|
|
3
|
-
import { ScreenSizeService } from '../../../services/screen-size.service';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../services/
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "@angular/flex-layout/
|
|
4
|
+
import * as i1 from "../../../services/locale.service";
|
|
5
|
+
import * as i2 from "../../../services/screen-size.service";
|
|
6
|
+
import * as i3 from "@angular/flex-layout/flex";
|
|
7
|
+
import * as i4 from "@angular/flex-layout/extended";
|
|
8
8
|
export class PageTitleComponent {
|
|
9
|
-
constructor(screenSizeService) {
|
|
9
|
+
constructor(localeService, screenSizeService) {
|
|
10
|
+
this.localeService = localeService;
|
|
10
11
|
this.screenSizeService = screenSizeService;
|
|
11
12
|
this.isSmallScreen = false;
|
|
12
|
-
this.today = moment().format('dddd | DD MMM YYYY');
|
|
13
|
+
this.today = moment().locale(this.localeService.currentLocaleCode).format('dddd | DD MMM YYYY');
|
|
13
14
|
this.screenSizeService.screenSize.subscribe((screenSize) => {
|
|
14
15
|
this.isSmallScreen = screenSize == 'xs' || screenSize == 'sm';
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
PageTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
19
|
-
PageTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
19
|
+
PageTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PageTitleComponent, deps: [{ token: i1.LocaleService }, { token: i2.ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
PageTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: PageTitleComponent, selector: "mantle-page-title", ngImport: i0, template: "<h1 fxLayout=\"row wrap\" fxLayoutGap=\"8px\">\n <div fxFlex=\"0 0 auto\" class=\"title-text\"><ng-content></ng-content></div>\n <div fxFlex=\"1 0 1px\"></div>\n <div fxFlex=\"0 0 auto\" [fxHide]=\"isSmallScreen\" class=\"title-date\">{{ today }}</div>\n</h1>\n\n<hr />\n", styles: ["h1{margin-bottom:12px}.title-text{max-width:100%;text-transform:uppercase}.title-date{font-weight:lighter;text-align:right;white-space:nowrap}\n"], directives: [{ type: i3.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: i3.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: i3.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: i4.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: PageTitleComponent, decorators: [{
|
|
21
22
|
type: Component,
|
|
22
23
|
args: [{
|
|
23
24
|
selector: 'mantle-page-title',
|
|
24
25
|
templateUrl: './page-title.component.html',
|
|
25
26
|
styleUrls: ['./page-title.component.scss']
|
|
26
27
|
}]
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.ScreenSizeService }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.LocaleService }, { type: i2.ScreenSizeService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3RpdGxlcy9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy90aXRsZXMvcGFnZS10aXRsZS9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7OztBQVNqQyxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLGFBQTRCLEVBQVUsaUJBQW9DO1FBQTFFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZ2RixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUdwQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFaEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRTtZQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OytHQVhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHlEQ1YvQixvUkFPQTsyRkRHYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBTY3JlZW5TaXplU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtcGFnZS10aXRsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS10aXRsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VUaXRsZUNvbXBvbmVudCB7XG5cbiAgcHVibGljIHRvZGF5OiBzdHJpbmc7XG4gIHB1YmxpYyBpc1NtYWxsU2NyZWVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBMb2NhbGVTZXJ2aWNlLCBwcml2YXRlIHNjcmVlblNpemVTZXJ2aWNlOiBTY3JlZW5TaXplU2VydmljZSkge1xuICAgIHRoaXMudG9kYXkgPSBtb21lbnQoKS5sb2NhbGUodGhpcy5sb2NhbGVTZXJ2aWNlLmN1cnJlbnRMb2NhbGVDb2RlKS5mb3JtYXQoJ2RkZGQgfCBERCBNTU0gWVlZWScpO1xuXG4gICAgdGhpcy5zY3JlZW5TaXplU2VydmljZS5zY3JlZW5TaXplLnN1YnNjcmliZSgoc2NyZWVuU2l6ZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmlzU21hbGxTY3JlZW4gPSBzY3JlZW5TaXplID09ICd4cycgfHwgc2NyZWVuU2l6ZSA9PSAnc20nO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxoMSBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXRHYXA9XCI4cHhcIj5cbiAgPGRpdiBmeEZsZXg9XCIwIDAgYXV0b1wiIGNsYXNzPVwidGl0bGUtdGV4dFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cbiAgPGRpdiBmeEZsZXg9XCIxIDAgMXB4XCI+PC9kaXY+XG4gIDxkaXYgZnhGbGV4PVwiMCAwIGF1dG9cIiBbZnhIaWRlXT1cImlzU21hbGxTY3JlZW5cIiBjbGFzcz1cInRpdGxlLWRhdGVcIj57eyB0b2RheSB9fTwvZGl2PlxuPC9oMT5cblxuPGhyIC8+XG4iXX0=
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ngx-translate/core";
|
|
3
4
|
export class SectionTitleComponent {
|
|
4
5
|
constructor() { }
|
|
5
6
|
}
|
|
6
|
-
SectionTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
7
|
-
SectionTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
7
|
+
SectionTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: SectionTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
SectionTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: SectionTitleComponent, selector: "mantle-section-title", inputs: { title: "title" }, ngImport: i0, template: "<h3 class=\"section-title\">\n {{ title | translate }}\n</h3>\n", styles: [".section-title{text-transform:uppercase;line-height:1rem;padding:.75rem 1.25rem}\n"], pipes: { "translate": i1.TranslatePipe } });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: SectionTitleComponent, decorators: [{
|
|
9
10
|
type: Component,
|
|
10
11
|
args: [{
|
|
11
12
|
selector: 'mantle-section-title',
|
|
@@ -15,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
15
16
|
}], ctorParameters: function () { return []; }, propDecorators: { title: [{
|
|
16
17
|
type: Input
|
|
17
18
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3RpdGxlcy9zZWN0aW9uLXRpdGxlL3NlY3Rpb24tdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy90aXRsZXMvc2VjdGlvbi10aXRsZS9zZWN0aW9uLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPakQsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxnQkFBZ0IsQ0FBQzs7a0hBSk4scUJBQXFCO3NHQUFyQixxQkFBcUIsd0ZDUGxDLGtFQUdBOzJGRElhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7MEVBR1UsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYW50bGUtc2VjdGlvbi10aXRsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN0aW9uLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdGlvbi10aXRsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlY3Rpb25UaXRsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxufVxuIiwiPGgzIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxuICB7eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxuPC9oMz5cbiJdfQ==
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/dialog";
|
|
5
5
|
import * as i2 from "@angular/material/button";
|
|
6
6
|
import * as i3 from "@angular/flex-layout/flex";
|
|
7
7
|
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "@ngx-translate/core";
|
|
8
9
|
export class DeleteConfirmationDialogComponent {
|
|
9
10
|
constructor(dialogRef, params) {
|
|
10
11
|
this.dialogRef = dialogRef;
|
|
@@ -20,9 +21,9 @@ export class DeleteConfirmationDialogComponent {
|
|
|
20
21
|
this.dialogRef.close({ confirmed: false });
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
DeleteConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
24
|
-
DeleteConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
24
|
+
DeleteConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DeleteConfirmationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
DeleteConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DeleteConfirmationDialogComponent, selector: "mantle-delete-confirmation-dialog", ngImport: i0, template: "<mat-dialog-content class=\"content-section\">\n\n <h1 class=\"warn-text\">{{ 'mantle.messages.are_you_sure' | translate }} </h1>\n <h3>{{ message | translate }}</h3>\n\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayout=\"row\" class=\"actions-section\">\n <button fxFlex=\"0 0 auto\" mat-button (click)=\"onCancel()\">{{ 'mantle.buttons.cancel' | translate }}</button>\n <div fxFlex=\"1 1 auto\"></div>\n <button fxFlex=\"0 0 auto\" *ngFor=\"let button of buttons\"\n mat-button\n color=\"warn\"\n (click)=\"onDeleteClicked(button.onClick)\">\n {{ button.label | translate }}\n </button>\n</mat-dialog-actions>\n", styles: ["h1,h3{margin-bottom:8px}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.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: i3.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: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i5.TranslatePipe } });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DeleteConfirmationDialogComponent, decorators: [{
|
|
26
27
|
type: Component,
|
|
27
28
|
args: [{
|
|
28
29
|
selector: 'mantle-delete-confirmation-dialog',
|
|
@@ -33,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
33
34
|
type: Inject,
|
|
34
35
|
args: [MAT_DIALOG_DATA]
|
|
35
36
|
}] }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXRzL2RlbGV0ZS1jb25maXJtYXRpb24tZGlhbG9nL2RlbGV0ZS1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0cy9kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZy9kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBaUJ6RSxNQUFNLE9BQU8saUNBQWlDO0lBSzVDLFlBQW9CLFNBQTBELEVBQ2pDLE1BQXNDO1FBRC9ELGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBQ2pDLFdBQU0sR0FBTixNQUFNLENBQWdDO1FBSDVFLFlBQU8sR0FBcUMsRUFBRSxDQUFDO1FBSXBELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxjQUFvQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhIQWpCVSxpQ0FBaUMsOENBTXhCLGVBQWU7a0hBTnhCLGlDQUFpQyx5RUNsQjlDLG1vQkFpQkE7MkZEQ2EsaUNBQWlDO2tCQUw3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFdBQVcsRUFBRSw2Q0FBNkM7b0JBQzFELFNBQVMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDO2lCQUMzRDs7MEJBT2MsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUNvbmZpcm1hdGlvbkRpYWxvZ0J1dHRvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9uQ2xpY2s6IChpZDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUNvbmZpcm1hdGlvbkRpYWxvZ1BhcmFtcyB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgYnV0dG9uczogRGVsZXRlQ29uZmlybWF0aW9uRGlhbG9nQnV0dG9uW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hbnRsZS1kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlbGV0ZS1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGVsZXRlQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IHtcblxuICBwdWJsaWMgbWVzc2FnZTogc3RyaW5nO1xuICBwdWJsaWMgYnV0dG9uczogRGVsZXRlQ29uZmlybWF0aW9uRGlhbG9nQnV0dG9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERlbGV0ZUNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIHBhcmFtczogRGVsZXRlQ29uZmlybWF0aW9uRGlhbG9nUGFyYW1zKSB7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5wYXJhbXMubWVzc2FnZTtcbiAgICB0aGlzLmJ1dHRvbnMgPSB0aGlzLnBhcmFtcy5idXR0b25zIHx8IFtdO1xuICB9XG5cbiAgb25EZWxldGVDbGlja2VkKGRlbGV0aW9uQWN0aW9uOiAoaWQ6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgY29uZmlybWVkOiB0cnVlLCBkZWxldGlvbkFjdGlvbjogZGVsZXRpb25BY3Rpb24gfSk7XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGNvbmZpcm1lZDogZmFsc2UgfSk7XG4gIH1cblxufVxuIiwiPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImNvbnRlbnQtc2VjdGlvblwiPlxuXG4gIDxoMSBjbGFzcz1cIndhcm4tdGV4dFwiPnt7ICdtYW50bGUubWVzc2FnZXMuYXJlX3lvdV9zdXJlJyB8IHRyYW5zbGF0ZSB9fSA8L2gxPlxuICA8aDM+e3sgbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fTwvaDM+XG5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0PVwicm93XCIgY2xhc3M9XCJhY3Rpb25zLXNlY3Rpb25cIj5cbiAgPGJ1dHRvbiBmeEZsZXg9XCIwIDAgYXV0b1wiIG1hdC1idXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj57eyAnbWFudGxlLmJ1dHRvbnMuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8ZGl2IGZ4RmxleD1cIjEgMSBhdXRvXCI+PC9kaXY+XG4gIDxidXR0b24gZnhGbGV4PVwiMCAwIGF1dG9cIiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGJ1dHRvbnNcIlxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQoYnV0dG9uLm9uQ2xpY2spXCI+XG4gICAge3sgYnV0dG9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DataSource } from '@angular/cdk/collections';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
/**
|
|
5
|
+
* Data source for the List Page view. This class should
|
|
6
|
+
* encapsulate all logic for fetching and manipulating the displayed data
|
|
7
|
+
* (including sorting, pagination, and searching).
|
|
8
|
+
*/
|
|
9
|
+
export class DraggableTableDataSource extends DataSource {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.columns = [];
|
|
13
|
+
this.listSubject = new BehaviorSubject([]);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Connect this data source to the table. The table will only update when
|
|
17
|
+
* the returned stream emits new items.
|
|
18
|
+
* @returns A stream of the items to be rendered.
|
|
19
|
+
*/
|
|
20
|
+
connect() {
|
|
21
|
+
return this.listSubject.pipe(map(() => {
|
|
22
|
+
return this.listSubject.value.filter(item => { return !item._destroy; });
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Called when the table is being destroyed. Use this function, to clean up
|
|
27
|
+
* any open connections or free any held resources that were set up during connect.
|
|
28
|
+
*/
|
|
29
|
+
disconnect() { }
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLXRhYmxlLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3dpZGdldHMvZHJhZ2dhYmxlLXRhYmxlL2RyYWdnYWJsZS10YWJsZS1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFVBQWU7SUFJM0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUpWLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBMkIsSUFBSSxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7SUFJckUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsS0FBVSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBEYXRhIHNvdXJjZSBmb3IgdGhlIExpc3QgUGFnZSB2aWV3LiBUaGlzIGNsYXNzIHNob3VsZFxuICogZW5jYXBzdWxhdGUgYWxsIGxvZ2ljIGZvciBmZXRjaGluZyBhbmQgbWFuaXB1bGF0aW5nIHRoZSBkaXNwbGF5ZWQgZGF0YVxuICogKGluY2x1ZGluZyBzb3J0aW5nLCBwYWdpbmF0aW9uLCBhbmQgc2VhcmNoaW5nKS5cbiAqL1xuZXhwb3J0IGNsYXNzIERyYWdnYWJsZVRhYmxlRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2U8YW55PiB7XG4gIGNvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIGxpc3RTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29ubmVjdCB0aGlzIGRhdGEgc291cmNlIHRvIHRoZSB0YWJsZS4gVGhlIHRhYmxlIHdpbGwgb25seSB1cGRhdGUgd2hlblxuICAgKiB0aGUgcmV0dXJuZWQgc3RyZWFtIGVtaXRzIG5ldyBpdGVtcy5cbiAgICogQHJldHVybnMgQSBzdHJlYW0gb2YgdGhlIGl0ZW1zIHRvIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgY29ubmVjdCgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGlzdFN1YmplY3QucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RTdWJqZWN0LnZhbHVlLmZpbHRlcihpdGVtID0+IHsgcmV0dXJuICFpdGVtLl9kZXN0cm95IH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqICBDYWxsZWQgd2hlbiB0aGUgdGFibGUgaXMgYmVpbmcgZGVzdHJveWVkLiBVc2UgdGhpcyBmdW5jdGlvbiwgdG8gY2xlYW4gdXBcbiAgICogYW55IG9wZW4gY29ubmVjdGlvbnMgb3IgZnJlZSBhbnkgaGVsZCByZXNvdXJjZXMgdGhhdCB3ZXJlIHNldCB1cCBkdXJpbmcgY29ubmVjdC5cbiAgICovXG4gIGRpc2Nvbm5lY3QoKTogdm9pZCB7fVxufVxuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
3
|
+
import { MatTable } from '@angular/material/table';
|
|
4
|
+
import { DraggableTableDataSource } from './draggable-table-datasource';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../services/array.service";
|
|
7
|
+
import * as i2 from "@angular/material/table";
|
|
8
|
+
import * as i3 from "@angular/material/icon";
|
|
9
|
+
import * as i4 from "../../details/fields/dynamic-attribute-display/dynamic-attribute-display.component";
|
|
10
|
+
import * as i5 from "@angular/material/button";
|
|
11
|
+
import * as i6 from "@angular/cdk/drag-drop";
|
|
12
|
+
import * as i7 from "@angular/common";
|
|
13
|
+
import * as i8 from "@angular/flex-layout/extended";
|
|
14
|
+
import * as i9 from "@ngx-translate/core";
|
|
15
|
+
export class DraggableTableComponent {
|
|
16
|
+
constructor(arrayService) {
|
|
17
|
+
this.arrayService = arrayService;
|
|
18
|
+
this.dataSource = new DraggableTableDataSource();
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges() {
|
|
21
|
+
this.dataSource.columns = this.listColumnAttrs();
|
|
22
|
+
this.dataSource.listSubject.next(this.items);
|
|
23
|
+
}
|
|
24
|
+
listColumnAttrs() {
|
|
25
|
+
let columnAttrs = this.columns.map(column => { return column.attr; });
|
|
26
|
+
if (this.writable)
|
|
27
|
+
columnAttrs.unshift('drag');
|
|
28
|
+
if (this.writable)
|
|
29
|
+
columnAttrs.push('delete');
|
|
30
|
+
return columnAttrs;
|
|
31
|
+
}
|
|
32
|
+
onDropped(event) {
|
|
33
|
+
const previousIndex = this.items.findIndex(item => item === event.item.data);
|
|
34
|
+
moveItemInArray(this.items, previousIndex, event.currentIndex);
|
|
35
|
+
this.refreshOrdinals();
|
|
36
|
+
this.dataSource.listSubject.next(this.items);
|
|
37
|
+
}
|
|
38
|
+
onDeleteClicked(row) {
|
|
39
|
+
if (row.id) {
|
|
40
|
+
row._destroy = 1;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.arrayService.removeItem(this.items, row);
|
|
44
|
+
}
|
|
45
|
+
this.refreshOrdinals();
|
|
46
|
+
this.dataSource.listSubject.next(this.items);
|
|
47
|
+
}
|
|
48
|
+
refreshOrdinals() {
|
|
49
|
+
let currentOrdinal = 1;
|
|
50
|
+
this.items.forEach((item) => {
|
|
51
|
+
if (item._destroy)
|
|
52
|
+
return;
|
|
53
|
+
item[this.sortAttr] = currentOrdinal;
|
|
54
|
+
currentOrdinal += 1;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
DraggableTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DraggableTableComponent, deps: [{ token: i1.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
DraggableTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DraggableTableComponent, selector: "mantle-draggable-table", inputs: { columns: "columns", items: "items", sortAttr: "sortAttr", writable: "writable" }, viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-table\n #table\n [ngClass]=\"{ 'draggable-table-details': !writable, 'draggable-table-form': writable }\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDropped($event)\"\n cdkDropListData=\"items\"\n [cdkDropListDisabled]=\"!writable\"\n [cdkDropListSortingDisabled]=\"!writable\">\n\n <!-- Drag Column -->\n <ng-container matColumnDef=\"drag\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-icon class=\"drag-cursor\" (mousedown)=\"true;\">\n drag_indicator\n </mat-icon>\n </td>\n </ng-container>\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 matColumnDef=\"delete\" *ngIf=\"writable\">\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button mat-icon-button (click)=\"onDeleteClicked(row)\">\n <mat-icon>\n delete\n </mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"dataSource.columns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dataSource.columns;\"\n cdkDrag\n [cdkDragData]=\"row\">\n </tr>\n</mat-table>\n", styles: ["mat-table{width:100%}mat-table tr{height:40px;vertical-align:middle}mat-table th,mat-table td{padding-left:10px!important;padding-right:10px!important;border-width:0px}mat-table th:first-of-type,mat-table td:first-of-type{padding-left:5px!important}mat-table th:last-of-type,mat-table td:last-of-type{padding-right:5px!important}.draggable-table-details th,.draggable-table-details td{border-width:0px}.draggable-table-form tr{border-width:1px;border-style:solid}.draggable-table-form td{border-top:1px solid gray;border-bottom:1px solid gray}.draggable-table-form td:first-of-type{border-left:1px solid gray}.draggable-table-form td:last-of-type{border-right:1px solid gray}.drag-cursor{margin-right:16px;cursor:move}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background-color:#fff}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .mat-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], components: [{ type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.DynamicAttributeDisplayComponent, selector: "mantle-dynamic-attribute-display", inputs: ["value", "field", "fieldType", "options"] }, { 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: 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: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "id", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListAutoScrollDisabled", "cdkDropListOrientation", "cdkDropListLockAxis", "cdkDropListData", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragDisabled", "cdkDragStartDelay", "cdkDragLockAxis", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragBoundary", "cdkDragRootElement", "cdkDragPreviewContainer", "cdkDragData", "cdkDragFreeDragPosition"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], pipes: { "translate": i9.TranslatePipe } });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DraggableTableComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: 'mantle-draggable-table',
|
|
64
|
+
templateUrl: './draggable-table.component.html',
|
|
65
|
+
styleUrls: ['./draggable-table.component.scss']
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.ArrayService }]; }, propDecorators: { table: [{
|
|
68
|
+
type: ViewChild,
|
|
69
|
+
args: [MatTable]
|
|
70
|
+
}], columns: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], items: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], sortAttr: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], writable: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0cy9kcmFnZ2FibGUtdGFibGUvZHJhZ2dhYmxlLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0cy9kcmFnZ2FibGUtdGFibGUvZHJhZ2dhYmxlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7OztBQVF4RSxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBMEI7UUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUTtRQUN0QixJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDVixHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNsQjthQUNJO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsY0FBYyxDQUFDO1lBQ3JDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEF0RFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsaU1BRXZCLFFBQVEscUVDZHJCLHNrREE4Q0E7MkZEbENhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDaEQ7bUdBR3NCLEtBQUs7c0JBQXpCLFNBQVM7dUJBQUMsUUFBUTtnQkFFVixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBNYXRUYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IEFycmF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FycmF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ2dhYmxlVGFibGVEYXRhU291cmNlIH0gZnJvbSAnLi9kcmFnZ2FibGUtdGFibGUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi9kYXRhLXN0cnVjdHVyZXMvZHluYW1pYy1sYXlvdXQuc3RydWN0dXJlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWRyYWdnYWJsZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmFnZ2FibGUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcmFnZ2FibGUtdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnZ2FibGVUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZChNYXRUYWJsZSkgdGFibGUhOiBNYXRUYWJsZTxhbnk+O1xuXG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBEeW5hbWljVGFibGVDb2x1bW5bXTtcbiAgQElucHV0KCkgaXRlbXMhOiBhbnlbXTtcbiAgQElucHV0KCkgc29ydEF0dHIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdyaXRhYmxlITogYm9vbGVhbjtcblxuICBwdWJsaWMgZGF0YVNvdXJjZTogRHJhZ2dhYmxlVGFibGVEYXRhU291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXJyYXlTZXJ2aWNlOiBBcnJheVNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgRHJhZ2dhYmxlVGFibGVEYXRhU291cmNlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuY29sdW1ucyA9IHRoaXMubGlzdENvbHVtbkF0dHJzKCk7XG4gICAgdGhpcy5kYXRhU291cmNlLmxpc3RTdWJqZWN0Lm5leHQodGhpcy5pdGVtcyk7XG4gIH1cblxuICBsaXN0Q29sdW1uQXR0cnMoKTogc3RyaW5nW10ge1xuICAgIGxldCBjb2x1bW5BdHRycyA9IHRoaXMuY29sdW1ucy5tYXAoY29sdW1uID0+IHsgcmV0dXJuIGNvbHVtbi5hdHRyOyB9KTtcbiAgICBpZiAodGhpcy53cml0YWJsZSkgY29sdW1uQXR0cnMudW5zaGlmdCgnZHJhZycpO1xuICAgIGlmICh0aGlzLndyaXRhYmxlKSBjb2x1bW5BdHRycy5wdXNoKCdkZWxldGUnKTtcbiAgICByZXR1cm4gY29sdW1uQXR0cnM7XG4gIH1cblxuICBvbkRyb3BwZWQoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZz4pIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBldmVudC5pdGVtLmRhdGEpO1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLml0ZW1zLCBwcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMucmVmcmVzaE9yZGluYWxzKCk7XG4gICAgdGhpcy5kYXRhU291cmNlLmxpc3RTdWJqZWN0Lm5leHQodGhpcy5pdGVtcyk7XG4gIH1cblxuICBvbkRlbGV0ZUNsaWNrZWQocm93OiBhbnkpIHtcbiAgICBpZiAocm93LmlkKSB7XG4gICAgICByb3cuX2Rlc3Ryb3kgPSAxO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYXJyYXlTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy5pdGVtcywgcm93KTtcbiAgICB9XG5cbiAgICB0aGlzLnJlZnJlc2hPcmRpbmFscygpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5saXN0U3ViamVjdC5uZXh0KHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgcmVmcmVzaE9yZGluYWxzKCkge1xuICAgIGxldCBjdXJyZW50T3JkaW5hbCA9IDE7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmIChpdGVtLl9kZXN0cm95KSByZXR1cm47XG5cbiAgICAgIGl0ZW1bdGhpcy5zb3J0QXR0cl0gPSBjdXJyZW50T3JkaW5hbDtcbiAgICAgIGN1cnJlbnRPcmRpbmFsICs9IDE7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPG1hdC10YWJsZVxuICAjdGFibGVcbiAgW25nQ2xhc3NdPVwieyAnZHJhZ2dhYmxlLXRhYmxlLWRldGFpbHMnOiAhd3JpdGFibGUsICdkcmFnZ2FibGUtdGFibGUtZm9ybSc6IHdyaXRhYmxlIH1cIlxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgY2RrRHJvcExpc3RcbiAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJvbkRyb3BwZWQoJGV2ZW50KVwiXG4gIGNka0Ryb3BMaXN0RGF0YT1cIml0ZW1zXCJcbiAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiIXdyaXRhYmxlXCJcbiAgW2Nka0Ryb3BMaXN0U29ydGluZ0Rpc2FibGVkXT1cIiF3cml0YWJsZVwiPlxuXG4gIDwhLS0gRHJhZyBDb2x1bW4gLS0+XG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZHJhZ1wiICpuZ0lmPVwid3JpdGFibGVcIj5cbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZHJhZy1jdXJzb3JcIiAobW91c2Vkb3duKT1cInRydWU7XCI+XG4gICAgICAgIGRyYWdfaW5kaWNhdG9yXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ7eyBjb2x1bW4uYXR0ciB9fVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57eyBjb2x1bW4uaGVhZGVyIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cbiAgICAgICAgPG1hbnRsZS1keW5hbWljLWF0dHJpYnV0ZS1kaXNwbGF5IFtmaWVsZFR5cGVdPVwiY29sdW1uLnR5cGVcIiBbdmFsdWVdPVwicm93W2NvbHVtbi5hdHRyXVwiIFtmaWVsZF09XCJjb2x1bW5cIj48L21hbnRsZS1keW5hbWljLWF0dHJpYnV0ZS1kaXNwbGF5PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZWxldGVcIiAqbmdJZj1cIndyaXRhYmxlXCI+XG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrZWQocm93KVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgZGVsZXRlXG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3RkPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRhdGFTb3VyY2UuY29sdW1uc1wiPjwvdHI+XG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkYXRhU291cmNlLmNvbHVtbnM7XCJcbiAgICBjZGtEcmFnXG4gICAgW2Nka0RyYWdEYXRhXT1cInJvd1wiPlxuICA8L3RyPlxuPC9tYXQtdGFibGU+XG4iXX0=
|
|
@@ -86,4 +86,4 @@ function compare(a, b, isAsc) {
|
|
|
86
86
|
else
|
|
87
87
|
return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvY29tcG9uZW50cy93aWRnZXRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxVQUFlO0lBTXpELFlBQW9CLFlBQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFIOUMsWUFBTyxHQUF5QixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBMkIsSUFBSSxlQUFlLENBQVEsRUFBRSxDQUFDLENBQUM7SUFJckUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDL0Isb0VBQW9FO1lBQ3BFLHdDQUF3QztZQUN4QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMzRixHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLENBQUM7cUJBQzlELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1NBQ3hGO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsS0FBVSxDQUFDO0lBRXJCOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxJQUFXO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN0RSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssYUFBYSxDQUFDLElBQVc7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVqRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDekIsUUFBTyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxFQUFFO2dCQUNuQixLQUFLLGNBQWMsQ0FBQztnQkFDcEIsS0FBSyxVQUFVO29CQUNiLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDdkcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLEtBQUssS0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3hELE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNsQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxvRkFBb0Y7QUFDcEYsU0FBUyxPQUFPLENBQUMsQ0FBa0IsRUFBRSxDQUFrQixFQUFFLEtBQWM7SUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sQ0FBQyxDQUFDOztRQUNoQixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFycmF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FycmF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5cbi8qKlxuICogRGF0YSBzb3VyY2UgZm9yIHRoZSBMaXN0IFBhZ2Ugdmlldy4gVGhpcyBjbGFzcyBzaG91bGRcbiAqIGVuY2Fwc3VsYXRlIGFsbCBsb2dpYyBmb3IgZmV0Y2hpbmcgYW5kIG1hbmlwdWxhdGluZyB0aGUgZGlzcGxheWVkIGRhdGFcbiAqIChpbmNsdWRpbmcgc29ydGluZywgcGFnaW5hdGlvbiwgYW5kIHNlYXJjaGluZykuXG4gKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZTxhbnk+IHtcbiAgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3IgfCB1bmRlZmluZWQ7XG4gIHNvcnQ6IE1hdFNvcnQgfCB1bmRlZmluZWQ7XG4gIGNvbHVtbnM6IER5bmFtaWNUYWJsZUNvbHVtbltdID0gW107XG4gIGxpc3RTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXJyYXlTZXJ2aWNlOiBBcnJheVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbm5lY3QgdGhpcyBkYXRhIHNvdXJjZSB0byB0aGUgdGFibGUuIFRoZSB0YWJsZSB3aWxsIG9ubHkgdXBkYXRlIHdoZW5cbiAgICogdGhlIHJldHVybmVkIHN0cmVhbSBlbWl0cyBuZXcgaXRlbXMuXG4gICAqIEByZXR1cm5zIEEgc3RyZWFtIG9mIHRoZSBpdGVtcyB0byBiZSByZW5kZXJlZC5cbiAgICovXG4gIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIGlmICh0aGlzLnBhZ2luYXRvciAmJiB0aGlzLnNvcnQpIHtcbiAgICAgIC8vIENvbWJpbmUgZXZlcnl0aGluZyB0aGF0IGFmZmVjdHMgdGhlIHJlbmRlcmVkIGRhdGEgaW50byBvbmUgdXBkYXRlXG4gICAgICAvLyBzdHJlYW0gZm9yIHRoZSBkYXRhLXRhYmxlIHRvIGNvbnN1bWUuXG4gICAgICByZXR1cm4gbWVyZ2UodGhpcy5saXN0U3ViamVjdC5hc09ic2VydmFibGUoKSwgdGhpcy5wYWdpbmF0b3IucGFnZSwgdGhpcy5zb3J0LnNvcnRDaGFuZ2UpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZWREYXRhKHRoaXMuZ2V0U29ydGVkRGF0YShbLi4udGhpcy5saXN0U3ViamVjdC52YWx1ZSBdKSlcbiAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiB7IHJldHVybiAhaXRlbS5fZGVzdHJveSB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdQbGVhc2Ugc2V0IHRoZSBwYWdpbmF0b3IgYW5kIHNvcnQgb24gdGhlIGRhdGEgc291cmNlIGJlZm9yZSBjb25uZWN0aW5nLicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQ2FsbGVkIHdoZW4gdGhlIHRhYmxlIGlzIGJlaW5nIGRlc3Ryb3llZC4gVXNlIHRoaXMgZnVuY3Rpb24sIHRvIGNsZWFuIHVwXG4gICAqIGFueSBvcGVuIGNvbm5lY3Rpb25zIG9yIGZyZWUgYW55IGhlbGQgcmVzb3VyY2VzIHRoYXQgd2VyZSBzZXQgdXAgZHVyaW5nIGNvbm5lY3QuXG4gICAqL1xuICBkaXNjb25uZWN0KCk6IHZvaWQge31cblxuICAvKipcbiAgICogUGFnaW5hdGUgdGhlIGRhdGEgKGNsaWVudC1zaWRlKS4gSWYgeW91J3JlIHVzaW5nIHNlcnZlci1zaWRlIHBhZ2luYXRpb24sXG4gICAqIHRoaXMgd291bGQgYmUgcmVwbGFjZWQgYnkgcmVxdWVzdGluZyB0aGUgYXBwcm9wcmlhdGUgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAqL1xuICBwcml2YXRlIGdldFBhZ2VkRGF0YShkYXRhOiBhbnlbXSk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLnBhZ2luYXRvci5wYWdlSW5kZXggKiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZTtcbiAgICAgIHJldHVybiBkYXRhLnNwbGljZShzdGFydEluZGV4LCB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0IHRoZSBkYXRhIChjbGllbnQtc2lkZSkuIElmIHlvdSdyZSB1c2luZyBzZXJ2ZXItc2lkZSBzb3J0aW5nLFxuICAgKiB0aGlzIHdvdWxkIGJlIHJlcGxhY2VkIGJ5IHJlcXVlc3RpbmcgdGhlIGFwcHJvcHJpYXRlIGRhdGEgZnJvbSB0aGUgc2VydmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTb3J0ZWREYXRhKGRhdGE6IGFueVtdKTogYW55W10ge1xuICAgIGlmICghdGhpcy5zb3J0KSByZXR1cm4gZGF0YTtcblxuICAgIGlmICghdGhpcy5zb3J0LmFjdGl2ZSB8fCAhdGhpcy5zb3J0LmRpcmVjdGlvbikge1xuICAgICAgdGhpcy5zb3J0LmFjdGl2ZSA9ICdpZCc7XG4gICAgICB0aGlzLnNvcnQuZGlyZWN0aW9uID0gJ2FzYyc7XG4gICAgfVxuXG4gICAgY29uc3Qgc29ydEF0dHIgPSB0aGlzLnNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGlzQXNjID0gdGhpcy5zb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYyc7XG4gICAgY29uc3QgY29sdW1uID0gdGhpcy5hcnJheVNlcnZpY2UuZmluZEJ5QXR0cmlidXRlKHRoaXMuY29sdW1ucywgJ2F0dHInLCBzb3J0QXR0cik7XG5cbiAgICBkYXRhLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgc3dpdGNoKGNvbHVtbj8udHlwZSkge1xuICAgICAgICBjYXNlICdhdXRvY29tcGxldGUnOlxuICAgICAgICBjYXNlICdkcm9wZG93bic6XG4gICAgICAgICAgbGV0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5hcnJheVNlcnZpY2UuZmluZEJ5QXR0cmlidXRlKGNvbHVtbi5vcHRpb25zLnZhbHVlcywgJ3ZhbHVlJywgaXRlbVtzb3J0QXR0cl0pO1xuICAgICAgICAgIGl0ZW1bJ19zb3J0J10gPSBzZWxlY3RlZE9wdGlvbj8ubGFiZWwgfHwgaXRlbVtzb3J0QXR0cl07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaXRlbVsnX3NvcnQnXSA9IGl0ZW1bc29ydEF0dHJdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xuICAgICAgcmV0dXJuIGNvbXBhcmUoYVsnX3NvcnQnXSwgYlsnX3NvcnQnXSwgaXNBc2MpO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKiBTaW1wbGUgc29ydCBjb21wYXJhdG9yIGZvciBleGFtcGxlIElEL05hbWUgY29sdW1ucyAoZm9yIGNsaWVudC1zaWRlIHNvcnRpbmcpLiAqL1xuZnVuY3Rpb24gY29tcGFyZShhOiBzdHJpbmcgfCBudW1iZXIsIGI6IHN0cmluZyB8IG51bWJlciwgaXNBc2M6IGJvb2xlYW4pOiBudW1iZXIge1xuICBpZiAoYSA9PSBiKSByZXR1cm4gMDtcbiAgZWxzZSByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG59XG4iXX0=
|
|
@@ -2,7 +2,6 @@ import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core
|
|
|
2
2
|
import { MatPaginator } from '@angular/material/paginator';
|
|
3
3
|
import { MatSort } from '@angular/material/sort';
|
|
4
4
|
import { MatTable } from '@angular/material/table';
|
|
5
|
-
import { ArrayService } from '../../../services/array.service';
|
|
6
5
|
import { DynamicTableDataSource } from './dynamic-table-datasource';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "../../../services/array.service";
|
|
@@ -27,9 +26,8 @@ export class DynamicTableComponent {
|
|
|
27
26
|
this.dataSource.listSubject.next(this.items);
|
|
28
27
|
}
|
|
29
28
|
listColumnAttrs() {
|
|
30
|
-
return this.columns.
|
|
31
|
-
return column.attr;
|
|
32
|
-
});
|
|
29
|
+
return this.columns.filter(column => { return !column.hidden; })
|
|
30
|
+
.map(column => { return column.attr; });
|
|
33
31
|
}
|
|
34
32
|
onRowClicked(row) {
|
|
35
33
|
if (!this.withClickableRows)
|
|
@@ -37,9 +35,9 @@ export class DynamicTableComponent {
|
|
|
37
35
|
this.rowClicked.emit(row);
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
|
-
DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
41
|
-
DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
38
|
+
DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i1.ArrayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: DynamicTableComponent, selector: "mantle-dynamic-table", inputs: { columns: "columns", items: "items", withClickableRows: "withClickableRows" }, outputs: { rowClicked: "rowClicked" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "table", first: true, predicate: MatTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"horizontal-scroll-table\">\n <table mat-table class=\"full-width\" matSort>\n\n <ng-container *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"!column.hidden\">\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type != 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 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\n <ng-container matColumnDef=\"{{ column.attr }}\" *ngIf=\"column.type == 'actions'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]=\"true\">{{ column.header }}</th>\n <td mat-cell *matCellDef=\"let row\" class=\"actions-column\">\n <mantle-dynamic-attribute-display [fieldType]=\"column.type\" [value]=\"row\" [field]=\"column\"></mantle-dynamic-attribute-display>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"listColumnAttrs()\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: listColumnAttrs();\"\n (click)=\"onRowClicked(row)\"\n [class.clickable-row]=\"withClickableRows\">\n </tr>\n\n </table>\n</div>\n\n<mat-paginator #paginator\n [length]=\"items.length\"\n [pageIndex]=\"0\"\n [pageSize]=\"10\"\n [pageSizeOptions]=\"[5, 10, 20]\">\n</mat-paginator>\n", styles: [".actions-column{width:1px;text-align:right}\n"], components: [{ type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i4.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"] }, { type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: DynamicTableComponent, decorators: [{
|
|
43
41
|
type: Component,
|
|
44
42
|
args: [{
|
|
45
43
|
selector: 'mantle-dynamic-table',
|
|
@@ -64,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
64
62
|
}], rowClicked: [{
|
|
65
63
|
type: Output
|
|
66
64
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9jb21wb25lbnRzL3dpZGdldHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL2NvbXBvbmVudHMvd2lkZ2V0cy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQU9wRSxNQUFNLE9BQU8scUJBQXFCO0lBYWhDLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSnBDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBSzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPO1FBRXBDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7O2tIQXJDVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixzT0FFckIsWUFBWSx1RUFDWixPQUFPLHdFQUNQLFFBQVEscUVDakJyQixtaURBb0NBOzJGRHZCYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzlDO21HQUcwQixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNHLEtBQUs7c0JBQXpCLFNBQVM7dUJBQUMsUUFBUTtnQkFFVixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBBcnJheVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcnJheS5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRHluYW1pY1RhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vZHluYW1pYy10YWJsZS1kYXRhc291cmNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFudGxlLWR5bmFtaWMtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3IhOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydCE6IE1hdFNvcnQ7XG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUpIHRhYmxlITogTWF0VGFibGU8YW55PjtcblxuICBASW5wdXQoKSBjb2x1bW5zITogRHluYW1pY1RhYmxlQ29sdW1uW107XG4gIEBJbnB1dCgpIGl0ZW1zITogYW55W107XG4gIEBJbnB1dCgpIHdpdGhDbGlja2FibGVSb3dzITogYm9vbGVhbjtcbiAgQE91dHB1dCgpIHJvd0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIGRhdGFTb3VyY2U6IER5bmFtaWNUYWJsZURhdGFTb3VyY2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcnJheVNlcnZpY2U6IEFycmF5U2VydmljZSkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBEeW5hbWljVGFibGVEYXRhU291cmNlKHRoaXMuYXJyYXlTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gICAgdGhpcy5kYXRhU291cmNlLmNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XG4gICAgdGhpcy50YWJsZS5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLmxpc3RTdWJqZWN0Lm5leHQodGhpcy5pdGVtcyk7XG4gIH1cblxuICBsaXN0Q29sdW1uQXR0cnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiB7IHJldHVybiAhY29sdW1uLmhpZGRlbjsgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgLm1hcChjb2x1bW4gPT4geyByZXR1cm4gY29sdW1uLmF0dHI7IH0pO1xuICB9XG5cbiAgb25Sb3dDbGlja2VkKHJvdzogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpdGhDbGlja2FibGVSb3dzKSByZXR1cm47XG5cbiAgICB0aGlzLnJvd0NsaWNrZWQuZW1pdChyb3cpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJob3Jpem9udGFsLXNjcm9sbC10YWJsZVwiPlxuICA8dGFibGUgbWF0LXRhYmxlIGNsYXNzPVwiZnVsbC13aWR0aFwiIG1hdFNvcnQ+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4uaGlkZGVuXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwie3sgY29sdW1uLmF0dHIgfX1cIiAqbmdJZj1cImNvbHVtbi50eXBlICE9ICdhY3Rpb25zJ1wiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7IGNvbHVtbi5oZWFkZXIgfX08L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cbiAgICAgICAgICAgIDxtYW50bGUtZHluYW1pYy1hdHRyaWJ1dGUtZGlzcGxheSBbZmllbGRUeXBlXT1cImNvbHVtbi50eXBlXCIgW3ZhbHVlXT1cInJvd1tjb2x1bW4uYXR0cl1cIiBbZmllbGRdPVwiY29sdW1uXCI+PC9tYW50bGUtZHluYW1pYy1hdHRyaWJ1dGUtZGlzcGxheT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInt7IGNvbHVtbi5hdHRyIH19XCIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PSAnYWN0aW9ucydcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBbZGlzYWJsZWRdPVwidHJ1ZVwiPnt7IGNvbHVtbi5oZWFkZXIgfX08L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImFjdGlvbnMtY29sdW1uXCI+XG4gICAgICAgICAgICA8bWFudGxlLWR5bmFtaWMtYXR0cmlidXRlLWRpc3BsYXkgW2ZpZWxkVHlwZV09XCJjb2x1bW4udHlwZVwiIFt2YWx1ZV09XCJyb3dcIiBbZmllbGRdPVwiY29sdW1uXCI+PC9tYW50bGUtZHluYW1pYy1hdHRyaWJ1dGUtZGlzcGxheT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJsaXN0Q29sdW1uQXR0cnMoKVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGxpc3RDb2x1bW5BdHRycygpO1wiXG4gICAgICAgIChjbGljayk9XCJvblJvd0NsaWNrZWQocm93KVwiXG4gICAgICAgIFtjbGFzcy5jbGlja2FibGUtcm93XT1cIndpdGhDbGlja2FibGVSb3dzXCI+XG4gICAgPC90cj5cblxuICA8L3RhYmxlPlxuPC9kaXY+XG5cbjxtYXQtcGFnaW5hdG9yICNwYWdpbmF0b3JcbiAgICBbbGVuZ3RoXT1cIml0ZW1zLmxlbmd0aFwiXG4gICAgW3BhZ2VJbmRleF09XCIwXCJcbiAgICBbcGFnZVNpemVdPVwiMTBcIlxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyMF1cIj5cbjwvbWF0LXBhZ2luYXRvcj5cbiJdfQ==
|