@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.
- package/fesm2022/porscheinformatik-material-addons.mjs +291 -260
- package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
- package/lib/alert/alert.component.d.ts.map +1 -1
- package/lib/button/danger-button/danger-button.component.d.ts.map +1 -1
- package/lib/button/flat-button/link-button.component.d.ts.map +1 -1
- package/lib/button/icon-button/icon-button.component.d.ts.map +1 -1
- package/lib/button/mad-basic-button.d.ts.map +1 -1
- package/lib/button/outline-button/outline-button.component.d.ts.map +1 -1
- package/lib/button/primary-button/primary-button.component.d.ts.map +1 -1
- package/lib/card/card.component.d.ts.map +1 -1
- package/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.d.ts.map +1 -1
- 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
- package/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.d.ts.map +1 -1
- package/lib/data-table/data-table.component.d.ts.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +12 -5
- package/lib/file-upload/file-upload.component.d.ts.map +1 -1
- package/lib/layout/flowbar/flowbar.component.d.ts.map +1 -1
- package/lib/layout/sidebar/sidebar.component.d.ts.map +1 -1
- package/lib/layout/sidebar-layout/sidebar-layout.component.d.ts.map +1 -1
- package/lib/layout/toolbar/toolbar.component.d.ts.map +1 -1
- package/lib/material-action-button/material-action-button.component.d.ts.map +1 -1
- package/lib/numeric-field/number-format.service.d.ts +5 -0
- package/lib/numeric-field/number-format.service.d.ts.map +1 -1
- package/lib/numeric-field/numeric-field.module.d.ts.map +1 -1
- package/lib/quick-list/base-quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/quick-list-compact/quick-list-compact.component.d.ts.map +1 -1
- package/lib/quick-list/quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.d.ts.map +1 -1
- package/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.d.ts.map +1 -1
- package/lib/readonly/readonly-form-field/readonly-form-field.component.d.ts.map +1 -1
- package/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.d.ts.map +1 -1
- package/lib/stepper/step-header/step-header.component.d.ts.map +1 -1
- package/lib/stepper/stepper.component.d.ts.map +1 -1
- package/lib/table/table.component.d.ts.map +1 -1
- package/package.json +3 -5
- package/version.d.ts +1 -1
- package/esm2022/lib/alert/alert-configuration.mjs +0 -12
- package/esm2022/lib/alert/alert.component.mjs +0 -65
- package/esm2022/lib/alert/alert.mjs +0 -3
- package/esm2022/lib/button/button.mjs +0 -9
- package/esm2022/lib/button/button.module.mjs +0 -74
- package/esm2022/lib/button/danger-button/danger-button.component.mjs +0 -27
- package/esm2022/lib/button/flat-button/link-button.component.mjs +0 -27
- package/esm2022/lib/button/icon-button/icon-button.component.mjs +0 -27
- package/esm2022/lib/button/mad-basic-button.mjs +0 -39
- package/esm2022/lib/button/mad-button/mad-button.directive.mjs +0 -61
- package/esm2022/lib/button/mad-button-group/mad-button-group.component.mjs +0 -21
- package/esm2022/lib/button/outline-button/outline-button.component.mjs +0 -30
- package/esm2022/lib/button/primary-button/primary-button.component.mjs +0 -27
- package/esm2022/lib/card/card.component.mjs +0 -139
- package/esm2022/lib/card/card.mjs +0 -2
- package/esm2022/lib/card/card.module.mjs +0 -22
- package/esm2022/lib/data-table/configuration/data-table-action-type.mjs +0 -6
- package/esm2022/lib/data-table/configuration/data-table-action.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-column-definition.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-column.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-filter-mode.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-global-configuration.mjs +0 -16
- package/esm2022/lib/data-table/configuration/data-table-header-type.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-persistence-configuration.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-row.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-selection-emit-mode.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-selection-emit-type.mjs +0 -2
- package/esm2022/lib/data-table/configuration/data-table-selection-mode.mjs +0 -2
- package/esm2022/lib/data-table/data-table-columns-modal/data-table-columns-modal.component.mjs +0 -107
- package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter-dialog/data-table-filter-dialog.component.mjs +0 -43
- package/esm2022/lib/data-table/data-table-filter/data-table-filter-component/data-table-filter.component.mjs +0 -41
- package/esm2022/lib/data-table/data-table-filter/data-table-filter-header.directive.mjs +0 -128
- package/esm2022/lib/data-table/data-table-filter/data-table-filter-object.mjs +0 -2
- package/esm2022/lib/data-table/data-table-filter/data-table-filter-options.mjs +0 -2
- package/esm2022/lib/data-table/data-table-filter/data-table-filter.directive.mjs +0 -46
- package/esm2022/lib/data-table/data-table-persistence.service.mjs +0 -61
- package/esm2022/lib/data-table/data-table-template/data-table-template-cell-definition.directive.mjs +0 -28
- package/esm2022/lib/data-table/data-table-template/data-table-template-column-definition.directive.mjs +0 -22
- package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-cell-definition.directive.mjs +0 -28
- package/esm2022/lib/data-table/data-table-template/data-table-template-expandable-column-definition.directive.mjs +0 -22
- package/esm2022/lib/data-table/data-table.component.mjs +0 -765
- package/esm2022/lib/data-table/data-table.mjs +0 -11
- package/esm2022/lib/data-table/util/data-table-action-util.mjs +0 -40
- package/esm2022/lib/data-table/util/data-table-data-util.mjs +0 -49
- package/esm2022/lib/data-table/util/data-table-filter-util.mjs +0 -24
- package/esm2022/lib/data-table/util/data-table-sort-util.mjs +0 -80
- package/esm2022/lib/file-upload/drag-and-drop-directive.directive.mjs +0 -61
- package/esm2022/lib/file-upload/file-upload.component.mjs +0 -78
- package/esm2022/lib/layout/content-panel/content-header/content-header.component.mjs +0 -11
- package/esm2022/lib/layout/content-panel/content-panel-container/content-panel-container.component.mjs +0 -11
- package/esm2022/lib/layout/content-panel/content-panel-container-content/content-panel-container-content.component.mjs +0 -11
- package/esm2022/lib/layout/content-panel/content-panel-container-footer/content-panel-container-footer.component.mjs +0 -11
- package/esm2022/lib/layout/content-panel/content-panel-container-sidebar/content-panel-container-sidebar.component.mjs +0 -11
- package/esm2022/lib/layout/content-panel/content-panel.module.mjs +0 -48
- package/esm2022/lib/layout/content-panel/main-container/main-container.component.mjs +0 -11
- package/esm2022/lib/layout/flowbar/flowbar.component.mjs +0 -191
- package/esm2022/lib/layout/flowbar/flowbar.module.mjs +0 -18
- package/esm2022/lib/layout/sidebar/sidebar-item/sidebar-item.component.mjs +0 -11
- package/esm2022/lib/layout/sidebar/sidebar.component.mjs +0 -23
- package/esm2022/lib/layout/sidebar/sidebar.module.mjs +0 -20
- package/esm2022/lib/layout/sidebar-layout/sidebar-layout.component.mjs +0 -67
- package/esm2022/lib/layout/toolbar/toolbar-action.interface.mjs +0 -2
- package/esm2022/lib/layout/toolbar/toolbar.component.mjs +0 -98
- package/esm2022/lib/layout/toolbar/toolbar.module.mjs +0 -58
- package/esm2022/lib/layout/toolbar/toolbar.service.mjs +0 -124
- package/esm2022/lib/material-action-button/material-action-button.component.mjs +0 -37
- package/esm2022/lib/material-action-button/material-action-button.module.mjs +0 -21
- package/esm2022/lib/material-addons.module.mjs +0 -49
- package/esm2022/lib/numeric-field/number-format.service.mjs +0 -139
- package/esm2022/lib/numeric-field/numeric-field.directive.mjs +0 -299
- package/esm2022/lib/numeric-field/numeric-field.mjs +0 -2
- package/esm2022/lib/numeric-field/numeric-field.module.mjs +0 -24
- package/esm2022/lib/quick-list/base-quick-list.component.mjs +0 -124
- package/esm2022/lib/quick-list/quick-list-compact/quick-list-compact.component.mjs +0 -23
- package/esm2022/lib/quick-list/quick-list.component.mjs +0 -24
- package/esm2022/lib/quick-list/quick-list.mjs +0 -6
- package/esm2022/lib/quick-list/quick-list.module.mjs +0 -63
- package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs +0 -23
- package/esm2022/lib/quick-list/reactive-form-quick-list-compact/reactive-form-quick-list-compact.component.mjs +0 -23
- package/esm2022/lib/readonly/readonly-form-field/readonly-form-field.component.mjs +0 -243
- package/esm2022/lib/readonly/readonly-form-field-wrapper/readonly-form-field-wrapper.component.mjs +0 -183
- package/esm2022/lib/readonly/readonly-form-field.module.mjs +0 -51
- package/esm2022/lib/stepper/mad-stepper-animation.mjs +0 -13
- package/esm2022/lib/stepper/step-header/step-header.component.mjs +0 -78
- package/esm2022/lib/stepper/stepper.component.mjs +0 -158
- package/esm2022/lib/stepper/stepper.module.mjs +0 -45
- package/esm2022/lib/table/column-header.mjs +0 -2
- package/esm2022/lib/table/table-action.mjs +0 -2
- package/esm2022/lib/table/table.component.mjs +0 -146
- package/esm2022/lib/table/table.mjs +0 -2
- package/esm2022/lib/table/table.module.mjs +0 -58
- package/esm2022/lib/throttle-click/throttle-click.directive.mjs +0 -39
- package/esm2022/lib/throttle-click/throttle-click.module.mjs +0 -17
- package/esm2022/porscheinformatik-material-addons.mjs +0 -5
- package/esm2022/public_api.mjs +0 -48
- package/esm2022/version.mjs +0 -2
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { QuickListComponent } from './quick-list.component';
|
|
6
|
-
import { ButtonModule } from '../button/button.module';
|
|
7
|
-
import { BaseQuickListComponent } from './base-quick-list.component';
|
|
8
|
-
import { QuickListCompactComponent } from './quick-list-compact/quick-list-compact.component';
|
|
9
|
-
import { ReactiveFormQuickListComponent } from './reactive-form-quick-list/reactive-form-quick-list.component';
|
|
10
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import { ReactiveFormQuickListCompactComponent } from './reactive-form-quick-list-compact/reactive-form-quick-list-compact.component';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export class QuickListModule {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, imports: [CommonModule,
|
|
16
|
-
MatButtonModule,
|
|
17
|
-
MatIconModule,
|
|
18
|
-
ButtonModule,
|
|
19
|
-
ReactiveFormsModule,
|
|
20
|
-
QuickListComponent,
|
|
21
|
-
BaseQuickListComponent,
|
|
22
|
-
QuickListCompactComponent,
|
|
23
|
-
ReactiveFormQuickListComponent,
|
|
24
|
-
ReactiveFormQuickListCompactComponent], exports: [QuickListComponent,
|
|
25
|
-
QuickListCompactComponent,
|
|
26
|
-
BaseQuickListComponent,
|
|
27
|
-
ReactiveFormQuickListComponent,
|
|
28
|
-
ReactiveFormQuickListCompactComponent] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, imports: [CommonModule,
|
|
30
|
-
MatButtonModule,
|
|
31
|
-
MatIconModule,
|
|
32
|
-
ButtonModule,
|
|
33
|
-
ReactiveFormsModule,
|
|
34
|
-
QuickListComponent,
|
|
35
|
-
QuickListCompactComponent,
|
|
36
|
-
ReactiveFormQuickListComponent,
|
|
37
|
-
ReactiveFormQuickListCompactComponent] }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: QuickListModule, decorators: [{
|
|
40
|
-
type: NgModule,
|
|
41
|
-
args: [{
|
|
42
|
-
imports: [
|
|
43
|
-
CommonModule,
|
|
44
|
-
MatButtonModule,
|
|
45
|
-
MatIconModule,
|
|
46
|
-
ButtonModule,
|
|
47
|
-
ReactiveFormsModule,
|
|
48
|
-
QuickListComponent,
|
|
49
|
-
BaseQuickListComponent,
|
|
50
|
-
QuickListCompactComponent,
|
|
51
|
-
ReactiveFormQuickListComponent,
|
|
52
|
-
ReactiveFormQuickListCompactComponent,
|
|
53
|
-
],
|
|
54
|
-
exports: [
|
|
55
|
-
QuickListComponent,
|
|
56
|
-
QuickListCompactComponent,
|
|
57
|
-
BaseQuickListComponent,
|
|
58
|
-
ReactiveFormQuickListComponent,
|
|
59
|
-
ReactiveFormQuickListCompactComponent,
|
|
60
|
-
],
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3F1aWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQXVCdEksTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLFlBbkJ4QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QixxQ0FBcUMsYUFHckMsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6QixzQkFBc0I7WUFDdEIsOEJBQThCO1lBQzlCLHFDQUFxQzsrR0FHNUIsZUFBZSxZQW5CeEIsWUFBWTtZQUNaLGVBQWU7WUFDZixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFFbEIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QixxQ0FBcUM7OzJGQVU1QixlQUFlO2tCQXJCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLDhCQUE4Qjt3QkFDOUIscUNBQXFDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsOEJBQThCO3dCQUM5QixxQ0FBcUM7cUJBQ3RDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgUXVpY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9xdWljay1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgfSBmcm9tICcuL3F1aWNrLWxpc3QtY29tcGFjdC9xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcmVhY3RpdmUtZm9ybS1xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgfSBmcm9tICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIEJhc2VRdWlja0xpc3RDb21wb25lbnQsXG4gICAgUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1RdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcGFjdENvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFF1aWNrTGlzdENvbXBvbmVudCxcbiAgICBRdWlja0xpc3RDb21wYWN0Q29tcG9uZW50LFxuICAgIEJhc2VRdWlja0xpc3RDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3JtUXVpY2tMaXN0Q29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFF1aWNrTGlzdE1vZHVsZSB7fVxuIl19
|
package/esm2022/lib/quick-list/reactive-form-quick-list/reactive-form-quick-list.component.mjs
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { BaseQuickListComponent } from '../base-quick-list.component';
|
|
3
|
-
import { OutlineButtonComponent } from '../../button/outline-button/outline-button.component';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { IconButtonComponent } from '../../button/icon-button/icon-button.component';
|
|
6
|
-
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@angular/material/icon";
|
|
10
|
-
export class ReactiveFormQuickListComponent extends BaseQuickListComponent {
|
|
11
|
-
constructor(changeDetectorRef, formBuilder) {
|
|
12
|
-
super(changeDetectorRef, formBuilder);
|
|
13
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
14
|
-
this.formBuilder = formBuilder;
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReactiveFormQuickListComponent, isStandalone: true, selector: "mad-reactive-form-quick-list", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: OutlineButtonComponent, selector: "mad-outline-button", inputs: ["type", "disabled", "title", "color"] }] }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'mad-reactive-form-quick-list', standalone: true, imports: [NgFor, NgIf, NgTemplateOutlet, IconButtonComponent, MatIconModule, OutlineButtonComponent], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n\n<mad-outline-button data-cy=\"add-item-button\" *ngIf=\"!readonly\" (click)=\"addReactiveItem()\" [disabled]=\"!isAddReactiveAllowed()\">\n {{ addLabel }}\n</mad-outline-button>\n" }]
|
|
22
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWFkZG9ucy9zcmMvbGliL3F1aWNrLWxpc3QvcmVhY3RpdmUtZm9ybS1xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFpQixNQUFNLDhCQUE4QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBU2hFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxzQkFBcUM7SUFDdkYsWUFDUyxpQkFBb0MsRUFDcEMsV0FBd0I7UUFFL0IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSC9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFHakMsQ0FBQzs4R0FOVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwrR0NmM0MsaXJCQWVBLDRDREZZLEtBQUssbUhBQUUsSUFBSSw2RkFBRSxnQkFBZ0Isb0pBQUUsbUJBQW1CLGtHQUFFLGFBQWEsb0xBQUUsc0JBQXNCOzsyRkFFeEYsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDhCQUE4QixjQUc1QixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VRdWlja0xpc3RDb21wb25lbnQsIFF1aWNrTGlzdEl0ZW0gfSBmcm9tICcuLi9iYXNlLXF1aWNrLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT3V0bGluZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9vdXRsaW5lLWJ1dHRvbi9vdXRsaW5lLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtcmVhY3RpdmUtZm9ybS1xdWljay1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgT3V0bGluZUJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VRdWlja0xpc3RDb21wb25lbnQ8UXVpY2tMaXN0SXRlbT4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBmb3JtQnVpbGRlcik7XG4gIH1cbn1cbiIsIjxoMz5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L2gzPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmb3JtQXJyYXkuY29udHJvbHNcIj5cbiAgPGRpdiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiICNyb3cgY2xhc3M9XCJxdWljay1saXN0LXJvd1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bWFkLWljb24tYnV0dG9uIGRhdGEtY3k9XCJkZWxldGUtaXRlbS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seSAmJiBpc0RlbGV0ZVJlYWN0aXZlQWxsb3dlZCgpXCIgKGNsaWNrKT1cInJlbW92ZVJlYWN0aXZlSXRlbShpdGVtKVwiPlxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9tYWQtaWNvbi1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxtYWQtb3V0bGluZS1idXR0b24gZGF0YS1jeT1cImFkZC1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5XCIgKGNsaWNrKT1cImFkZFJlYWN0aXZlSXRlbSgpXCIgW2Rpc2FibGVkXT1cIiFpc0FkZFJlYWN0aXZlQWxsb3dlZCgpXCI+XG4gIHt7IGFkZExhYmVsIH19XG48L21hZC1vdXRsaW5lLWJ1dHRvbj5cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { BaseQuickListComponent } from '../base-quick-list.component';
|
|
3
|
-
import { LinkButtonComponent } from '../../button/flat-button/link-button.component';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { IconButtonComponent } from '../../button/icon-button/icon-button.component';
|
|
6
|
-
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@angular/material/icon";
|
|
10
|
-
export class ReactiveFormQuickListCompactComponent extends BaseQuickListComponent {
|
|
11
|
-
constructor(changeDetectorRef, formBuilder) {
|
|
12
|
-
super(changeDetectorRef, formBuilder);
|
|
13
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
14
|
-
this.formBuilder = formBuilder;
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListCompactComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReactiveFormQuickListCompactComponent, isStandalone: true, selector: "mad-reactive-form-quick-list-compact", usesInheritance: true, ngImport: i0, template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button\n data-cy=\"add-first-item-button\"\n *ngIf=\"!readonly && !this.formArray?.controls.length\"\n (click)=\"addReactiveItem()\"\n [disabled]=\"!isAddReactiveAllowed()\"\n>\n {{ addLabel }}\n</mad-link-button>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "mad-icon-button", inputs: ["type", "disabled", "title"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: LinkButtonComponent, selector: "mad-link-button", inputs: ["type", "disabled", "title"] }] }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReactiveFormQuickListCompactComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'mad-reactive-form-quick-list-compact', standalone: true, imports: [NgFor, NgIf, NgTemplateOutlet, IconButtonComponent, MatIconModule, LinkButtonComponent], template: "<h3>\n <ng-content select=\"label\"></ng-content>\n</h3>\n<ng-container *ngFor=\"let item of formArray.controls; let isLast = last\">\n <div *ngIf=\"itemTemplate\" #row class=\"quick-list-row\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n <mad-icon-button data-cy=\"delete-item-button\" *ngIf=\"!readonly && isDeleteReactiveAllowed()\" (click)=\"removeReactiveItem(item)\">\n <mat-icon>delete</mat-icon>\n </mad-icon-button>\n <mad-icon-button data-cy=\"add-item-button\" *ngIf=\"!readonly && isLast\" [disabled]=\"!isAddReactiveAllowed()\" (click)=\"addReactiveItem()\">\n <mat-icon>add_circle_outline</mat-icon>\n </mad-icon-button>\n </div>\n</ng-container>\n<mad-link-button\n data-cy=\"add-first-item-button\"\n *ngIf=\"!readonly && !this.formArray?.controls.length\"\n (click)=\"addReactiveItem()\"\n [disabled]=\"!isAddReactiveAllowed()\"\n>\n {{ addLabel }}\n</mad-link-button>\n" }]
|
|
22
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FormBuilder }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS1xdWljay1saXN0LWNvbXBhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcXVpY2stbGlzdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9xdWljay1saXN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0L3JlYWN0aXZlLWZvcm0tcXVpY2stbGlzdC1jb21wYWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxzQkFBc0IsRUFBaUIsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVNoRSxNQUFNLE9BQU8scUNBQXNDLFNBQVEsc0JBQXFDO0lBQzlGLFlBQ1MsaUJBQW9DLEVBQ3BDLFdBQXdCO1FBRS9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUgvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBR2pDLENBQUM7OEdBTlUscUNBQXFDO2tHQUFyQyxxQ0FBcUMsdUhDZmxELGk5QkFzQkEsNENEVFksS0FBSyxtSEFBRSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxtQkFBbUIsa0dBQUUsYUFBYSxvTEFBRSxtQkFBbUI7OzJGQUVyRixxQ0FBcUM7a0JBUGpELFNBQVM7K0JBQ0Usc0NBQXNDLGNBR3BDLElBQUksV0FDUCxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50LCBRdWlja0xpc3RJdGVtIH0gZnJvbSAnLi4vYmFzZS1xdWljay1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5rQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ZsYXQtYnV0dG9uL2xpbmstYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hZC1yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFjdGl2ZS1mb3JtLXF1aWNrLWxpc3QtY29tcGFjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgTWF0SWNvbk1vZHVsZSwgTGlua0J1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFJlYWN0aXZlRm9ybVF1aWNrTGlzdENvbXBhY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlUXVpY2tMaXN0Q29tcG9uZW50PFF1aWNrTGlzdEl0ZW0+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgZm9ybUJ1aWxkZXIpO1xuICB9XG59XG4iLCI8aDM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPC9oMz5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZm9ybUFycmF5LmNvbnRyb2xzOyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxuICA8ZGl2ICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCIgI3JvdyBjbGFzcz1cInF1aWNrLWxpc3Qtcm93XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxtYWQtaWNvbi1idXR0b24gZGF0YS1jeT1cImRlbGV0ZS1pdGVtLWJ1dHRvblwiICpuZ0lmPVwiIXJlYWRvbmx5ICYmIGlzRGVsZXRlUmVhY3RpdmVBbGxvd2VkKClcIiAoY2xpY2spPVwicmVtb3ZlUmVhY3RpdmVJdGVtKGl0ZW0pXCI+XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L21hZC1pY29uLWJ1dHRvbj5cbiAgICA8bWFkLWljb24tYnV0dG9uIGRhdGEtY3k9XCJhZGQtaXRlbS1idXR0b25cIiAqbmdJZj1cIiFyZWFkb25seSAmJiBpc0xhc3RcIiBbZGlzYWJsZWRdPVwiIWlzQWRkUmVhY3RpdmVBbGxvd2VkKClcIiAoY2xpY2spPVwiYWRkUmVhY3RpdmVJdGVtKClcIj5cbiAgICAgIDxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPlxuICAgIDwvbWFkLWljb24tYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG1hZC1saW5rLWJ1dHRvblxuICBkYXRhLWN5PVwiYWRkLWZpcnN0LWl0ZW0tYnV0dG9uXCJcbiAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXRoaXMuZm9ybUFycmF5Py5jb250cm9scy5sZW5ndGhcIlxuICAoY2xpY2spPVwiYWRkUmVhY3RpdmVJdGVtKClcIlxuICBbZGlzYWJsZWRdPVwiIWlzQWRkUmVhY3RpdmVBbGxvd2VkKClcIlxuPlxuICB7eyBhZGRMYWJlbCB9fVxuPC9tYWQtbGluay1idXR0b24+XG4iXX0=
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { NumberFormatService } from '../../numeric-field/number-format.service';
|
|
3
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
-
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
5
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
-
import { FormsModule } from '@angular/forms';
|
|
7
|
-
import { MatInputModule } from '@angular/material/input';
|
|
8
|
-
import { NgIf, NgStyle, NgClass } from '@angular/common';
|
|
9
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "../../numeric-field/number-format.service";
|
|
12
|
-
import * as i2 from "@angular/material/form-field";
|
|
13
|
-
import * as i3 from "@angular/material/input";
|
|
14
|
-
import * as i4 from "@angular/cdk/text-field";
|
|
15
|
-
import * as i5 from "@angular/forms";
|
|
16
|
-
import * as i6 from "@angular/material/tooltip";
|
|
17
|
-
import * as i7 from "@angular/material/icon";
|
|
18
|
-
/**
|
|
19
|
-
* Read-only mat-form-field representation of provided value
|
|
20
|
-
*
|
|
21
|
-
* @author Stefan Laesser
|
|
22
|
-
*/
|
|
23
|
-
export class ReadOnlyFormFieldComponent {
|
|
24
|
-
constructor(changeDetector, renderer, numberFormatService, elementRef) {
|
|
25
|
-
this.changeDetector = changeDetector;
|
|
26
|
-
this.renderer = renderer;
|
|
27
|
-
this.numberFormatService = numberFormatService;
|
|
28
|
-
this.elementRef = elementRef;
|
|
29
|
-
this.useProjectedContent = false;
|
|
30
|
-
this.textAlign = 'left';
|
|
31
|
-
this.formatNumber = false;
|
|
32
|
-
this.decimalPlaces = 2;
|
|
33
|
-
this.roundValue = false;
|
|
34
|
-
this.autofillDecimals = false;
|
|
35
|
-
this.unit = null;
|
|
36
|
-
this.unitPosition = 'left';
|
|
37
|
-
this.errorMessage = null;
|
|
38
|
-
this.multiline = false;
|
|
39
|
-
/*
|
|
40
|
-
* If shrinkIfEmpty is set to "false", nothing changes
|
|
41
|
-
* If set to "true" and multiline is also "true", the textarea will
|
|
42
|
-
* shrink to one row, if value is empty/null/undefined.
|
|
43
|
-
* Otherwise, the defined rows-value will be used
|
|
44
|
-
*/
|
|
45
|
-
this.shrinkIfEmpty = false;
|
|
46
|
-
/**
|
|
47
|
-
* if cdkTextareaAutosize is active for textareas
|
|
48
|
-
*/
|
|
49
|
-
this.multilineAutoSize = false;
|
|
50
|
-
this.suffixClickedEmitter = new EventEmitter();
|
|
51
|
-
this.prefixClickedEmitter = new EventEmitter();
|
|
52
|
-
this.errorMatcher = {
|
|
53
|
-
isErrorState: () => !!this.errorMessage,
|
|
54
|
-
};
|
|
55
|
-
this.toolTipForInputEnabled = false;
|
|
56
|
-
}
|
|
57
|
-
ngOnChanges(_) {
|
|
58
|
-
if (!NumberFormatService.valueIsSet(this.value)) {
|
|
59
|
-
this.value = '-';
|
|
60
|
-
if (this.shrinkIfEmpty) {
|
|
61
|
-
this.rows = 1;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else if (this.formatNumber && typeof this.value === 'number') {
|
|
65
|
-
this.value = this.numberFormatService.format(this.value, {
|
|
66
|
-
decimalPlaces: this.decimalPlaces,
|
|
67
|
-
finalFormatting: true,
|
|
68
|
-
autofillDecimals: this.autofillDecimals,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
this.changeDetector.detectChanges();
|
|
72
|
-
}
|
|
73
|
-
// TODO direct copy from NumericFieldDirective
|
|
74
|
-
ngAfterViewChecked() {
|
|
75
|
-
this.injectUnitSymbol();
|
|
76
|
-
// If useProjectedContent is set to true, the input wont be show
|
|
77
|
-
if (!this.useProjectedContent) {
|
|
78
|
-
this.setReadonlyFieldStyle();
|
|
79
|
-
this.setTooltipForOverflownField();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
suffixClicked() {
|
|
83
|
-
this.suffixClickedEmitter.emit(null);
|
|
84
|
-
}
|
|
85
|
-
prefixClicked() {
|
|
86
|
-
this.prefixClickedEmitter.emit(null);
|
|
87
|
-
}
|
|
88
|
-
injectUnitSymbol() {
|
|
89
|
-
// Need to inject the unit symbol when the input element width is set to its actual value,
|
|
90
|
-
// otherwise the icon wont show in the correct position
|
|
91
|
-
if (!!this.unit && !this.unitSpan && this.inputEl.nativeElement.offsetWidth !== 0) {
|
|
92
|
-
// Get the input wrapper and apply necessary styles
|
|
93
|
-
const inputWrapper = this.inputEl.nativeElement.parentNode.parentNode;
|
|
94
|
-
// Create the span with unit symbol and apply necessary styles
|
|
95
|
-
this.unitSpan = this.renderer.createElement('span');
|
|
96
|
-
if (this.unitPosition === 'left') {
|
|
97
|
-
this.renderer.setAttribute(this.unitSpan, 'matPrefix', '');
|
|
98
|
-
this.renderer.setStyle(this.unitSpan, 'padding-right', '5px');
|
|
99
|
-
this.renderer.insertBefore(inputWrapper, this.unitSpan, inputWrapper.children[0]);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
this.renderer.setAttribute(this.unitSpan, 'matSuffix', '');
|
|
103
|
-
this.renderer.setStyle(this.unitSpan, 'padding-left', '25px');
|
|
104
|
-
this.renderer.appendChild(inputWrapper, this.unitSpan);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// special handling to move unit symbol along with display value
|
|
108
|
-
if (!!this.unitSpan && this.textAlign === 'left' && this.unitPosition === 'right') {
|
|
109
|
-
const inputStyles = window.getComputedStyle(this.inputEl.nativeElement.parentElement, null);
|
|
110
|
-
this.unitSpan.style.position = 'absolute';
|
|
111
|
-
this.unitSpan.style.marginTop = inputStyles.getPropertyValue('border-top-width');
|
|
112
|
-
this.unitSpan.style.paddingTop = inputStyles.getPropertyValue('padding-top');
|
|
113
|
-
this.unitSpan.style.paddingBottom = inputStyles.getPropertyValue('padding-bottom');
|
|
114
|
-
if (!this.textSpan) {
|
|
115
|
-
this.textSpan = document.createElement('span');
|
|
116
|
-
document.body.appendChild(this.textSpan);
|
|
117
|
-
this.textSpan.style.font = inputStyles.getPropertyValue('font');
|
|
118
|
-
this.textSpan.style.fontSize = inputStyles.getPropertyValue('font-size');
|
|
119
|
-
this.textSpan.style.height = 'auto';
|
|
120
|
-
this.textSpan.style.width = 'auto';
|
|
121
|
-
this.textSpan.style.position = 'absolute';
|
|
122
|
-
this.textSpan.style.top = '0';
|
|
123
|
-
this.textSpan.style.whiteSpace = 'no-wrap';
|
|
124
|
-
this.textSpan.style.visibility = 'hidden';
|
|
125
|
-
}
|
|
126
|
-
this.textSpan.innerHTML = this.value;
|
|
127
|
-
const width = Math.min(this.inputEl.nativeElement.clientWidth - this.unitSpan.clientWidth, Math.ceil(this.textSpan.clientWidth));
|
|
128
|
-
this.unitSpan.style.left = width + 'px';
|
|
129
|
-
}
|
|
130
|
-
// always reset unit symbol
|
|
131
|
-
if (!!this.unitSpan) {
|
|
132
|
-
this.unitSpan.textContent = this.unit;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
setReadonlyFieldStyle() {
|
|
136
|
-
if (this.inputEl?.nativeElement) {
|
|
137
|
-
const textOverFlowStyleValue = this.getTextOverFlowStyleValue();
|
|
138
|
-
if (textOverFlowStyleValue) {
|
|
139
|
-
this.inputEl.nativeElement.setAttribute('style', 'text-overflow: ' + textOverFlowStyleValue);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// Ellipsis is enabled by default as text-overflow behaviour
|
|
144
|
-
getTextOverFlowStyleValue() {
|
|
145
|
-
// it works only if the style is added to the component directly. Should find a way for get it from the calculated
|
|
146
|
-
// style. Than it would be possible to define the text-overflow in css for the whole application
|
|
147
|
-
const textOverflow = this.elementRef?.nativeElement?.style.textOverflow;
|
|
148
|
-
if (!textOverflow) {
|
|
149
|
-
return 'ellipsis';
|
|
150
|
-
}
|
|
151
|
-
return textOverflow;
|
|
152
|
-
}
|
|
153
|
-
setTooltipForOverflownField() {
|
|
154
|
-
if (this.isEllipsisForTextOverflowEnabled()) {
|
|
155
|
-
if (this.inputEl) {
|
|
156
|
-
this.toolTipForInputEnabled = this.isTextOverflown(this.inputEl.nativeElement);
|
|
157
|
-
if (this.toolTipForInputEnabled) {
|
|
158
|
-
this.toolTipText = this.calculateToolTipText();
|
|
159
|
-
}
|
|
160
|
-
this.changeDetector.detectChanges();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
isEllipsisForTextOverflowEnabled() {
|
|
165
|
-
return this.getTextOverFlowStyleValue() === 'ellipsis';
|
|
166
|
-
}
|
|
167
|
-
isTextOverflown(input) {
|
|
168
|
-
if (input) {
|
|
169
|
-
return input.offsetWidth < input.scrollWidth;
|
|
170
|
-
}
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
calculateToolTipText() {
|
|
174
|
-
if (!this.unit) {
|
|
175
|
-
return this.value;
|
|
176
|
-
}
|
|
177
|
-
return this.unitPosition === 'left' ? this.unit + ' ' + this.value : this.value + ' ' + this.unit;
|
|
178
|
-
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReadOnlyFormFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.NumberFormatService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ReadOnlyFormFieldComponent, isStandalone: true, selector: "mad-readonly-form-field", inputs: { useProjectedContent: "useProjectedContent", value: "value", label: "label", textAlign: "textAlign", formatNumber: "formatNumber", decimalPlaces: "decimalPlaces", roundValue: ["roundDisplayValue", "roundValue"], autofillDecimals: "autofillDecimals", unit: "unit", unitPosition: "unitPosition", errorMessage: "errorMessage", multiline: "multiline", rows: "rows", id: "id", shrinkIfEmpty: "shrinkIfEmpty", suffix: "suffix", prefix: "prefix", multilineAutoSize: "multilineAutoSize" }, outputs: { suffixClickedEmitter: "suffixClickedEmitter", prefixClickedEmitter: "prefixClickedEmitter" }, viewQueries: [{ propertyName: "originalContent", first: true, predicate: ["contentWrapper"], descendants: true }, { propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
181
|
-
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReadOnlyFormFieldComponent, decorators: [{
|
|
183
|
-
type: Component,
|
|
184
|
-
args: [{ selector: 'mad-readonly-form-field', standalone: true, imports: [MatFormFieldModule, NgIf, MatInputModule, FormsModule, NgStyle, NgClass, MatTooltipModule, TextFieldModule, MatIconModule], template: "<mat-form-field class=\"form-group mad-read-only\">\n <mat-label>{{ label }}</mat-label>\n <input\n *ngIf=\"!multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [ngModel]=\"value\"\n [ngClass]=\"'text-' + textAlign + ' content'\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n #inputEl\n matTooltip=\"{{ toolTipText }}\"\n matTooltipPosition=\"right\"\n matTooltipClass=\"custom-tooltip\"\n matTooltipDisabled=\"{{ !toolTipForInputEnabled }}\"\n />\n\n <textarea\n *ngIf=\"multiline\"\n [ngStyle]=\"{ display: useProjectedContent ? 'none' : 'block' }\"\n [rows]=\"rows\"\n [ngModel]=\"value\"\n class=\"multiline content\"\n [errorStateMatcher]=\"errorMatcher\"\n [id]=\"id\"\n readonly\n [disabled]=\"!useProjectedContent\"\n matInput\n [cdkTextareaAutosize]=\"multilineAutoSize\"\n ></textarea>\n <ng-content *ngIf=\"useProjectedContent\" />\n <mat-error>{{ errorMessage }}</mat-error>\n <mat-icon data-cy=\"suffix-icon\" *ngIf=\"suffix\" (click)=\"suffixClicked()\" class=\"pointer\" color=\"primary\" matSuffix>{{ suffix }}</mat-icon>\n <mat-icon data-cy=\"prefix-icon\" *ngIf=\"prefix\" (click)=\"prefixClicked()\" class=\"pointer\" color=\"primary\" matPrefix>{{ prefix }}</mat-icon>\n</mat-form-field>\n", styles: ["mat-form-field{width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}mat-label{line-height:1.4}span[matPrefix]{padding-right:5px}span[matSuffix]{padding-left:5px}.text-left{text-align:left}.text-right{text-align:right}.multiline{resize:none}\n"] }]
|
|
185
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.NumberFormatService }, { type: i0.ElementRef }], propDecorators: { originalContent: [{
|
|
186
|
-
type: ViewChild,
|
|
187
|
-
args: ['contentWrapper', { static: false }]
|
|
188
|
-
}], useProjectedContent: [{
|
|
189
|
-
type: Input,
|
|
190
|
-
args: ['useProjectedContent']
|
|
191
|
-
}], value: [{
|
|
192
|
-
type: Input,
|
|
193
|
-
args: ['value']
|
|
194
|
-
}], label: [{
|
|
195
|
-
type: Input,
|
|
196
|
-
args: ['label']
|
|
197
|
-
}], textAlign: [{
|
|
198
|
-
type: Input,
|
|
199
|
-
args: ['textAlign']
|
|
200
|
-
}], formatNumber: [{
|
|
201
|
-
type: Input,
|
|
202
|
-
args: ['formatNumber']
|
|
203
|
-
}], decimalPlaces: [{
|
|
204
|
-
type: Input,
|
|
205
|
-
args: ['decimalPlaces']
|
|
206
|
-
}], roundValue: [{
|
|
207
|
-
type: Input,
|
|
208
|
-
args: ['roundDisplayValue']
|
|
209
|
-
}], autofillDecimals: [{
|
|
210
|
-
type: Input,
|
|
211
|
-
args: ['autofillDecimals']
|
|
212
|
-
}], unit: [{
|
|
213
|
-
type: Input,
|
|
214
|
-
args: ['unit']
|
|
215
|
-
}], unitPosition: [{
|
|
216
|
-
type: Input,
|
|
217
|
-
args: ['unitPosition']
|
|
218
|
-
}], errorMessage: [{
|
|
219
|
-
type: Input,
|
|
220
|
-
args: ['errorMessage']
|
|
221
|
-
}], multiline: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], rows: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], id: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], shrinkIfEmpty: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], suffix: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], prefix: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], multilineAutoSize: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], suffixClickedEmitter: [{
|
|
236
|
-
type: Output
|
|
237
|
-
}], prefixClickedEmitter: [{
|
|
238
|
-
type: Output
|
|
239
|
-
}], inputEl: [{
|
|
240
|
-
type: ViewChild,
|
|
241
|
-
args: ['inputEl']
|
|
242
|
-
}] } });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1hZGRvbnMvc3JjL2xpYi9yZWFkb25seS9yZWFkb25seS1mb3JtLWZpZWxkL3JlYWRvbmx5LWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBRWxFOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBaURyQyxZQUNVLGNBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLG1CQUF3QyxFQUN4QyxVQUFzQjtRQUh0QixtQkFBYyxH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QkFBekIsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTnVtYmVyRm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uL251bWVyaWMtZmllbGQvbnVtYmVyLWZvcm1hdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1N0eWxlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKipcbiAqIFJlYWQtb25seSBtYXQtZm9ybS1maWVsZCByZXByZXNlbnRhdGlvbiBvZiBwcm92aWRlZCB2YWx1ZVxuICpcbiAqIEBhdXRob3IgU3RlZmFuIExhZXNzZXJcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYWQtcmVhZG9ubHktZm9ybS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsIE5nSWYsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgTmdTdHlsZSwgTmdDbGFzcywgTWF0VG9vbHRpcE1vZHVsZSwgVGV4dEZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVhZE9ubHlGb3JtRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBAVmlld0NoaWxkKCdjb250ZW50V3JhcHBlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBvcmlnaW5hbENvbnRlbnQ6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgndXNlUHJvamVjdGVkQ29udGVudCcpIHVzZVByb2plY3RlZENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCd2YWx1ZScpIHZhbHVlPzogYW55O1xuICBASW5wdXQoJ2xhYmVsJykgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCd0ZXh0QWxpZ24nKSB0ZXh0QWxpZ246ICdyaWdodCcgfCAnbGVmdCcgPSAnbGVmdCc7XG4gIEBJbnB1dCgnZm9ybWF0TnVtYmVyJykgZm9ybWF0TnVtYmVyID0gZmFsc2U7XG4gIEBJbnB1dCgnZGVjaW1hbFBsYWNlcycpIGRlY2ltYWxQbGFjZXMgPSAyO1xuICBASW5wdXQoJ3JvdW5kRGlzcGxheVZhbHVlJykgcm91bmRWYWx1ZSA9IGZhbHNlO1xuICBASW5wdXQoJ2F1dG9maWxsRGVjaW1hbHMnKSBhdXRvZmlsbERlY2ltYWxzID0gZmFsc2U7XG4gIEBJbnB1dCgndW5pdCcpIHVuaXQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ3VuaXRQb3NpdGlvbicpIHVuaXRQb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdsZWZ0JztcbiAgQElucHV0KCdlcnJvck1lc3NhZ2UnKSBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBtdWx0aWxpbmUgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93czogbnVtYmVyO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAvKlxuICAgKiBJZiBzaHJpbmtJZkVtcHR5IGlzIHNldCB0byBcImZhbHNlXCIsIG5vdGhpbmcgY2hhbmdlc1xuICAgKiBJZiBzZXQgdG8gXCJ0cnVlXCIgYW5kIG11bHRpbGluZSBpcyBhbHNvIFwidHJ1ZVwiLCB0aGUgdGV4dGFyZWEgd2lsbFxuICAgKiBzaHJpbmsgdG8gb25lIHJvdywgaWYgdmFsdWUgaXMgZW1wdHkvbnVsbC91bmRlZmluZWQuXG4gICAqIE90aGVyd2lzZSwgdGhlIGRlZmluZWQgcm93cy12YWx1ZSB3aWxsIGJlIHVzZWRcbiAgICovXG4gIEBJbnB1dCgpIHNocmlua0lmRW1wdHkgPSBmYWxzZTtcbiAgLyoqXG4gICAqIHN1ZmZpeCBpb2NvblxuICAgKi9cbiAgQElucHV0KCkgc3VmZml4OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBwcmVmaXggaW9jb25cbiAgICovXG4gIEBJbnB1dCgpIHByZWZpeDogc3RyaW5nO1xuICAvKipcbiAgICogaWYgY2RrVGV4dGFyZWFBdXRvc2l6ZSBpcyBhY3RpdmUgZm9yIHRleHRhcmVhc1xuICAgKi9cbiAgQElucHV0KCkgbXVsdGlsaW5lQXV0b1NpemUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHN1ZmZpeENsaWNrZWRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHJlZml4Q2xpY2tlZEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWwnKSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuICBlcnJvck1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyID0ge1xuICAgIGlzRXJyb3JTdGF0ZTogKCkgPT4gISF0aGlzLmVycm9yTWVzc2FnZSxcbiAgfTtcblxuICBwcml2YXRlIHVuaXRTcGFuOiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgdGV4dFNwYW46IEhUTUxTcGFuRWxlbWVudDtcblxuICB0b29sVGlwRm9ySW5wdXRFbmFibGVkID0gZmFsc2U7XG4gIHRvb2xUaXBUZXh0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgbnVtYmVyRm9ybWF0U2VydmljZTogTnVtYmVyRm9ybWF0U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFOdW1iZXJGb3JtYXRTZXJ2aWNlLnZhbHVlSXNTZXQodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAnLSc7XG4gICAgICBpZiAodGhpcy5zaHJpbmtJZkVtcHR5KSB7XG4gICAgICAgIHRoaXMucm93cyA9IDE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm1hdE51bWJlciAmJiB0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm51bWJlckZvcm1hdFNlcnZpY2UuZm9ybWF0KHRoaXMudmFsdWUsIHtcbiAgICAgICAgZGVjaW1hbFBsYWNlczogdGhpcy5kZWNpbWFsUGxhY2VzLFxuICAgICAgICBmaW5hbEZvcm1hdHRpbmc6IHRydWUsXG4gICAgICAgIGF1dG9maWxsRGVjaW1hbHM6IHRoaXMuYXV0b2ZpbGxEZWNpbWFscyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIFRPRE8gZGlyZWN0IGNvcHkgZnJvbSBOdW1lcmljRmllbGREaXJlY3RpdmVcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0VW5pdFN5bWJvbCgpO1xuICAgIC8vIElmIHVzZVByb2plY3RlZENvbnRlbnQgaXMgc2V0IHRvIHRydWUsIHRoZSBpbnB1dCB3b250IGJlIHNob3dcbiAgICBpZiAoIXRoaXMudXNlUHJvamVjdGVkQ29udGVudCkge1xuICAgICAgdGhpcy5zZXRSZWFkb25seUZpZWxkU3R5bGUoKTtcbiAgICAgIHRoaXMuc2V0VG9vbHRpcEZvck92ZXJmbG93bkZpZWxkKCk7XG4gICAgfVxuICB9XG5cbiAgc3VmZml4Q2xpY2tlZCgpIHtcbiAgICB0aGlzLnN1ZmZpeENsaWNrZWRFbWl0dGVyLmVtaXQobnVsbCk7XG4gIH1cblxuICBwcmVmaXhDbGlja2VkKCkge1xuICAgIHRoaXMucHJlZml4Q2xpY2tlZEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0VW5pdFN5bWJvbCgpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIGluamVjdCB0aGUgdW5pdCBzeW1ib2wgd2hlbiB0aGUgaW5wdXQgZWxlbWVudCB3aWR0aCBpcyBzZXQgdG8gaXRzIGFjdHVhbCB2YWx1ZSxcbiAgICAvLyBvdGhlcndpc2UgdGhlIGljb24gd29udCBzaG93IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uXG4gICAgaWYgKCEhdGhpcy51bml0ICYmICF0aGlzLnVuaXRTcGFuICYmIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICE9PSAwKSB7XG4gICAgICAvLyBHZXQgdGhlIGlucHV0IHdyYXBwZXIgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIGNvbnN0IGlucHV0V3JhcHBlciA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGFuIHdpdGggdW5pdCBzeW1ib2wgYW5kIGFwcGx5IG5lY2Vzc2FyeSBzdHlsZXNcbiAgICAgIHRoaXMudW5pdFNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgaWYgKHRoaXMudW5pdFBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFByZWZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1yaWdodCcsICc1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaW5wdXRXcmFwcGVyLCB0aGlzLnVuaXRTcGFuLCBpbnB1dFdyYXBwZXIuY2hpbGRyZW5bMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy51bml0U3BhbiwgJ21hdFN1ZmZpeCcsICcnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnVuaXRTcGFuLCAncGFkZGluZy1sZWZ0JywgJzI1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChpbnB1dFdyYXBwZXIsIHRoaXMudW5pdFNwYW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNwZWNpYWwgaGFuZGxpbmcgdG8gbW92ZSB1bml0IHN5bWJvbCBhbG9uZyB3aXRoIGRpc3BsYXkgdmFsdWVcbiAgICBpZiAoISF0aGlzLnVuaXRTcGFuICYmIHRoaXMudGV4dEFsaWduID09PSAnbGVmdCcgJiYgdGhpcy51bml0UG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIGNvbnN0IGlucHV0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgbnVsbCk7XG4gICAgICB0aGlzLnVuaXRTcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUubWFyZ2luVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnYm9yZGVyLXRvcC13aWR0aCcpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5wYWRkaW5nVG9wID0gaW5wdXRTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKTtcbiAgICAgIHRoaXMudW5pdFNwYW4uc3R5bGUucGFkZGluZ0JvdHRvbSA9IGlucHV0U3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctYm90dG9tJyk7XG5cbiAgICAgIGlmICghdGhpcy50ZXh0U3Bhbikge1xuICAgICAgICB0aGlzLnRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudGV4dFNwYW4pO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLmZvbnQgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250Jyk7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUuZm9udFNpemUgPSBpbnB1dFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXNpemUnKTtcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUud2lkdGggPSAnYXV0byc7XG4gICAgICAgIHRoaXMudGV4dFNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnRvcCA9ICcwJztcbiAgICAgICAgdGhpcy50ZXh0U3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vLXdyYXAnO1xuICAgICAgICB0aGlzLnRleHRTcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIH1cbiAgICAgIHRoaXMudGV4dFNwYW4uaW5uZXJIVE1MID0gdGhpcy52YWx1ZTtcbiAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5taW4odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggLSB0aGlzLnVuaXRTcGFuLmNsaWVudFdpZHRoLCBNYXRoLmNlaWwodGhpcy50ZXh0U3Bhbi5jbGllbnRXaWR0aCkpO1xuICAgICAgdGhpcy51bml0U3Bhbi5zdHlsZS5sZWZ0ID0gd2lkdGggKyAncHgnO1xuICAgIH1cbiAgICAvLyBhbHdheXMgcmVzZXQgdW5pdCBzeW1ib2xcbiAgICBpZiAoISF0aGlzLnVuaXRTcGFuKSB7XG4gICAgICB0aGlzLnVuaXRTcGFuLnRleHRDb250ZW50ID0gdGhpcy51bml0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVhZG9ubHlGaWVsZFN0eWxlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0RWw/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHRleHRPdmVyRmxvd1N0eWxlVmFsdWUgPSB0aGlzLmdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKTtcbiAgICAgIGlmICh0ZXh0T3ZlckZsb3dTdHlsZVZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAndGV4dC1vdmVyZmxvdzogJyArIHRleHRPdmVyRmxvd1N0eWxlVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEVsbGlwc2lzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhcyB0ZXh0LW92ZXJmbG93IGJlaGF2aW91clxuICBwcml2YXRlIGdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAvLyBpdCB3b3JrcyBvbmx5IGlmIHRoZSBzdHlsZSBpcyBhZGRlZCB0byB0aGUgY29tcG9uZW50IGRpcmVjdGx5LiBTaG91bGQgZmluZCBhIHdheSBmb3IgZ2V0IGl0IGZyb20gdGhlIGNhbGN1bGF0ZWRcbiAgICAvLyBzdHlsZS4gVGhhbiBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBkZWZpbmUgdGhlIHRleHQtb3ZlcmZsb3cgaW4gY3NzIGZvciB0aGUgd2hvbGUgYXBwbGljYXRpb25cbiAgICBjb25zdCB0ZXh0T3ZlcmZsb3cgPSB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnN0eWxlLnRleHRPdmVyZmxvdztcbiAgICBpZiAoIXRleHRPdmVyZmxvdykge1xuICAgICAgcmV0dXJuICdlbGxpcHNpcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHRPdmVyZmxvdztcbiAgfVxuXG4gIHByaXZhdGUgc2V0VG9vbHRpcEZvck92ZXJmbG93bkZpZWxkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRWxsaXBzaXNGb3JUZXh0T3ZlcmZsb3dFbmFibGVkKCkpIHtcbiAgICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgICAgdGhpcy50b29sVGlwRm9ySW5wdXRFbmFibGVkID0gdGhpcy5pc1RleHRPdmVyZmxvd24odGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAodGhpcy50b29sVGlwRm9ySW5wdXRFbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy50b29sVGlwVGV4dCA9IHRoaXMuY2FsY3VsYXRlVG9vbFRpcFRleHQoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRWxsaXBzaXNGb3JUZXh0T3ZlcmZsb3dFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFRleHRPdmVyRmxvd1N0eWxlVmFsdWUoKSA9PT0gJ2VsbGlwc2lzJztcbiAgfVxuXG4gIHByaXZhdGUgaXNUZXh0T3ZlcmZsb3duKGlucHV0OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHJldHVybiBpbnB1dC5vZmZzZXRXaWR0aCA8IGlucHV0LnNjcm9sbFdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZVRvb2xUaXBUZXh0KCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnVuaXRQb3NpdGlvbiA9PT0gJ2xlZnQnID8gdGhpcy51bml0ICsgJyAnICsgdGhpcy52YWx1ZSA6IHRoaXMudmFsdWUgKyAnICcgKyB0aGlzLnVuaXQ7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZvcm0tZ3JvdXAgbWFkLXJlYWQtb25seVwiPlxuICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiIW11bHRpbGluZVwiXG4gICAgW25nU3R5bGVdPVwieyBkaXNwbGF5OiB1c2VQcm9qZWN0ZWRDb250ZW50ID8gJ25vbmUnIDogJ2Jsb2NrJyB9XCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgW25nQ2xhc3NdPVwiJ3RleHQtJyArIHRleHRBbGlnbiArICcgY29udGVudCdcIlxuICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvck1hdGNoZXJcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgcmVhZG9ubHlcbiAgICBbZGlzYWJsZWRdPVwiIXVzZVByb2plY3RlZENvbnRlbnRcIlxuICAgIG1hdElucHV0XG4gICAgI2lucHV0RWxcbiAgICBtYXRUb29sdGlwPVwie3sgdG9vbFRpcFRleHQgfX1cIlxuICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCJcbiAgICBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiXG4gICAgbWF0VG9vbHRpcERpc2FibGVkPVwie3sgIXRvb2xUaXBGb3JJbnB1dEVuYWJsZWQgfX1cIlxuICAvPlxuXG4gIDx0ZXh0YXJlYVxuICAgICpuZ0lmPVwibXVsdGlsaW5lXCJcbiAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IHVzZVByb2plY3RlZENvbnRlbnQgPyAnbm9uZScgOiAnYmxvY2snIH1cIlxuICAgIFtyb3dzXT1cInJvd3NcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICBjbGFzcz1cIm11bHRpbGluZSBjb250ZW50XCJcbiAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JNYXRjaGVyXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIHJlYWRvbmx5XG4gICAgW2Rpc2FibGVkXT1cIiF1c2VQcm9qZWN0ZWRDb250ZW50XCJcbiAgICBtYXRJbnB1dFxuICAgIFtjZGtUZXh0YXJlYUF1dG9zaXplXT1cIm11bHRpbGluZUF1dG9TaXplXCJcbiAgPjwvdGV4dGFyZWE+XG4gIDxuZy1jb250ZW50ICpuZ0lmPVwidXNlUHJvamVjdGVkQ29udGVudFwiIC8+XG4gIDxtYXQtZXJyb3I+e3sgZXJyb3JNZXNzYWdlIH19PC9tYXQtZXJyb3I+XG4gIDxtYXQtaWNvbiBkYXRhLWN5PVwic3VmZml4LWljb25cIiAqbmdJZj1cInN1ZmZpeFwiIChjbGljayk9XCJzdWZmaXhDbGlja2VkKClcIiBjbGFzcz1cInBvaW50ZXJcIiBjb2xvcj1cInByaW1hcnlcIiBtYXRTdWZmaXg+e3sgc3VmZml4IH19PC9tYXQtaWNvbj5cbiAgPG1hdC1pY29uIGRhdGEtY3k9XCJwcmVmaXgtaWNvblwiICpuZ0lmPVwicHJlZml4XCIgKGNsaWNrKT1cInByZWZpeENsaWNrZWQoKVwiIGNsYXNzPVwicG9pbnRlclwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdFByZWZpeD57eyBwcmVmaXggfX08L21hdC1pY29uPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|