@porscheinformatik/material-addons 17.0.3 → 17.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/button/button.mjs +3 -1
- package/esm2022/lib/button/button.module.mjs +34 -4
- package/esm2022/lib/button/flat-button/link-button.component.mjs +2 -2
- package/esm2022/lib/button/icon-button/icon-button.component.mjs +2 -2
- package/esm2022/lib/button/mad-basic-button.mjs +2 -2
- package/esm2022/lib/button/mad-button/mad-button.directive.mjs +60 -0
- package/esm2022/lib/button/mad-button-group/mad-button-group.component.mjs +20 -0
- package/esm2022/lib/button/outline-button/outline-button.component.mjs +6 -3
- package/esm2022/lib/button/primary-button/primary-button.component.mjs +3 -3
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/card/card.mjs +1 -1
- package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +5 -5
- package/esm2022/lib/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/data-table/data-table.mjs +1 -1
- package/esm2022/lib/file-upload/drag-and-drop-directive.directive.mjs +2 -2
- package/esm2022/lib/file-upload/file-upload.component.mjs +13 -13
- package/esm2022/lib/layout/content-panel/content-header/content-header.component.mjs +11 -0
- package/esm2022/lib/layout/content-panel/content-panel-container/content-panel-container.component.mjs +11 -0
- package/esm2022/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +11 -0
- package/esm2022/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +11 -0
- package/esm2022/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.mjs +11 -0
- package/esm2022/lib/layout/content-panel/content-panel.module.mjs +47 -0
- package/esm2022/lib/layout/content-panel/main-container/main-container.component.mjs +11 -0
- package/esm2022/lib/layout/flowbar/flowbar.component.mjs +190 -0
- package/esm2022/lib/{flowbar → layout/flowbar}/flowbar.module.mjs +1 -1
- package/esm2022/lib/layout/sidebar/sidebar-item/sidebar-item.component.mjs +11 -0
- package/esm2022/lib/layout/sidebar/sidebar.component.mjs +19 -0
- package/esm2022/lib/layout/sidebar/sidebar.module.mjs +21 -0
- package/esm2022/lib/layout/toolbar/toolbar-action.interface.mjs +2 -0
- package/esm2022/lib/layout/toolbar/toolbar.component.mjs +78 -0
- package/esm2022/lib/layout/toolbar/toolbar.module.mjs +56 -0
- package/esm2022/lib/layout/toolbar/toolbar.service.mjs +124 -0
- package/esm2022/lib/material-addons.module.mjs +8 -4
- package/esm2022/lib/numeric-field/numeric-field.directive.mjs +4 -4
- package/esm2022/lib/numeric-field/numeric-field.mjs +1 -1
- package/esm2022/lib/quick-list/base-quick-list.component.mjs +2 -4
- package/esm2022/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +3 -3
- package/esm2022/lib/quick-list/quick-list.component.mjs +3 -3
- package/esm2022/lib/quick-list/quick-list.mjs +1 -1
- package/esm2022/lib/quick-list/quick-list.module.mjs +25 -5
- package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs +4 -4
- package/esm2022/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.mjs +4 -4
- package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +3 -3
- package/esm2022/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +3 -3
- package/esm2022/lib/readonly/readonly-form-field.module.mjs +2 -2
- package/esm2022/lib/stepper/step-header/step-header.component.mjs +3 -3
- package/esm2022/lib/stepper/stepper.component.mjs +7 -7
- package/esm2022/lib/stepper/stepper.module.mjs +2 -2
- package/esm2022/lib/table/table.component.mjs +3 -3
- package/esm2022/lib/table/table.mjs +1 -1
- package/esm2022/lib/throttle-click/throttle-click.directive.mjs +2 -2
- package/esm2022/public_api.mjs +17 -13
- package/fesm2022/porscheinformatik-material-addons.mjs +505 -327
- package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
- package/lib/button/button.d.ts +2 -0
- package/lib/button/button.d.ts.map +1 -1
- package/lib/button/button.module.d.ts +8 -6
- package/lib/button/button.module.d.ts.map +1 -1
- package/lib/button/flat-button/link-button.component.d.ts.map +1 -1
- package/lib/button/icon-button/icon-button.component.d.ts.map +1 -1
- package/lib/button/mad-basic-button.d.ts.map +1 -1
- package/lib/button/mad-button/mad-button.directive.d.ts +23 -0
- package/lib/button/mad-button/mad-button.directive.d.ts.map +1 -0
- package/lib/button/mad-button-group/mad-button-group.component.d.ts +7 -0
- package/lib/button/mad-button-group/mad-button-group.component.d.ts.map +1 -0
- package/lib/button/outline-button/outline-button.component.d.ts +3 -1
- package/lib/button/outline-button/outline-button.component.d.ts.map +1 -1
- package/lib/button/primary-button/primary-button.component.d.ts.map +1 -1
- package/lib/card/card.d.ts.map +1 -1
- package/lib/data-table/data-table.d.ts.map +1 -1
- package/lib/file-upload/drag-and-drop-directive.directive.d.ts.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +1 -1
- package/lib/file-upload/file-upload.component.d.ts.map +1 -1
- package/lib/layout/content-panel/content-header/content-header.component.d.ts.map +1 -0
- package/lib/{content-panel → layout/content-panel}/content-panel-container/content-panel-container.component.d.ts +1 -1
- package/lib/layout/content-panel/content-panel-container/content-panel-container.component.d.ts.map +1 -0
- package/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts.map +1 -0
- package/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts.map +1 -0
- package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts +6 -0
- package/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.d.ts.map +1 -0
- package/lib/{content-panel → layout/content-panel}/content-panel.module.d.ts +4 -3
- package/lib/layout/content-panel/content-panel.module.d.ts.map +1 -0
- package/lib/layout/content-panel/main-container/main-container.component.d.ts.map +1 -0
- package/lib/layout/flowbar/flowbar.component.d.ts.map +1 -0
- package/lib/layout/flowbar/flowbar.module.d.ts.map +1 -0
- package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts +6 -0
- package/lib/layout/sidebar/sidebar-item/sidebar-item.component.d.ts.map +1 -0
- package/lib/layout/sidebar/sidebar.component.d.ts +8 -0
- package/lib/layout/sidebar/sidebar.component.d.ts.map +1 -0
- package/lib/layout/sidebar/sidebar.module.d.ts +12 -0
- package/lib/layout/sidebar/sidebar.module.d.ts.map +1 -0
- package/lib/layout/toolbar/toolbar-action.interface.d.ts.map +1 -0
- package/lib/layout/toolbar/toolbar.component.d.ts.map +1 -0
- package/lib/{toolbar → layout/toolbar}/toolbar.module.d.ts +2 -2
- package/lib/layout/toolbar/toolbar.module.d.ts.map +1 -0
- package/lib/layout/toolbar/toolbar.service.d.ts.map +1 -0
- package/lib/material-addons.module.d.ts +3 -2
- package/lib/material-addons.module.d.ts.map +1 -1
- package/lib/numeric-field/numeric-field.d.ts.map +1 -1
- package/lib/numeric-field/numeric-field.directive.d.ts.map +1 -1
- package/lib/quick-list/base-quick-list.component.d.ts +1 -1
- package/lib/quick-list/base-quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts +1 -1
- package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts.map +1 -1
- package/lib/quick-list/quick-list.component.d.ts +1 -1
- package/lib/quick-list/quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/quick-list.d.ts.map +1 -1
- package/lib/quick-list/quick-list.module.d.ts.map +1 -1
- package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts +2 -2
- package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts +2 -2
- package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts.map +1 -1
- package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts.map +1 -1
- package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts.map +1 -1
- package/lib/stepper/step-header/step-header.component.d.ts.map +1 -1
- package/lib/stepper/stepper.component.d.ts.map +1 -1
- package/lib/table/table.d.ts.map +1 -1
- package/package.json +4 -2
- package/public_api.d.ts +16 -12
- package/public_api.d.ts.map +1 -1
- package/themes/carcat.scss +38 -0
- package/themes/common/button.scss +34 -0
- package/themes/common/styles.scss +169 -40
- package/themes/common/theme.scss +57 -0
- package/themes/pbv.scss +16 -26
- package/themes/poa.scss +30 -39
- package/esm2022/lib/content-panel/content-header/content-header.component.mjs +0 -11
- package/esm2022/lib/content-panel/content-panel-container/content-panel-container.component.mjs +0 -11
- package/esm2022/lib/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +0 -11
- package/esm2022/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +0 -11
- package/esm2022/lib/content-panel/content-panel.module.mjs +0 -42
- package/esm2022/lib/content-panel/main-container/main-container.component.mjs +0 -11
- package/esm2022/lib/flowbar/flowbar.component.mjs +0 -190
- package/esm2022/lib/toolbar/toolbar-action.interface.mjs +0 -2
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -78
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -56
- package/esm2022/lib/toolbar/toolbar.service.mjs +0 -124
- package/lib/content-panel/content-header/content-header.component.d.ts.map +0 -1
- package/lib/content-panel/content-panel-container/content-panel-container.component.d.ts.map +0 -1
- package/lib/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts.map +0 -1
- package/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts.map +0 -1
- package/lib/content-panel/content-panel.module.d.ts.map +0 -1
- package/lib/content-panel/main-container/main-container.component.d.ts.map +0 -1
- package/lib/flowbar/flowbar.component.d.ts.map +0 -1
- package/lib/flowbar/flowbar.module.d.ts.map +0 -1
- package/lib/toolbar/toolbar-action.interface.d.ts.map +0 -1
- package/lib/toolbar/toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/toolbar.module.d.ts.map +0 -1
- package/lib/toolbar/toolbar.service.d.ts.map +0 -1
- /package/lib/{content-panel → layout/content-panel}/content-header/content-header.component.d.ts +0 -0
- /package/lib/{content-panel → layout/content-panel}/content-panel-container-content/content-panel-container-content.component.d.ts +0 -0
- /package/lib/{content-panel → layout/content-panel}/content-panel-container-footer/content-panel-container-footer.component.d.ts +0 -0
- /package/lib/{content-panel → layout/content-panel}/main-container/main-container.component.d.ts +0 -0
- /package/lib/{flowbar → layout/flowbar}/flowbar.component.d.ts +0 -0
- /package/lib/{flowbar → layout/flowbar}/flowbar.module.d.ts +0 -0
- /package/lib/{toolbar → layout/toolbar}/toolbar-action.interface.d.ts +0 -0
- /package/lib/{toolbar → layout/toolbar}/toolbar.component.d.ts +0 -0
- /package/lib/{toolbar → layout/toolbar}/toolbar.service.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContentPanelContainerComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ContentPanelContainerComponent, selector: "mad-content-panel-container", ngImport: i0, template: "<div class=\"content-panel-sidebar-wrapper\">\n <ng-content select=\"mad-content-panel-container-sidebar\"></ng-content>\n <div class=\"content-panel-outer-wrapper\">\n <ng-content select=\"mad-content-panel-container-content\"></ng-content>\n <ng-content select=\"mad-content-panel-container-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;overflow:hidden;display:flex;flex:1 1 auto;min-height:.05rem;background-color:var(--background-color)}.content-panel-outer-wrapper{display:flex;flex:1 1 auto;flex-direction:column}.content-panel-sidebar-wrapper{width:100%;display:flex;flex:1 1 auto;flex-direction:row}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'mad-content-panel-container', template: "<div class=\"content-panel-sidebar-wrapper\">\n <ng-content select=\"mad-content-panel-container-sidebar\"></ng-content>\n <div class=\"content-panel-outer-wrapper\">\n <ng-content select=\"mad-content-panel-container-content\"></ng-content>\n <ng-content select=\"mad-content-panel-container-footer\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:relative;overflow:hidden;display:flex;flex:1 1 auto;min-height:.05rem;background-color:var(--background-color)}.content-panel-outer-wrapper{display:flex;flex:1 1 auto;flex-direction:column}.content-panel-sidebar-wrapper{width:100%;display:flex;flex:1 1 auto;flex-direction:row}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXIvY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXIvY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCO2tHQUE5Qiw4QkFBOEIsbUVDUDNDLHlWQU9BOzsyRkRBYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1jb250ZW50LXBhbmVsLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRQYW5lbENvbnRhaW5lckNvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFuZWwtc2lkZWJhci13cmFwcGVyXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hZC1jb250ZW50LXBhbmVsLWNvbnRhaW5lci1zaWRlYmFyXCI+PC9uZy1jb250ZW50PlxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1wYW5lbC1vdXRlci13cmFwcGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContentPanelContainerContentComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ContentPanelContainerContentComponent, selector: "mad-content-panel-container-content", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{flex:1 1 auto;overflow-y:auto;border-top:.05rem solid #cccccc;padding:1rem}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerContentComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'mad-content-panel-container-content', template: "<ng-content></ng-content>\n", styles: [":host{flex:1 1 auto;overflow-y:auto;border-top:.05rem solid #cccccc;padding:1rem}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50L2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyxxQ0FBcUM7OEdBQXJDLHFDQUFxQztrR0FBckMscUNBQXFDLDJFQ1BsRCw2QkFDQTs7MkZETWEscUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxDb250YWluZXJDb250ZW50Q29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContentPanelContainerFooterComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ContentPanelContainerFooterComponent, selector: "mad-content-panel-container-footer", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{border-top:.05rem solid #cccccc;padding:.25rem 1rem;display:flex;flex:0 0 auto;align-items:center;min-height:2rem}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerFooterComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'mad-content-panel-container-footer', template: "<ng-content></ng-content>\n", styles: [":host{border-top:.05rem solid #cccccc;padding:.25rem 1rem;display:flex;flex:0 0 auto;align-items:center;min-height:2rem}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2xheW91dC9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXItZm9vdGVyL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sb0NBQW9DOzhHQUFwQyxvQ0FBb0M7a0dBQXBDLG9DQUFvQywwRUNQakQsNkJBQ0E7OzJGRE1hLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFBhbmVsQ29udGFpbmVyRm9vdGVyQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContentPanelContainerSidebarComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ContentPanelContainerSidebarComponent, selector: "mad-content-panel-container-sidebar", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{border-top:.05rem solid #cccccc;min-height:2rem;display:flex;flex:0 0 auto}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelContainerSidebarComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'mad-content-panel-container-sidebar', template: "<ng-content></ng-content>\n", styles: [":host{border-top:.05rem solid #cccccc;min-height:2rem;display:flex;flex:0 0 auto}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXItc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1zaWRlYmFyL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLXNpZGViYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXItc2lkZWJhci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyxxQ0FBcUM7OEdBQXJDLHFDQUFxQztrR0FBckMscUNBQXFDLDJFQ1BsRCw2QkFDQTs7MkZETWEscUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtY29udGVudC1wYW5lbC1jb250YWluZXItc2lkZWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1wYW5lbC1jb250YWluZXItc2lkZWJhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxDb250YWluZXJTaWRlYmFyQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ContentHeaderComponent } from './content-header/content-header.component';
|
|
4
|
+
import { ContentPanelContainerComponent } from './content-panel-container/content-panel-container.component';
|
|
5
|
+
import { ContentPanelContainerContentComponent } from './content-panel-container-content/content-panel-container-content.component';
|
|
6
|
+
import { ContentPanelContainerFooterComponent } from './content-panel-container-footer/content-panel-container-footer.component';
|
|
7
|
+
import { ContentPanelContainerSidebarComponent } from './content-panel-container-sidebar/content-panel-container-sidebar.component';
|
|
8
|
+
import { MainContainerComponent } from './main-container/main-container.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class ContentPanelModule {
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelModule, declarations: [ContentHeaderComponent,
|
|
13
|
+
ContentPanelContainerComponent,
|
|
14
|
+
ContentPanelContainerContentComponent,
|
|
15
|
+
ContentPanelContainerFooterComponent,
|
|
16
|
+
ContentPanelContainerSidebarComponent,
|
|
17
|
+
MainContainerComponent], imports: [CommonModule], exports: [ContentHeaderComponent,
|
|
18
|
+
ContentPanelContainerComponent,
|
|
19
|
+
ContentPanelContainerContentComponent,
|
|
20
|
+
ContentPanelContainerFooterComponent,
|
|
21
|
+
ContentPanelContainerSidebarComponent,
|
|
22
|
+
MainContainerComponent] }); }
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelModule, imports: [CommonModule] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ContentPanelModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [
|
|
29
|
+
ContentHeaderComponent,
|
|
30
|
+
ContentPanelContainerComponent,
|
|
31
|
+
ContentPanelContainerContentComponent,
|
|
32
|
+
ContentPanelContainerFooterComponent,
|
|
33
|
+
ContentPanelContainerSidebarComponent,
|
|
34
|
+
MainContainerComponent,
|
|
35
|
+
],
|
|
36
|
+
imports: [CommonModule],
|
|
37
|
+
exports: [
|
|
38
|
+
ContentHeaderComponent,
|
|
39
|
+
ContentPanelContainerComponent,
|
|
40
|
+
ContentPanelContainerContentComponent,
|
|
41
|
+
ContentPanelContainerFooterComponent,
|
|
42
|
+
ContentPanelContainerSidebarComponent,
|
|
43
|
+
MainContainerComponent,
|
|
44
|
+
],
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNqSSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUVwSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFvQm5GLE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQWpCM0Isc0JBQXNCO1lBQ3RCLDhCQUE4QjtZQUM5QixxQ0FBcUM7WUFDckMsb0NBQW9DO1lBQ3BDLHFDQUFxQztZQUNyQyxzQkFBc0IsYUFFZCxZQUFZLGFBRXBCLHNCQUFzQjtZQUN0Qiw4QkFBOEI7WUFDOUIscUNBQXFDO1lBQ3JDLG9DQUFvQztZQUNwQyxxQ0FBcUM7WUFDckMsc0JBQXNCOytHQUdiLGtCQUFrQixZQVZuQixZQUFZOzsyRkFVWCxrQkFBa0I7a0JBbkI5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3dCQUNyQyxvQ0FBb0M7d0JBQ3BDLHFDQUFxQzt3QkFDckMsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3dCQUNyQyxvQ0FBb0M7d0JBQ3BDLHFDQUFxQzt3QkFDckMsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBDb250ZW50SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRQYW5lbENvbnRhaW5lclNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLXNpZGViYXIvY29udGVudC1wYW5lbC1jb250YWluZXItc2lkZWJhci5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBNYWluQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluLWNvbnRhaW5lci9tYWluLWNvbnRhaW5lci5jb21wb25lbnQnO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29udGVudEhlYWRlckNvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyU2lkZWJhckNvbXBvbmVudCxcbiAgICBNYWluQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIENvbnRlbnRIZWFkZXJDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lckNvbnRlbnRDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyRm9vdGVyQ29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lclNpZGViYXJDb21wb25lbnQsXG4gICAgTWFpbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFBhbmVsTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MainContainerComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MainContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: MainContainerComponent, selector: "mad-main-container", ngImport: i0, template: "<div class=\"main-container\">\n <ng-content select=\"mad-content-header\"></ng-content>\n <ng-content select=\"mad-flowbar\"></ng-content>\n <ng-content select=\"mad-content-panel-container\"></ng-content>\n</div>\n", styles: [".main-container{height:100%;display:flex;flex-direction:column}\n"] }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MainContainerComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'mad-main-container', template: "<div class=\"main-container\">\n <ng-content select=\"mad-content-header\"></ng-content>\n <ng-content select=\"mad-flowbar\"></ng-content>\n <ng-content select=\"mad-content-panel-container\"></ng-content>\n</div>\n", styles: [".main-container{height:100%;display:flex;flex-direction:column}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvbWFpbi1jb250YWluZXIvbWFpbi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L2NvbnRlbnQtcGFuZWwvbWFpbi1jb250YWluZXIvbWFpbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCO2tHQUF0QixzQkFBc0IsMERDUG5DLDZOQUtBOzsyRkRFYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1tYWluLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21haW4tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1haW5Db250YWluZXJDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJtYWluLWNvbnRhaW5lclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJtYWQtY29udGVudC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hZC1mbG93YmFyXCI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJtYWQtY29udGVudC1wYW5lbC1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/stepper";
|
|
5
|
+
export class FlowbarComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._steps = [];
|
|
8
|
+
this._activeStepChange = new EventEmitter(true);
|
|
9
|
+
/**
|
|
10
|
+
* Event emitted when a step header is clicked.
|
|
11
|
+
* When defined header navigation has to be implemented programmatically.
|
|
12
|
+
* e.g. {@see changeActiveStepOnHeader}
|
|
13
|
+
*/
|
|
14
|
+
this._headerClick = new EventEmitter(true);
|
|
15
|
+
}
|
|
16
|
+
get currentStepLabel() {
|
|
17
|
+
return this._activeStep.label;
|
|
18
|
+
}
|
|
19
|
+
get currentSubStepLabel() {
|
|
20
|
+
return this._activeStep.activeSubStep?.label;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
// If no active step is set as input or the active step is not enabled, select the first enabled step
|
|
24
|
+
if (!this._activeStep || !this._activeStep.enabled) {
|
|
25
|
+
this._activeStep = this._steps.find((step) => step.enabled);
|
|
26
|
+
if (this._activeStep) {
|
|
27
|
+
// If sub steps exist then set the first non disabled sub step per default
|
|
28
|
+
if (this.activeTabHasSubSteps()) {
|
|
29
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps.find((step) => step.enabled);
|
|
30
|
+
}
|
|
31
|
+
this._activeStepChange.emit(this._activeStep);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngAfterViewInit() {
|
|
36
|
+
this.stepper._getIndicatorType = () => 'number';
|
|
37
|
+
}
|
|
38
|
+
getIndexForActiveStep() {
|
|
39
|
+
const selectedIndex = this._steps.indexOf(this._activeStep);
|
|
40
|
+
return selectedIndex === -1 ? 0 : selectedIndex;
|
|
41
|
+
}
|
|
42
|
+
changeActiveStep(step) {
|
|
43
|
+
const previousIndex = this._steps.indexOf(this._activeStep);
|
|
44
|
+
this._activeStep = step;
|
|
45
|
+
if (this.activeTabHasSubSteps()) {
|
|
46
|
+
if (previousIndex < this._steps.indexOf(this._activeStep)) {
|
|
47
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[0];
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
this._activeStepChange.emit(this._activeStep);
|
|
54
|
+
}
|
|
55
|
+
changeActiveStepOnHeader(step) {
|
|
56
|
+
const stepIndex = this._steps.indexOf(step);
|
|
57
|
+
this._activeStep = step;
|
|
58
|
+
this.stepper.selected = this.stepper._steps.find((_, i) => i === stepIndex);
|
|
59
|
+
}
|
|
60
|
+
changeActiveSubStep(subStep) {
|
|
61
|
+
this._activeStep.activeSubStep = subStep;
|
|
62
|
+
}
|
|
63
|
+
previous() {
|
|
64
|
+
if (this.isPreviousAvailable()) {
|
|
65
|
+
// If active step has no sub steps or first sub step is selected -> go to previous main step
|
|
66
|
+
if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
|
|
67
|
+
const previousEnabledStep = this.findPreviousEnabledStep();
|
|
68
|
+
this.changeActiveStep(previousEnabledStep);
|
|
69
|
+
this.stepper.selectedIndex = this._steps.indexOf(previousEnabledStep);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
|
|
73
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
next() {
|
|
78
|
+
if (this.isNextAvailable()) {
|
|
79
|
+
// If active step has no sub steps or last sub step is selected -> go to next main step
|
|
80
|
+
if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
|
|
81
|
+
const nextEnabledStep = this.findNextEnabledStep();
|
|
82
|
+
this.changeActiveStep(nextEnabledStep);
|
|
83
|
+
this.stepper.selectedIndex = this._steps.indexOf(nextEnabledStep);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
|
|
87
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
isPreviousAvailable() {
|
|
92
|
+
if (this._activeStep) {
|
|
93
|
+
if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
|
|
94
|
+
const index = this.getCurrentIndex();
|
|
95
|
+
return index > 0 && this.isAnyPreviousStepEnabled(index);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
isNextAvailable() {
|
|
104
|
+
if (this._activeStep) {
|
|
105
|
+
if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
|
|
106
|
+
const index = this.getCurrentIndex();
|
|
107
|
+
return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
isLastStep() {
|
|
116
|
+
if (this.getCurrentIndex() === this._steps.length - 1) {
|
|
117
|
+
if (this.activeTabHasSubSteps()) {
|
|
118
|
+
return this.isLastSubStep();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
getCurrentIndex() {
|
|
127
|
+
return this._steps.findIndex((value) => value === this._activeStep);
|
|
128
|
+
}
|
|
129
|
+
getCurrentSubStepIndex() {
|
|
130
|
+
return this._activeStep.subSteps.findIndex((value) => value === this._activeStep.activeSubStep);
|
|
131
|
+
}
|
|
132
|
+
triggerClick() {
|
|
133
|
+
const selectedStep = this._steps[this.stepper.selectedIndex];
|
|
134
|
+
this.changeActiveStep(selectedStep);
|
|
135
|
+
}
|
|
136
|
+
headerClick(event, step) {
|
|
137
|
+
event.stopPropagation(); //stop processing current header click event
|
|
138
|
+
this._headerClick.emit(step);
|
|
139
|
+
}
|
|
140
|
+
activeTabHasSubSteps() {
|
|
141
|
+
return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;
|
|
142
|
+
}
|
|
143
|
+
isFirstSubStep() {
|
|
144
|
+
return this._activeStep.activeSubStep === this._activeStep.subSteps[0];
|
|
145
|
+
}
|
|
146
|
+
isLastSubStep() {
|
|
147
|
+
return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
|
|
148
|
+
}
|
|
149
|
+
isAnyPreviousStepEnabled(index) {
|
|
150
|
+
// eslint-disable-next-line id-blacklist
|
|
151
|
+
return this._steps.slice(0, index).find((step) => step.enabled) !== undefined;
|
|
152
|
+
}
|
|
153
|
+
isAnyFollowingStepEnabled(index) {
|
|
154
|
+
// eslint-disable-next-line id-blacklist
|
|
155
|
+
return this._steps.slice(index + 1, this._steps.length).find((step) => step.enabled) !== undefined;
|
|
156
|
+
}
|
|
157
|
+
findPreviousEnabledStep() {
|
|
158
|
+
const index = this.getCurrentIndex();
|
|
159
|
+
return this._steps
|
|
160
|
+
.slice(0, index)
|
|
161
|
+
.reverse()
|
|
162
|
+
.find((step) => step.enabled);
|
|
163
|
+
}
|
|
164
|
+
findNextEnabledStep() {
|
|
165
|
+
const index = this.getCurrentIndex();
|
|
166
|
+
return this._steps.slice(index + 1, this._steps.length).find((step) => step.enabled);
|
|
167
|
+
}
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FlowbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
169
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FlowbarComponent, selector: "mad-flowbar", inputs: { _steps: ["steps", "_steps"], _activeStep: ["activeStep", "_activeStep"] }, outputs: { _activeStepChange: "activeStepChange", _headerClick: "headerClick" }, viewQueries: [{ propertyName: "stepper", first: true, predicate: ["stepper"], descendants: true }], ngImport: i0, template: "<div class=\"stepper-container\">\n <mat-horizontal-stepper #stepper [selectedIndex]=\"this.getIndexForActiveStep()\" (click)=\"triggerClick()\">\n <mat-step *ngFor=\"let step of _steps\" [aria-labelledby]=\"!step.enabled ? 'disabled' : null\">\n <ng-template matStepLabel>\n <div class=\"step-header-overlay\" *ngIf=\"this._headerClick.observers.length > 0\" (click)=\"headerClick($event, step)\"></div>\n <span>{{ step.label }}</span>\n </ng-template>\n </mat-step>\n </mat-horizontal-stepper>\n</div>\n", styles: [".stepper-container{display:flex;padding:0 1rem}::ng-deep .mat-stepper-horizontal .mat-horizontal-stepper-header{padding:0;height:auto}::ng-deep .mat-step-header[aria-labelledby=disabled]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 10px}::ng-deep .mat-stepper-horizontal .mat-stepper-horizontal-line{margin:0 5px;border-top-width:4px}.step-header-overlay{position:absolute;width:100%;height:100%;right:0;top:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i2.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i2.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }] }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FlowbarComponent, decorators: [{
|
|
172
|
+
type: Component,
|
|
173
|
+
args: [{ selector: 'mad-flowbar', template: "<div class=\"stepper-container\">\n <mat-horizontal-stepper #stepper [selectedIndex]=\"this.getIndexForActiveStep()\" (click)=\"triggerClick()\">\n <mat-step *ngFor=\"let step of _steps\" [aria-labelledby]=\"!step.enabled ? 'disabled' : null\">\n <ng-template matStepLabel>\n <div class=\"step-header-overlay\" *ngIf=\"this._headerClick.observers.length > 0\" (click)=\"headerClick($event, step)\"></div>\n <span>{{ step.label }}</span>\n </ng-template>\n </mat-step>\n </mat-horizontal-stepper>\n</div>\n", styles: [".stepper-container{display:flex;padding:0 1rem}::ng-deep .mat-stepper-horizontal .mat-horizontal-stepper-header{padding:0;height:auto}::ng-deep .mat-step-header[aria-labelledby=disabled]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 10px}::ng-deep .mat-stepper-horizontal .mat-stepper-horizontal-line{margin:0 5px;border-top-width:4px}.step-header-overlay{position:absolute;width:100%;height:100%;right:0;top:0}\n"] }]
|
|
174
|
+
}], propDecorators: { _steps: [{
|
|
175
|
+
type: Input,
|
|
176
|
+
args: ['steps']
|
|
177
|
+
}], _activeStep: [{
|
|
178
|
+
type: Input,
|
|
179
|
+
args: ['activeStep']
|
|
180
|
+
}], _activeStepChange: [{
|
|
181
|
+
type: Output,
|
|
182
|
+
args: ['activeStepChange']
|
|
183
|
+
}], _headerClick: [{
|
|
184
|
+
type: Output,
|
|
185
|
+
args: ['headerClick']
|
|
186
|
+
}], stepper: [{
|
|
187
|
+
type: ViewChild,
|
|
188
|
+
args: ['stepper']
|
|
189
|
+
}] } });
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd2Jhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvZmxvd2Jhci9mbG93YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2xheW91dC9mbG93YmFyL2Zsb3diYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBZXpHLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNa0IsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUVULHNCQUFpQixHQUF3QixJQUFJLFlBQVksQ0FBUSxJQUFJLENBQUMsQ0FBQztRQUNuRzs7OztXQUlHO1FBQ29CLGlCQUFZLEdBQXdCLElBQUksWUFBWSxDQUFRLElBQUksQ0FBQyxDQUFDO0tBNEsxRjtJQXpLQyxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLHFHQUFxRztRQUNyRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RCxJQUFJLElBQUksQ0FBQyxX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dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U3RlcHBlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdGVwIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHN1YlN0ZXBzPzogSVN0ZXBbXTtcbiAgYWN0aXZlU3ViU3RlcD86IElTdGVwO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtZmxvd2JhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG93YmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmxvd2Jhci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93YmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCdzdGVwcycpIF9zdGVwczogSVN0ZXBbXSA9IFtdO1xuICBASW5wdXQoJ2FjdGl2ZVN0ZXAnKSBfYWN0aXZlU3RlcDogSVN0ZXA7XG4gIEBPdXRwdXQoJ2FjdGl2ZVN0ZXBDaGFuZ2UnKSBfYWN0aXZlU3RlcENoYW5nZTogRXZlbnRFbWl0dGVyPElTdGVwPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVN0ZXA+KHRydWUpO1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgc3RlcCBoZWFkZXIgaXMgY2xpY2tlZC5cbiAgICogV2hlbiBkZWZpbmVkIGhlYWRlciBuYXZpZ2F0aW9uIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBwcm9ncmFtbWF0aWNhbGx5LlxuICAgKiBlLmcuIHtAc2VlIGNoYW5nZUFjdGl2ZVN0ZXBPbkhlYWRlcn1cbiAgICovXG4gIEBPdXRwdXQoJ2hlYWRlckNsaWNrJykgX2hlYWRlckNsaWNrOiBFdmVudEVtaXR0ZXI8SVN0ZXA+ID0gbmV3IEV2ZW50RW1pdHRlcjxJU3RlcD4odHJ1ZSk7XG4gIEBWaWV3Q2hpbGQoJ3N0ZXBwZXInKSBwcml2YXRlIHN0ZXBwZXI6IE1hdFN0ZXBwZXI7XG5cbiAgZ2V0IGN1cnJlbnRTdGVwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlU3RlcC5sYWJlbDtcbiAgfVxuXG4gIGdldCBjdXJyZW50U3ViU3RlcExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcD8ubGFiZWw7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiBubyBhY3RpdmUgc3RlcCBpcyBzZXQgYXMgaW5wdXQgb3IgdGhlIGFjdGl2ZSBzdGVwIGlzIG5vdCBlbmFibGVkLCBzZWxlY3QgdGhlIGZpcnN0IGVuYWJsZWQgc3RlcFxuICAgIGlmICghdGhpcy5fYWN0aXZlU3RlcCB8fCAhdGhpcy5fYWN0aXZlU3RlcC5lbmFibGVkKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdGVwID0gdGhpcy5fc3RlcHMuZmluZCgoc3RlcCkgPT4gc3RlcC5lbmFibGVkKTtcbiAgICAgIGlmICh0aGlzLl9hY3RpdmVTdGVwKSB7XG4gICAgICAgIC8vIElmIHN1YiBzdGVwcyBleGlzdCB0aGVuIHNldCB0aGUgZmlyc3Qgbm9uIGRpc2FibGVkIHN1YiBzdGVwIHBlciBkZWZhdWx0XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVRhYkhhc1N1YlN0ZXBzKCkpIHtcbiAgICAgICAgICB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmZpbmQoKHN0ZXApID0+IHN0ZXAuZW5hYmxlZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlU3RlcENoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZVN0ZXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBwZXIuX2dldEluZGljYXRvclR5cGUgPSAoKTogYW55ID0+ICdudW1iZXInO1xuICB9XG5cbiAgZ2V0SW5kZXhGb3JBY3RpdmVTdGVwKCk6IG51bWJlciB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcCk7XG4gICAgcmV0dXJuIHNlbGVjdGVkSW5kZXggPT09IC0xID8gMCA6IHNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICBjaGFuZ2VBY3RpdmVTdGVwKHN0ZXA6IElTdGVwKTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcCk7XG4gICAgdGhpcy5fYWN0aXZlU3RlcCA9IHN0ZXA7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSkge1xuICAgICAgaWYgKHByZXZpb3VzSW5kZXggPCB0aGlzLl9zdGVwcy5pbmRleE9mKHRoaXMuX2FjdGl2ZVN0ZXApKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHNbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzW3RoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHMubGVuZ3RoIC0gMV07XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2UuZW1pdCh0aGlzLl9hY3RpdmVTdGVwKTtcbiAgfVxuXG4gIGNoYW5nZUFjdGl2ZVN0ZXBPbkhlYWRlcihzdGVwOiBJU3RlcCk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXBJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2Yoc3RlcCk7XG4gICAgdGhpcy5fYWN0aXZlU3RlcCA9IHN0ZXA7XG4gICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkID0gdGhpcy5zdGVwcGVyLl9zdGVwcy5maW5kKChfLCBpKSA9PiBpID09PSBzdGVwSW5kZXgpO1xuICB9XG5cbiAgY2hhbmdlQWN0aXZlU3ViU3RlcChzdWJTdGVwOiBJU3RlcCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9IHN1YlN0ZXA7XG4gIH1cblxuICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1ByZXZpb3VzQXZhaWxhYmxlKCkpIHtcbiAgICAgIC8vIElmIGFjdGl2ZSBzdGVwIGhhcyBubyBzdWIgc3RlcHMgb3IgZmlyc3Qgc3ViIHN0ZXAgaXMgc2VsZWN0ZWQgLT4gZ28gdG8gcHJldmlvdXMgbWFpbiBzdGVwXG4gICAgICBpZiAoIXRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSB8fCB0aGlzLmlzRmlyc3RTdWJTdGVwKCkpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbmFibGVkU3RlcCA9IHRoaXMuZmluZFByZXZpb3VzRW5hYmxlZFN0ZXAoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBY3RpdmVTdGVwKHByZXZpb3VzRW5hYmxlZFN0ZXApO1xuICAgICAgICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2YocHJldmlvdXNFbmFibGVkU3RlcCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdWJTdGVwSW5kZXggPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwID0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwc1tzdWJTdGVwSW5kZXggLSAxXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTmV4dEF2YWlsYWJsZSgpKSB7XG4gICAgICAvLyBJZiBhY3RpdmUgc3RlcCBoYXMgbm8gc3ViIHN0ZXBzIG9yIGxhc3Qgc3ViIHN0ZXAgaXMgc2VsZWN0ZWQgLT4gZ28gdG8gbmV4dCBtYWluIHN0ZXBcbiAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJIYXNTdWJTdGVwcygpIHx8IHRoaXMuaXNMYXN0U3ViU3RlcCgpKSB7XG4gICAgICAgIGNvbnN0IG5leHRFbmFibGVkU3RlcCA9IHRoaXMuZmluZE5leHRFbmFibGVkU3RlcCgpO1xuICAgICAgICB0aGlzLmNoYW5nZUFjdGl2ZVN0ZXAobmV4dEVuYWJsZWRTdGVwKTtcbiAgICAgICAgdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zdGVwcy5pbmRleE9mKG5leHRFbmFibGVkU3RlcCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdWJTdGVwSW5kZXggPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwID0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwc1tzdWJTdGVwSW5kZXggKyAxXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc1ByZXZpb3VzQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9hY3RpdmVTdGVwKSB7XG4gICAgICBpZiAoIXRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSB8fCB0aGlzLmlzRmlyc3RTdWJTdGVwKCkpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEN1cnJlbnRJbmRleCgpO1xuICAgICAgICByZXR1cm4gaW5kZXggPiAwICYmIHRoaXMuaXNBbnlQcmV2aW91c1N0ZXBFbmFibGVkKGluZGV4KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc05leHRBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVN0ZXApIHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJIYXNTdWJTdGVwcygpIHx8IHRoaXMuaXNMYXN0U3ViU3RlcCgpKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRDdXJyZW50SW5kZXgoKTtcbiAgICAgICAgcmV0dXJuIGluZGV4IDwgdGhpcy5fc3RlcHMubGVuZ3RoIC0gMSAmJiB0aGlzLmlzQW55Rm9sbG93aW5nU3RlcEVuYWJsZWQoaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlzTGFzdFN0ZXAoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZ2V0Q3VycmVudEluZGV4KCkgPT09IHRoaXMuX3N0ZXBzLmxlbmd0aCAtIDEpIHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZVRhYkhhc1N1YlN0ZXBzKCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMYXN0U3ViU3RlcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEN1cnJlbnRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zdGVwcy5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZSA9PT0gdGhpcy5fYWN0aXZlU3RlcCk7XG4gIH1cblxuICBnZXRDdXJyZW50U3ViU3RlcEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHMuZmluZEluZGV4KCh2YWx1ZSkgPT4gdmFsdWUgPT09IHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCk7XG4gIH1cblxuICB0cmlnZ2VyQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTdGVwID0gdGhpcy5fc3RlcHNbdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXhdO1xuICAgIHRoaXMuY2hhbmdlQWN0aXZlU3RlcChzZWxlY3RlZFN0ZXApO1xuICB9XG5cbiAgaGVhZGVyQ2xpY2soZXZlbnQ6IGFueSwgc3RlcDogSVN0ZXApOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgLy9zdG9wIHByb2Nlc3NpbmcgY3VycmVudCBoZWFkZXIgY2xpY2sgZXZlbnRcbiAgICB0aGlzLl9oZWFkZXJDbGljay5lbWl0KHN0ZXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVUYWJIYXNTdWJTdGVwcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwcyAmJiB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGlzRmlyc3RTdWJTdGVwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXAgPT09IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHNbMF07XG4gIH1cblxuICBwcml2YXRlIGlzTGFzdFN1YlN0ZXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9PT0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwc1t0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FueVByZXZpb3VzU3RlcEVuYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbiAgICByZXR1cm4gdGhpcy5fc3RlcHMuc2xpY2UoMCwgaW5kZXgpLmZpbmQoKHN0ZXApID0+IHN0ZXAuZW5hYmxlZCkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNBbnlGb2xsb3dpbmdTdGVwRW5hYmxlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGlkLWJsYWNrbGlzdFxuICAgIHJldHVybiB0aGlzLl9zdGVwcy5zbGljZShpbmRleCArIDEsIHRoaXMuX3N0ZXBzLmxlbmd0aCkuZmluZCgoc3RlcCkgPT4gc3RlcC5lbmFibGVkKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUHJldmlvdXNFbmFibGVkU3RlcCgpOiBJU3RlcCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEN1cnJlbnRJbmRleCgpO1xuICAgIHJldHVybiB0aGlzLl9zdGVwc1xuICAgICAgLnNsaWNlKDAsIGluZGV4KVxuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbmQoKHN0ZXApID0+IHN0ZXAuZW5hYmxlZCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROZXh0RW5hYmxlZFN0ZXAoKTogSVN0ZXAge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRDdXJyZW50SW5kZXgoKTtcbiAgICByZXR1cm4gdGhpcy5fc3RlcHMuc2xpY2UoaW5kZXggKyAxLCB0aGlzLl9zdGVwcy5sZW5ndGgpLmZpbmQoKHN0ZXApID0+IHN0ZXAuZW5hYmxlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdGVwcGVyLWNvbnRhaW5lclwiPlxuICA8bWF0LWhvcml6b250YWwtc3RlcHBlciAjc3RlcHBlciBbc2VsZWN0ZWRJbmRleF09XCJ0aGlzLmdldEluZGV4Rm9yQWN0aXZlU3RlcCgpXCIgKGNsaWNrKT1cInRyaWdnZXJDbGljaygpXCI+XG4gICAgPG1hdC1zdGVwICpuZ0Zvcj1cImxldCBzdGVwIG9mIF9zdGVwc1wiIFthcmlhLWxhYmVsbGVkYnldPVwiIXN0ZXAuZW5hYmxlZCA/ICdkaXNhYmxlZCcgOiBudWxsXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1oZWFkZXItb3ZlcmxheVwiICpuZ0lmPVwidGhpcy5faGVhZGVyQ2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCA+IDBcIiAoY2xpY2spPVwiaGVhZGVyQ2xpY2soJGV2ZW50LCBzdGVwKVwiPjwvZGl2PlxuICAgICAgICA8c3Bhbj57eyBzdGVwLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1zdGVwPlxuICA8L21hdC1ob3Jpem9udGFsLXN0ZXBwZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
16
16
|
exports: [FlowbarComponent],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd2Jhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvZmxvd2Jhci9mbG93YmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLGlCQUpULGdCQUFnQixhQUNyQixZQUFZLEVBQUUsZ0JBQWdCLGFBQzlCLGdCQUFnQjsrR0FFZixhQUFhLFlBSGQsWUFBWSxFQUFFLGdCQUFnQjs7MkZBRzdCLGFBQWE7a0JBTHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBGbG93YmFyQ29tcG9uZW50IH0gZnJvbSAnLi9mbG93YmFyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Zsb3diYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTdGVwcGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW0Zsb3diYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93YmFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SidebarItemComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: SidebarItemComponent, selector: "[mad-sidebar-item]", ngImport: i0, template: "<span class=\"content-wrapper\">\n <ng-content></ng-content>\n</span>\n<span class=\"focus-overlay\"></span>\n", styles: ["[mad-sidebar-item]{padding:9px 24px 8px;color:var(--panel-color);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:300;letter-spacing:.5px}[mad-sidebar-item] .focus-overlay{inset:0;position:absolute;pointer-events:none;border-radius:inherit}[mad-sidebar-item].active-sidebar-item{background-color:var(--panel-select-background)}[mad-sidebar-item]:hover .focus-overlay{background-color:#000;opacity:.04}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarItemComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: '[mad-sidebar-item]', encapsulation: ViewEncapsulation.None, template: "<span class=\"content-wrapper\">\n <ng-content></ng-content>\n</span>\n<span class=\"focus-overlay\"></span>\n", styles: ["[mad-sidebar-item]{padding:9px 24px 8px;color:var(--panel-color);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:300;letter-spacing:.5px}[mad-sidebar-item] .focus-overlay{inset:0;position:absolute;pointer-events:none;border-radius:inherit}[mad-sidebar-item].active-sidebar-item{background-color:var(--panel-select-background)}[mad-sidebar-item]:hover .focus-overlay{background-color:#000;opacity:.04}\n"] }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2xheW91dC9zaWRlYmFyL3NpZGViYXItaXRlbS9zaWRlYmFyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L3NpZGViYXIvc2lkZWJhci1pdGVtL3NpZGViYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVE3RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7a0dBQXBCLG9CQUFvQiwwRENSakMsaUhBSUE7OzJGRElhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW21hZC1zaWRlYmFyLWl0ZW1dJyxcbiAgdGVtcGxhdGVVcmw6ICdzaWRlYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc2lkZWJhci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJJdGVtQ29tcG9uZW50IHt9XG4iLCI8c3BhbiBjbGFzcz1cImNvbnRlbnQtd3JhcHBlclwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG48c3BhbiBjbGFzcz1cImZvY3VzLW92ZXJsYXlcIj48L3NwYW4+XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/icon";
|
|
4
|
+
import * as i2 from "@angular/material/button";
|
|
5
|
+
export class SidebarComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.collapsed = false;
|
|
8
|
+
}
|
|
9
|
+
toggleCollapse() {
|
|
10
|
+
this.collapsed = !this.collapsed;
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: SidebarComponent, selector: "mad-sidebar", ngImport: i0, template: "<div [class.collapsed]=\"collapsed\" class=\"sidebar-wrapper\">\n <div class=\"sidebar-header\">\n <button (click)=\"toggleCollapse()\" color=\"basic\" mat-button>\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\n </button>\n </div>\n <div class=\"item-list\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sidebar-wrapper{background:var(--panel-background-color);min-height:100%;display:flex;flex-direction:column;border-right:1px solid var(--panel-border-color);margin-top:10px;transition:width .1s ease-in}.sidebar-wrapper:not(.collapsed){min-width:239px}.sidebar-wrapper.collapsed{width:64px}.sidebar-wrapper .sidebar-header{display:flex;flex-direction:row-reverse;border-bottom:1px solid var(--panel-border-color)}.sidebar-wrapper .sidebar-header button{color:#707070}.sidebar-wrapper.collapsed .item-list{display:none}.sidebar-wrapper .item-list{display:flex;flex-direction:column;margin-top:16px}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'mad-sidebar', template: "<div [class.collapsed]=\"collapsed\" class=\"sidebar-wrapper\">\n <div class=\"sidebar-header\">\n <button (click)=\"toggleCollapse()\" color=\"basic\" mat-button>\n <mat-icon>{{ collapsed ? 'keyboard_double_arrow_right' : 'keyboard_double_arrow_left' }}</mat-icon>\n </button>\n </div>\n <div class=\"item-list\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".sidebar-wrapper{background:var(--panel-background-color);min-height:100%;display:flex;flex-direction:column;border-right:1px solid var(--panel-border-color);margin-top:10px;transition:width .1s ease-in}.sidebar-wrapper:not(.collapsed){min-width:239px}.sidebar-wrapper.collapsed{width:64px}.sidebar-wrapper .sidebar-header{display:flex;flex-direction:row-reverse;border-bottom:1px solid var(--panel-border-color)}.sidebar-wrapper .sidebar-header button{color:#707070}.sidebar-wrapper.collapsed .item-list{display:none}.sidebar-wrapper .item-list{display:flex;flex-direction:column;margin-top:16px}\n"] }]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2xheW91dC9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTUUsY0FBUyxHQUFHLEtBQUssQ0FBQztLQUtuQjtJQUhDLGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDOzhHQUxVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1EQ1A3Qiw2WEFVQTs7MkZESGEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpZGViYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZWJhckNvbXBvbmVudCB7XG4gIGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIHRvZ2dsZUNvbGxhcHNlKCkge1xuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICB9XG59XG4iLCI8ZGl2IFtjbGFzcy5jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgY2xhc3M9XCJzaWRlYmFyLXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlQ29sbGFwc2UoKVwiIGNvbG9yPVwiYmFzaWNcIiBtYXQtYnV0dG9uPlxuICAgICAgPG1hdC1pY29uPnt7IGNvbGxhcHNlZCA/ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfcmlnaHQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19sZWZ0JyB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaXRlbS1saXN0XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SidebarComponent } from './sidebar.component';
|
|
4
|
+
import { SidebarItemComponent } from './sidebar-item/sidebar-item.component';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class SidebarModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: SidebarModule, declarations: [SidebarComponent, SidebarItemComponent], imports: [CommonModule, MatIconModule, MatButtonModule], exports: [SidebarComponent, SidebarItemComponent] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarModule, imports: [CommonModule, MatIconModule, MatButtonModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SidebarModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [SidebarComponent, SidebarItemComponent],
|
|
17
|
+
exports: [SidebarComponent, SidebarItemComponent],
|
|
18
|
+
imports: [CommonModule, MatIconModule, MatButtonModule],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvc2lkZWJhci9zaWRlYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU8zRCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBSlQsZ0JBQWdCLEVBQUUsb0JBQW9CLGFBRTNDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxhQUQ1QyxnQkFBZ0IsRUFBRSxvQkFBb0I7K0dBR3JDLGFBQWEsWUFGZCxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWU7OzJGQUUzQyxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQ3hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWRlYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1pdGVtL3NpZGViYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2lkZWJhckNvbXBvbmVudCwgU2lkZWJhckl0ZW1Db21wb25lbnRdLFxuICBleHBvcnRzOiBbU2lkZWJhckNvbXBvbmVudCwgU2lkZWJhckl0ZW1Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L3Rvb2xiYXIvdG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xuICBtYXRJY29uOiBzdHJpbmc7XG4gIGkxOG5BY3Rpb25LZXk6IHN0cmluZztcbiAgYWN0aW9uTmFtZT86IHN0cmluZztcbiAgc2hvd0lmPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWluQWN0aW9uIGV4dGVuZHMgQWN0aW9uIHtcbiAgcm91dGVyTGluaz86IHN0cmluZztcbiAgYWN0aW9uPzogKCkgPT4gYW55O1xuICBsaWZ0SGlnaGVyT25Nb2JpbGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tBY3Rpb24gZXh0ZW5kcyBBY3Rpb24ge1xuICByb3V0ZXJMaW5rPzogc3RyaW5nO1xuICBocmVmPzogc3RyaW5nO1xuICBhY3Rpb24/OiAoKSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbGJhckFjdGlvbkJhZGdlIHtcbiAgdmFsdWU6IGFueTsgLy8gaGlkZGVuIGF1dG9tYXRpY2FsbHkgaWYgbnVsbC91bmRlZlxuICBjb2xvcj86IFRoZW1lUGFsZXR0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb29sYmFyQWN0aW9uIGV4dGVuZHMgQWN0aW9uIHtcbiAgYWN0aW9uOiAoKSA9PiBhbnk7XG4gIGltcG9ydGFudEFjdGlvbj86IGJvb2xlYW47IC8vIGlmIHRydWUsIGl0IHdpbGwgbmV2ZXIgYmUgaGlkZGVuIGluIGEgbWF0LW1lbnVcbiAgYmFkZ2U/OiBUb29sYmFyQWN0aW9uQmFkZ2U7XG59XG4iXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { Breakpoints } from '@angular/cdk/layout';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/layout";
|
|
7
|
+
import * as i2 from "@angular/platform-browser";
|
|
8
|
+
import * as i3 from "./toolbar.service";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@angular/router";
|
|
11
|
+
import * as i6 from "@angular/material/menu";
|
|
12
|
+
import * as i7 from "@angular/material/button";
|
|
13
|
+
import * as i8 from "@angular/material/toolbar";
|
|
14
|
+
import * as i9 from "@angular/material/icon";
|
|
15
|
+
import * as i10 from "../../material-action-button/material-action-button.component";
|
|
16
|
+
import * as i11 from "@angular/material/tooltip";
|
|
17
|
+
import * as i12 from "../../button/primary-button/primary-button.component";
|
|
18
|
+
import * as i13 from "../../button/icon-button/icon-button.component";
|
|
19
|
+
import * as i14 from "@angular/material/badge";
|
|
20
|
+
export class ToolbarComponent {
|
|
21
|
+
constructor(breakpointObserver, titleService, toolbarService) {
|
|
22
|
+
this.breakpointObserver = breakpointObserver;
|
|
23
|
+
this.titleService = titleService;
|
|
24
|
+
this.toolbarService = toolbarService;
|
|
25
|
+
this.isHandset$ = this.breakpointObserver.observe([Breakpoints.Handset]).pipe(map((result) => result.matches));
|
|
26
|
+
}
|
|
27
|
+
getTitle() {
|
|
28
|
+
const dataTitle = this.toolbarService.getDataTitle();
|
|
29
|
+
const toolbarTitle = this.toolbarService.toolbarTitle;
|
|
30
|
+
const title = !toolbarTitle || toolbarTitle.length <= 0 ? this.titleService.getTitle() : toolbarTitle;
|
|
31
|
+
return !dataTitle || dataTitle.length <= 0 ? title : title + ': ' + dataTitle;
|
|
32
|
+
}
|
|
33
|
+
getToolbarActions() {
|
|
34
|
+
return this.toolbarService.getToolbarActions();
|
|
35
|
+
}
|
|
36
|
+
getMainActions() {
|
|
37
|
+
return this.toolbarService.getMainActions();
|
|
38
|
+
}
|
|
39
|
+
hasPermission(action) {
|
|
40
|
+
if (!action || !action.showIf) {
|
|
41
|
+
return of(true);
|
|
42
|
+
}
|
|
43
|
+
return action.showIf;
|
|
44
|
+
}
|
|
45
|
+
isRouterLink(action) {
|
|
46
|
+
return action && !!action.routerLink;
|
|
47
|
+
}
|
|
48
|
+
isAbsoluteLink(action) {
|
|
49
|
+
return action && !!action.href;
|
|
50
|
+
}
|
|
51
|
+
isAction(action) {
|
|
52
|
+
return action && !!action.action;
|
|
53
|
+
}
|
|
54
|
+
getBackAction() {
|
|
55
|
+
return this.toolbarService.getBackAction();
|
|
56
|
+
}
|
|
57
|
+
getToolbarActionsAlwaysAsMenu() {
|
|
58
|
+
return this.toolbarService.getToolbarActionsAlwaysAsMenu();
|
|
59
|
+
}
|
|
60
|
+
getToolbarActionsMenuTitle() {
|
|
61
|
+
return this.toolbarService.getToolbarActionsMenuTitle();
|
|
62
|
+
}
|
|
63
|
+
showBadgeForMenu() {
|
|
64
|
+
return (this.getToolbarActions()
|
|
65
|
+
.slice(1) // the first icon is not shown in menu
|
|
66
|
+
.filter((value) => value.badge && value.badge.value).length > 0);
|
|
67
|
+
}
|
|
68
|
+
hasImportantToolbarActions() {
|
|
69
|
+
return this.getToolbarActions().filter((value) => !!value.importantAction).length > 0;
|
|
70
|
+
}
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.BreakpointObserver }, { token: i2.Title }, { token: i3.ToolbarService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ToolbarComponent, selector: "mad-toolbar", ngImport: i0, template: "<mat-toolbar class=\"content-toolbar\">\n <a [routerLink]=\"getBackAction().routerLink\" *ngIf=\"isRouterLink(getBackAction())\">\n <button [id]=\"'go-back'\" color=\"primary\" mat-icon-button class=\"go-back-button\">\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n <a [href]=\"getBackAction().href\" *ngIf=\"isAbsoluteLink(getBackAction())\">\n <button [id]=\"'go-back'\" class=\"go-back-button\" color=\"primary\" mat-icon-button>\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n <a (click)=\"getBackAction().action()\" *ngIf=\"isAction(getBackAction())\">\n <button [id]=\"'go-back'\" color=\"primary\" mat-icon-button class=\"go-back-button\">\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n\n <span class=\"toolbar-title\">{{ getTitle() }}</span>\n\n <ng-container *ngFor=\"let mainAction of getMainActions(); let i = index\">\n <ng-container *ngIf=\"hasPermission(mainAction) | async\">\n <div *ngIf=\"!(isHandset$ | async)\">\n <a [routerLink]=\"mainAction.routerLink\" *ngIf=\"isRouterLink(mainAction)\">\n <mad-primary-button [id]=\"mainAction.matIcon\" style=\"margin-left: 56px\">\n <mat-icon>{{ mainAction.matIcon }}</mat-icon>\n {{ mainAction.actionName }}\n </mad-primary-button>\n </a>\n <a (click)=\"mainAction.action()\" *ngIf=\"isAction(mainAction)\">\n <mad-primary-button [id]=\"mainAction.matIcon\" style=\"margin-left: 56px\">\n <mat-icon>{{ mainAction.matIcon }}</mat-icon>\n {{ mainAction.actionName }}\n </mad-primary-button>\n </a>\n </div>\n <div *ngIf=\"isHandset$ | async\">\n <mad-material-action-button\n *ngIf=\"isRouterLink(getBackAction())\"\n [actionName]=\"mainAction.actionName\"\n [icon]=\"mainAction.matIcon\"\n [liftHigher]=\"mainAction.liftHigherOnMobile\"\n [liftHigher2]=\"i > 0\"\n [routerLink]=\"mainAction.routerLink\"\n [id]=\"mainAction.matIcon\"\n />\n <mad-material-action-button\n *ngIf=\"isAction(getBackAction())\"\n [actionName]=\"mainAction.actionName\"\n [icon]=\"mainAction.matIcon\"\n [liftHigher]=\"mainAction.liftHigherOnMobile\"\n [liftHigher2]=\"i > 0\"\n (click)=\"mainAction.action()\"\n [id]=\"mainAction.matIcon\"\n />\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"right-aligned no-print\">\n <ng-container *ngFor=\"let action of getToolbarActions(); let i = index\">\n <ng-container *ngIf=\"hasPermission(action) | async\">\n <mad-icon-button\n (click)=\"action.action()\"\n *ngIf=\"\n (!(isHandset$ | async) && !getToolbarActionsAlwaysAsMenu()) ||\n i < (getToolbarActions().length > 2 ? (hasImportantToolbarActions() ? 0 : 1) : 2) ||\n !!action.importantAction\n \"\n [id]=\"action.matIcon\"\n [matTooltip]=\"action.actionName\"\n type=\"button\"\n >\n <mat-icon\n [matBadgeColor]=\"action.badge ? action.badge.color : 'primary'\"\n matBadgePosition=\"below after\"\n [matBadge]=\"action.badge ? action.badge.value : null\"\n >{{ action.matIcon }}</mat-icon\n >\n </mad-icon-button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(isHandset$ | async) || getToolbarActionsAlwaysAsMenu()\">\n <ng-container *ngIf=\"getToolbarActions().length > 2\">\n <mad-icon-button type=\"button\" [matMenuTriggerFor]=\"burgerMenu\" [matTooltip]=\"getToolbarActionsMenuTitle()\">\n <mat-icon\n matBadgeColor=\"warn\"\n [matBadge]=\"showBadgeForMenu() ? '⁠' : null\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n >more_vert\n </mat-icon>\n </mad-icon-button>\n <mat-menu #burgerMenu=\"matMenu\" class=\"no-print toolbar-menu\">\n <ng-container *ngFor=\"let action of getToolbarActions(); let i = index\">\n <ng-container *ngIf=\"!action.importantAction\">\n <ng-container *ngIf=\"hasPermission(action) | async\">\n <button\n *ngIf=\"i >= (hasImportantToolbarActions() ? 0 : 1)\"\n mat-menu-item\n (click)=\"action.action()\"\n [title]=\"action.actionName\"\n >\n <mat-icon\n color=\"primary\"\n [matBadgeColor]=\"action.badge ? action.badge.color : 'primary'\"\n [matBadge]=\"action.badge ? action.badge.value : null\"\n matBadgePosition=\"below after\"\n >{{ action.matIcon }}</mat-icon\n >\n {{ action.actionName }}\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </div>\n</mat-toolbar>\n", styles: ["mat-toolbar{background:white}.content-toolbar{height:57px;border-bottom:1px solid #dcdcdc}.right-aligned{overflow:hidden;margin-left:auto;margin-right:0}.go-back-button{padding-left:0;padding-right:0}.toolbar-title{margin-right:72px}::ng-deep .mat-badge-content{bottom:-7px!important;right:-7px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MaterialActionButtonComponent, selector: "mad-material-action-button", inputs: ["actionName", "id", "icon", "routerLink", "liftHigher", "liftHigher2"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i12.PrimaryButtonComponent, selector: "mad-primary-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i13.IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "directive", type: i14.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'mad-toolbar', template: "<mat-toolbar class=\"content-toolbar\">\n <a [routerLink]=\"getBackAction().routerLink\" *ngIf=\"isRouterLink(getBackAction())\">\n <button [id]=\"'go-back'\" color=\"primary\" mat-icon-button class=\"go-back-button\">\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n <a [href]=\"getBackAction().href\" *ngIf=\"isAbsoluteLink(getBackAction())\">\n <button [id]=\"'go-back'\" class=\"go-back-button\" color=\"primary\" mat-icon-button>\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n <a (click)=\"getBackAction().action()\" *ngIf=\"isAction(getBackAction())\">\n <button [id]=\"'go-back'\" color=\"primary\" mat-icon-button class=\"go-back-button\">\n <mat-icon>{{ getBackAction().matIcon }}</mat-icon>\n </button>\n </a>\n\n <span class=\"toolbar-title\">{{ getTitle() }}</span>\n\n <ng-container *ngFor=\"let mainAction of getMainActions(); let i = index\">\n <ng-container *ngIf=\"hasPermission(mainAction) | async\">\n <div *ngIf=\"!(isHandset$ | async)\">\n <a [routerLink]=\"mainAction.routerLink\" *ngIf=\"isRouterLink(mainAction)\">\n <mad-primary-button [id]=\"mainAction.matIcon\" style=\"margin-left: 56px\">\n <mat-icon>{{ mainAction.matIcon }}</mat-icon>\n {{ mainAction.actionName }}\n </mad-primary-button>\n </a>\n <a (click)=\"mainAction.action()\" *ngIf=\"isAction(mainAction)\">\n <mad-primary-button [id]=\"mainAction.matIcon\" style=\"margin-left: 56px\">\n <mat-icon>{{ mainAction.matIcon }}</mat-icon>\n {{ mainAction.actionName }}\n </mad-primary-button>\n </a>\n </div>\n <div *ngIf=\"isHandset$ | async\">\n <mad-material-action-button\n *ngIf=\"isRouterLink(getBackAction())\"\n [actionName]=\"mainAction.actionName\"\n [icon]=\"mainAction.matIcon\"\n [liftHigher]=\"mainAction.liftHigherOnMobile\"\n [liftHigher2]=\"i > 0\"\n [routerLink]=\"mainAction.routerLink\"\n [id]=\"mainAction.matIcon\"\n />\n <mad-material-action-button\n *ngIf=\"isAction(getBackAction())\"\n [actionName]=\"mainAction.actionName\"\n [icon]=\"mainAction.matIcon\"\n [liftHigher]=\"mainAction.liftHigherOnMobile\"\n [liftHigher2]=\"i > 0\"\n (click)=\"mainAction.action()\"\n [id]=\"mainAction.matIcon\"\n />\n </div>\n </ng-container>\n </ng-container>\n\n <div class=\"right-aligned no-print\">\n <ng-container *ngFor=\"let action of getToolbarActions(); let i = index\">\n <ng-container *ngIf=\"hasPermission(action) | async\">\n <mad-icon-button\n (click)=\"action.action()\"\n *ngIf=\"\n (!(isHandset$ | async) && !getToolbarActionsAlwaysAsMenu()) ||\n i < (getToolbarActions().length > 2 ? (hasImportantToolbarActions() ? 0 : 1) : 2) ||\n !!action.importantAction\n \"\n [id]=\"action.matIcon\"\n [matTooltip]=\"action.actionName\"\n type=\"button\"\n >\n <mat-icon\n [matBadgeColor]=\"action.badge ? action.badge.color : 'primary'\"\n matBadgePosition=\"below after\"\n [matBadge]=\"action.badge ? action.badge.value : null\"\n >{{ action.matIcon }}</mat-icon\n >\n </mad-icon-button>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(isHandset$ | async) || getToolbarActionsAlwaysAsMenu()\">\n <ng-container *ngIf=\"getToolbarActions().length > 2\">\n <mad-icon-button type=\"button\" [matMenuTriggerFor]=\"burgerMenu\" [matTooltip]=\"getToolbarActionsMenuTitle()\">\n <mat-icon\n matBadgeColor=\"warn\"\n [matBadge]=\"showBadgeForMenu() ? '⁠' : null\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n >more_vert\n </mat-icon>\n </mad-icon-button>\n <mat-menu #burgerMenu=\"matMenu\" class=\"no-print toolbar-menu\">\n <ng-container *ngFor=\"let action of getToolbarActions(); let i = index\">\n <ng-container *ngIf=\"!action.importantAction\">\n <ng-container *ngIf=\"hasPermission(action) | async\">\n <button\n *ngIf=\"i >= (hasImportantToolbarActions() ? 0 : 1)\"\n mat-menu-item\n (click)=\"action.action()\"\n [title]=\"action.actionName\"\n >\n <mat-icon\n color=\"primary\"\n [matBadgeColor]=\"action.badge ? action.badge.color : 'primary'\"\n [matBadge]=\"action.badge ? action.badge.value : null\"\n matBadgePosition=\"below after\"\n >{{ action.matIcon }}</mat-icon\n >\n {{ action.actionName }}\n </button>\n </ng-container>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </div>\n</mat-toolbar>\n", styles: ["mat-toolbar{background:white}.content-toolbar{height:57px;border-bottom:1px solid #dcdcdc}.right-aligned{overflow:hidden;margin-left:auto;margin-right:0}.go-back-button{padding-left:0;padding-right:0}.toolbar-title{margin-right:72px}::ng-deep .mat-badge-content{bottom:-7px!important;right:-7px!important}\n"] }]
|
|
77
|
+
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i2.Title }, { type: i3.ToolbarService }] });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2xheW91dC90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBc0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUXJDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFDVSxrQkFBc0MsRUFDdEMsWUFBbUIsRUFDbkIsY0FBOEI7UUFGOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBTztRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFMeEMsZUFBVSxHQUF3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFNNUgsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDdEcsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUNoRixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzdCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBK0I7UUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixPQUFPLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQStCO1FBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCw2QkFBNkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxDQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRTthQUNyQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsc0NBQXNDO2FBQy9DLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEYsQ0FBQzs4R0FqRVUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsbURDYjdCLHFsS0F3SEE7OzJGRDNHYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFRvb2xiYXJTZXJ2aWNlIH0gZnJvbSAnLi90b29sYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbiwgQmFja0FjdGlvbiwgTWFpbkFjdGlvbiwgVG9vbGJhckFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCB7XG4gIGlzSGFuZHNldCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0XSkucGlwZShtYXAoKHJlc3VsdCkgPT4gcmVzdWx0Lm1hdGNoZXMpKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICBwcml2YXRlIHRvb2xiYXJTZXJ2aWNlOiBUb29sYmFyU2VydmljZSxcbiAgKSB7fVxuXG4gIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0YVRpdGxlID0gdGhpcy50b29sYmFyU2VydmljZS5nZXREYXRhVGl0bGUoKTtcbiAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLnRvb2xiYXJTZXJ2aWNlLnRvb2xiYXJUaXRsZTtcbiAgICBjb25zdCB0aXRsZSA9ICF0b29sYmFyVGl0bGUgfHwgdG9vbGJhclRpdGxlLmxlbmd0aCA8PSAwID8gdGhpcy50aXRsZVNlcnZpY2UuZ2V0VGl0bGUoKSA6IHRvb2xiYXJUaXRsZTtcbiAgICByZXR1cm4gIWRhdGFUaXRsZSB8fCBkYXRhVGl0bGUubGVuZ3RoIDw9IDAgPyB0aXRsZSA6IHRpdGxlICsgJzogJyArIGRhdGFUaXRsZTtcbiAgfVxuXG4gIGdldFRvb2xiYXJBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclNlcnZpY2UuZ2V0VG9vbGJhckFjdGlvbnMoKTtcbiAgfVxuXG4gIGdldE1haW5BY3Rpb25zKCk6IE1haW5BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhclNlcnZpY2UuZ2V0TWFpbkFjdGlvbnMoKTtcbiAgfVxuXG4gIGhhc1Blcm1pc3Npb24oYWN0aW9uOiBBY3Rpb24pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAoIWFjdGlvbiB8fCAhYWN0aW9uLnNob3dJZikge1xuICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gYWN0aW9uLnNob3dJZjtcbiAgfVxuXG4gIGlzUm91dGVyTGluayhhY3Rpb246IEJhY2tBY3Rpb24gfCBNYWluQWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFjdGlvbiAmJiAhIWFjdGlvbi5yb3V0ZXJMaW5rO1xuICB9XG5cbiAgaXNBYnNvbHV0ZUxpbmsoYWN0aW9uOiBCYWNrQWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFjdGlvbiAmJiAhIWFjdGlvbi5ocmVmO1xuICB9XG5cbiAgaXNBY3Rpb24oYWN0aW9uOiBCYWNrQWN0aW9uIHwgTWFpbkFjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhY3Rpb24gJiYgISFhY3Rpb24uYWN0aW9uO1xuICB9XG5cbiAgZ2V0QmFja0FjdGlvbigpOiBCYWNrQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy50b29sYmFyU2VydmljZS5nZXRCYWNrQWN0aW9uKCk7XG4gIH1cblxuICBnZXRUb29sYmFyQWN0aW9uc0Fsd2F5c0FzTWVudSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50b29sYmFyU2VydmljZS5nZXRUb29sYmFyQWN0aW9uc0Fsd2F5c0FzTWVudSgpO1xuICB9XG5cbiAgZ2V0VG9vbGJhckFjdGlvbnNNZW51VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b29sYmFyU2VydmljZS5nZXRUb29sYmFyQWN0aW9uc01lbnVUaXRsZSgpO1xuICB9XG5cbiAgc2hvd0JhZGdlRm9yTWVudSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5nZXRUb29sYmFyQWN0aW9ucygpXG4gICAgICAgIC5zbGljZSgxKSAvLyB0aGUgZmlyc3QgaWNvbiBpcyBub3Qgc2hvd24gaW4gbWVudVxuICAgICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUuYmFkZ2UgJiYgdmFsdWUuYmFkZ2UudmFsdWUpLmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgaGFzSW1wb3J0YW50VG9vbGJhckFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VG9vbGJhckFjdGlvbnMoKS5maWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlLmltcG9ydGFudEFjdGlvbikubGVuZ3RoID4gMDtcbiAgfVxufVxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwiY29udGVudC10b29sYmFyXCI+XG4gIDxhIFtyb3V0ZXJMaW5rXT1cImdldEJhY2tBY3Rpb24oKS5yb3V0ZXJMaW5rXCIgKm5nSWY9XCJpc1JvdXRlckxpbmsoZ2V0QmFja0FjdGlvbigpKVwiPlxuICAgIDxidXR0b24gW2lkXT1cIidnby1iYWNrJ1wiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImdvLWJhY2stYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+e3sgZ2V0QmFja0FjdGlvbigpLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2E+XG4gIDxhIFtocmVmXT1cImdldEJhY2tBY3Rpb24oKS5ocmVmXCIgKm5nSWY9XCJpc0Fic29sdXRlTGluayhnZXRCYWNrQWN0aW9uKCkpXCI+XG4gICAgPGJ1dHRvbiBbaWRdPVwiJ2dvLWJhY2snXCIgY2xhc3M9XCJnby1iYWNrLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgIDxtYXQtaWNvbj57eyBnZXRCYWNrQWN0aW9uKCkubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvYT5cbiAgPGEgKGNsaWNrKT1cImdldEJhY2tBY3Rpb24oKS5hY3Rpb24oKVwiICpuZ0lmPVwiaXNBY3Rpb24oZ2V0QmFja0FjdGlvbigpKVwiPlxuICAgIDxidXR0b24gW2lkXT1cIidnby1iYWNrJ1wiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImdvLWJhY2stYnV0dG9uXCI+XG4gICAgICA8bWF0LWljb24+e3sgZ2V0QmFja0FjdGlvbigpLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2E+XG5cbiAgPHNwYW4gY2xhc3M9XCJ0b29sYmFyLXRpdGxlXCI+e3sgZ2V0VGl0bGUoKSB9fTwvc3Bhbj5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYWluQWN0aW9uIG9mIGdldE1haW5BY3Rpb25zKCk7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUGVybWlzc2lvbihtYWluQWN0aW9uKSB8IGFzeW5jXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIShpc0hhbmRzZXQkIHwgYXN5bmMpXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIm1haW5BY3Rpb24ucm91dGVyTGlua1wiICpuZ0lmPVwiaXNSb3V0ZXJMaW5rKG1haW5BY3Rpb24pXCI+XG4gICAgICAgICAgPG1hZC1wcmltYXJ5LWJ1dHRvbiBbaWRdPVwibWFpbkFjdGlvbi5tYXRJY29uXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogNTZweFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IG1haW5BY3Rpb24ubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICB7eyBtYWluQWN0aW9uLmFjdGlvbk5hbWUgfX1cbiAgICAgICAgICA8L21hZC1wcmltYXJ5LWJ1dHRvbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YSAoY2xpY2spPVwibWFpbkFjdGlvbi5hY3Rpb24oKVwiICpuZ0lmPVwiaXNBY3Rpb24obWFpbkFjdGlvbilcIj5cbiAgICAgICAgICA8bWFkLXByaW1hcnktYnV0dG9uIFtpZF09XCJtYWluQWN0aW9uLm1hdEljb25cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA1NnB4XCI+XG4gICAgICAgICAgICA8bWF0LWljb24+e3sgbWFpbkFjdGlvbi5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIHt7IG1haW5BY3Rpb24uYWN0aW9uTmFtZSB9fVxuICAgICAgICAgIDwvbWFkLXByaW1hcnktYnV0dG9uPlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJpc0hhbmRzZXQkIHwgYXN5bmNcIj5cbiAgICAgICAgPG1hZC1tYXRlcmlhbC1hY3Rpb24tYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpc1JvdXRlckxpbmsoZ2V0QmFja0FjdGlvbigpKVwiXG4gICAgICAgICAgW2FjdGlvbk5hbWVdPVwibWFpbkFjdGlvbi5hY3Rpb25OYW1lXCJcbiAgICAgICAgICBbaWNvbl09XCJtYWluQWN0aW9uLm1hdEljb25cIlxuICAgICAgICAgIFtsaWZ0SGlnaGVyXT1cIm1haW5BY3Rpb24ubGlmdEhpZ2hlck9uTW9iaWxlXCJcbiAgICAgICAgICBbbGlmdEhpZ2hlcjJdPVwiaSA+IDBcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIm1haW5BY3Rpb24ucm91dGVyTGlua1wiXG4gICAgICAgICAgW2lkXT1cIm1haW5BY3Rpb24ubWF0SWNvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYWQtbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiaXNBY3Rpb24oZ2V0QmFja0FjdGlvbigpKVwiXG4gICAgICAgICAgW2FjdGlvbk5hbWVdPVwibWFpbkFjdGlvbi5hY3Rpb25OYW1lXCJcbiAgICAgICAgICBbaWNvbl09XCJtYWluQWN0aW9uLm1hdEljb25cIlxuICAgICAgICAgIFtsaWZ0SGlnaGVyXT1cIm1haW5BY3Rpb24ubGlmdEhpZ2hlck9uTW9iaWxlXCJcbiAgICAgICAgICBbbGlmdEhpZ2hlcjJdPVwiaSA+IDBcIlxuICAgICAgICAgIChjbGljayk9XCJtYWluQWN0aW9uLmFjdGlvbigpXCJcbiAgICAgICAgICBbaWRdPVwibWFpbkFjdGlvbi5tYXRJY29uXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwicmlnaHQtYWxpZ25lZCBuby1wcmludFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBnZXRUb29sYmFyQWN0aW9ucygpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzUGVybWlzc2lvbihhY3Rpb24pIHwgYXN5bmNcIj5cbiAgICAgICAgPG1hZC1pY29uLWJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uYWN0aW9uKClcIlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAoIShpc0hhbmRzZXQkIHwgYXN5bmMpICYmICFnZXRUb29sYmFyQWN0aW9uc0Fsd2F5c0FzTWVudSgpKSB8fFxuICAgICAgICAgICAgaSA8IChnZXRUb29sYmFyQWN0aW9ucygpLmxlbmd0aCA+IDIgPyAoaGFzSW1wb3J0YW50VG9vbGJhckFjdGlvbnMoKSA/IDAgOiAxKSA6IDIpIHx8XG4gICAgICAgICAgICAhIWFjdGlvbi5pbXBvcnRhbnRBY3Rpb25cbiAgICAgICAgICBcIlxuICAgICAgICAgIFtpZF09XCJhY3Rpb24ubWF0SWNvblwiXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiYWN0aW9uLmFjdGlvbk5hbWVcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBbbWF0QmFkZ2VDb2xvcl09XCJhY3Rpb24uYmFkZ2UgPyBhY3Rpb24uYmFkZ2UuY29sb3IgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgbWF0QmFkZ2VQb3NpdGlvbj1cImJlbG93IGFmdGVyXCJcbiAgICAgICAgICAgIFttYXRCYWRnZV09XCJhY3Rpb24uYmFkZ2UgPyBhY3Rpb24uYmFkZ2UudmFsdWUgOiBudWxsXCJcbiAgICAgICAgICAgID57eyBhY3Rpb24ubWF0SWNvbiB9fTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGlzSGFuZHNldCQgfCBhc3luYykgfHwgZ2V0VG9vbGJhckFjdGlvbnNBbHdheXNBc01lbnUoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldFRvb2xiYXJBY3Rpb25zKCkubGVuZ3RoID4gMlwiPlxuICAgICAgICA8bWFkLWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYnVyZ2VyTWVudVwiIFttYXRUb29sdGlwXT1cImdldFRvb2xiYXJBY3Rpb25zTWVudVRpdGxlKClcIj5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgIFttYXRCYWRnZV09XCJzaG93QmFkZ2VGb3JNZW51KCkgPyAnJiM4Mjg4OycgOiBudWxsXCJcbiAgICAgICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIG1hdEJhZGdlUG9zaXRpb249XCJhYm92ZSBhZnRlclwiXG4gICAgICAgICAgICA+bW9yZV92ZXJ0XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9tYWQtaWNvbi1idXR0b24+XG4gICAgICAgIDxtYXQtbWVudSAjYnVyZ2VyTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm5vLXByaW50IHRvb2xiYXItbWVudVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBnZXRUb29sYmFyQWN0aW9ucygpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFjdGlvbi5pbXBvcnRhbnRBY3Rpb25cIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1Blcm1pc3Npb24oYWN0aW9uKSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpID49IChoYXNJbXBvcnRhbnRUb29sYmFyQWN0aW9ucygpID8gMCA6IDEpXCJcbiAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uYWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImFjdGlvbi5hY3Rpb25OYW1lXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aW9uLmJhZGdlID8gYWN0aW9uLmJhZGdlLmNvbG9yIDogJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgICAgW21hdEJhZGdlXT1cImFjdGlvbi5iYWRnZSA/IGFjdGlvbi5iYWRnZS52YWx1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYmVsb3cgYWZ0ZXJcIlxuICAgICAgICAgICAgICAgICAgICA+e3sgYWN0aW9uLm1hdEljb24gfX08L21hdC1pY29uXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBhY3Rpb24uYWN0aW9uTmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtdG9vbGJhcj5cbiJdfQ==
|