@porscheinformatik/material-addons 14.0.0-beta.0 → 14.0.1-beta.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.
Files changed (64) hide show
  1. package/package.json +6 -13
  2. package/esm2020/lib/button/button.mjs +0 -7
  3. package/esm2020/lib/button/button.module.mjs +0 -26
  4. package/esm2020/lib/button/danger-button/danger-button.component.mjs +0 -28
  5. package/esm2020/lib/button/flat-button/link-button.component.mjs +0 -28
  6. package/esm2020/lib/button/icon-button/icon-button.component.mjs +0 -28
  7. package/esm2020/lib/button/mad-basic-button.mjs +0 -39
  8. package/esm2020/lib/button/outline-button/outline-button.component.mjs +0 -28
  9. package/esm2020/lib/button/primary-button/primary-button.component.mjs +0 -28
  10. package/esm2020/lib/card/card.component.mjs +0 -129
  11. package/esm2020/lib/card/card.mjs +0 -2
  12. package/esm2020/lib/card/card.module.mjs +0 -23
  13. package/esm2020/lib/content-panel/content-header/content-header.component.mjs +0 -11
  14. package/esm2020/lib/content-panel/content-panel-container/content-panel-container.component.mjs +0 -11
  15. package/esm2020/lib/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +0 -11
  16. package/esm2020/lib/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +0 -11
  17. package/esm2020/lib/content-panel/content-panel.module.mjs +0 -42
  18. package/esm2020/lib/content-panel/main-container/main-container.component.mjs +0 -11
  19. package/esm2020/lib/data-table/data-table-action-type.mjs +0 -6
  20. package/esm2020/lib/data-table/data-table-action.mjs +0 -2
  21. package/esm2020/lib/data-table/data-table-column-definition.mjs +0 -2
  22. package/esm2020/lib/data-table/data-table-column.mjs +0 -2
  23. package/esm2020/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +0 -103
  24. package/esm2020/lib/data-table/data-table.component.mjs +0 -504
  25. package/esm2020/lib/data-table/data-table.mjs +0 -3
  26. package/esm2020/lib/data-table/data-table.module.mjs +0 -81
  27. package/esm2020/lib/flowbar/flowbar.component.mjs +0 -190
  28. package/esm2020/lib/flowbar/flowbar.module.mjs +0 -19
  29. package/esm2020/lib/material-action-button/material-action-button.component.mjs +0 -34
  30. package/esm2020/lib/material-action-button/material-action-button.module.mjs +0 -22
  31. package/esm2020/lib/material-addons.module.mjs +0 -45
  32. package/esm2020/lib/numeric-field/number-format.service.mjs +0 -139
  33. package/esm2020/lib/numeric-field/numeric-field.directive.mjs +0 -295
  34. package/esm2020/lib/numeric-field/numeric-field.mjs +0 -2
  35. package/esm2020/lib/numeric-field/numeric-field.module.mjs +0 -24
  36. package/esm2020/lib/quick-list/base-quick-list.component.mjs +0 -101
  37. package/esm2020/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +0 -20
  38. package/esm2020/lib/quick-list/quick-list.component.mjs +0 -21
  39. package/esm2020/lib/quick-list/quick-list.mjs +0 -4
  40. package/esm2020/lib/quick-list/quick-list.module.mjs +0 -23
  41. package/esm2020/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +0 -155
  42. package/esm2020/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +0 -185
  43. package/esm2020/lib/readonly/readonly-form-field.module.mjs +0 -24
  44. package/esm2020/lib/stepper/mad-stepper-animation.mjs +0 -13
  45. package/esm2020/lib/stepper/step-header/step-header.component.mjs +0 -78
  46. package/esm2020/lib/stepper/stepper.component.mjs +0 -160
  47. package/esm2020/lib/stepper/stepper.module.mjs +0 -23
  48. package/esm2020/lib/table/column-header.mjs +0 -2
  49. package/esm2020/lib/table/table-action.mjs +0 -2
  50. package/esm2020/lib/table/table.component.mjs +0 -130
  51. package/esm2020/lib/table/table.mjs +0 -2
  52. package/esm2020/lib/table/table.module.mjs +0 -56
  53. package/esm2020/lib/throttle-click/throttle-click.directive.mjs +0 -38
  54. package/esm2020/lib/throttle-click/throttle-click.module.mjs +0 -18
  55. package/esm2020/lib/toolbar/toolbar-action.interface.mjs +0 -2
  56. package/esm2020/lib/toolbar/toolbar.component.mjs +0 -78
  57. package/esm2020/lib/toolbar/toolbar.module.mjs +0 -56
  58. package/esm2020/lib/toolbar/toolbar.service.mjs +0 -124
  59. package/esm2020/porscheinformatik-material-addons.mjs +0 -5
  60. package/esm2020/public_api.mjs +0 -41
  61. package/fesm2015/porscheinformatik-material-addons.mjs +0 -2984
  62. package/fesm2015/porscheinformatik-material-addons.mjs.map +0 -1
  63. package/fesm2020/porscheinformatik-material-addons.mjs +0 -2962
  64. package/fesm2020/porscheinformatik-material-addons.mjs.map +0 -1
@@ -1,42 +0,0 @@
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
- import * as i0 from "@angular/core";
9
- export class ContentPanelModule {
10
- }
11
- ContentPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: ContentPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- ContentPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: ContentPanelModule, declarations: [ContentHeaderComponent,
13
- ContentPanelContainerComponent,
14
- ContentPanelContainerContentComponent,
15
- ContentPanelContainerFooterComponent,
16
- MainContainerComponent], imports: [CommonModule], exports: [ContentHeaderComponent,
17
- ContentPanelContainerComponent,
18
- ContentPanelContainerContentComponent,
19
- ContentPanelContainerFooterComponent,
20
- MainContainerComponent] });
21
- ContentPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: ContentPanelModule, imports: [CommonModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: ContentPanelModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- declarations: [
26
- ContentHeaderComponent,
27
- ContentPanelContainerComponent,
28
- ContentPanelContainerContentComponent,
29
- ContentPanelContainerFooterComponent,
30
- MainContainerComponent,
31
- ],
32
- imports: [CommonModule],
33
- exports: [
34
- ContentHeaderComponent,
35
- ContentPanelContainerComponent,
36
- ContentPanelContainerContentComponent,
37
- ContentPanelContainerFooterComponent,
38
- MainContainerComponent,
39
- ],
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wYW5lbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9jb250ZW50LXBhbmVsL2NvbnRlbnQtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQW1CL0MsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQWYzQixzQkFBc0I7UUFDdEIsOEJBQThCO1FBQzlCLHFDQUFxQztRQUNyQyxvQ0FBb0M7UUFDcEMsc0JBQXNCLGFBRWQsWUFBWSxhQUVwQixzQkFBc0I7UUFDdEIsOEJBQThCO1FBQzlCLHFDQUFxQztRQUNyQyxvQ0FBb0M7UUFDcEMsc0JBQXNCO2dIQUdiLGtCQUFrQixZQVRuQixZQUFZOzJGQVNYLGtCQUFrQjtrQkFqQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QixxQ0FBcUM7d0JBQ3JDLG9DQUFvQzt3QkFDcEMsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3dCQUNyQyxvQ0FBb0M7d0JBQ3BDLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LWhlYWRlci9jb250ZW50LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXBhbmVsLWNvbnRhaW5lci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1wYW5lbC1jb250YWluZXItY29udGVudC9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtcGFuZWwtY29udGFpbmVyLWZvb3Rlci9jb250ZW50LXBhbmVsLWNvbnRhaW5lci1mb290ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1haW5Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL21haW4tY29udGFpbmVyL21haW4tY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29udGVudEhlYWRlckNvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJDb21wb25lbnQsXG4gICAgQ29udGVudFBhbmVsQ29udGFpbmVyQ29udGVudENvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJGb290ZXJDb21wb25lbnQsXG4gICAgTWFpbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb250ZW50SGVhZGVyQ29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBDb250ZW50UGFuZWxDb250YWluZXJDb250ZW50Q29tcG9uZW50LFxuICAgIENvbnRlbnRQYW5lbENvbnRhaW5lckZvb3RlckNvbXBvbmVudCxcbiAgICBNYWluQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50UGFuZWxNb2R1bGUge31cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class MainContainerComponent {
4
- }
5
- MainContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: MainContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- MainContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", 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"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvY29udGVudC1wYW5lbC9tYWluLWNvbnRhaW5lci9tYWluLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9jb250ZW50LXBhbmVsL21haW4tY29udGFpbmVyL21haW4tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7dUdBQXRCLHNCQUFzQiwwRENQbkMsbU9BS0E7MkZERWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtbWFpbi1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYWluLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYWluQ29udGFpbmVyQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtYWQtY29udGVudC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWFkLWZsb3diYXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWFkLWNvbnRlbnQtcGFuZWwtY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,6 +0,0 @@
1
- export class DataTableActionType {
2
- }
3
- DataTableActionType.SINGLE = 'SINGLE';
4
- DataTableActionType.BATCH = 'BATCH';
5
- DataTableActionType.NONE = 'NONE';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1hY3Rpb24tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1hY3Rpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1COztBQUN2QiwwQkFBTSxHQUFHLFFBQVEsQ0FBQztBQUNsQix5QkFBSyxHQUFHLE9BQU8sQ0FBQztBQUNoQix3QkFBSSxHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEYXRhVGFibGVBY3Rpb25UeXBlIHtcbiAgc3RhdGljIFNJTkdMRSA9ICdTSU5HTEUnO1xuICBzdGF0aWMgQkFUQ0ggPSAnQkFUQ0gnO1xuICBzdGF0aWMgTk9ORSA9ICdOT05FJztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUFjdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGFjdGlvbjogc3RyaW5nO1xuICB0eXBlOiAnU0lOR0xFJyB8ICdCQVRDSCcgfCAnTk9ORSc7XG4gIHNlbGVjdGVkPzogYW55W107XG4gIGhpZGRlbkluTW9kZT86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4tZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW4tZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uIH0gZnJvbSAnLi9kYXRhLXRhYmxlLWNvbHVtbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlQ29sdW1uRGVmaW5pdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgZGlzcGxheWVkQ29sdW1uczogRGF0YVRhYmxlQ29sdW1uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlQ29sdW1uRGVmaW5pdGlvbkNoYW5nZSB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBkZWZpbml0aW9uOiBEYXRhVGFibGVDb2x1bW5EZWZpbml0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZURpYWxvZ0RhdGEge1xuICBhbGxDb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5bXTtcbiAgZGVmaW5pdGlvbjogRGF0YVRhYmxlQ29sdW1uRGVmaW5pdGlvbjtcbiAgZGVsZXRlRGVmaW5pdGlvbkFsbG93ZWQ6IGJvb2xlYW47XG4gIGZpbHRlckNvbHVtbnNMYWJlbDogc3RyaW5nO1xuICBmaWx0ZXJDb2x1bW5zUGxhY2VIb2xkZXI6IHN0cmluZztcbiAgbm9EYXRhVGV4dDogc3RyaW5nO1xuICB0aXRsZUxhYmVsOiBzdHJpbmc7XG4gIHNlbGVjdGVkTGFiZWw6IHN0cmluZztcbiAgYXZhaWxhYmxlTGFiZWw6IHN0cmluZztcbiAgc2F2ZUxhYmVsOiBzdHJpbmc7XG4gIGRlbGV0ZUxhYmVsOiBzdHJpbmc7XG4gIGNhbmNlbExhYmVsOiBzdHJpbmc7XG4gIGluZm9UZXh0TGFiZWw6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUNvbHVtbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yZGVyQnlOYW1lPzogc3RyaW5nO1xuICBkYXRhUHJvcGVydHlOYW1lOiBzdHJpbmc7XG4gIGlzU29ydGFibGU/OiBib29sZWFuO1xuICBpc1JpZ2h0QWxpZ25lZD86IGJvb2xlYW47XG4gIHRyYW5zZm9ybWVyPzogYW55O1xuICB0cmFuc2Zvcm1lclBhcmFtcz86IGFueVtdO1xufVxuIl19
@@ -1,103 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
- import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@angular/material/button";
8
- import * as i4 from "@angular/material/icon";
9
- import * as i5 from "@angular/material/form-field";
10
- import * as i6 from "@angular/material/input";
11
- import * as i7 from "../../button/primary-button/primary-button.component";
12
- import * as i8 from "../../button/outline-button/outline-button.component";
13
- import * as i9 from "../../button/danger-button/danger-button.component";
14
- import * as i10 from "@angular/cdk/drag-drop";
15
- import * as i11 from "@angular/forms";
16
- import * as i12 from "@ngx-translate/core";
17
- export class DataTableColumnsModalComponent {
18
- constructor(dialogRef, data) {
19
- this.dialogRef = dialogRef;
20
- this.data = data;
21
- this.selectedColumns = [];
22
- this.availableColumns = [];
23
- this.filteredAvailableColumns = [];
24
- }
25
- ngOnInit() {
26
- this.definition = this.data.definition;
27
- for (const column of this.data.allColumns) {
28
- const columnId = column.id;
29
- const selectedColumnIds = this.definition.displayedColumns.map(col => col.id);
30
- if (selectedColumnIds.includes(columnId)) {
31
- this.selectedColumns.push(column);
32
- }
33
- else {
34
- this.availableColumns.push(column);
35
- }
36
- }
37
- this.clearFilterValue();
38
- }
39
- onDrop(event) {
40
- if (event.previousContainer === event.container) {
41
- moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
42
- }
43
- else {
44
- const itemIndex = this.findMatchingItemIndex(event.previousContainer, event.item);
45
- transferArrayItem(event.previousContainer.data, event.container.data, itemIndex, event.currentIndex);
46
- this.clearFilterValue();
47
- this.availableColumns.sort((a, b) => a.label.localeCompare(b.label));
48
- }
49
- }
50
- onSave() {
51
- this.definition.displayedColumns = this.selectedColumns;
52
- const saveChange = {
53
- action: 'SAVE',
54
- definition: this.definition,
55
- };
56
- this.dialogRef.close(saveChange);
57
- }
58
- onDelete() {
59
- const deleteChange = {
60
- action: 'DELETE',
61
- definition: this.definition,
62
- };
63
- this.dialogRef.close(deleteChange);
64
- }
65
- onCancel() {
66
- this.dialogRef.close();
67
- }
68
- updateFilterValue() {
69
- if (this.searchFilter?.length > 0) {
70
- this.filteredAvailableColumns = this.availableColumns.filter(c => c.label.toLowerCase().includes(this.searchFilter.toLowerCase()));
71
- }
72
- else {
73
- this.filteredAvailableColumns = [...this.availableColumns];
74
- }
75
- }
76
- findMatchingItemIndex(previousContainer, item) {
77
- const itemId = item.element.nativeElement.id;
78
- const previousContainerItems = [...previousContainer.data];
79
- if (previousContainerItems?.length < 1) {
80
- return 0;
81
- }
82
- for (let itemIndex = 0; itemIndex < previousContainerItems.length; itemIndex++) {
83
- if (previousContainerItems[itemIndex].id === itemId) {
84
- return itemIndex;
85
- }
86
- }
87
- return 0;
88
- }
89
- clearFilterValue() {
90
- this.searchFilter = '';
91
- this.filteredAvailableColumns = [...this.availableColumns];
92
- }
93
- }
94
- DataTableColumnsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: DataTableColumnsModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
95
- DataTableColumnsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: DataTableColumnsModalComponent, selector: "mad-data-table-columns-modal.component", ngImport: i0, template: "<h1 mat-dialog-title>{{ data?.titleLabel | translate }}</h1>\n<div mat-dialog-content>\n <div class=\"column-drag-main-content\">\n <div class=\"column-drag-container\">\n <div class=\"column-drag-info-area\">{{ data?.infoTextLabel | translate }}</div>\n <div class=\"column-drag-container-header\">{{ data?.selectedLabel | translate }}</div>\n <div\n cdkDropList\n #selectedList=\"cdkDropList\"\n [cdkDropListData]=\"selectedColumns\"\n [cdkDropListConnectedTo]=\"[availableList]\"\n class=\"column-drag-list selected-drag-list\"\n (cdkDropListDropped)=\"onDrop($event)\">\n <div class=\"column-drag-box\"\n *ngFor=\"let selectedColumn of selectedColumns; let i = index\"\n cdkDrag\n [id]=\"selectedColumn.id\"\n >\n {{i + 1}}. {{selectedColumn.label | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"column-drag-container\">\n <div class=\"column-drag-info-area\">\n <!-- Table filter -->\n <mat-form-field>\n <mat-label>{{ data?.filterColumnsLabel | translate }}</mat-label>\n <input matInput autocomplete=\"off\" (keyup)=\"updateFilterValue()\"\n placeholder=\"{{ data?.filterColumnsPlaceHolder | translate }}\" [(ngModel)]=\"searchFilter\"/>\n <button *ngIf=\"searchFilter\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearFilterValue()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n <div class=\"column-drag-container-header\">{{ data?.availableLabel | translate }}</div>\n <div\n cdkDropList\n cdkDropListSortingDisabled\n #availableList=\"cdkDropList\"\n [cdkDropListData]=\"availableColumns\"\n [cdkDropListConnectedTo]=\"[selectedList]\"\n class=\"column-drag-list\"\n (cdkDropListDropped)=\"onDrop($event)\">\n <div *ngFor=\"let availableColumn of filteredAvailableColumns\" class=\"column-drag-box\" cdkDrag [id]=\"availableColumn.id\">\n {{availableColumn.label}}\n </div>\n </div>\n </div>\n </div>\n\n</div>\n<div mat-dialog-actions [align]=\"'end'\">\n <mad-outline-button (click)=\"onCancel()\">\n {{ data?.cancelLabel | translate }}\n </mad-outline-button>\n <mad-danger-button *ngIf=\"data?.deleteDefinitionAllowed\" (click)=\"onDelete()\">\n {{ data?.deleteLabel | translate }}\n </mad-danger-button>\n <mad-primary-button (click)=\"onSave()\" [disabled]=\"!(this.selectedColumns?.length > 0)\">\n {{ data?.saveLabel | translate }}\n </mad-primary-button>\n</div>\n", styles: [".column-drag-main-content{display:flex;flex-direction:row;width:544px;justify-content:space-between;padding:8px 8px 16px;margin-bottom:16px;border-bottom:1px solid whitesmoke}.column-drag-container{width:256px;max-width:100%;display:inline-block;vertical-align:top;font-size:small}.info-box{width:100%;font-size:small;margin-bottom:16px;color:#000000a8}.column-drag-info-area{width:100%;height:36px;margin-bottom:32px;color:#000000a8;font-size:small;display:flex;justify-content:right;align-items:stretch;flex-direction:column}.column-drag-list{border:solid 1px #ccc;height:200px;box-sizing:border-box;background:white;border-radius:4px;overflow:auto;display:block}.column-drag-container-header{font-weight:700;margin-bottom:4px}.column-drag-box{padding:12px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;height:40px;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.column-drag-box:last-child{border:none}.column-drag-list.cdk-drop-list-dragging .column-drag-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.PrimaryButtonComponent, selector: "mad-primary-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i8.OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title"] }, { kind: "component", type: i9.DangerButtonComponent, selector: "mad-danger-button", inputs: ["type", "disabled", "title"] }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i11.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: DataTableColumnsModalComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'mad-data-table-columns-modal.component', template: "<h1 mat-dialog-title>{{ data?.titleLabel | translate }}</h1>\n<div mat-dialog-content>\n <div class=\"column-drag-main-content\">\n <div class=\"column-drag-container\">\n <div class=\"column-drag-info-area\">{{ data?.infoTextLabel | translate }}</div>\n <div class=\"column-drag-container-header\">{{ data?.selectedLabel | translate }}</div>\n <div\n cdkDropList\n #selectedList=\"cdkDropList\"\n [cdkDropListData]=\"selectedColumns\"\n [cdkDropListConnectedTo]=\"[availableList]\"\n class=\"column-drag-list selected-drag-list\"\n (cdkDropListDropped)=\"onDrop($event)\">\n <div class=\"column-drag-box\"\n *ngFor=\"let selectedColumn of selectedColumns; let i = index\"\n cdkDrag\n [id]=\"selectedColumn.id\"\n >\n {{i + 1}}. {{selectedColumn.label | translate }}\n </div>\n </div>\n </div>\n\n <div class=\"column-drag-container\">\n <div class=\"column-drag-info-area\">\n <!-- Table filter -->\n <mat-form-field>\n <mat-label>{{ data?.filterColumnsLabel | translate }}</mat-label>\n <input matInput autocomplete=\"off\" (keyup)=\"updateFilterValue()\"\n placeholder=\"{{ data?.filterColumnsPlaceHolder | translate }}\" [(ngModel)]=\"searchFilter\"/>\n <button *ngIf=\"searchFilter\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"clearFilterValue()\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n <div class=\"column-drag-container-header\">{{ data?.availableLabel | translate }}</div>\n <div\n cdkDropList\n cdkDropListSortingDisabled\n #availableList=\"cdkDropList\"\n [cdkDropListData]=\"availableColumns\"\n [cdkDropListConnectedTo]=\"[selectedList]\"\n class=\"column-drag-list\"\n (cdkDropListDropped)=\"onDrop($event)\">\n <div *ngFor=\"let availableColumn of filteredAvailableColumns\" class=\"column-drag-box\" cdkDrag [id]=\"availableColumn.id\">\n {{availableColumn.label}}\n </div>\n </div>\n </div>\n </div>\n\n</div>\n<div mat-dialog-actions [align]=\"'end'\">\n <mad-outline-button (click)=\"onCancel()\">\n {{ data?.cancelLabel | translate }}\n </mad-outline-button>\n <mad-danger-button *ngIf=\"data?.deleteDefinitionAllowed\" (click)=\"onDelete()\">\n {{ data?.deleteLabel | translate }}\n </mad-danger-button>\n <mad-primary-button (click)=\"onSave()\" [disabled]=\"!(this.selectedColumns?.length > 0)\">\n {{ data?.saveLabel | translate }}\n </mad-primary-button>\n</div>\n", styles: [".column-drag-main-content{display:flex;flex-direction:row;width:544px;justify-content:space-between;padding:8px 8px 16px;margin-bottom:16px;border-bottom:1px solid whitesmoke}.column-drag-container{width:256px;max-width:100%;display:inline-block;vertical-align:top;font-size:small}.info-box{width:100%;font-size:small;margin-bottom:16px;color:#000000a8}.column-drag-info-area{width:100%;height:36px;margin-bottom:32px;color:#000000a8;font-size:small;display:flex;justify-content:right;align-items:stretch;flex-direction:column}.column-drag-list{border:solid 1px #ccc;height:200px;box-sizing:border-box;background:white;border-radius:4px;overflow:auto;display:block}.column-drag-container-header{font-weight:700;margin-bottom:4px}.column-drag-box{padding:12px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;height:40px;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.column-drag-box:last-child{border:none}.column-drag-list.cdk-drop-list-dragging .column-drag-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
99
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
100
- type: Inject,
101
- args: [MAT_DIALOG_DATA]
102
- }] }]; } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW5zLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW5zLW1vZGFsL2RhdGEtdGFibGUtY29sdW1ucy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1ucy1tb2RhbC9kYXRhLXRhYmxlLWNvbHVtbnMtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RSxPQUFPLEVBQXFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU8vRyxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQ1MsU0FBdUQsRUFFdkQsSUFBeUI7UUFGekIsY0FBUyxHQUFULFNBQVMsQ0FBOEM7UUFFdkQsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFQbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLHFCQUFnQixHQUFzQixFQUFFLENBQUM7UUFDekMsNkJBQXdCLEdBQXNCLEVBQUUsQ0FBQztJQU05QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkMsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNC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QUFJLHNCQUFzQixFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDOUUsSUFBSSxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFO2dCQUNuRCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtTQUNGO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDOzsySEFwRlUsOEJBQThCLDhDQVMvQixlQUFlOytHQVRkLDhCQUE4Qiw4RUNYM0Msb25GQStEQTsyRkRwRGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLHdDQUF3Qzs7MEJBYS9DLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJy4uL2RhdGEtdGFibGUtY29sdW1uJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbkRlZmluaXRpb24sIERhdGFUYWJsZUNvbHVtbkRlZmluaXRpb25DaGFuZ2UsIERhdGFUYWJsZURpYWxvZ0RhdGEgfSBmcm9tICcuLi9kYXRhLXRhYmxlLWNvbHVtbi1kZWZpbml0aW9uJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5LCB0cmFuc2ZlckFycmF5SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtZGF0YS10YWJsZS1jb2x1bW5zLW1vZGFsLmNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLWNvbHVtbnMtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLWNvbHVtbnMtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29sdW1uc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGVmaW5pdGlvbjogRGF0YVRhYmxlQ29sdW1uRGVmaW5pdGlvbjtcbiAgc2VhcmNoRmlsdGVyOiBzdHJpbmc7XG4gIHNlbGVjdGVkQ29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10gPSBbXTtcbiAgYXZhaWxhYmxlQ29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10gPSBbXTtcbiAgZmlsdGVyZWRBdmFpbGFibGVDb2x1bW5zOiBEYXRhVGFibGVDb2x1bW5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEYXRhVGFibGVDb2x1bW5zTW9kYWxDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgIHB1YmxpYyBkYXRhOiBEYXRhVGFibGVEaWFsb2dEYXRhLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kZWZpbml0aW9uID0gdGhpcy5kYXRhLmRlZmluaXRpb247XG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy5kYXRhLmFsbENvbHVtbnMpIHtcbiAgICAgIGNvbnN0IGNvbHVtbklkID0gY29sdW1uLmlkO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDb2x1bW5JZHM6IHN0cmluZ1tdID0gdGhpcy5kZWZpbml0aW9uLmRpc3BsYXllZENvbHVtbnMubWFwKGNvbCA9PiBjb2wuaWQpO1xuICAgICAgaWYgKHNlbGVjdGVkQ29sdW1uSWRzLmluY2x1ZGVzKGNvbHVtbklkKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucy5wdXNoKGNvbHVtbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZUNvbHVtbnMucHVzaChjb2x1bW4pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNsZWFyRmlsdGVyVmFsdWUoKTtcbiAgfVxuXG4gIG9uRHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8RGF0YVRhYmxlQ29sdW1uW10+KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnByZXZpb3VzQ29udGFpbmVyID09PSBldmVudC5jb250YWluZXIpIHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXRlbUluZGV4ID0gdGhpcy5maW5kTWF0Y2hpbmdJdGVtSW5kZXgoZXZlbnQucHJldmlvdXNDb250YWluZXIsIGV2ZW50Lml0ZW0pO1xuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSwgZXZlbnQuY29udGFpbmVyLmRhdGEsIGl0ZW1JbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgIHRoaXMuY2xlYXJGaWx0ZXJWYWx1ZSgpO1xuICAgICAgdGhpcy5hdmFpbGFibGVDb2x1bW5zLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSk7XG4gICAgfVxuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuZGVmaW5pdGlvbi5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5zZWxlY3RlZENvbHVtbnM7XG4gICAgY29uc3Qgc2F2ZUNoYW5nZTogRGF0YVRhYmxlQ29sdW1uRGVmaW5pdGlvbkNoYW5nZSA9IHtcbiAgICAgIGFjdGlvbjogJ1NBVkUnLFxuICAgICAgZGVmaW5pdGlvbjogdGhpcy5kZWZpbml0aW9uLFxuICAgIH07XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoc2F2ZUNoYW5nZSk7XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBkZWxldGVDaGFuZ2U6IERhdGFUYWJsZUNvbHVtbkRlZmluaXRpb25DaGFuZ2UgPSB7XG4gICAgICBhY3Rpb246ICdERUxFVEUnLFxuICAgICAgZGVmaW5pdGlvbjogdGhpcy5kZWZpbml0aW9uLFxuICAgIH07XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGVsZXRlQ2hhbmdlKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWFyY2hGaWx0ZXI/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRBdmFpbGFibGVDb2x1bW5zID0gdGhpcy5hdmFpbGFibGVDb2x1bW5zLmZpbHRlcihjID0+IGMubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaEZpbHRlci50b0xvd2VyQ2FzZSgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRBdmFpbGFibGVDb2x1bW5zID0gWy4uLnRoaXMuYXZhaWxhYmxlQ29sdW1uc107XG4gICAgfVxuICB9XG5cbiAgZmluZE1hdGNoaW5nSXRlbUluZGV4KHByZXZpb3VzQ29udGFpbmVyOiBDZGtEcm9wTGlzdCwgaXRlbTogQ2RrRHJhZyk6IG51bWJlciB7XG4gICAgY29uc3QgaXRlbUlkID0gaXRlbS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaWQ7XG4gICAgY29uc3QgcHJldmlvdXNDb250YWluZXJJdGVtcyA9IFsuLi5wcmV2aW91c0NvbnRhaW5lci5kYXRhXSBhcyBEYXRhVGFibGVDb2x1bW5bXTtcbiAgICBpZiAocHJldmlvdXNDb250YWluZXJJdGVtcz8ubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGZvciAobGV0IGl0ZW1JbmRleCA9IDA7IGl0ZW1JbmRleCA8IHByZXZpb3VzQ29udGFpbmVySXRlbXMubGVuZ3RoOyBpdGVtSW5kZXgrKykge1xuICAgICAgaWYgKHByZXZpb3VzQ29udGFpbmVySXRlbXNbaXRlbUluZGV4XS5pZCA9PT0gaXRlbUlkKSB7XG4gICAgICAgIHJldHVybiBpdGVtSW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgY2xlYXJGaWx0ZXJWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZpbHRlciA9ICcnO1xuICAgIHRoaXMuZmlsdGVyZWRBdmFpbGFibGVDb2x1bW5zID0gWy4uLnRoaXMuYXZhaWxhYmxlQ29sdW1uc107XG4gIH1cbn1cbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7IGRhdGE/LnRpdGxlTGFiZWwgfCB0cmFuc2xhdGUgfX08L2gxPlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tZHJhZy1tYWluLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWRyYWctY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLWRyYWctaW5mby1hcmVhXCI+e3sgZGF0YT8uaW5mb1RleHRMYWJlbCB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1kcmFnLWNvbnRhaW5lci1oZWFkZXJcIj57eyBkYXRhPy5zZWxlY3RlZExhYmVsIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICNzZWxlY3RlZExpc3Q9XCJjZGtEcm9wTGlzdFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwic2VsZWN0ZWRDb2x1bW5zXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW2F2YWlsYWJsZUxpc3RdXCJcbiAgICAgICAgY2xhc3M9XCJjb2x1bW4tZHJhZy1saXN0IHNlbGVjdGVkLWRyYWctbGlzdFwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwib25Ecm9wKCRldmVudClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1kcmFnLWJveFwiXG4gICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkQ29sdW1uIG9mIHNlbGVjdGVkQ29sdW1uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgIFtpZF09XCJzZWxlY3RlZENvbHVtbi5pZFwiXG4gICAgICAgID5cbiAgICAgICAgICB7e2kgKyAxfX0uIHt7c2VsZWN0ZWRDb2x1bW4ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tZHJhZy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tZHJhZy1pbmZvLWFyZWFcIj5cbiAgICAgICAgPCEtLSBUYWJsZSBmaWx0ZXIgLS0+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPnt7IGRhdGE/LmZpbHRlckNvbHVtbnNMYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5dXApPVwidXBkYXRlRmlsdGVyVmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZGF0YT8uZmlsdGVyQ29sdW1uc1BsYWNlSG9sZGVyIHwgdHJhbnNsYXRlIH19XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hGaWx0ZXJcIi8+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlYXJjaEZpbHRlclwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKGNsaWNrKT1cImNsZWFyRmlsdGVyVmFsdWUoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1kcmFnLWNvbnRhaW5lci1oZWFkZXJcIj57eyBkYXRhPy5hdmFpbGFibGVMYWJlbCB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICBjZGtEcm9wTGlzdFNvcnRpbmdEaXNhYmxlZFxuICAgICAgICAjYXZhaWxhYmxlTGlzdD1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJhdmFpbGFibGVDb2x1bW5zXCJcbiAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW3NlbGVjdGVkTGlzdF1cIlxuICAgICAgICBjbGFzcz1cImNvbHVtbi1kcmFnLWxpc3RcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcCgkZXZlbnQpXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGF2YWlsYWJsZUNvbHVtbiBvZiBmaWx0ZXJlZEF2YWlsYWJsZUNvbHVtbnNcIiBjbGFzcz1cImNvbHVtbi1kcmFnLWJveFwiIGNka0RyYWcgW2lkXT1cImF2YWlsYWJsZUNvbHVtbi5pZFwiPlxuICAgICAgICAgIHt7YXZhaWxhYmxlQ29sdW1uLmxhYmVsfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgW2FsaWduXT1cIidlbmQnXCI+XG4gIDxtYWQtb3V0bGluZS1idXR0b24gKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICB7eyBkYXRhPy5jYW5jZWxMYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICA8L21hZC1vdXRsaW5lLWJ1dHRvbj5cbiAgPG1hZC1kYW5nZXItYnV0dG9uICpuZ0lmPVwiZGF0YT8uZGVsZXRlRGVmaW5pdGlvbkFsbG93ZWRcIiAoY2xpY2spPVwib25EZWxldGUoKVwiPlxuICAgIHt7IGRhdGE/LmRlbGV0ZUxhYmVsIHwgdHJhbnNsYXRlIH19XG4gIDwvbWFkLWRhbmdlci1idXR0b24+XG4gIDxtYWQtcHJpbWFyeS1idXR0b24gKGNsaWNrKT1cIm9uU2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiEodGhpcy5zZWxlY3RlZENvbHVtbnM/Lmxlbmd0aCA+IDApXCI+XG4gICAge3sgZGF0YT8uc2F2ZUxhYmVsIHwgdHJhbnNsYXRlIH19XG4gIDwvbWFkLXByaW1hcnktYnV0dG9uPlxuPC9kaXY+XG4iXX0=