@porscheinformatik/material-addons 10.2.1 → 10.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/porscheinformatik-material-addons.umd.js +479 -12
- package/bundles/porscheinformatik-material-addons.umd.js.map +1 -1
- package/bundles/porscheinformatik-material-addons.umd.min.js +2 -2
- package/bundles/porscheinformatik-material-addons.umd.min.js.map +1 -1
- package/esm2015/lib/content-panel/content-header/content-header.component.js +15 -0
- package/esm2015/lib/content-panel/content-panel-container/content-panel-container.component.js +15 -0
- package/esm2015/lib/content-panel/content-panel-container-content/content-panel-container-content.component.js +15 -0
- package/esm2015/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.js +15 -0
- package/esm2015/lib/content-panel/content-panel.module.js +29 -0
- package/esm2015/lib/content-panel/main-container/main-container.component.js +15 -0
- package/esm2015/lib/data-table/data-table-action.js +1 -0
- package/esm2015/lib/data-table/data-table-column-header.js +1 -0
- package/esm2015/lib/data-table/data-table.component.js +103 -0
- package/esm2015/lib/data-table/data-table.js +1 -0
- package/esm2015/lib/data-table/data-table.module.js +33 -0
- package/esm2015/lib/flowbar/flowbar.component.js +190 -0
- package/esm2015/lib/flowbar/flowbar.module.js +14 -0
- package/esm2015/lib/stepper/step-header/step-header.component.js +3 -3
- package/esm2015/lib/stepper/stepper.component.js +8 -6
- package/esm2015/lib/table/table.component.js +1 -1
- package/esm2015/lib/table/table.module.js +3 -3
- package/esm2015/porscheinformatik-material-addons.js +2 -1
- package/esm2015/public-api.js +11 -1
- package/fesm2015/porscheinformatik-material-addons.js +422 -9
- package/fesm2015/porscheinformatik-material-addons.js.map +1 -1
- package/lib/content-panel/content-header/content-header.component.d.ts +5 -0
- package/lib/content-panel/content-panel-container/content-panel-container.component.d.ts +5 -0
- package/lib/content-panel/content-panel-container-content/content-panel-container-content.component.d.ts +5 -0
- package/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.d.ts +5 -0
- package/lib/content-panel/content-panel.module.d.ts +2 -0
- package/lib/content-panel/main-container/main-container.component.d.ts +5 -0
- package/lib/data-table/data-table-action.d.ts +5 -0
- package/lib/data-table/data-table-column-header.d.ts +6 -0
- package/lib/data-table/data-table.component.d.ts +39 -0
- package/lib/data-table/data-table.d.ts +2 -0
- package/lib/data-table/data-table.module.d.ts +2 -0
- package/lib/flowbar/flowbar.component.d.ts +43 -0
- package/lib/flowbar/flowbar.module.d.ts +2 -0
- package/lib/stepper/stepper.component.d.ts +1 -1
- package/package.json +1 -1
- package/porscheinformatik-material-addons.d.ts +1 -0
- package/porscheinformatik-material-addons.metadata.json +1 -1
- package/public-api.d.ts +10 -0
- package/themes/common/styles.scss +2 -2
- package/themes/pbv.scss +2 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class ContentHeaderComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
ContentHeaderComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'mad-content-header',
|
|
10
|
+
template: "<div class=\"content-header\">\n <ng-content></ng-content>\n</div>\n",
|
|
11
|
+
styles: [".content-header{padding-right:.5rem}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
ContentHeaderComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtaGVhZGVyL2NvbnRlbnQtaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixtRkFBOEM7O2FBRS9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWNvbnRlbnQtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50SGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
|
package/esm2015/lib/content-panel/content-panel-container/content-panel-container.component.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class ContentPanelContainerComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
ContentPanelContainerComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'mad-content-panel-container',
|
|
10
|
+
template: "<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",
|
|
11
|
+
styles: [":host{display:flex;flex:1 1 auto;min-height:.05rem;overflow:hidden;position:relative}.content-panel-outer-wrapper{display:flex;flex:1 1 auto;flex-direction:column}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
ContentPanelContainerComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2Qyw0TkFBdUQ7O2FBRXhEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1wYW5lbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class ContentPanelContainerContentComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
ContentPanelContainerContentComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'mad-content-panel-container-content',
|
|
10
|
+
template: "<ng-content></ng-content>",
|
|
11
|
+
styles: [":host{border-top:.05rem solid #ccc;flex:1 1 auto;height:1rem;overflow-y:auto;padding:1rem}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
ContentPanelContainerContentComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU0sT0FBTyxxQ0FBcUM7SUFFaEQsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxxQ0FBK0Q7O2FBRWhFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxDb250YWluZXJDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class ContentPanelContainerFooterComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
ContentPanelContainerFooterComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'mad-content-panel-container-footer',
|
|
10
|
+
template: "<ng-content></ng-content>",
|
|
11
|
+
styles: [":host{align-items:center;border-top:.05rem solid #ccc;display:flex;flex:0 0 auto;min-height:2rem;padding:.25rem 1rem}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
ContentPanelContainerFooterComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9tYXRlcmlhbC1hZGRvbnMvbWF0ZXJpYWwtYWRkb25zL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29udGVudC1wYW5lbC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIvY29udGVudC1wYW5lbC1jb250YWluZXItZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU0sT0FBTyxvQ0FBb0M7SUFFL0MsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2dCQUM5QyxxQ0FBOEQ7O2FBRS9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ContentHeaderComponent } from './content-header/content-header.component';
|
|
2
|
+
import { ContentPanelContainerComponent } from './content-panel-container/content-panel-container.component';
|
|
3
|
+
import { ContentPanelContainerContentComponent } from './content-panel-container-content/content-panel-container-content.component';
|
|
4
|
+
import { ContentPanelContainerFooterComponent } from './content-panel-container-footer/content-panel-container-footer.component';
|
|
5
|
+
import { MainContainerComponent } from './main-container/main-container.component';
|
|
6
|
+
import { NgModule } from '@angular/core';
|
|
7
|
+
import { CommonModule } from '@angular/common';
|
|
8
|
+
export class ContentPanelModule {
|
|
9
|
+
}
|
|
10
|
+
ContentPanelModule.decorators = [
|
|
11
|
+
{ type: NgModule, args: [{
|
|
12
|
+
declarations: [
|
|
13
|
+
ContentHeaderComponent,
|
|
14
|
+
ContentPanelContainerComponent,
|
|
15
|
+
ContentPanelContainerContentComponent,
|
|
16
|
+
ContentPanelContainerFooterComponent,
|
|
17
|
+
MainContainerComponent,
|
|
18
|
+
],
|
|
19
|
+
imports: [CommonModule],
|
|
20
|
+
exports: [
|
|
21
|
+
ContentHeaderComponent,
|
|
22
|
+
ContentPanelContainerComponent,
|
|
23
|
+
ContentPanelContainerContentComponent,
|
|
24
|
+
ContentPanelContainerFooterComponent,
|
|
25
|
+
MainContainerComponent,
|
|
26
|
+
],
|
|
27
|
+
},] }
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbnRlbnQtcGFuZWwvY29udGVudC1wYW5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDcEksT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDakksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFtQi9DLE1BQU0sT0FBTyxrQkFBa0I7OztZQWpCOUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixzQkFBc0I7b0JBQ3RCLDhCQUE4QjtvQkFDOUIscUNBQXFDO29CQUNyQyxvQ0FBb0M7b0JBQ3BDLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUU7b0JBQ1Asc0JBQXNCO29CQUN0Qiw4QkFBOEI7b0JBQzlCLHFDQUFxQztvQkFDckMsb0NBQW9DO29CQUNwQyxzQkFBc0I7aUJBQ3ZCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1haW5Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL21haW4tY29udGFpbmVyL21haW4tY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29udGVudEhlYWRlckNvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQsXG4gICAgTWFpbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb250ZW50SGVhZGVyQ29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJDb250ZW50Q29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lckZvb3RlckNvbXBvbmVudCxcbiAgICBNYWluQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
export class MainContainerComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
ngOnInit() {
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
MainContainerComponent.decorators = [
|
|
8
|
+
{ type: Component, args: [{
|
|
9
|
+
selector: 'mad-main-container',
|
|
10
|
+
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",
|
|
11
|
+
styles: [".main-container{display:flex;flex-direction:column;height:100%}"]
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
MainContainerComponent.ctorParameters = () => [];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250ZW50LXBhbmVsL21haW4tY29udGFpbmVyL21haW4tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQVZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qiw2T0FBOEM7O2FBRS9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLW1haW4tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFpbi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYWluQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlQWN0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIG91dHB1dFJvdz86IGFueTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4taGVhZGVyLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1uLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVDb2x1bW5IZWFkZXIge1xuICBsYWJlbDogc3RyaW5nO1xuICBpc1NvcnRhYmxlPzogYm9vbGVhbjtcbiAgZGF0YVByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBpc1JpZ2h0QWxpZ25lZD86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
3
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
4
|
+
import { MatSort } from '@angular/material/sort';
|
|
5
|
+
export class DataTableComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
var _a;
|
|
8
|
+
this.ACTION_COLUMN_NAME = '__action__';
|
|
9
|
+
this.columns = [];
|
|
10
|
+
this.filterLabel = 'NOT SET';
|
|
11
|
+
this.filterPlaceholder = 'NOT SET';
|
|
12
|
+
this.pageSizeOptions = [5, 10, 15];
|
|
13
|
+
this.defaultPageSize = ((_a = this.pageSizeOptions) === null || _a === void 0 ? void 0 : _a[0]) || 10;
|
|
14
|
+
this.rowActions = [];
|
|
15
|
+
this.tableActions = [];
|
|
16
|
+
this.tableAction = new EventEmitter();
|
|
17
|
+
this.rowAction = new EventEmitter();
|
|
18
|
+
this.sortEvent = new EventEmitter();
|
|
19
|
+
this.isFilterEnabled = false;
|
|
20
|
+
this.isPaginationEnabled = false;
|
|
21
|
+
}
|
|
22
|
+
set displayedData(data) {
|
|
23
|
+
if (!this.dataSource) {
|
|
24
|
+
this.dataSource = new MatTableDataSource(data);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.dataSource.data = data;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
set paginationEnabled(isPaginationEnabled) {
|
|
31
|
+
this.isPaginationEnabled = isPaginationEnabled;
|
|
32
|
+
// eslint-disable-next-line
|
|
33
|
+
const pageSize = this.isPaginationEnabled ? this.defaultPageSize : Number.MAX_VALUE;
|
|
34
|
+
if (this.dataSource.paginator) {
|
|
35
|
+
this.dataSource.paginator._changePageSize(pageSize);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
set filterEnabled(isFilterEnabled) {
|
|
39
|
+
this.isFilterEnabled = isFilterEnabled;
|
|
40
|
+
this.setFilterValue(undefined);
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.columnNames = this.columns.map(column => column.label);
|
|
44
|
+
this.isRowClickable = this.rowActions.length > 0;
|
|
45
|
+
if (this.isRowClickable) {
|
|
46
|
+
this.columnNames.unshift(this.ACTION_COLUMN_NAME);
|
|
47
|
+
this.defaultAction = this.rowActions[0];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ngAfterViewInit() {
|
|
51
|
+
this.dataSource.paginator = this.paginator;
|
|
52
|
+
this.dataSource.sort = this.sort;
|
|
53
|
+
}
|
|
54
|
+
onFilter(value) {
|
|
55
|
+
this.setFilterValue(value);
|
|
56
|
+
}
|
|
57
|
+
onRowEvent(event, row, action = this.defaultAction) {
|
|
58
|
+
if (!!action && !this.isClickOnRowMenuIcon(event)) {
|
|
59
|
+
this.rowAction.emit(Object.assign(Object.assign({}, action), { outputRow: row }));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
onSortingEvent(sortingParams) {
|
|
63
|
+
this.sortEvent.emit(sortingParams);
|
|
64
|
+
}
|
|
65
|
+
onTableAction(tableAction) {
|
|
66
|
+
if (!!tableAction) {
|
|
67
|
+
this.tableAction.emit(tableAction);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
setFilterValue(value) {
|
|
71
|
+
this.dataSource.filter = value === null || value === void 0 ? void 0 : value.trim().toLowerCase();
|
|
72
|
+
}
|
|
73
|
+
isClickOnRowMenuIcon(event) {
|
|
74
|
+
var _a;
|
|
75
|
+
return (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.classList.contains('mat-icon');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
DataTableComponent.decorators = [
|
|
79
|
+
{ type: Component, args: [{
|
|
80
|
+
selector: 'mad-data-table',
|
|
81
|
+
template: "<!-- Table actions -->\n<div *ngIf=\"tableActions?.length\">\n <mad-primary-button class=\"table-action\" *ngFor=\"let tableAction of tableActions\" (click)=\"onTableAction(tableAction)\">\n {{ tableAction.label }}\n </mad-primary-button>\n</div>\n\n<!-- Row action buttons -->\n<mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent let-element=\"element\">\n <button *ngFor=\"let rowAction of rowActions\" mat-menu-item class=\"row-action\" (click)=\"onRowEvent($event, element, rowAction)\">\n {{ rowAction.label }}\n </button>\n </ng-template>\n</mat-menu>\n\n<!-- Table filter -->\n<mat-form-field *ngIf=\"isFilterEnabled\">\n <mat-label>{{ filterLabel }}</mat-label>\n <input matInput autocomplete=\"off\" (keyup)=\"onFilter($event?.target?.value)\" placeholder=\"{{ filterPlaceholder }}\" />\n</mat-form-field>\n\n<!-- Table -->\n<div *ngIf=\"dataSource?.data?.length > 0; else noData\" class=\"mad-table\">\n <table mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSortingEvent($event)\">\n <!-- Row actions column -->\n <ng-container [matColumnDef]=\"ACTION_COLUMN_NAME\" *ngIf=\"rowActions?.length\">\n <th scope=\"col\" mat-header-cell *matHeaderCellDef class=\"row-action-button\"></th>\n <td mat-cell *matCellDef=\"let element\" class=\"row-action-button\">\n <mad-icon-button [matMenuTriggerData]=\"{ element: element }\" [matMenuTriggerFor]=\"menu\">\n <mat-icon>more_vert</mat-icon>\n </mad-icon-button>\n </td>\n </ng-container>\n <!-- Columns with data -->\n <ng-container *ngFor=\"let column of columns\" [matColumnDef]=\"column.label\">\n <ng-container *ngIf=\"column.isSortable; else noSort\">\n <th\n scope=\"col\"\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header=\"{{ column.label }}\"\n [arrowPosition]=\"column.isRightAligned ? 'before' : 'after'\"\n [class.text-right]=\"column.isRightAligned\"\n >\n {{ column.label }}\n </th>\n </ng-container>\n <ng-template #noSort>\n <th scope=\"col\" mat-header-cell *matHeaderCellDef [class.text-right]=\"column.isRightAligned\">\n {{ column.label }}\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" [class.text-right]=\"column.isRightAligned\">\n {{ element[column.dataPropertyName] }}\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnNames\"></tr>\n <tr\n mat-row\n [class.clickable-table-row]=\"isRowClickable\"\n (click)=\"onRowEvent($event, row)\"\n *matRowDef=\"let row; columns: columnNames\"\n ></tr>\n </table>\n\n <!-- Pagination -->\n <mat-paginator\n [style.display]=\"isPaginationEnabled ? 'block' : 'none'\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons\n >\n </mat-paginator>\n</div>\n\n<!-- No data alert -->\n<ng-template #noData>\n <div class=\"noDataText\">\n {{ noDataText }}\n </div>\n</ng-template>\n",
|
|
82
|
+
styles: [".text-right{padding-right:24px!important;text-align:right!important}.table-action{margin-bottom:.5em;margin-right:.5em}.row-action-button{width:10px}.noDataText{text-align:center;width:100%}.mad-table{overflow-x:auto;width:100%}"]
|
|
83
|
+
},] }
|
|
84
|
+
];
|
|
85
|
+
DataTableComponent.propDecorators = {
|
|
86
|
+
columns: [{ type: Input }],
|
|
87
|
+
filterLabel: [{ type: Input }],
|
|
88
|
+
filterPlaceholder: [{ type: Input }],
|
|
89
|
+
noDataText: [{ type: Input }],
|
|
90
|
+
pageSizeOptions: [{ type: Input }],
|
|
91
|
+
defaultPageSize: [{ type: Input }],
|
|
92
|
+
rowActions: [{ type: Input }],
|
|
93
|
+
tableActions: [{ type: Input }],
|
|
94
|
+
displayedData: [{ type: Input }],
|
|
95
|
+
paginationEnabled: [{ type: Input }],
|
|
96
|
+
filterEnabled: [{ type: Input }],
|
|
97
|
+
tableAction: [{ type: Output }],
|
|
98
|
+
rowAction: [{ type: Output }],
|
|
99
|
+
sortEvent: [{ type: Output }],
|
|
100
|
+
paginator: [{ type: ViewChild, args: [MatPaginator, { static: false },] }],
|
|
101
|
+
sort: [{ type: ViewChild, args: [MatSort, { static: true },] }]
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFRLE1BQU0sd0JBQXdCLENBQUM7QUFTdkQsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjs7UUFNVyx1QkFBa0IsR0FBRyxZQUFZLENBQUM7UUFFbEMsWUFBTyxHQUE0QixFQUFFLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRTlCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLG9CQUFlLEdBQUcsT0FBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRyxDQUFDLE1BQUssRUFBRSxDQUFDO1FBQ2xELGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLGlCQUFZLEdBQXNCLEVBQUUsQ0FBQztRQXlCcEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDaEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFTL0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcs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QiwwQ0FBRSxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtJQUN4RSxDQUFDOzs7WUEvRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLG9oR0FBMEM7O2FBRTNDOzs7c0JBSUUsS0FBSzswQkFDTCxLQUFLO2dDQUNMLEtBQUs7eUJBQ0wsS0FBSzs4QkFDTCxLQUFLOzhCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLOzRCQUVMLEtBQUs7Z0NBUUwsS0FBSzs0QkFTTCxLQUFLOzBCQU1MLE1BQU07d0JBQ04sTUFBTTt3QkFDTixNQUFNO3dCQUVOLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO21CQUN6QyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbkhlYWRlciB9IGZyb20gJy4vZGF0YS10YWJsZS1jb2x1bW4taGVhZGVyJztcbmltcG9ydCB7IERhdGFUYWJsZUFjdGlvbiB9IGZyb20gJy4vZGF0YS10YWJsZS1hY3Rpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtZGF0YS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICByZWFkb25seSBBQ1RJT05fQ09MVU1OX05BTUUgPSAnX19hY3Rpb25fXyc7XG5cbiAgQElucHV0KCkgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uSGVhZGVyW10gPSBbXTtcbiAgQElucHV0KCkgZmlsdGVyTGFiZWwgPSAnTk9UIFNFVCc7XG4gIEBJbnB1dCgpIGZpbHRlclBsYWNlaG9sZGVyID0gJ05PVCBTRVQnO1xuICBASW5wdXQoKSBub0RhdGFUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZ2VTaXplT3B0aW9ucyA9IFs1LCAxMCwgMTVdO1xuICBASW5wdXQoKSBkZWZhdWx0UGFnZVNpemUgPSB0aGlzLnBhZ2VTaXplT3B0aW9ucz8uWzBdIHx8IDEwO1xuICBASW5wdXQoKSByb3dBY3Rpb25zOiBEYXRhVGFibGVBY3Rpb25bXSA9IFtdO1xuICBASW5wdXQoKSB0YWJsZUFjdGlvbnM6IERhdGFUYWJsZUFjdGlvbltdID0gW107XG5cbiAgQElucHV0KCkgc2V0IGRpc3BsYXllZERhdGEoZGF0YTogYW55W10pIHtcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHBhZ2luYXRpb25FbmFibGVkKGlzUGFnaW5hdGlvbkVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUGFnaW5hdGlvbkVuYWJsZWQgPSBpc1BhZ2luYXRpb25FbmFibGVkO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IHBhZ2VTaXplID0gdGhpcy5pc1BhZ2luYXRpb25FbmFibGVkID8gdGhpcy5kZWZhdWx0UGFnZVNpemUgOiBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLl9jaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGZpbHRlckVuYWJsZWQoaXNGaWx0ZXJFbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZpbHRlckVuYWJsZWQgPSBpc0ZpbHRlckVuYWJsZWQ7XG4gICAgdGhpcy5zZXRGaWx0ZXJWYWx1ZSh1bmRlZmluZWQpO1xuICB9XG5cbiAgQE91dHB1dCgpIHRhYmxlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhVGFibGVBY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSByb3dBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFUYWJsZUFjdGlvbj4oKTtcbiAgQE91dHB1dCgpIHNvcnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IGZhbHNlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XG5cbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueVtdPjtcbiAgY29sdW1uTmFtZXM6IHN0cmluZ1tdO1xuICBpc1Jvd0NsaWNrYWJsZTogYm9vbGVhbjtcbiAgZGVmYXVsdEFjdGlvbjogRGF0YVRhYmxlQWN0aW9uO1xuICBpc0ZpbHRlckVuYWJsZWQgPSBmYWxzZTtcbiAgaXNQYWdpbmF0aW9uRW5hYmxlZCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uTmFtZXMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ubGFiZWwpO1xuICAgIHRoaXMuaXNSb3dDbGlja2FibGUgPSB0aGlzLnJvd0FjdGlvbnMubGVuZ3RoID4gMDtcbiAgICBpZiAodGhpcy5pc1Jvd0NsaWNrYWJsZSkge1xuICAgICAgdGhpcy5jb2x1bW5OYW1lcy51bnNoaWZ0KHRoaXMuQUNUSU9OX0NPTFVNTl9OQU1FKTtcbiAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbiA9IHRoaXMucm93QWN0aW9uc1swXTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuXG4gIH1cblxuICBvbkZpbHRlcih2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRGaWx0ZXJWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBvblJvd0V2ZW50KGV2ZW50OiBNb3VzZUV2ZW50LCByb3c6IGFueSwgYWN0aW9uID0gdGhpcy5kZWZhdWx0QWN0aW9uKTogdm9pZCB7XG4gICAgaWYgKCEhYWN0aW9uICYmICF0aGlzLmlzQ2xpY2tPblJvd01lbnVJY29uKGV2ZW50KSkge1xuICAgICAgdGhpcy5yb3dBY3Rpb24uZW1pdCh7IC4uLmFjdGlvbiwgb3V0cHV0Um93OiByb3cgfSk7XG4gICAgfVxuICB9XG5cbiAgb25Tb3J0aW5nRXZlbnQoc29ydGluZ1BhcmFtczogU29ydCk6IHZvaWQge1xuICAgIHRoaXMuc29ydEV2ZW50LmVtaXQoc29ydGluZ1BhcmFtcyk7XG4gIH1cblxuICBvblRhYmxlQWN0aW9uKHRhYmxlQWN0aW9uOiBEYXRhVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoISF0YWJsZUFjdGlvbikge1xuICAgICAgdGhpcy50YWJsZUFjdGlvbi5lbWl0KHRhYmxlQWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEZpbHRlclZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU/LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NsaWNrT25Sb3dNZW51SWNvbihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoZXZlbnQ/LnRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmNsYXNzTGlzdC5jb250YWlucygnbWF0LWljb24nKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9tYXRlcmlhbC1hZGRvbnMvbWF0ZXJpYWwtYWRkb25zL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvIiwic291cmNlcyI6WyJsaWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEYXRhVGFibGVDb2x1bW5IZWFkZXIgfSBmcm9tICcuL2RhdGEtdGFibGUtY29sdW1uLWhlYWRlcic7XG5leHBvcnQgeyBEYXRhVGFibGVBY3Rpb24gfSBmcm9tICcuL2RhdGEtdGFibGUtYWN0aW9uJztcbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { MatTableModule } from '@angular/material/table';
|
|
9
|
+
import { MatSortModule } from '@angular/material/sort';
|
|
10
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
11
|
+
import { DataTableComponent } from './data-table.component';
|
|
12
|
+
import { ButtonModule } from '../button/button.module';
|
|
13
|
+
export class DataTableModule {
|
|
14
|
+
}
|
|
15
|
+
DataTableModule.decorators = [
|
|
16
|
+
{ type: NgModule, args: [{
|
|
17
|
+
declarations: [DataTableComponent],
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
MatButtonModule,
|
|
21
|
+
MatIconModule,
|
|
22
|
+
MatFormFieldModule,
|
|
23
|
+
MatInputModule,
|
|
24
|
+
MatMenuModule,
|
|
25
|
+
MatPaginatorModule,
|
|
26
|
+
MatSortModule,
|
|
27
|
+
MatTableModule,
|
|
28
|
+
ButtonModule,
|
|
29
|
+
],
|
|
30
|
+
exports: [DataTableComponent],
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBa0J2RCxNQUFNLE9BQU8sZUFBZTs7O1lBaEIzQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2xDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2FBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXRhVGFibGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICBNYXRTb3J0TW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW0RhdGFUYWJsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZU1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatStepper } from '@angular/material/stepper';
|
|
3
|
+
export class FlowbarComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._steps = [];
|
|
6
|
+
this._activeStepChange = new EventEmitter(true);
|
|
7
|
+
/**
|
|
8
|
+
* Event emitted when a step header is clicked.
|
|
9
|
+
* When defined header navigation has to be implemented programmatically.
|
|
10
|
+
* e.g. {@see changeActiveStepOnHeader}
|
|
11
|
+
*/
|
|
12
|
+
this._headerClick = new EventEmitter(true);
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
// If no active step is set as input or the active step is not enabled, select the first enabled step
|
|
16
|
+
if (!this._activeStep || !this._activeStep.enabled) {
|
|
17
|
+
this._activeStep = this._steps.find(step => {
|
|
18
|
+
return step.enabled;
|
|
19
|
+
});
|
|
20
|
+
if (this._activeStep) {
|
|
21
|
+
// If sub steps exist then set the first non disabled sub step per default
|
|
22
|
+
if (this.activeTabHasSubSteps()) {
|
|
23
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps.find(step => {
|
|
24
|
+
return step.enabled;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
this._activeStepChange.emit(this._activeStep);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ngAfterViewInit() {
|
|
32
|
+
this.stepper._getIndicatorType = () => 'number';
|
|
33
|
+
}
|
|
34
|
+
getIndexForActiveStep() {
|
|
35
|
+
const selectedIndex = this._steps.indexOf(this._activeStep);
|
|
36
|
+
return selectedIndex === -1 ? 0 : selectedIndex;
|
|
37
|
+
}
|
|
38
|
+
changeActiveStep(step) {
|
|
39
|
+
const previousIndex = this._steps.indexOf(this._activeStep);
|
|
40
|
+
this._activeStep = step;
|
|
41
|
+
if (this.activeTabHasSubSteps()) {
|
|
42
|
+
if (previousIndex < this._steps.indexOf(this._activeStep)) {
|
|
43
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[0];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this._activeStepChange.emit(this._activeStep);
|
|
50
|
+
}
|
|
51
|
+
changeActiveStepOnHeader(step) {
|
|
52
|
+
const stepIndex = this._steps.indexOf(step);
|
|
53
|
+
this._activeStep = step;
|
|
54
|
+
this.stepper.selected = this.stepper._steps.find((_, i) => i === stepIndex);
|
|
55
|
+
}
|
|
56
|
+
changeActiveSubStep(subStep) {
|
|
57
|
+
this._activeStep.activeSubStep = subStep;
|
|
58
|
+
}
|
|
59
|
+
previous() {
|
|
60
|
+
if (this.isPreviousAvailable()) {
|
|
61
|
+
// If active step has no sub steps or first sub step is selected -> go to previous main step
|
|
62
|
+
if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
|
|
63
|
+
const previousEnabledStep = this.findPreviousEnabledStep();
|
|
64
|
+
this.changeActiveStep(previousEnabledStep);
|
|
65
|
+
this.stepper.selectedIndex = this._steps.indexOf(previousEnabledStep);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
|
|
69
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex - 1];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
next() {
|
|
74
|
+
if (this.isNextAvailable()) {
|
|
75
|
+
// If active step has no sub steps or last sub step is selected -> go to next main step
|
|
76
|
+
if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
|
|
77
|
+
const nextEnabledStep = this.findNextEnabledStep();
|
|
78
|
+
this.changeActiveStep(nextEnabledStep);
|
|
79
|
+
this.stepper.selectedIndex = this._steps.indexOf(nextEnabledStep);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
const subStepIndex = this._activeStep.subSteps.indexOf(this._activeStep.activeSubStep);
|
|
83
|
+
this._activeStep.activeSubStep = this._activeStep.subSteps[subStepIndex + 1];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
isPreviousAvailable() {
|
|
88
|
+
if (this._activeStep) {
|
|
89
|
+
if (!this.activeTabHasSubSteps() || this.isFirstSubStep()) {
|
|
90
|
+
const index = this.getCurrentIndex();
|
|
91
|
+
return index > 0 && this.isAnyPreviousStepEnabled(index);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
isNextAvailable() {
|
|
100
|
+
if (this._activeStep) {
|
|
101
|
+
if (!this.activeTabHasSubSteps() || this.isLastSubStep()) {
|
|
102
|
+
const index = this.getCurrentIndex();
|
|
103
|
+
return index < this._steps.length - 1 && this.isAnyFollowingStepEnabled(index);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
isLastStep() {
|
|
112
|
+
if (this.getCurrentIndex() === this._steps.length - 1) {
|
|
113
|
+
if (this.activeTabHasSubSteps()) {
|
|
114
|
+
return this.isLastSubStep();
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
getCurrentIndex() {
|
|
123
|
+
return this._steps.findIndex(value => {
|
|
124
|
+
return value === this._activeStep;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
getCurrentSubStepIndex() {
|
|
128
|
+
return this._activeStep.subSteps.findIndex(value => {
|
|
129
|
+
return value === this._activeStep.activeSubStep;
|
|
130
|
+
});
|
|
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
|
+
get currentStepLabel() {
|
|
141
|
+
return this._activeStep.label;
|
|
142
|
+
}
|
|
143
|
+
get currentSubStepLabel() {
|
|
144
|
+
var _a;
|
|
145
|
+
return (_a = this._activeStep.activeSubStep) === null || _a === void 0 ? void 0 : _a.label;
|
|
146
|
+
}
|
|
147
|
+
activeTabHasSubSteps() {
|
|
148
|
+
return this._activeStep.subSteps && this._activeStep.subSteps.length > 0;
|
|
149
|
+
}
|
|
150
|
+
isFirstSubStep() {
|
|
151
|
+
return this._activeStep.activeSubStep === this._activeStep.subSteps[0];
|
|
152
|
+
}
|
|
153
|
+
isLastSubStep() {
|
|
154
|
+
return this._activeStep.activeSubStep === this._activeStep.subSteps[this._activeStep.subSteps.length - 1];
|
|
155
|
+
}
|
|
156
|
+
isAnyPreviousStepEnabled(index) {
|
|
157
|
+
// eslint-disable-next-line id-blacklist
|
|
158
|
+
return this._steps.slice(0, index).find(step => step.enabled) !== undefined;
|
|
159
|
+
}
|
|
160
|
+
isAnyFollowingStepEnabled(index) {
|
|
161
|
+
// eslint-disable-next-line id-blacklist
|
|
162
|
+
return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled) !== undefined;
|
|
163
|
+
}
|
|
164
|
+
findPreviousEnabledStep() {
|
|
165
|
+
const index = this.getCurrentIndex();
|
|
166
|
+
return this._steps
|
|
167
|
+
.slice(0, index)
|
|
168
|
+
.reverse()
|
|
169
|
+
.find(step => step.enabled);
|
|
170
|
+
}
|
|
171
|
+
findNextEnabledStep() {
|
|
172
|
+
const index = this.getCurrentIndex();
|
|
173
|
+
return this._steps.slice(index + 1, this._steps.length).find(step => step.enabled);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
FlowbarComponent.decorators = [
|
|
177
|
+
{ type: Component, args: [{
|
|
178
|
+
selector: 'mad-flowbar',
|
|
179
|
+
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",
|
|
180
|
+
styles: [".stepper-container{display:flex;padding:0 1rem}::ng-deep .mat-stepper-horizontal .mat-horizontal-stepper-header{height:auto;padding:0}::ng-deep .mat-step-header[aria-labelledby=disabled]{cursor:not-allowed;pointer-events:none!important}::ng-deep .mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 10px}::ng-deep .mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-width:4px;margin:0 5px}.step-header-overlay{height:100%;position:absolute;right:0;top:0;width:100%}"]
|
|
181
|
+
},] }
|
|
182
|
+
];
|
|
183
|
+
FlowbarComponent.propDecorators = {
|
|
184
|
+
stepper: [{ type: ViewChild, args: ['stepper',] }],
|
|
185
|
+
_steps: [{ type: Input, args: ['steps',] }],
|
|
186
|
+
_activeStep: [{ type: Input, args: ['activeStep',] }],
|
|
187
|
+
_activeStepChange: [{ type: Output, args: ['activeStepChange',] }],
|
|
188
|
+
_headerClick: [{ type: Output, args: ['headerClick',] }]
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd2Jhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2Zsb3diYXIvZmxvd2Jhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQWN0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBUWtCLFdBQU0sR0FBWSxFQUFFLENBQUM7UUFFVCxzQkFBaUIsR0FBd0IsSUFBSSxZQUFZLENBQVEsSUFBSSxDQUFDLENBQUM7UUFDbkc7Ozs7V0FJRztRQUNvQixpQkFBWSxHQUF3QixJQUFJLFlBQVksQ0FBUSxJQUFJLENBQUMsQ0FBQztJQW9MM0YsQ0FBQztJQWpMQyxRQUFRO1FBQ04scUdBQXFHO1FBQ3JHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQiwwRUFBMEU7Z0JBQzFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFB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QUFhO1FBQzdDLHdDQUF3QztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUFDO0lBQ25HLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDZixLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQzthQUNmLE9BQU8sRUFBRTthQUNULElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckYsQ0FBQzs7O1lBbk1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsNGtCQUF1Qzs7YUFFeEM7OztzQkFFRSxTQUFTLFNBQUMsU0FBUztxQkFFbkIsS0FBSyxTQUFDLE9BQU87MEJBQ2IsS0FBSyxTQUFDLFlBQVk7Z0NBQ2xCLE1BQU0sU0FBQyxrQkFBa0I7MkJBTXpCLE1BQU0sU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFN0ZXBwZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdGVwIHtcbiAgbGFiZWw6IHN0cmluZyxcbiAgZW5hYmxlZD86IGJvb2xlYW4sXG4gIHN1YlN0ZXBzPzogSVN0ZXBbXSxcbiAgYWN0aXZlU3ViU3RlcD86IElTdGVwXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1mbG93YmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zsb3diYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mbG93YmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmxvd2JhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ3N0ZXBwZXInKSBwcml2YXRlIHN0ZXBwZXI6IE1hdFN0ZXBwZXI7XG5cbiAgQElucHV0KCdzdGVwcycpIF9zdGVwczogSVN0ZXBbXSA9IFtdO1xuICBASW5wdXQoJ2FjdGl2ZVN0ZXAnKSBfYWN0aXZlU3RlcDogSVN0ZXA7XG4gIEBPdXRwdXQoJ2FjdGl2ZVN0ZXBDaGFuZ2UnKSBfYWN0aXZlU3RlcENoYW5nZTogRXZlbnRFbWl0dGVyPElTdGVwPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVN0ZXA+KHRydWUpO1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgc3RlcCBoZWFkZXIgaXMgY2xpY2tlZC5cbiAgICogV2hlbiBkZWZpbmVkIGhlYWRlciBuYXZpZ2F0aW9uIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBwcm9ncmFtbWF0aWNhbGx5LlxuICAgKiBlLmcuIHtAc2VlIGNoYW5nZUFjdGl2ZVN0ZXBPbkhlYWRlcn1cbiAgICovXG4gIEBPdXRwdXQoJ2hlYWRlckNsaWNrJykgX2hlYWRlckNsaWNrOiBFdmVudEVtaXR0ZXI8SVN0ZXA+ID0gbmV3IEV2ZW50RW1pdHRlcjxJU3RlcD4odHJ1ZSk7XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBJZiBubyBhY3RpdmUgc3RlcCBpcyBzZXQgYXMgaW5wdXQgb3IgdGhlIGFjdGl2ZSBzdGVwIGlzIG5vdCBlbmFibGVkLCBzZWxlY3QgdGhlIGZpcnN0IGVuYWJsZWQgc3RlcFxuICAgIGlmICghdGhpcy5fYWN0aXZlU3RlcCB8fCAhdGhpcy5fYWN0aXZlU3RlcC5lbmFibGVkKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdGVwID0gdGhpcy5fc3RlcHMuZmluZChzdGVwID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ZXAuZW5hYmxlZDtcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuX2FjdGl2ZVN0ZXApIHtcbiAgICAgICAgLy8gSWYgc3ViIHN0ZXBzIGV4aXN0IHRoZW4gc2V0IHRoZSBmaXJzdCBub24gZGlzYWJsZWQgc3ViIHN0ZXAgcGVyIGRlZmF1bHRcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHMuZmluZChzdGVwID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzdGVwLmVuYWJsZWQ7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYWN0aXZlU3RlcENoYW5nZS5lbWl0KHRoaXMuX2FjdGl2ZVN0ZXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnN0ZXBwZXIuX2dldEluZGljYXRvclR5cGUgPSAoKSA9PiAnbnVtYmVyJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbmRleEZvckFjdGl2ZVN0ZXAoKTogbnVtYmVyIHtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdGhpcy5fc3RlcHMuaW5kZXhPZih0aGlzLl9hY3RpdmVTdGVwKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRJbmRleCA9PT0gLTEgPyAwIDogc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VBY3RpdmVTdGVwKHN0ZXA6IElTdGVwKTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcCk7XG4gICAgdGhpcy5fYWN0aXZlU3RlcCA9IHN0ZXA7XG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSkge1xuICAgICAgaWYgKHByZXZpb3VzSW5kZXggPCB0aGlzLl9zdGVwcy5pbmRleE9mKHRoaXMuX2FjdGl2ZVN0ZXApKSB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHNbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzW3RoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHMubGVuZ3RoIC0gMV07XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2UuZW1pdCh0aGlzLl9hY3RpdmVTdGVwKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VBY3RpdmVTdGVwT25IZWFkZXIoc3RlcDogSVN0ZXApOiB2b2lkIHtcbiAgICBjb25zdCBzdGVwSW5kZXggPSB0aGlzLl9zdGVwcy5pbmRleE9mKHN0ZXApO1xuICAgIHRoaXMuX2FjdGl2ZVN0ZXAgPSBzdGVwO1xuICAgIHRoaXMuc3RlcHBlci5zZWxlY3RlZCA9IHRoaXMuc3RlcHBlci5fc3RlcHMuZmluZCgoXywgaSkgPT4gaSA9PT0gc3RlcEluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VBY3RpdmVTdWJTdGVwKHN1YlN0ZXA6IElTdGVwKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwID0gc3ViU3RlcDtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aW91cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1ByZXZpb3VzQXZhaWxhYmxlKCkpIHtcbiAgICAgIC8vIElmIGFjdGl2ZSBzdGVwIGhhcyBubyBzdWIgc3RlcHMgb3IgZmlyc3Qgc3ViIHN0ZXAgaXMgc2VsZWN0ZWQgLT4gZ28gdG8gcHJldmlvdXMgbWFpbiBzdGVwXG4gICAgICBpZiAoIXRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSB8fCB0aGlzLmlzRmlyc3RTdWJTdGVwKCkpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbmFibGVkU3RlcCA9IHRoaXMuZmluZFByZXZpb3VzRW5hYmxlZFN0ZXAoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBY3RpdmVTdGVwKHByZXZpb3VzRW5hYmxlZFN0ZXApO1xuICAgICAgICB0aGlzLnN0ZXBwZXIuc2VsZWN0ZWRJbmRleCA9IHRoaXMuX3N0ZXBzLmluZGV4T2YocHJldmlvdXNFbmFibGVkU3RlcCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdWJTdGVwSW5kZXggPSB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmluZGV4T2YodGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwKTtcbiAgICAgICAgdGhpcy5fYWN0aXZlU3RlcC5hY3RpdmVTdWJTdGVwID0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwc1tzdWJTdGVwSW5kZXggLSAxXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc05leHRBdmFpbGFibGUoKSkge1xuICAgICAgLy8gSWYgYWN0aXZlIHN0ZXAgaGFzIG5vIHN1YiBzdGVwcyBvciBsYXN0IHN1YiBzdGVwIGlzIHNlbGVjdGVkIC0+IGdvIHRvIG5leHQgbWFpbiBzdGVwXG4gICAgICBpZiAoIXRoaXMuYWN0aXZlVGFiSGFzU3ViU3RlcHMoKSB8fCB0aGlzLmlzTGFzdFN1YlN0ZXAoKSkge1xuICAgICAgICBjb25zdCBuZXh0RW5hYmxlZFN0ZXAgPSB0aGlzLmZpbmROZXh0RW5hYmxlZFN0ZXAoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBY3RpdmVTdGVwKG5leHRFbmFibGVkU3RlcCk7XG4gICAgICAgIHRoaXMuc3RlcHBlci5zZWxlY3RlZEluZGV4ID0gdGhpcy5fc3RlcHMuaW5kZXhPZihuZXh0RW5hYmxlZFN0ZXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3ViU3RlcEluZGV4ID0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwcy5pbmRleE9mKHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCk7XG4gICAgICAgIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHNbc3ViU3RlcEluZGV4ICsgMV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzUHJldmlvdXNBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVN0ZXApIHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJIYXNTdWJTdGVwcygpIHx8IHRoaXMuaXNGaXJzdFN1YlN0ZXAoKSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0Q3VycmVudEluZGV4KCk7XG4gICAgICAgIHJldHVybiBpbmRleCA+IDAgJiYgdGhpcy5pc0FueVByZXZpb3VzU3RlcEVuYWJsZWQoaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpc05leHRBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVN0ZXApIHtcbiAgICAgIGlmICghdGhpcy5hY3RpdmVUYWJIYXNTdWJTdGVwcygpIHx8IHRoaXMuaXNMYXN0U3ViU3RlcCgpKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRDdXJyZW50SW5kZXgoKTtcbiAgICAgICAgcmV0dXJuIGluZGV4IDwgdGhpcy5fc3RlcHMubGVuZ3RoIC0gMSAmJiB0aGlzLmlzQW55Rm9sbG93aW5nU3RlcEVuYWJsZWQoaW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0xhc3RTdGVwKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmdldEN1cnJlbnRJbmRleCgpID09PSB0aGlzLl9zdGVwcy5sZW5ndGggLSAxKSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVUYWJIYXNTdWJTdGVwcygpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFN1YlN0ZXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXBzLmZpbmRJbmRleCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHRoaXMuX2FjdGl2ZVN0ZXA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFN1YlN0ZXBJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmZpbmRJbmRleCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTdGVwID0gdGhpcy5fc3RlcHNbdGhpcy5zdGVwcGVyLnNlbGVjdGVkSW5kZXhdO1xuICAgIHRoaXMuY2hhbmdlQWN0aXZlU3RlcChzZWxlY3RlZFN0ZXApO1xuICB9XG5cbiAgcHVibGljIGhlYWRlckNsaWNrKGV2ZW50OiBhbnksIHN0ZXA6IElTdGVwKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IC8vc3RvcCBwcm9jZXNzaW5nIGN1cnJlbnQgaGVhZGVyIGNsaWNrIGV2ZW50XG4gICAgdGhpcy5faGVhZGVyQ2xpY2suZW1pdChzdGVwKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50U3RlcExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN0ZXAubGFiZWw7XG4gIH1cblxuICBnZXQgY3VycmVudFN1YlN0ZXBMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXA/LmxhYmVsO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVUYWJIYXNTdWJTdGVwcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwcyAmJiB0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGlzRmlyc3RTdWJTdGVwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVTdGVwLmFjdGl2ZVN1YlN0ZXAgPT09IHRoaXMuX2FjdGl2ZVN0ZXAuc3ViU3RlcHNbMF07XG4gIH1cblxuICBwcml2YXRlIGlzTGFzdFN1YlN0ZXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN0ZXAuYWN0aXZlU3ViU3RlcCA9PT0gdGhpcy5fYWN0aXZlU3RlcC5zdWJTdGVwc1t0aGlzLl9hY3RpdmVTdGVwLnN1YlN0ZXBzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FueVByZXZpb3VzU3RlcEVuYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbiAgICByZXR1cm4gdGhpcy5fc3RlcHMuc2xpY2UoMCwgaW5kZXgpLmZpbmQoc3RlcCA9PiBzdGVwLmVuYWJsZWQpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzQW55Rm9sbG93aW5nU3RlcEVuYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpZC1ibGFja2xpc3RcbiAgICByZXR1cm4gdGhpcy5fc3RlcHMuc2xpY2UoaW5kZXggKyAxLCB0aGlzLl9zdGVwcy5sZW5ndGgpLmZpbmQoc3RlcCA9PiBzdGVwLmVuYWJsZWQpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGZpbmRQcmV2aW91c0VuYWJsZWRTdGVwKCk6IElTdGVwIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0Q3VycmVudEluZGV4KCk7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXBzXG4gICAgICAuc2xpY2UoMCwgaW5kZXgpXG4gICAgICAucmV2ZXJzZSgpXG4gICAgICAuZmluZChzdGVwID0+IHN0ZXAuZW5hYmxlZCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmROZXh0RW5hYmxlZFN0ZXAoKTogSVN0ZXAge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRDdXJyZW50SW5kZXgoKTtcbiAgICByZXR1cm4gdGhpcy5fc3RlcHMuc2xpY2UoaW5kZXggKyAxLCB0aGlzLl9zdGVwcy5sZW5ndGgpLmZpbmQoc3RlcCA9PiBzdGVwLmVuYWJsZWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatStepperModule } from '@angular/material/stepper';
|
|
4
|
+
import { FlowbarComponent } from './flowbar.component';
|
|
5
|
+
export class FlowbarModule {
|
|
6
|
+
}
|
|
7
|
+
FlowbarModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
declarations: [FlowbarComponent],
|
|
10
|
+
imports: [CommonModule, MatStepperModule],
|
|
11
|
+
exports: [FlowbarComponent],
|
|
12
|
+
},] }
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd2Jhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbWF0ZXJpYWwtYWRkb25zL21hdGVyaWFsLWFkZG9ucy9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjLyIsInNvdXJjZXMiOlsibGliL2Zsb3diYXIvZmxvd2Jhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFPckQsTUFBTSxPQUFPLGFBQWE7OztZQUx6QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztnQkFDekMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRTdGVwcGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcbmltcG9ydCB7Rmxvd2JhckNvbXBvbmVudH0gZnJvbSAnLi9mbG93YmFyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Zsb3diYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRTdGVwcGVyTW9kdWxlXSxcbiAgZXhwb3J0czogW0Zsb3diYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93YmFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -45,7 +45,7 @@ export class StepHeaderComponent extends CdkStepHeader {
|
|
|
45
45
|
StepHeaderComponent.decorators = [
|
|
46
46
|
{ type: Component, args: [{
|
|
47
47
|
selector: 'mad-step-header',
|
|
48
|
-
template: "<div
|
|
48
|
+
template: "<div\n class=\"header\"\n fxLayout=\"row\"\n fxLayoutGap=\"1em\"\n [style.background]=\"this.selected && !this.closed ? '#d8e2e9' : '#ffffff'\"\n [ngClass]=\"this.hasError ? 'error-border' : 'check-border'\"\n>\n <div [ngClass]=\"this.getCssForState()\"></div>\n <div class=\"header-label\">\n <mat-icon class=\"material-icons-outlined\">\n {{ this.selected && !this.closed ? 'keyboard_arrow_down' : 'keyboard_arrow_right' }}\n </mat-icon>\n </div>\n <div *ngIf=\"this.completed || this.hasError\" class=\"header-label\">\n <mat-icon [ngClass]=\"this.completed ? 'green-check' : 'red-error'\">\n {{ getIcon() }}\n </mat-icon>\n </div>\n <span *ngIf=\"!this.hasError && !this.completed\" class=\"header-label\">{{ this.index + 1 + '.' }}</span>\n <div class=\"header-label\">{{ this.label }}</div>\n</div>\n",
|
|
49
49
|
inputs: ['color'],
|
|
50
50
|
host: {
|
|
51
51
|
'class': 'mad-step-header',
|
|
@@ -53,7 +53,7 @@ StepHeaderComponent.decorators = [
|
|
|
53
53
|
},
|
|
54
54
|
encapsulation: ViewEncapsulation.None,
|
|
55
55
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56
|
-
styles: [".header{-webkit-tap-highlight-color:transparent;border:1px solid #d3d3d3;box-sizing:content-box;cursor:pointer;height:62px;outline
|
|
56
|
+
styles: [".header{-webkit-tap-highlight-color:transparent;border:1px solid #d3d3d3;box-sizing:content-box;cursor:pointer;height:62px;outline:var(--warn-color);overflow:hidden;width:100%}.header-label{align-items:center;display:flex}.step-state-complete{background:green;width:5px}.step-state-error{background:var(--warn-color);width:5px}.step-state-neutral{background:#d3d3d3;width:5px}.green-check{color:green}.red-error{color:var(--warn-color)}.check-border{border-color:#d3d3d3}.error-border{border-color:var(--warn-color)}"]
|
|
57
57
|
},] }
|
|
58
58
|
];
|
|
59
59
|
StepHeaderComponent.ctorParameters = () => [
|
|
@@ -72,4 +72,4 @@ StepHeaderComponent.propDecorators = {
|
|
|
72
72
|
completed: [{ type: Input }],
|
|
73
73
|
closed: [{ type: Input }]
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL21hdGVyaWFsLWFkZG9ucy9tYXRlcmlhbC1hZGRvbnMvcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zdGVwcGVyL3N0ZXAtaGVhZGVyL3N0ZXAtaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFjOUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUF1QnBELFlBQW9CLGFBQTJCLEVBQUUsV0FBb0M7UUFDbkYsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBREQsa0JBQWEsR0FBYixhQUFhLENBQWM7SUFFL0MsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCwrQkFBK0I7SUFDL0IsS0FBSyxDQUFDLE1BQW9CLEVBQUUsT0FBc0I7UUFDaEQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6RSxPQUFPLG9CQUFvQixDQUFDLENBQUMsNEJBQTRCO1NBQzFEO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3pCLE9BQU8scUJBQXFCLENBQUM7U0FDOUI7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEIsT0FBTyxrQkFBa0IsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU8sc0JBQXNCLENBQUM7U0FDL0I7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEIsT0FBTyxlQUFlLENBQUM7U0FDeEI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQXpFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsbzFCQUEyQztnQkFFM0MsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO2dCQUNqQixJQUFJLEVBQUU7b0JBQ0osT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBYlEsWUFBWTtZQUR3QixVQUFVOzs7b0JBZ0JwRCxLQUFLO29CQUdMLEtBQUs7b0JBR0wsS0FBSzsyQkFFTCxLQUFLO3VCQUVMLEtBQUs7cUJBRUwsS0FBSzt1QkFFTCxLQUFLO3VCQUVMLEtBQUs7d0JBRUwsS0FBSztxQkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrU3RlcEhlYWRlciwgU1RFUF9TVEFURSwgU3RlcFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtc3RlcC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFsnY29sb3InXSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdtYWQtc3RlcC1oZWFkZXInLFxuICAgICdyb2xlJzogJ3RhYicsXG4gIH0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrU3RlcEhlYWRlciB7XG4gIEBJbnB1dCgpXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKSBzdGF0ZTogU3RlcFN0YXRlO1xuXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBvcHRpb25hbDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBoYXNFcnJvcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBjb21wbGV0ZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgY2xvc2VkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihfZWxlbWVudFJlZik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwgdHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZik7XG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgc3RlcCBoZWFkZXIuICovXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKSB7XG4gICAgaWYgKG9yaWdpbikge1xuICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2VsZW1lbnRSZWYsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3NzRm9yU3RhdGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gU1RFUF9TVEFURS5OVU1CRVIgJiYgIXRoaXMuY29tcGxldGVkICYmICF0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ3N0ZXAtc3RhdGUtbmV1dHJhbCc7IC8vaW5pdGlhbGUgc3RhdGUgaXMgJ251bWJlcidcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29tcGxldGVkKSB7XG4gICAgICByZXR1cm4gJ3N0ZXAtc3RhdGUtY29tcGxldGUnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNFcnJvcikge1xuICAgICAgcmV0dXJuICdzdGVwLXN0YXRlLWVycm9yJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbXBsZXRlZCkge1xuICAgICAgcmV0dXJuICdjaGVja19jaXJjbGVfb3V0bGluZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0Vycm9yKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yX291dGxpbmUnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
|