@porscheinformatik/material-addons 18.0.4 → 19.0.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 (132) hide show
  1. package/fesm2022/porscheinformatik-material-addons.mjs +291 -260
  2. package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
  3. package/lib/alert/alert.component.d.ts.map +1 -1
  4. package/lib/button/danger-button/danger-button.component.d.ts.map +1 -1
  5. package/lib/button/flat-button/link-button.component.d.ts.map +1 -1
  6. package/lib/button/icon-button/icon-button.component.d.ts.map +1 -1
  7. package/lib/button/mad-basic-button.d.ts.map +1 -1
  8. package/lib/button/outline-button/outline-button.component.d.ts.map +1 -1
  9. package/lib/button/primary-button/primary-button.component.d.ts.map +1 -1
  10. package/lib/card/card.component.d.ts.map +1 -1
  11. package/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.d.ts.map +1 -1
  12. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.d.ts.map +1 -1
  13. package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.d.ts.map +1 -1
  14. package/lib/data-table/data-table.component.d.ts.map +1 -1
  15. package/lib/file-upload/file-upload.component.d.ts +12 -5
  16. package/lib/file-upload/file-upload.component.d.ts.map +1 -1
  17. package/lib/layout/flowbar/flowbar.component.d.ts.map +1 -1
  18. package/lib/layout/sidebar/sidebar.component.d.ts.map +1 -1
  19. package/lib/layout/sidebar-layout/sidebar-layout.component.d.ts.map +1 -1
  20. package/lib/layout/toolbar/toolbar.component.d.ts.map +1 -1
  21. package/lib/material-action-button/material-action-button.component.d.ts.map +1 -1
  22. package/lib/numeric-field/number-format.service.d.ts +5 -0
  23. package/lib/numeric-field/number-format.service.d.ts.map +1 -1
  24. package/lib/numeric-field/numeric-field.module.d.ts.map +1 -1
  25. package/lib/quick-list/base-quick-list.component.d.ts.map +1 -1
  26. package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts.map +1 -1
  27. package/lib/quick-list/quick-list.component.d.ts.map +1 -1
  28. package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts.map +1 -1
  29. package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts.map +1 -1
  30. package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts.map +1 -1
  31. package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts.map +1 -1
  32. package/lib/stepper/step-header/step-header.component.d.ts.map +1 -1
  33. package/lib/stepper/stepper.component.d.ts.map +1 -1
  34. package/lib/table/table.component.d.ts.map +1 -1
  35. package/package.json +3 -5
  36. package/version.d.ts +1 -1
  37. package/esm2022/lib/alert/alert-configuration.mjs +0 -12
  38. package/esm2022/lib/alert/alert.component.mjs +0 -65
  39. package/esm2022/lib/alert/alert.mjs +0 -3
  40. package/esm2022/lib/button/button.mjs +0 -9
  41. package/esm2022/lib/button/button.module.mjs +0 -74
  42. package/esm2022/lib/button/danger-button/danger-button.component.mjs +0 -27
  43. package/esm2022/lib/button/flat-button/link-button.component.mjs +0 -27
  44. package/esm2022/lib/button/icon-button/icon-button.component.mjs +0 -27
  45. package/esm2022/lib/button/mad-basic-button.mjs +0 -39
  46. package/esm2022/lib/button/mad-button/mad-button.directive.mjs +0 -61
  47. package/esm2022/lib/button/mad-button-group/mad-button-group.component.mjs +0 -21
  48. package/esm2022/lib/button/outline-button/outline-button.component.mjs +0 -30
  49. package/esm2022/lib/button/primary-button/primary-button.component.mjs +0 -27
  50. package/esm2022/lib/card/card.component.mjs +0 -139
  51. package/esm2022/lib/card/card.mjs +0 -2
  52. package/esm2022/lib/card/card.module.mjs +0 -22
  53. package/esm2022/lib/data-table/configuration/data-table-action-type.mjs +0 -6
  54. package/esm2022/lib/data-table/configuration/data-table-action.mjs +0 -2
  55. package/esm2022/lib/data-table/configuration/data-table-column-definition.mjs +0 -2
  56. package/esm2022/lib/data-table/configuration/data-table-column.mjs +0 -2
  57. package/esm2022/lib/data-table/configuration/data-table-filter-mode.mjs +0 -2
  58. package/esm2022/lib/data-table/configuration/data-table-global-configuration.mjs +0 -16
  59. package/esm2022/lib/data-table/configuration/data-table-header-type.mjs +0 -2
  60. package/esm2022/lib/data-table/configuration/data-table-persistence-configuration.mjs +0 -2
  61. package/esm2022/lib/data-table/configuration/data-table-row.mjs +0 -2
  62. package/esm2022/lib/data-table/configuration/data-table-selection-emit-mode.mjs +0 -2
  63. package/esm2022/lib/data-table/configuration/data-table-selection-emit-type.mjs +0 -2
  64. package/esm2022/lib/data-table/configuration/data-table-selection-mode.mjs +0 -2
  65. package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +0 -107
  66. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.mjs +0 -43
  67. package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.mjs +0 -41
  68. package/esm2022/lib/data-table/data-table-filter/data-table-filter-header.directive.mjs +0 -128
  69. package/esm2022/lib/data-table/data-table-filter/data-table-filter-object.mjs +0 -2
  70. package/esm2022/lib/data-table/data-table-filter/data-table-filter-options.mjs +0 -2
  71. package/esm2022/lib/data-table/data-table-filter/data-table-filter.directive.mjs +0 -46
  72. package/esm2022/lib/data-table/data-table-persistence.service.mjs +0 -61
  73. package/esm2022/lib/data-table/data-table-template/data-table-template-cell-definition.directive.mjs +0 -28
  74. package/esm2022/lib/data-table/data-table-template/data-table-template-column-definition.directive.mjs +0 -22
  75. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.mjs +0 -28
  76. package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.mjs +0 -22
  77. package/esm2022/lib/data-table/data-table.component.mjs +0 -765
  78. package/esm2022/lib/data-table/data-table.mjs +0 -11
  79. package/esm2022/lib/data-table/util/data-table-action-util.mjs +0 -40
  80. package/esm2022/lib/data-table/util/data-table-data-util.mjs +0 -49
  81. package/esm2022/lib/data-table/util/data-table-filter-util.mjs +0 -24
  82. package/esm2022/lib/data-table/util/data-table-sort-util.mjs +0 -80
  83. package/esm2022/lib/file-upload/drag-and-drop-directive.directive.mjs +0 -61
  84. package/esm2022/lib/file-upload/file-upload.component.mjs +0 -78
  85. package/esm2022/lib/layout/content-panel/content-header/content-header.component.mjs +0 -11
  86. package/esm2022/lib/layout/content-panel/content-panel-container/content-panel-container.component.mjs +0 -11
  87. package/esm2022/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +0 -11
  88. package/esm2022/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +0 -11
  89. package/esm2022/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.mjs +0 -11
  90. package/esm2022/lib/layout/content-panel/content-panel.module.mjs +0 -48
  91. package/esm2022/lib/layout/content-panel/main-container/main-container.component.mjs +0 -11
  92. package/esm2022/lib/layout/flowbar/flowbar.component.mjs +0 -191
  93. package/esm2022/lib/layout/flowbar/flowbar.module.mjs +0 -18
  94. package/esm2022/lib/layout/sidebar/sidebar-item/sidebar-item.component.mjs +0 -11
  95. package/esm2022/lib/layout/sidebar/sidebar.component.mjs +0 -23
  96. package/esm2022/lib/layout/sidebar/sidebar.module.mjs +0 -20
  97. package/esm2022/lib/layout/sidebar-layout/sidebar-layout.component.mjs +0 -67
  98. package/esm2022/lib/layout/toolbar/toolbar-action.interface.mjs +0 -2
  99. package/esm2022/lib/layout/toolbar/toolbar.component.mjs +0 -98
  100. package/esm2022/lib/layout/toolbar/toolbar.module.mjs +0 -58
  101. package/esm2022/lib/layout/toolbar/toolbar.service.mjs +0 -124
  102. package/esm2022/lib/material-action-button/material-action-button.component.mjs +0 -37
  103. package/esm2022/lib/material-action-button/material-action-button.module.mjs +0 -21
  104. package/esm2022/lib/material-addons.module.mjs +0 -49
  105. package/esm2022/lib/numeric-field/number-format.service.mjs +0 -139
  106. package/esm2022/lib/numeric-field/numeric-field.directive.mjs +0 -299
  107. package/esm2022/lib/numeric-field/numeric-field.mjs +0 -2
  108. package/esm2022/lib/numeric-field/numeric-field.module.mjs +0 -24
  109. package/esm2022/lib/quick-list/base-quick-list.component.mjs +0 -124
  110. package/esm2022/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +0 -23
  111. package/esm2022/lib/quick-list/quick-list.component.mjs +0 -24
  112. package/esm2022/lib/quick-list/quick-list.mjs +0 -6
  113. package/esm2022/lib/quick-list/quick-list.module.mjs +0 -63
  114. package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs +0 -23
  115. package/esm2022/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.mjs +0 -23
  116. package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +0 -243
  117. package/esm2022/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +0 -183
  118. package/esm2022/lib/readonly/readonly-form-field.module.mjs +0 -51
  119. package/esm2022/lib/stepper/mad-stepper-animation.mjs +0 -13
  120. package/esm2022/lib/stepper/step-header/step-header.component.mjs +0 -78
  121. package/esm2022/lib/stepper/stepper.component.mjs +0 -158
  122. package/esm2022/lib/stepper/stepper.module.mjs +0 -45
  123. package/esm2022/lib/table/column-header.mjs +0 -2
  124. package/esm2022/lib/table/table-action.mjs +0 -2
  125. package/esm2022/lib/table/table.component.mjs +0 -146
  126. package/esm2022/lib/table/table.mjs +0 -2
  127. package/esm2022/lib/table/table.module.mjs +0 -58
  128. package/esm2022/lib/throttle-click/throttle-click.directive.mjs +0 -39
  129. package/esm2022/lib/throttle-click/throttle-click.module.mjs +0 -17
  130. package/esm2022/porscheinformatik-material-addons.mjs +0 -5
  131. package/esm2022/public_api.mjs +0 -48
  132. package/esm2022/version.mjs +0 -2
@@ -1,58 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { ToolbarComponent } from './toolbar.component';
5
- import { MaterialActionButtonModule } from '../../material-action-button/material-action-button.module';
6
- import { MatMenuModule } from '@angular/material/menu';
7
- import { MatToolbarModule } from '@angular/material/toolbar';
8
- import { MatIconModule } from '@angular/material/icon';
9
- import { MatButtonModule } from '@angular/material/button';
10
- import { MatTooltipModule } from '@angular/material/tooltip';
11
- import { ButtonModule } from '../../button/button.module';
12
- import { MatBadgeModule } from '@angular/material/badge';
13
- import * as i0 from "@angular/core";
14
- export class ToolbarModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ToolbarModule, imports: [CommonModule,
17
- RouterModule,
18
- MatMenuModule,
19
- MatButtonModule,
20
- MatToolbarModule,
21
- MatIconModule,
22
- MaterialActionButtonModule,
23
- MatTooltipModule,
24
- ButtonModule,
25
- MatBadgeModule,
26
- ToolbarComponent], exports: [ToolbarComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarModule, imports: [CommonModule,
28
- RouterModule,
29
- MatMenuModule,
30
- MatButtonModule,
31
- MatToolbarModule,
32
- MatIconModule,
33
- MaterialActionButtonModule,
34
- MatTooltipModule,
35
- ButtonModule,
36
- MatBadgeModule,
37
- ToolbarComponent] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [
43
- CommonModule,
44
- RouterModule,
45
- MatMenuModule,
46
- MatButtonModule,
47
- MatToolbarModule,
48
- MatIconModule,
49
- MaterialActionButtonModule,
50
- MatTooltipModule,
51
- ButtonModule,
52
- MatBadgeModule,
53
- ToolbarComponent,
54
- ],
55
- exports: [ToolbarComponent],
56
- }]
57
- }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9sYXlvdXQvdG9vbGJhci90b29sYmFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDeEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFrQnpELE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxZQWR0QixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixjQUFjO1lBQ2QsZ0JBQWdCLGFBRVIsZ0JBQWdCOytHQUVmLGFBQWEsWUFkdEIsWUFBWTtZQUNaLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osY0FBYztZQUNkLGdCQUFnQjs7MkZBSVAsYUFBYTtrQkFoQnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbEFjdGlvbkJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uL21hdGVyaWFsLWFjdGlvbi1idXR0b24vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxBY3Rpb25CdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1Rvb2xiYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUb29sYmFyTW9kdWxlIHt9XG4iXX0=
@@ -1,124 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@ngx-translate/core";
6
- export class ToolbarService {
7
- constructor(router, translate) {
8
- this.router = router;
9
- this.translate = translate;
10
- this.mainActions = []; // shown on the left, next to title, as big buttons
11
- this.toolbarActions = []; // shown on the right as icons
12
- this.toolbarActionsAlwaysAsMenu = false; // show the mobile view (burger menu) for toolbar actions
13
- this.toolbarActionsMenuTitle = 'More'; // title of the burger menu
14
- this.routerSubscription = this.router.events.subscribe((routingEvent) => {
15
- if (routingEvent instanceof NavigationEnd) {
16
- if (this.currentUrl !== routingEvent.urlAfterRedirects) {
17
- this.clearToolbarActions();
18
- this.clearMainActions();
19
- delete this.backAction;
20
- delete this.dataTitle;
21
- }
22
- this.currentUrl = router.url;
23
- }
24
- });
25
- }
26
- get toolbarTitle() {
27
- return this.title;
28
- }
29
- set toolbarTitle(toolbarTitle) {
30
- this.title = toolbarTitle;
31
- }
32
- ngOnDestroy() {
33
- if (this.routerSubscription) {
34
- this.routerSubscription.unsubscribe();
35
- }
36
- }
37
- getToolbarActions() {
38
- return this.toolbarActions;
39
- }
40
- addToolbarAction(action) {
41
- this.translate
42
- .get(action.i18nActionKey)
43
- .toPromise()
44
- .then((translated) => {
45
- action.actionName = translated;
46
- this.toolbarActions.push(action);
47
- });
48
- }
49
- setDataTitle(dataTitle) {
50
- this.dataTitle = dataTitle;
51
- }
52
- setToolbarActionsAlwaysAsMenu(toolbarActionsAlwaysAsMenu) {
53
- this.toolbarActionsAlwaysAsMenu = toolbarActionsAlwaysAsMenu;
54
- }
55
- getToolbarActionsAlwaysAsMenu() {
56
- return this.toolbarActionsAlwaysAsMenu;
57
- }
58
- getDataTitle() {
59
- return this.dataTitle;
60
- }
61
- clearToolbarActions() {
62
- this.toolbarActions = [];
63
- }
64
- getMainActions() {
65
- return this.mainActions;
66
- }
67
- getBackAction() {
68
- return this.backAction;
69
- }
70
- setToolbarActionsMenuTitle(toolbarActionsMenuTitle) {
71
- this.toolbarActionsMenuTitle = toolbarActionsMenuTitle;
72
- }
73
- getToolbarActionsMenuTitle() {
74
- return this.toolbarActionsMenuTitle;
75
- }
76
- addMainAction(mainAction) {
77
- this.translate
78
- .get(mainAction.i18nActionKey)
79
- .toPromise()
80
- .then((translated) => {
81
- mainAction.actionName = translated;
82
- this.mainActions.push(mainAction);
83
- });
84
- }
85
- /**
86
- * Per default the goBackRoute is a routerLink. But if a href should be used (for absolute browser routing) then isAbsoluteUrl can be set to true.
87
- */
88
- addBackAction(goBackRoute, isAbsoluteUrl = false) {
89
- this.backAction = {
90
- matIcon: 'keyboard_backspace',
91
- i18nActionKey: '',
92
- };
93
- if (!isAbsoluteUrl) {
94
- this.backAction.routerLink = goBackRoute;
95
- }
96
- else {
97
- this.backAction.href = goBackRoute;
98
- }
99
- }
100
- addSimpleBackButton(overrideIfPresent = false) {
101
- if (this.getBackAction() && !overrideIfPresent) {
102
- return;
103
- }
104
- this.backAction = {
105
- matIcon: 'keyboard_backspace',
106
- i18nActionKey: '',
107
- action() {
108
- window.history.back();
109
- },
110
- };
111
- }
112
- clearMainActions() {
113
- this.mainActions = [];
114
- }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarService, deps: [{ token: i1.Router }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarService, providedIn: 'root' }); }
117
- }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ToolbarService, decorators: [{
119
- type: Injectable,
120
- args: [{
121
- providedIn: 'root',
122
- }]
123
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.TranslateService }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbGF5b3V0L3Rvb2xiYXIvdG9vbGJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUXhELE1BQU0sT0FBTyxjQUFjO0lBWXpCLFlBQ1UsTUFBYyxFQUNkLFNBQTJCO1FBRDNCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVpyQyxnQkFBVyxHQUFpQixFQUFFLENBQUMsQ0FBQyxtREFBbUQ7UUFDbkYsbUJBQWMsR0FBb0IsRUFBRSxDQUFDLENBQUMsOEJBQThCO1FBQ3BFLCtCQUEwQixHQUFHLEtBQUssQ0FBQyxDQUFDLHlEQUF5RDtRQUlyRiw0QkFBdUIsR0FBRyxNQUFNLENBQUMsQ0FBQywyQkFBMkI7UUFRbkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3RFLElBQUksWUFBWSxZQUFZLGFBQWEsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ3ZELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO29CQUN2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ3hCLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO1lB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RztZQUNoQixPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLE1BQU07Z0JBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXRJVSxjQUFjO2tIQUFkLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmFja0FjdGlvbiwgTWFpbkFjdGlvbiwgVG9vbGJhckFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci1hY3Rpb24uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgYmFja0FjdGlvbjogQmFja0FjdGlvbjtcbiAgbWFpbkFjdGlvbnM6IE1haW5BY3Rpb25bXSA9IFtdOyAvLyBzaG93biBvbiB0aGUgbGVmdCwgbmV4dCB0byB0aXRsZSwgYXMgYmlnIGJ1dHRvbnNcbiAgdG9vbGJhckFjdGlvbnM6IFRvb2xiYXJBY3Rpb25bXSA9IFtdOyAvLyBzaG93biBvbiB0aGUgcmlnaHQgYXMgaWNvbnNcbiAgdG9vbGJhckFjdGlvbnNBbHdheXNBc01lbnUgPSBmYWxzZTsgLy8gc2hvdyB0aGUgbW9iaWxlIHZpZXcgKGJ1cmdlciBtZW51KSBmb3IgdG9vbGJhciBhY3Rpb25zXG4gIGRhdGFUaXRsZTogc3RyaW5nO1xuICByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB0aXRsZTogc3RyaW5nO1xuICBwcml2YXRlIHRvb2xiYXJBY3Rpb25zTWVudVRpdGxlID0gJ01vcmUnOyAvLyB0aXRsZSBvZiB0aGUgYnVyZ2VyIG1lbnVcblxuICBwcml2YXRlIGN1cnJlbnRVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKHJvdXRpbmdFdmVudCkgPT4ge1xuICAgICAgaWYgKHJvdXRpbmdFdmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFVybCAhPT0gcm91dGluZ0V2ZW50LnVybEFmdGVyUmVkaXJlY3RzKSB7XG4gICAgICAgICAgdGhpcy5jbGVhclRvb2xiYXJBY3Rpb25zKCk7XG4gICAgICAgICAgdGhpcy5jbGVhck1haW5BY3Rpb25zKCk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuYmFja0FjdGlvbjtcbiAgICAgICAgICBkZWxldGUgdGhpcy5kYXRhVGl0bGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50VXJsID0gcm91dGVyLnVybDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCB0b29sYmFyVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZTtcbiAgfVxuXG4gIHNldCB0b29sYmFyVGl0bGUodG9vbGJhclRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRpdGxlID0gdG9vbGJhclRpdGxlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldFRvb2xiYXJBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhckFjdGlvbnM7XG4gIH1cblxuICBhZGRUb29sYmFyQWN0aW9uKGFjdGlvbjogVG9vbGJhckFjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRlXG4gICAgICAuZ2V0KGFjdGlvbi5pMThuQWN0aW9uS2V5KVxuICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAudGhlbigodHJhbnNsYXRlZCkgPT4ge1xuICAgICAgICBhY3Rpb24uYWN0aW9uTmFtZSA9IHRyYW5zbGF0ZWQ7XG4gICAgICAgIHRoaXMudG9vbGJhckFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBzZXREYXRhVGl0bGUoZGF0YVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFUaXRsZSA9IGRhdGFUaXRsZTtcbiAgfVxuXG4gIHNldFRvb2xiYXJBY3Rpb25zQWx3YXlzQXNNZW51KHRvb2xiYXJBY3Rpb25zQWx3YXlzQXNNZW51OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy50b29sYmFyQWN0aW9uc0Fsd2F5c0FzTWVudSA9IHRvb2xiYXJBY3Rpb25zQWx3YXlzQXNNZW51O1xuICB9XG5cbiAgZ2V0VG9vbGJhckFjdGlvbnNBbHdheXNBc01lbnUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhckFjdGlvbnNBbHdheXNBc01lbnU7XG4gIH1cblxuICBnZXREYXRhVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhVGl0bGU7XG4gIH1cblxuICBjbGVhclRvb2xiYXJBY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbGJhckFjdGlvbnMgPSBbXTtcbiAgfVxuXG4gIGdldE1haW5BY3Rpb25zKCk6IE1haW5BY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMubWFpbkFjdGlvbnM7XG4gIH1cblxuICBnZXRCYWNrQWN0aW9uKCk6IEJhY2tBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmJhY2tBY3Rpb247XG4gIH1cblxuICBzZXRUb29sYmFyQWN0aW9uc01lbnVUaXRsZSh0b29sYmFyQWN0aW9uc01lbnVUaXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50b29sYmFyQWN0aW9uc01lbnVUaXRsZSA9IHRvb2xiYXJBY3Rpb25zTWVudVRpdGxlO1xuICB9XG5cbiAgZ2V0VG9vbGJhckFjdGlvbnNNZW51VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b29sYmFyQWN0aW9uc01lbnVUaXRsZTtcbiAgfVxuXG4gIGFkZE1haW5BY3Rpb24obWFpbkFjdGlvbjogTWFpbkFjdGlvbik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRlXG4gICAgICAuZ2V0KG1haW5BY3Rpb24uaTE4bkFjdGlvbktleSlcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKHRyYW5zbGF0ZWQpID0+IHtcbiAgICAgICAgbWFpbkFjdGlvbi5hY3Rpb25OYW1lID0gdHJhbnNsYXRlZDtcbiAgICAgICAgdGhpcy5tYWluQWN0aW9ucy5wdXNoKG1haW5BY3Rpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVyIGRlZmF1bHQgdGhlIGdvQmFja1JvdXRlIGlzIGEgcm91dGVyTGluay4gQnV0IGlmIGEgaHJlZiBzaG91bGQgYmUgdXNlZCAoZm9yIGFic29sdXRlIGJyb3dzZXIgcm91dGluZykgdGhlbiBpc0Fic29sdXRlVXJsIGNhbiBiZSBzZXQgdG8gdHJ1ZS5cbiAgICovXG4gIGFkZEJhY2tBY3Rpb24oZ29CYWNrUm91dGU6IHN0cmluZywgaXNBYnNvbHV0ZVVybCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrQWN0aW9uID0ge1xuICAgICAgbWF0SWNvbjogJ2tleWJvYXJkX2JhY2tzcGFjZScsXG4gICAgICBpMThuQWN0aW9uS2V5OiAnJyxcbiAgICB9O1xuICAgIGlmICghaXNBYnNvbHV0ZVVybCkge1xuICAgICAgdGhpcy5iYWNrQWN0aW9uLnJvdXRlckxpbmsgPSBnb0JhY2tSb3V0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iYWNrQWN0aW9uLmhyZWYgPSBnb0JhY2tSb3V0ZTtcbiAgICB9XG4gIH1cblxuICBhZGRTaW1wbGVCYWNrQnV0dG9uKG92ZXJyaWRlSWZQcmVzZW50ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5nZXRCYWNrQWN0aW9uKCkgJiYgIW92ZXJyaWRlSWZQcmVzZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5iYWNrQWN0aW9uID0ge1xuICAgICAgbWF0SWNvbjogJ2tleWJvYXJkX2JhY2tzcGFjZScsXG4gICAgICBpMThuQWN0aW9uS2V5OiAnJyxcbiAgICAgIGFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgY2xlYXJNYWluQWN0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLm1haW5BY3Rpb25zID0gW107XG4gIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MatIconModule } from '@angular/material/icon';
3
- import { MatTooltipModule } from '@angular/material/tooltip';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { NgIf } from '@angular/common';
6
- import { RouterLink } from '@angular/router';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/button";
9
- import * as i2 from "@angular/material/tooltip";
10
- import * as i3 from "@angular/material/icon";
11
- export class MaterialActionButtonComponent {
12
- constructor() {
13
- this.icon = 'add';
14
- // Sets the lower padding higher providing some bottom space for a fixed paginator
15
- this.liftHigher = true;
16
- this.liftHigher2 = false;
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MaterialActionButtonComponent, isStandalone: true, selector: "mad-material-action-button", inputs: { actionName: "actionName", id: "id", icon: "icon", routerLink: "routerLink", liftHigher: "liftHigher", liftHigher2: "liftHigher2" }, ngImport: i0, template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i1.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'mad-material-action-button', standalone: true, imports: [RouterLink, NgIf, MatButtonModule, MatTooltipModule, MatIconModule], template: "<div class=\"material-action-button {{ liftHigher ? 'lift-higher' : '' }} {{ liftHigher2 ? 'lift-higher-2' : '' }}\">\n <a [routerLink]=\"routerLink\">\n <button [id]=\"id\" mat-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"primary\" *ngIf=\"!liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n <button [id]=\"id\" mat-mini-fab [matTooltipPosition]=\"'left'\" [matTooltip]=\"actionName\" color=\"accent\" *ngIf=\"liftHigher2\">\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n </a>\n</div>\n", styles: [".material-action-button{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column-reverse;align-items:center}.lift-higher{bottom:61px}.lift-higher-2{right:28px;bottom:121px}\n"] }]
24
- }], propDecorators: { actionName: [{
25
- type: Input
26
- }], id: [{
27
- type: Input
28
- }], icon: [{
29
- type: Input
30
- }], routerLink: [{
31
- type: Input
32
- }], liftHigher: [{
33
- type: Input
34
- }], liftHigher2: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFTN0MsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQWVFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFLYixrRkFBa0Y7UUFFbEYsZUFBVSxHQUFHLElBQUksQ0FBQztRQUdsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztLQUNyQjs4R0FuQlksNkJBQTZCO2tHQUE3Qiw2QkFBNkIsb09DZDFDLHlpQkFVQSxvUURFWSxVQUFVLG9PQUFFLElBQUksNEZBQUUsZUFBZSxxUUFBRSxnQkFBZ0IsNFRBQUUsYUFBYTs7MkZBRWpFLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw0QkFBNEIsY0FHMUIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDOzhCQUk3RSxVQUFVO3NCQURULEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSb3V0ZXJMaW5rLCBOZ0lmLCBNYXRCdXR0b25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbEFjdGlvbkJ1dHRvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGFjdGlvbk5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGljb24gPSAnYWRkJztcblxuICBASW5wdXQoKVxuICByb3V0ZXJMaW5rOiBzdHJpbmc7XG5cbiAgLy8gU2V0cyB0aGUgbG93ZXIgcGFkZGluZyBoaWdoZXIgcHJvdmlkaW5nIHNvbWUgYm90dG9tIHNwYWNlIGZvciBhIGZpeGVkIHBhZ2luYXRvclxuICBASW5wdXQoKVxuICBsaWZ0SGlnaGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBsaWZ0SGlnaGVyMiA9IGZhbHNlO1xufVxuIiwiPGRpdiBjbGFzcz1cIm1hdGVyaWFsLWFjdGlvbi1idXR0b24ge3sgbGlmdEhpZ2hlciA/ICdsaWZ0LWhpZ2hlcicgOiAnJyB9fSB7eyBsaWZ0SGlnaGVyMiA/ICdsaWZ0LWhpZ2hlci0yJyA6ICcnIH19XCI+XG4gIDxhIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIj5cbiAgICA8YnV0dG9uIFtpZF09XCJpZFwiIG1hdC1mYWIgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIiBbbWF0VG9vbHRpcF09XCJhY3Rpb25OYW1lXCIgY29sb3I9XCJwcmltYXJ5XCIgKm5nSWY9XCIhbGlmdEhpZ2hlcjJcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIFtpZF09XCJpZFwiIG1hdC1taW5pLWZhYiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiIFttYXRUb29sdGlwXT1cImFjdGlvbk5hbWVcIiBjb2xvcj1cImFjY2VudFwiICpuZ0lmPVwibGlmdEhpZ2hlcjJcIj5cbiAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9hPlxuPC9kaXY+XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MaterialActionButtonComponent } from './material-action-button.component';
3
- import { CommonModule } from '@angular/common';
4
- import { RouterModule } from '@angular/router';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatTooltipModule } from '@angular/material/tooltip';
8
- import * as i0 from "@angular/core";
9
- export class MaterialActionButtonModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent], exports: [MaterialActionButtonComponent] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialActionButtonModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- imports: [CommonModule, RouterModule, MatButtonModule, MatIconModule, MatTooltipModule, MaterialActionButtonComponent],
18
- exports: [MaterialActionButtonComponent],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9tYXRlcmlhbC1hY3Rpb24tYnV0dG9uL21hdGVyaWFsLWFjdGlvbi1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQU03RCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7K0dBQTFCLDBCQUEwQixZQUgzQixZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLGFBQzNHLDZCQUE2QjsrR0FFNUIsMEJBQTBCLFlBSDNCLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkI7OzJGQUcxRywwQkFBMEI7a0JBSnRDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLDZCQUE2QixDQUFDO29CQUN0SCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxBY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL21hdGVyaWFsLWFjdGlvbi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdGVyaWFsQWN0aW9uQnV0dG9uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW01hdGVyaWFsQWN0aW9uQnV0dG9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxBY3Rpb25CdXR0b25Nb2R1bGUge31cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ToolbarModule } from './layout/toolbar/toolbar.module';
3
- import { ReadOnlyFormFieldModule } from './readonly/readonly-form-field.module';
4
- import { MaterialActionButtonModule } from './material-action-button/material-action-button.module';
5
- import { NumericFieldModule } from './numeric-field/numeric-field.module';
6
- import { CardModule } from './card/card.module';
7
- import { QuickListModule } from './quick-list/quick-list.module';
8
- import { ButtonModule } from './button/button.module';
9
- import { ThrottleClickModule } from './throttle-click/throttle-click.module';
10
- import { SidebarModule } from './layout/sidebar/sidebar.module';
11
- import * as i0 from "@angular/core";
12
- export class MaterialAddonsModule {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, exports: [ReadOnlyFormFieldModule,
15
- ButtonModule,
16
- ToolbarModule,
17
- MaterialActionButtonModule,
18
- NumericFieldModule,
19
- CardModule,
20
- QuickListModule,
21
- ThrottleClickModule,
22
- SidebarModule] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, imports: [ReadOnlyFormFieldModule,
24
- ButtonModule,
25
- ToolbarModule,
26
- MaterialActionButtonModule,
27
- NumericFieldModule,
28
- CardModule,
29
- QuickListModule,
30
- ThrottleClickModule,
31
- SidebarModule] }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MaterialAddonsModule, decorators: [{
34
- type: NgModule,
35
- args: [{
36
- exports: [
37
- ReadOnlyFormFieldModule,
38
- ButtonModule,
39
- ToolbarModule,
40
- MaterialActionButtonModule,
41
- NumericFieldModule,
42
- CardModule,
43
- QuickListModule,
44
- ThrottleClickModule,
45
- SidebarModule,
46
- ],
47
- }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYWRkb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL21hdGVyaWFsLWFkZG9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWVoRSxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQVg3Qix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsa0JBQWtCO1lBQ2xCLFVBQVU7WUFDVixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGFBQWE7K0dBR0osb0JBQW9CLFlBWDdCLHVCQUF1QjtZQUN2QixZQUFZO1lBQ1osYUFBYTtZQUNiLDBCQUEwQjtZQUMxQixrQkFBa0I7WUFDbEIsVUFBVTtZQUNWLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsYUFBYTs7MkZBR0osb0JBQW9CO2tCQWJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsVUFBVTt3QkFDVixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sYmFyTW9kdWxlIH0gZnJvbSAnLi9sYXlvdXQvdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBSZWFkT25seUZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJy4vcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxBY3Rpb25CdXR0b25Nb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLWFjdGlvbi1idXR0b24vbWF0ZXJpYWwtYWN0aW9uLWJ1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTnVtZXJpY0ZpZWxkTW9kdWxlIH0gZnJvbSAnLi9udW1lcmljLWZpZWxkL251bWVyaWMtZmllbGQubW9kdWxlJztcbmltcG9ydCB7IENhcmRNb2R1bGUgfSBmcm9tICcuL2NhcmQvY2FyZC5tb2R1bGUnO1xuaW1wb3J0IHsgUXVpY2tMaXN0TW9kdWxlIH0gZnJvbSAnLi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVGhyb3R0bGVDbGlja01vZHVsZSB9IGZyb20gJy4vdGhyb3R0bGUtY2xpY2svdGhyb3R0bGUtY2xpY2subW9kdWxlJztcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICcuL2xheW91dC9zaWRlYmFyL3NpZGViYXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1xuICAgIFJlYWRPbmx5Rm9ybUZpZWxkTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBUb29sYmFyTW9kdWxlLFxuICAgIE1hdGVyaWFsQWN0aW9uQnV0dG9uTW9kdWxlLFxuICAgIE51bWVyaWNGaWVsZE1vZHVsZSxcbiAgICBDYXJkTW9kdWxlLFxuICAgIFF1aWNrTGlzdE1vZHVsZSxcbiAgICBUaHJvdHRsZUNsaWNrTW9kdWxlLFxuICAgIFNpZGViYXJNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsQWRkb25zTW9kdWxlIHt9XG4iXX0=
@@ -1,139 +0,0 @@
1
- import { Inject, LOCALE_ID, Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NumberFormatService {
4
- static { this.NEGATIVE = '-'; }
5
- static { this.NUMBERS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; }
6
- static { this.DEFAULT_FINAL_FORMATTING = true; }
7
- static { this.DEFAULT_DECIMAL_PLACES = 2; }
8
- static { this.DEFAULT_AUTOFILL_DECIMALS = false; }
9
- static { this.DEFAULT_REMOVE_LEADING_ZEROS = false; }
10
- constructor(locale) {
11
- this.allowedKeys = [];
12
- // try to get the current formatting
13
- const localeDecimalSeparator = (1.1).toLocaleString(locale).charAt(1);
14
- this.decimalSeparator = localeDecimalSeparator === ',' ? ',' : '.';
15
- this.groupingSeparator = localeDecimalSeparator === ',' ? '.' : ',';
16
- this.allowedKeys = [...NumberFormatService.NUMBERS, NumberFormatService.NEGATIVE, this.decimalSeparator];
17
- }
18
- static valueIsSet(value) {
19
- return typeof value !== 'undefined' && value !== null && (typeof value !== 'string' || value.length !== 0);
20
- }
21
- format(value, options) {
22
- return NumberFormatService.valueIsSet(value)
23
- ? this.formatNumber(value.toString().replace(new RegExp('[.]', 'g'), this.decimalSeparator), options)
24
- : '';
25
- }
26
- formatNumber(value, options) {
27
- const autofillDecimals = this.valueOrDefault(options?.autofillDecimals, NumberFormatService.DEFAULT_AUTOFILL_DECIMALS);
28
- const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);
29
- const finalFormatting = this.valueOrDefault(options?.finalFormatting, NumberFormatService.DEFAULT_FINAL_FORMATTING);
30
- let result = this.strip(value, { decimalPlaces, removeLeadingZeros: finalFormatting });
31
- /* add grouping separator */
32
- const decimalIndex = result.indexOf(this.decimalSeparator);
33
- const isNegative = result.startsWith(NumberFormatService.NEGATIVE);
34
- let i = decimalIndex > -1 ? decimalIndex : result.length;
35
- while (i > (isNegative ? 4 : 3)) {
36
- i -= 3;
37
- result = result.substring(0, i) + this.groupingSeparator + result.substring(i, result.length);
38
- }
39
- if (finalFormatting) {
40
- if (decimalPlaces > 0 && !!result) {
41
- /* autofill decimal places */
42
- let actualDecimalIndex = result.indexOf(this.decimalSeparator);
43
- if (autofillDecimals) {
44
- if (actualDecimalIndex === -1) {
45
- actualDecimalIndex = result.length;
46
- result += this.decimalSeparator;
47
- }
48
- result = this.addMissingLeadingZero(result, actualDecimalIndex);
49
- actualDecimalIndex = result.indexOf(this.decimalSeparator);
50
- const actualDecimalPlaces = result.length - actualDecimalIndex - 1;
51
- for (let j = 0; j < decimalPlaces - actualDecimalPlaces; j++) {
52
- result += '0';
53
- }
54
- }
55
- else {
56
- result = this.addMissingLeadingZero(result, actualDecimalIndex);
57
- }
58
- }
59
- }
60
- return result;
61
- }
62
- strip(value, options) {
63
- const decimalPlaces = this.valueOrDefault(options?.decimalPlaces, NumberFormatService.DEFAULT_DECIMAL_PLACES);
64
- const removeLeadingZeros = this.valueOrDefault(options?.removeLeadingZeros, NumberFormatService.DEFAULT_REMOVE_LEADING_ZEROS);
65
- let result = '';
66
- let indexDecimalSep = -1;
67
- let j = -1;
68
- let ignoredChars = 0;
69
- for (const char of value) {
70
- j++;
71
- if (this.allowedKeys.includes(char)) {
72
- if (char === this.decimalSeparator) {
73
- if (decimalPlaces === 0) {
74
- /* dismiss content after a decimal separator, when no places allowed */
75
- break;
76
- }
77
- else if (indexDecimalSep > -1) {
78
- /* ignore subsequent decimal separators */
79
- continue;
80
- }
81
- indexDecimalSep = j;
82
- }
83
- if (char === '0' && removeLeadingZeros) {
84
- /* remove leading zero only if it's not the only zero in the 'value' string */
85
- if ((result.length === 0 && j + 1 !== value.length) || result === NumberFormatService.NEGATIVE) {
86
- ignoredChars++;
87
- continue;
88
- }
89
- }
90
- if (char === NumberFormatService.NEGATIVE && j > 0) {
91
- /* dismiss content after a negative sign not on first position */
92
- break;
93
- }
94
- if (indexDecimalSep > -1 && result.length + ignoredChars > indexDecimalSep + decimalPlaces) {
95
- /* dismiss content after maximum decimal places reached */
96
- break;
97
- }
98
- result += char;
99
- }
100
- else if (char === this.groupingSeparator) {
101
- if (indexDecimalSep === -1) {
102
- ignoredChars++;
103
- }
104
- }
105
- else {
106
- /* dismiss content after a invalid character */
107
- break;
108
- }
109
- }
110
- return result;
111
- }
112
- addMissingLeadingZero(result, actualDecimalIndex) {
113
- const isNegative = result.startsWith(NumberFormatService.NEGATIVE);
114
- /* autoadd a zero before decimal separator, when it's missing */
115
- if (actualDecimalIndex === 0) {
116
- result = '0' + result;
117
- }
118
- /* autoadd a zero before decimal separator, when it's missing, for negative values */
119
- if (actualDecimalIndex === 1 && isNegative) {
120
- result = result[0] + '0' + result.substring(1, result.length);
121
- }
122
- return result;
123
- }
124
- valueOrDefault(value, defaultValue) {
125
- return NumberFormatService.valueIsSet(value) ? value : defaultValue;
126
- }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, providedIn: 'any' }); }
129
- }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NumberFormatService, decorators: [{
131
- type: Injectable,
132
- args: [{
133
- providedIn: 'any',
134
- }]
135
- }], ctorParameters: () => [{ type: undefined, decorators: [{
136
- type: Inject,
137
- args: [LOCALE_ID]
138
- }] }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZvcm1hdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvbnVtZXJpYy1maWVsZC9udW1iZXItZm9ybWF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1COUQsTUFBTSxPQUFPLG1CQUFtQjthQUNkLGFBQVEsR0FBRyxHQUFHLEFBQU4sQ0FBTzthQUNmLFlBQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxBQUFyRCxDQUFzRDthQUM3RCw2QkFBd0IsR0FBRyxJQUFJLEFBQVAsQ0FBUTthQUNoQywyQkFBc0IsR0FBRyxDQUFDLEFBQUosQ0FBSzthQUMzQiw4QkFBeUIsR0FBRyxLQUFLLEFBQVIsQ0FBUzthQUNsQyxpQ0FBNEIsR0FBRyxLQUFLLEFBQVIsQ0FBUztJQU9yRCxZQUErQixNQUFjO1FBRjdDLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBR3pCLG9DQUFvQztRQUNwQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsc0JBQXNCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVw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Q0FBQztpQkFBTSxDQUFDO2dCQUNOLCtDQUErQztnQkFDL0MsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxrQkFBMEI7UUFDdEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxnRUFBZ0U7UUFDaEUsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBQ0QscUZBQXFGO1FBQ3JGLElBQUksa0JBQWtCLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFVLEVBQUUsWUFBaUI7UUFDbEQsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3RFLENBQUM7OEdBeklVLG1CQUFtQixrQkFhVixTQUFTO2tIQWJsQixtQkFBbUIsY0FGbEIsS0FBSzs7MkZBRU4sbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBY2MsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBMT0NBTEVfSUQsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEZvcm1hdE9wdGlvbnMge1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuXG4gIGZpbmFsRm9ybWF0dGluZz86IGJvb2xlYW47XG5cbiAgYXV0b2ZpbGxEZWNpbWFscz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHJpcE9wdGlvbnMge1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuXG4gIHJlbW92ZUxlYWRpbmdaZXJvcz86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckZvcm1hdFNlcnZpY2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgTkVHQVRJVkUgPSAnLSc7XG4gIHN0YXRpYyByZWFkb25seSBOVU1CRVJTID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5J107XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZJTkFMX0ZPUk1BVFRJTkcgPSB0cnVlO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9ERUNJTUFMX1BMQUNFUyA9IDI7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0FVVE9GSUxMX0RFQ0lNQUxTID0gZmFsc2U7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JFTU9WRV9MRUFESU5HX1pFUk9TID0gZmFsc2U7XG5cbiAgZGVjaW1hbFNlcGFyYXRvcjogJywnIHwgJy4nO1xuICBncm91cGluZ1NlcGFyYXRvcjogJywnIHwgJy4nO1xuXG4gIGFsbG93ZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTE9DQUxFX0lEKSBsb2NhbGU6IHN0cmluZykge1xuICAgIC8vIHRyeSB0byBnZXQgdGhlIGN1cnJlbnQgZm9ybWF0dGluZ1xuICAgIGNvbnN0IGxvY2FsZURlY2ltYWxTZXBhcmF0b3IgPSAoMS4xKS50b0xvY2FsZVN0cmluZyhsb2NhbGUpLmNoYXJBdCgxKTtcbiAgICB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgPSBsb2NhbGVEZWNpbWFsU2VwYXJhdG9yID09PSAnLCcgPyAnLCcgOiAnLic7XG4gICAgdGhpcy5ncm91cGluZ1NlcGFyYXRvciA9IGxvY2FsZURlY2ltYWxTZXBhcmF0b3IgPT09ICcsJyA/ICcuJyA6ICcsJztcblxuICAgIHRoaXMuYWxsb3dlZEtleXMgPSBbLi4uTnVtYmVyRm9ybWF0U2VydmljZS5OVU1CRVJTLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFLCB0aGlzLmRlY2ltYWxTZXBhcmF0b3JdO1xuICB9XG5cbiAgc3RhdGljIHZhbHVlSXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsICYmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnIHx8IHZhbHVlLmxlbmd0aCAhPT0gMCk7XG4gIH1cblxuICBmb3JtYXQodmFsdWU6IG51bWJlciwgb3B0aW9ucz86IFBhcnRpYWw8Rm9ybWF0T3B0aW9ucz4pOiBzdHJpbmcge1xuICAgIHJldHVybiBOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodmFsdWUpXG4gICAgICA/IHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZShuZXcgUmVnRXhwKCdbLl0nLCAnZycpLCB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLCBvcHRpb25zKVxuICAgICAgOiAnJztcbiAgfVxuXG4gIGZvcm1hdE51bWJlcih2YWx1ZTogc3RyaW5nLCBvcHRpb25zPzogUGFydGlhbDxGb3JtYXRPcHRpb25zPik6IHN0cmluZyB7XG4gICAgY29uc3QgYXV0b2ZpbGxEZWNpbWFscyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uYXV0b2ZpbGxEZWNpbWFscywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX0FVVE9GSUxMX0RFQ0lNQUxTKTtcbiAgICBjb25zdCBkZWNpbWFsUGxhY2VzID0gdGhpcy52YWx1ZU9yRGVmYXVsdChvcHRpb25zPy5kZWNpbWFsUGxhY2VzLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfREVDSU1BTF9QTEFDRVMpO1xuICAgIGNvbnN0IGZpbmFsRm9ybWF0dGluZyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uZmluYWxGb3JtYXR0aW5nLCBOdW1iZXJGb3JtYXRTZXJ2aWNlLkRFRkFVTFRfRklOQUxfRk9STUFUVElORyk7XG5cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5zdHJpcCh2YWx1ZSwgeyBkZWNpbWFsUGxhY2VzLCByZW1vdmVMZWFkaW5nWmVyb3M6IGZpbmFsRm9ybWF0dGluZyB9KTtcblxuICAgIC8qIGFkZCBncm91cGluZyBzZXBhcmF0b3IgKi9cbiAgICBjb25zdCBkZWNpbWFsSW5kZXggPSByZXN1bHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgIGNvbnN0IGlzTmVnYXRpdmUgPSByZXN1bHQuc3RhcnRzV2l0aChOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFKTtcbiAgICBsZXQgaSA9IGRlY2ltYWxJbmRleCA+IC0xID8gZGVjaW1hbEluZGV4IDogcmVzdWx0Lmxlbmd0aDtcbiAgICB3aGlsZSAoaSA+IChpc05lZ2F0aXZlID8gNCA6IDMpKSB7XG4gICAgICBpIC09IDM7XG4gICAgICByZXN1bHQgPSByZXN1bHQuc3Vic3RyaW5nKDAsIGkpICsgdGhpcy5ncm91cGluZ1NlcGFyYXRvciArIHJlc3VsdC5zdWJzdHJpbmcoaSwgcmVzdWx0Lmxlbmd0aCk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmFsRm9ybWF0dGluZykge1xuICAgICAgaWYgKGRlY2ltYWxQbGFjZXMgPiAwICYmICEhcmVzdWx0KSB7XG4gICAgICAgIC8qIGF1dG9maWxsIGRlY2ltYWwgcGxhY2VzICovXG4gICAgICAgIGxldCBhY3R1YWxEZWNpbWFsSW5kZXggPSByZXN1bHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBpZiAoYXV0b2ZpbGxEZWNpbWFscykge1xuICAgICAgICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICBhY3R1YWxEZWNpbWFsSW5kZXggPSByZXN1bHQubGVuZ3RoO1xuICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuZGVjaW1hbFNlcGFyYXRvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXN1bHQgPSB0aGlzLmFkZE1pc3NpbmdMZWFkaW5nWmVybyhyZXN1bHQsIGFjdHVhbERlY2ltYWxJbmRleCk7XG4gICAgICAgICAgYWN0dWFsRGVjaW1hbEluZGV4ID0gcmVzdWx0LmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKTtcblxuICAgICAgICAgIGNvbnN0IGFjdHVhbERlY2ltYWxQbGFjZXMgPSByZXN1bHQubGVuZ3RoIC0gYWN0dWFsRGVjaW1hbEluZGV4IC0gMTtcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRlY2ltYWxQbGFjZXMgLSBhY3R1YWxEZWNpbWFsUGxhY2VzOyBqKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSAnMCc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IHRoaXMuYWRkTWlzc2luZ0xlYWRpbmdaZXJvKHJlc3VsdCwgYWN0dWFsRGVjaW1hbEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RyaXAodmFsdWU6IHN0cmluZywgb3B0aW9ucz86IFN0cmlwT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGVjaW1hbFBsYWNlcyA9IHRoaXMudmFsdWVPckRlZmF1bHQob3B0aW9ucz8uZGVjaW1hbFBsYWNlcywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX0RFQ0lNQUxfUExBQ0VTKTtcbiAgICBjb25zdCByZW1vdmVMZWFkaW5nWmVyb3MgPSB0aGlzLnZhbHVlT3JEZWZhdWx0KG9wdGlvbnM/LnJlbW92ZUxlYWRpbmdaZXJvcywgTnVtYmVyRm9ybWF0U2VydmljZS5ERUZBVUxUX1JFTU9WRV9MRUFESU5HX1pFUk9TKTtcblxuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgaW5kZXhEZWNpbWFsU2VwID0gLTE7XG4gICAgbGV0IGogPSAtMTtcbiAgICBsZXQgaWdub3JlZENoYXJzID0gMDtcbiAgICBmb3IgKGNvbnN0IGNoYXIgb2YgdmFsdWUpIHtcbiAgICAgIGorKztcbiAgICAgIGlmICh0aGlzLmFsbG93ZWRLZXlzLmluY2x1ZGVzKGNoYXIpKSB7XG4gICAgICAgIGlmIChjaGFyID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcbiAgICAgICAgICBpZiAoZGVjaW1hbFBsYWNlcyA9PT0gMCkge1xuICAgICAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIGEgZGVjaW1hbCBzZXBhcmF0b3IsIHdoZW4gbm8gcGxhY2VzIGFsbG93ZWQgKi9cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXhEZWNpbWFsU2VwID4gLTEpIHtcbiAgICAgICAgICAgIC8qIGlnbm9yZSBzdWJzZXF1ZW50IGRlY2ltYWwgc2VwYXJhdG9ycyAqL1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGluZGV4RGVjaW1hbFNlcCA9IGo7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09ICcwJyAmJiByZW1vdmVMZWFkaW5nWmVyb3MpIHtcbiAgICAgICAgICAvKiByZW1vdmUgbGVhZGluZyB6ZXJvIG9ubHkgaWYgaXQncyBub3QgdGhlIG9ubHkgemVybyBpbiB0aGUgJ3ZhbHVlJyBzdHJpbmcgKi9cbiAgICAgICAgICBpZiAoKHJlc3VsdC5sZW5ndGggPT09IDAgJiYgaiArIDEgIT09IHZhbHVlLmxlbmd0aCkgfHwgcmVzdWx0ID09PSBOdW1iZXJGb3JtYXRTZXJ2aWNlLk5FR0FUSVZFKSB7XG4gICAgICAgICAgICBpZ25vcmVkQ2hhcnMrKztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhciA9PT0gTnVtYmVyRm9ybWF0U2VydmljZS5ORUdBVElWRSAmJiBqID4gMCkge1xuICAgICAgICAgIC8qIGRpc21pc3MgY29udGVudCBhZnRlciBhIG5lZ2F0aXZlIHNpZ24gbm90IG9uIGZpcnN0IHBvc2l0aW9uICovXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4RGVjaW1hbFNlcCA+IC0xICYmIHJlc3VsdC5sZW5ndGggKyBpZ25vcmVkQ2hhcnMgPiBpbmRleERlY2ltYWxTZXAgKyBkZWNpbWFsUGxhY2VzKSB7XG4gICAgICAgICAgLyogZGlzbWlzcyBjb250ZW50IGFmdGVyIG1heGltdW0gZGVjaW1hbCBwbGFjZXMgcmVhY2hlZCAqL1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCArPSBjaGFyO1xuICAgICAgfSBlbHNlIGlmIChjaGFyID09PSB0aGlzLmdyb3VwaW5nU2VwYXJhdG9yKSB7XG4gICAgICAgIGlmIChpbmRleERlY2ltYWxTZXAgPT09IC0xKSB7XG4gICAgICAgICAgaWdub3JlZENoYXJzKys7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8qIGRpc21pc3MgY29udGVudCBhZnRlciBhIGludmFsaWQgY2hhcmFjdGVyICovXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNaXNzaW5nTGVhZGluZ1plcm8ocmVzdWx0OiBzdHJpbmcsIGFjdHVhbERlY2ltYWxJbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBpc05lZ2F0aXZlID0gcmVzdWx0LnN0YXJ0c1dpdGgoTnVtYmVyRm9ybWF0U2VydmljZS5ORUdBVElWRSk7XG4gICAgLyogYXV0b2FkZCBhIHplcm8gYmVmb3JlIGRlY2ltYWwgc2VwYXJhdG9yLCB3aGVuIGl0J3MgbWlzc2luZyAqL1xuICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9ICcwJyArIHJlc3VsdDtcbiAgICB9XG4gICAgLyogYXV0b2FkZCBhIHplcm8gYmVmb3JlIGRlY2ltYWwgc2VwYXJhdG9yLCB3aGVuIGl0J3MgbWlzc2luZywgZm9yIG5lZ2F0aXZlIHZhbHVlcyAqL1xuICAgIGlmIChhY3R1YWxEZWNpbWFsSW5kZXggPT09IDEgJiYgaXNOZWdhdGl2ZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0WzBdICsgJzAnICsgcmVzdWx0LnN1YnN0cmluZygxLCByZXN1bHQubGVuZ3RoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsdWVPckRlZmF1bHQodmFsdWU6IGFueSwgZGVmYXVsdFZhbHVlOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodmFsdWUpID8gdmFsdWUgOiBkZWZhdWx0VmFsdWU7XG4gIH1cbn1cbiJdfQ==