@rlucan/ui 14.2.4 → 14.2.6

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 (107) hide show
  1. package/esm2022/lib/action-button/action-button.component.mjs +99 -0
  2. package/esm2022/lib/action-icon/action-icon.component.mjs +37 -0
  3. package/esm2022/lib/autocomplete/autocomplete.component.mjs +391 -0
  4. package/esm2022/lib/avatar/avatar.component.mjs +34 -0
  5. package/esm2022/lib/button/button.component.mjs +57 -0
  6. package/esm2022/lib/checkbox/checkbox.component.mjs +39 -0
  7. package/{esm2020 → esm2022}/lib/checkbox-group/checkbox-group.component.mjs +91 -91
  8. package/esm2022/lib/currency/currency.component.mjs +151 -0
  9. package/esm2022/lib/date/date.component.mjs +68 -0
  10. package/{esm2020 → esm2022}/lib/dialog/dialog.component.mjs +37 -37
  11. package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -0
  12. package/esm2022/lib/editor/editor.component.mjs +119 -0
  13. package/{esm2020 → esm2022}/lib/elements/burger/burger.component.mjs +21 -21
  14. package/{esm2020 → esm2022}/lib/elements/expander/expander.component.mjs +28 -28
  15. package/{esm2020 → esm2022}/lib/elements/validation-message/validation-message.component.mjs +47 -47
  16. package/esm2022/lib/file/file.component.mjs +145 -0
  17. package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +405 -0
  18. package/esm2022/lib/input/input.component.mjs +265 -0
  19. package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +277 -0
  20. package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +22 -0
  21. package/esm2022/lib/layouts/base/ui-base.component.mjs +74 -0
  22. package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +18 -0
  23. package/esm2022/lib/layouts/simple/ui-simple.component.mjs +166 -0
  24. package/{esm2020 → esm2022}/lib/radio/radio.component.mjs +21 -21
  25. package/esm2022/lib/radio-group/radio-group.component.mjs +53 -0
  26. package/esm2022/lib/select/select.component.mjs +115 -0
  27. package/esm2022/lib/services/message-box.service.mjs +149 -0
  28. package/{esm2020 → esm2022}/lib/services/toast.service.mjs +23 -23
  29. package/{esm2020 → esm2022}/lib/services/ui-file.service.mjs +71 -71
  30. package/{esm2020 → esm2022}/lib/services/ui-translate.service.mjs +32 -32
  31. package/{esm2020 → esm2022}/lib/submit-button/submit-button.component.mjs +72 -72
  32. package/esm2022/lib/table/table.component.mjs +97 -0
  33. package/esm2022/lib/text-area/text-area.component.mjs +46 -0
  34. package/{esm2020 → esm2022}/lib/ui.model.mjs +1 -1
  35. package/esm2022/lib/ui.module.mjs +269 -0
  36. package/esm2022/public-api.mjs +35 -0
  37. package/{esm2020 → esm2022}/rlucan-ui.mjs +4 -4
  38. package/fesm2022/rlucan-ui.mjs +3442 -0
  39. package/fesm2022/rlucan-ui.mjs.map +1 -0
  40. package/index.d.ts +5 -5
  41. package/lib/action-button/action-button.component.d.ts +32 -33
  42. package/lib/action-icon/action-icon.component.d.ts +15 -15
  43. package/lib/autocomplete/autocomplete.component.d.ts +57 -57
  44. package/lib/avatar/avatar.component.d.ts +14 -14
  45. package/lib/button/button.component.d.ts +18 -18
  46. package/lib/checkbox/checkbox.component.d.ts +15 -15
  47. package/lib/checkbox-group/checkbox-group.component.d.ts +18 -18
  48. package/lib/currency/currency.component.d.ts +31 -30
  49. package/lib/date/date.component.d.ts +24 -23
  50. package/lib/dialog/dialog.component.d.ts +13 -13
  51. package/lib/directives/force-visibility/force-visibility.directive.d.ts +22 -20
  52. package/lib/editor/editor.component.d.ts +24 -0
  53. package/lib/elements/burger/burger.component.d.ts +9 -9
  54. package/lib/elements/expander/expander.component.d.ts +10 -10
  55. package/lib/elements/validation-message/validation-message.component.d.ts +12 -12
  56. package/lib/file/file.component.d.ts +35 -29
  57. package/lib/file-uploader/ui-file-uploader.component.d.ts +102 -102
  58. package/lib/input/input.component.d.ts +42 -29
  59. package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -0
  60. package/lib/{base → layouts/base}/ui-base-layout.component.d.ts +8 -8
  61. package/lib/{base → layouts/base}/ui-base.component.d.ts +23 -23
  62. package/lib/{simple → layouts/simple}/ui-simple-layout.component.d.ts +8 -7
  63. package/lib/{simple → layouts/simple}/ui-simple.component.d.ts +40 -39
  64. package/lib/radio/radio.component.d.ts +8 -8
  65. package/lib/radio-group/radio-group.component.d.ts +18 -18
  66. package/lib/select/select.component.d.ts +35 -33
  67. package/lib/services/message-box.service.d.ts +58 -42
  68. package/lib/services/toast.service.d.ts +13 -13
  69. package/lib/services/ui-file.service.d.ts +33 -33
  70. package/lib/services/ui-translate.service.d.ts +11 -11
  71. package/lib/submit-button/submit-button.component.d.ts +21 -21
  72. package/lib/table/table.component.d.ts +36 -36
  73. package/lib/text-area/text-area.component.d.ts +18 -18
  74. package/lib/ui.model.d.ts +2 -2
  75. package/lib/ui.module.d.ts +59 -56
  76. package/package.json +22 -24
  77. package/public-api.d.ts +29 -27
  78. package/scss/ui-defaults.scss +19 -4
  79. package/src/js/editorjs.mjs +9634 -0
  80. package/ui.scss +70 -20
  81. package/esm2020/lib/action-button/action-button.component.mjs +0 -96
  82. package/esm2020/lib/action-icon/action-icon.component.mjs +0 -37
  83. package/esm2020/lib/autocomplete/autocomplete.component.mjs +0 -391
  84. package/esm2020/lib/avatar/avatar.component.mjs +0 -34
  85. package/esm2020/lib/base/ui-base-layout.component.mjs +0 -22
  86. package/esm2020/lib/base/ui-base.component.mjs +0 -74
  87. package/esm2020/lib/button/button.component.mjs +0 -57
  88. package/esm2020/lib/checkbox/checkbox.component.mjs +0 -39
  89. package/esm2020/lib/currency/currency.component.mjs +0 -148
  90. package/esm2020/lib/date/date.component.mjs +0 -64
  91. package/esm2020/lib/directives/force-visibility/force-visibility.directive.mjs +0 -96
  92. package/esm2020/lib/file/file.component.mjs +0 -88
  93. package/esm2020/lib/file-uploader/ui-file-uploader.component.mjs +0 -394
  94. package/esm2020/lib/input/input.component.mjs +0 -258
  95. package/esm2020/lib/radio-group/radio-group.component.mjs +0 -53
  96. package/esm2020/lib/select/select.component.mjs +0 -91
  97. package/esm2020/lib/services/message-box.service.mjs +0 -113
  98. package/esm2020/lib/simple/ui-simple-layout.component.mjs +0 -15
  99. package/esm2020/lib/simple/ui-simple.component.mjs +0 -154
  100. package/esm2020/lib/table/table.component.mjs +0 -97
  101. package/esm2020/lib/text-area/text-area.component.mjs +0 -46
  102. package/esm2020/lib/ui.module.mjs +0 -255
  103. package/esm2020/public-api.mjs +0 -33
  104. package/fesm2015/rlucan-ui.mjs +0 -2918
  105. package/fesm2015/rlucan-ui.mjs.map +0 -1
  106. package/fesm2020/rlucan-ui.mjs +0 -2886
  107. package/fesm2020/rlucan-ui.mjs.map +0 -1
@@ -1,113 +0,0 @@
1
- import { Component, Inject, Injectable } from '@angular/core';
2
- import { MAT_DIALOG_DATA, MatDialogConfig } from '@angular/material/dialog';
3
- import { UI_TRANSLATESERVICE } from './ui-translate.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- import * as i2 from "@angular/platform-browser";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "../button/button.component";
9
- import * as i5 from "../dialog/dialog.component";
10
- export class MessageBoxModalComponent {
11
- constructor(dialogRef, sanitizer, data) {
12
- this.dialogRef = dialogRef;
13
- this.sanitizer = sanitizer;
14
- this.data = data;
15
- this.buttons = [];
16
- this.hideCloseButton = false;
17
- this.message = this.sanitizer.bypassSecurityTrustHtml(data.message);
18
- if (this.data.options.errorMessage) {
19
- this.errorMessage = this.sanitizer.bypassSecurityTrustHtml(data.options.errorMessage);
20
- }
21
- if (this.data.options.errorDetail) {
22
- this.errorDetail = this.sanitizer.bypassSecurityTrustHtml(data.options.errorDetail);
23
- }
24
- if (this.data.options.hideCloseButton !== undefined) {
25
- this.hideCloseButton = this.data.options.hideCloseButton;
26
- }
27
- this.buttons = data.options.buttons ? data.options.buttons : [{ id: 'close', text: 'Close' }];
28
- this.title = data.options.title;
29
- }
30
- close(result) {
31
- this.dialogRef.close(result);
32
- }
33
- }
34
- MessageBoxModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxModalComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
35
- MessageBoxModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
36
- <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
37
- <div mat-dialog-content style="padding: 12px;">
38
- <div [innerHTML]="message" style="line-height: 24px;"></div>
39
- <pre *ngIf="errorMessage" [innerHTML]="errorMessage"></pre>
40
- <pre *ngIf="errorDetail" [innerHTML]="errorDetail"></pre>
41
- </div>
42
-
43
- <div mat-dialog-actions>
44
- <div class="buttons">
45
- <ui-button *ngFor="let b of buttons" style="margin-left: 18px;" [color]="b.color || 'primary'" [tabIndex]="-1"
46
- [kind]="b.kind || 'stroked'" (click)="close(b.id)" [label]="b.text"></ui-button>
47
- </div>
48
- </div>
49
- </ui-dialog>
50
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }, { kind: "component", type: i5.DialogComponent, selector: "ui-dialog", inputs: ["title", "draggable", "hideCloseButton", "close"] }] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxModalComponent, decorators: [{
52
- type: Component,
53
- args: [{
54
- selector: 'ui-message-box-modal',
55
- template: `
56
- <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
57
- <div mat-dialog-content style="padding: 12px;">
58
- <div [innerHTML]="message" style="line-height: 24px;"></div>
59
- <pre *ngIf="errorMessage" [innerHTML]="errorMessage"></pre>
60
- <pre *ngIf="errorDetail" [innerHTML]="errorDetail"></pre>
61
- </div>
62
-
63
- <div mat-dialog-actions>
64
- <div class="buttons">
65
- <ui-button *ngFor="let b of buttons" style="margin-left: 18px;" [color]="b.color || 'primary'" [tabIndex]="-1"
66
- [kind]="b.kind || 'stroked'" (click)="close(b.id)" [label]="b.text"></ui-button>
67
- </div>
68
- </div>
69
- </ui-dialog>
70
- `
71
- }]
72
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
73
- type: Inject,
74
- args: [MAT_DIALOG_DATA]
75
- }] }]; } });
76
- export class MessageBoxService {
77
- constructor(dialog, translateService) {
78
- this.dialog = dialog;
79
- this.translateService = translateService;
80
- }
81
- confirm(message, options = {}) {
82
- const config = new MatDialogConfig();
83
- config.disableClose = true;
84
- config.minWidth = '340px';
85
- config.maxWidth = options.maxWidth || '600px';
86
- config.width = '40vw';
87
- config.data = { message, options };
88
- return this.dialog.open(MessageBoxModalComponent, config).afterClosed();
89
- }
90
- confirmDelete(title, message) {
91
- const options = {
92
- title,
93
- buttons: [
94
- { id: 'cancel', text: this.translateService.instant('ui.messagebox.button.cancel') },
95
- { id: 'delete', text: this.translateService.instant('ui.messagebox.button.delete'), color: 'warn', kind: 'flat' }
96
- ]
97
- };
98
- // @ts-ignore
99
- return this.confirm(message, options);
100
- }
101
- }
102
- MessageBoxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxService, deps: [{ token: i1.MatDialog }, { token: UI_TRANSLATESERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
103
- MessageBoxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxService, providedIn: 'root' });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: MessageBoxService, decorators: [{
105
- type: Injectable,
106
- args: [{
107
- providedIn: 'root'
108
- }]
109
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: undefined, decorators: [{
110
- type: Inject,
111
- args: [UI_TRANSLATESERVICE]
112
- }] }]; } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQTRCdEcsTUFBTSxPQUFPLHdCQUF3QjtJQVNuQyxZQUFtQixTQUFpRCxFQUNqRCxTQUF1QixFQUNHLElBQVM7UUFGbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNHLFNBQUksR0FBSixJQUFJLENBQUs7UUFOdEQsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFFakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFNdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RjtRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ25ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1NBQzFEO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFXO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7cUhBL0JVLHdCQUF3QiwwRUFXZixlQUFlO3lHQVh4Qix3QkFBd0IsNERBakJ6Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZVQ7MkZBRVUsd0JBQXdCO2tCQW5CcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztHQWVUO2lCQUNGOzswQkFZYyxNQUFNOzJCQUFDLGVBQWU7O0FBMkJyQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW9CLE1BQWlCLEVBQ1csZ0JBQXFDO1FBRGpFLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDVyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO0lBQ3JGLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLFVBT3JCLEVBQUU7UUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUM7UUFDOUMsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDMUMsTUFBTSxPQUFPLEdBQUc7WUFDZCxLQUFLO1lBQ0wsT0FBTyxFQUFFO2dCQUNQLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFO2dCQUNwRixFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFDbEg7U0FDRixDQUFDO1FBQ0YsYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7OEdBbENVLGlCQUFpQiwyQ0FHUixtQkFBbUI7a0hBSDVCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUljLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJVWlUcmFuc2xhdGVTZXJ2aWNlLCBVSV9UUkFOU0xBVEVTRVJWSUNFLCBVaVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3VpLXRyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUJveEJ1dHRvbiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAga2luZD86ICdiYXNpYycgfCAnZmxhdCcgfCAnc3Ryb2tlZCc7XHJcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1tZXNzYWdlLWJveC1tb2RhbCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDx1aS1kaWFsb2cgW3RpdGxlXT1cInRpdGxlXCIgW2hpZGVDbG9zZUJ1dHRvbl09XCJoaWRlQ2xvc2VCdXR0b25cIj5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgc3R5bGU9XCJwYWRkaW5nOiAxMnB4O1wiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJtZXNzYWdlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMjRweDtcIj48L2Rpdj5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgW2lubmVySFRNTF09XCJlcnJvck1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JEZXRhaWxcIiBbaW5uZXJIVE1MXT1cImVycm9yRGV0YWlsXCI+PC9wcmU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDx1aS1idXR0b24gKm5nRm9yPVwibGV0IGIgb2YgYnV0dG9uc1wiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE4cHg7XCIgW2NvbG9yXT1cImIuY29sb3IgfHwgJ3ByaW1hcnknXCIgW3RhYkluZGV4XT1cIi0xXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtraW5kXT1cImIua2luZCB8fCAnc3Ryb2tlZCdcIiAoY2xpY2spPVwiY2xvc2UoYi5pZClcIiBbbGFiZWxdPVwiYi50ZXh0XCI+PC91aS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC91aS1kaWFsb2c+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50IHtcclxuXHJcbiAgbWVzc2FnZTtcclxuICBlcnJvck1lc3NhZ2U7XHJcbiAgZXJyb3JEZXRhaWw7XHJcbiAgYnV0dG9uczogTWVzc2FnZUJveEJ1dHRvbltdID0gW107XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBoaWRlQ2xvc2VCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE1lc3NhZ2VCb3hNb2RhbENvbXBvbmVudD4sXHJcbiAgICAgICAgICAgICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIGRhdGE6IGFueSkge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvck1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yRGV0YWlsKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JEZXRhaWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmhpZGVDbG9zZUJ1dHRvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZUNsb3NlQnV0dG9uID0gdGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYnV0dG9ucyA9IGRhdGEub3B0aW9ucy5idXR0b25zID8gZGF0YS5vcHRpb25zLmJ1dHRvbnMgOiBbe2lkOiAnY2xvc2UnLCB0ZXh0OiAnQ2xvc2UnfV07XHJcbiAgICB0aGlzLnRpdGxlID0gZGF0YS5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UocmVzdWx0OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoVUlfVFJBTlNMQVRFU0VSVklDRSkgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IElVaVRyYW5zbGF0ZVNlcnZpY2UsKSB7XHJcbiAgfVxyXG5cclxuICBjb25maXJtKG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczoge1xyXG4gICAgYnV0dG9ucz86IE1lc3NhZ2VCb3hCdXR0b25bXSxcclxuICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JEZXRhaWw/OiBzdHJpbmcsXHJcbiAgICBoaWRlQ2xvc2VCdXR0b24/OiBib29sZWFuLFxyXG4gICAgbWF4V2lkdGg/OiBzdHJpbmdcclxuICB9ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgY29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBjb25maWcubWluV2lkdGggPSAnMzQwcHgnO1xyXG4gICAgY29uZmlnLm1heFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aCB8fCAnNjAwcHgnO1xyXG4gICAgY29uZmlnLndpZHRoID0gJzQwdncnO1xyXG4gICAgY29uZmlnLmRhdGEgPSB7bWVzc2FnZSwgb3B0aW9uc307XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50LCBjb25maWcpLmFmdGVyQ2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtRGVsZXRlKHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICB0aXRsZSxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgaWQ6ICdjYW5jZWwnLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkubWVzc2FnZWJveC5idXR0b24uY2FuY2VsJykgfSxcclxuICAgICAgICB7IGlkOiAnZGVsZXRlJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLm1lc3NhZ2Vib3guYnV0dG9uLmRlbGV0ZScpLCBjb2xvcjogJ3dhcm4nLCBraW5kOiAnZmxhdCcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybShtZXNzYWdlLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,15 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../base/ui-base-layout.component";
5
- export class UiSimpleLayoutComponent {
6
- }
7
- UiSimpleLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiSimpleLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- UiSimpleLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: { ctx: "ctx" }, ngImport: i0, template: "<ui-base-layout [ctx]=\"ctx\">\r\n\r\n <div *ngIf=\"ctx.validators?.maxLength\" class=\"counter counter-top\">\r\n {{ ctx.componentFormControl.value ? ctx.componentFormControl.value.length : 0 }} / {{ ctx.validators?.maxLength }}\r\n </div>\r\n\r\n <div *ngIf=\"ctx.validators?.maxLength\" class=\"counter counter-bottom\">\r\n {{ ctx.componentFormControl.value ? ctx.componentFormControl.value.length : 0 }} / {{ ctx.validators?.maxLength }}\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n</ui-base-layout>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.UiBaseLayoutComponent, selector: "ui-base-layout", inputs: ["ctx"] }] });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiSimpleLayoutComponent, decorators: [{
10
- type: Component,
11
- args: [{ selector: 'ui-simple-layout', template: "<ui-base-layout [ctx]=\"ctx\">\r\n\r\n <div *ngIf=\"ctx.validators?.maxLength\" class=\"counter counter-top\">\r\n {{ ctx.componentFormControl.value ? ctx.componentFormControl.value.length : 0 }} / {{ ctx.validators?.maxLength }}\r\n </div>\r\n\r\n <div *ngIf=\"ctx.validators?.maxLength\" class=\"counter counter-bottom\">\r\n {{ ctx.componentFormControl.value ? ctx.componentFormControl.value.length : 0 }} / {{ ctx.validators?.maxLength }}\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n</ui-base-layout>\r\n" }]
12
- }], propDecorators: { ctx: [{
13
- type: Input
14
- }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2ltcGxlLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NpbXBsZS91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2ltcGxlL3VpLXNpbXBsZS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRakQsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdGQ1JwQyxpaEJBYUE7MkZETGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFNbkIsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaVNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXNpbXBsZS1sYXlvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG4gIC8vIHN0eWxlVXJsczogWyAnLi91aS1zaW1wbGUtbGF5b3V0LmNvbXBvbmVudC5zY3NzJyBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVNpbXBsZUxheW91dENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGN0eDogVWlTaW1wbGVDb21wb25lbnQ7XHJcblxyXG59XHJcbiIsIjx1aS1iYXNlLWxheW91dCBbY3R4XT1cImN0eFwiPlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiY3R4LnZhbGlkYXRvcnM/Lm1heExlbmd0aFwiIGNsYXNzPVwiY291bnRlciBjb3VudGVyLXRvcFwiPlxyXG4gICAge3sgY3R4LmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlID8gY3R4LmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlLmxlbmd0aCA6IDAgfX0gLyB7eyBjdHgudmFsaWRhdG9ycz8ubWF4TGVuZ3RoIH19XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJjdHgudmFsaWRhdG9ycz8ubWF4TGVuZ3RoXCIgY2xhc3M9XCJjb3VudGVyIGNvdW50ZXItYm90dG9tXCI+XHJcbiAgICB7eyBjdHguY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWUgPyBjdHguY29tcG9uZW50Rm9ybUNvbnRyb2wudmFsdWUubGVuZ3RoIDogMCB9fSAvIHt7IGN0eC52YWxpZGF0b3JzPy5tYXhMZW5ndGggfX1cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG5cclxuPC91aS1iYXNlLWxheW91dD5cclxuIl19
@@ -1,154 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Validators, FormControl } from '@angular/forms';
3
- import { UiBaseComponent } from '../base/ui-base.component';
4
- import { Subscription } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- export class UiSimpleComponent extends UiBaseComponent {
8
- constructor(ngControl, // <-- obsolete
9
- controlContainer = null) {
10
- super();
11
- this.ngControl = ngControl;
12
- this.controlContainer = controlContainer;
13
- this.sub = new Subscription();
14
- this.onChange = (val) => { };
15
- this.onTouched = () => { };
16
- this.onValidatorChange = () => { };
17
- if (ngControl) {
18
- ngControl.valueAccessor = this;
19
- }
20
- else {
21
- this.componentFormControl = new FormControl();
22
- // this.componentFormControl.markAsUntouched();
23
- this.sub.add(this.componentFormControl.valueChanges.subscribe(v => {
24
- try {
25
- // console.log(v, this.componentFormControl.value);
26
- this.onChange(v);
27
- }
28
- catch (e) { /*console.error(e);*/
29
- }
30
- }));
31
- }
32
- // this.ngControl.valueAccessor = this;
33
- }
34
- get maxLenRequired() {
35
- return this.componentFormControl.value && (this.componentFormControl.value.length > (this.validators?.maxLength || 0));
36
- }
37
- get isInvalid() {
38
- // console.log(this.label, this.componentFormControl.touched);
39
- return this.componentFormControl.touched && !!this.componentFormControl.errors;
40
- }
41
- get validationErrors() {
42
- return this.componentFormControl?.errors;
43
- }
44
- ngOnDestroy() {
45
- this.sub.unsubscribe();
46
- }
47
- ngOnInit() {
48
- if (this.ngControl) {
49
- if (this.formControl) {
50
- this.componentFormControl = this.formControl;
51
- }
52
- else {
53
- this.componentFormControl = this.ngControl.control;
54
- }
55
- setTimeout(() => this.applyTemplateValidators());
56
- }
57
- else {
58
- this.parentFormControl = this.formControlName ?
59
- this.controlContainer.control.get(this.formControlName) : this.formControl;
60
- if (this.parentFormControl) {
61
- this.componentFormControl.setValidators(this.parentFormControl.validator);
62
- this.parentFormControl._componentFormControl = this.componentFormControl;
63
- if (this.parentFormControl._markAsTouched === undefined) {
64
- this.parentFormControl._markAsTouched = this.parentFormControl.markAsTouched;
65
- this.parentFormControl._setErrors = this.parentFormControl.setErrors;
66
- this.parentFormControl.markAsTouched = ({ onlySelf } = {}) => {
67
- this.parentFormControl._markAsTouched({ onlySelf });
68
- this.parentFormControl._componentFormControl.markAsTouched({ onlySelf });
69
- };
70
- this.parentFormControl.setErrors = (errors) => {
71
- this.parentFormControl._setErrors(errors);
72
- this.parentFormControl._componentFormControl.setErrors(errors);
73
- };
74
- }
75
- setTimeout(() => this.applyTemplateValidators());
76
- }
77
- }
78
- }
79
- applyTemplateValidators() {
80
- const inputValidators = this.validators;
81
- if (inputValidators) {
82
- const validators = [];
83
- Object.keys(inputValidators).forEach(v => {
84
- switch (v) {
85
- case 'required':
86
- validators.push(Validators.required);
87
- this.required = true;
88
- break;
89
- case 'maxLength':
90
- validators.push(Validators.maxLength(inputValidators.maxLength || 0));
91
- break;
92
- }
93
- });
94
- if (this.parentFormControl) {
95
- this.parentFormControl.setValidators(validators);
96
- this.parentFormControl.updateValueAndValidity({ emitEvent: false });
97
- this.componentFormControl.setValidators(this.parentFormControl.validator);
98
- }
99
- else {
100
- this.componentFormControl.addValidators(validators);
101
- this.componentFormControl.updateValueAndValidity();
102
- }
103
- }
104
- }
105
- ngOnChanges(changes) {
106
- if (changes.validators && this.componentFormControl) {
107
- this.applyTemplateValidators(); // changes.validators.currentValue as UiValidators);
108
- }
109
- }
110
- registerOnChange(fn) {
111
- this.onChange = fn;
112
- }
113
- registerOnTouched(fn) {
114
- this.onTouched = fn;
115
- }
116
- setDisabledState(isDisabled) {
117
- if (this.componentFormControl) {
118
- isDisabled ? this.componentFormControl.disable({ emitEvent: false }) : this.componentFormControl.enable({ emitEvent: false });
119
- }
120
- }
121
- writeValue(obj) {
122
- if (!this.ngControl) {
123
- if (obj && obj.error) {
124
- console.log('setting error', obj, obj.error);
125
- this.componentFormControl.setErrors(obj.error === 'clear' ? null : { custom: obj.error }, { emitEvent: false });
126
- }
127
- else {
128
- this.componentFormControl.setValue(obj);
129
- }
130
- }
131
- }
132
- registerOnValidatorChange(fn) {
133
- this.onValidatorChange = fn;
134
- }
135
- validate(control) {
136
- return null;
137
- }
138
- }
139
- UiSimpleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiSimpleComponent, deps: [{ token: i1.NgControl }, { token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component });
140
- UiSimpleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: UiSimpleComponent, selector: "ui-abstract-simple-component", inputs: { validators: "validators", formControl: "formControl", formControlName: "formControlName" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '** abstract **', isInline: true });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: UiSimpleComponent, decorators: [{
142
- type: Component,
143
- args: [{
144
- selector: 'ui-abstract-simple-component',
145
- template: '** abstract **'
146
- }]
147
- }], ctorParameters: function () { return [{ type: i1.NgControl }, { type: i1.ControlContainer }]; }, propDecorators: { validators: [{
148
- type: Input
149
- }], formControl: [{
150
- type: Input
151
- }], formControlName: [{
152
- type: Input
153
- }] } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2ltcGxlL3VpLXNpbXBsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFPTCxVQUFVLEVBQUUsV0FBVyxFQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTXBDLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsZUFBZTtJQWE3RCxZQUFtQixTQUFvQixFQUFFLGVBQWU7SUFDbEMsbUJBQXFDLElBQUk7UUFDN0QsS0FBSyxFQUFFLENBQUM7UUFGUyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFIL0QsUUFBRyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBbUN2QyxhQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV2QixjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXJCLHNCQUFpQixHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQWpDM0IsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7WUFDcEQsb0RBQW9EO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FB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O2dCQUNMLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekM7U0FDRjtJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OzhHQXRKbUIsaUJBQWlCO2tHQUFqQixpQkFBaUIsc05BRjNCLGdCQUFnQjsyRkFFTixpQkFBaUI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7K0hBSVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbiAgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLFxyXG4gIFZhbGlkYXRvckZuLFxyXG4gIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXBEaXJlY3RpdmVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVpQmFzZUNvbXBvbmVudCwgVWlWYWxpZGF0b3JzIH0gZnJvbSAnLi4vYmFzZS91aS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1hYnN0cmFjdC1zaW1wbGUtY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogJyoqIGFic3RyYWN0ICoqJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVWlTaW1wbGVDb21wb25lbnQgZXh0ZW5kcyBVaUJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IgeyAvLyB9LCBWYWxpZGF0b3Ige1xyXG5cclxuICBASW5wdXQoKSB2YWxpZGF0b3JzOiBVaVZhbGlkYXRvcnMgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2w7XHJcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lO1xyXG5cclxuICBjb21wb25lbnRGb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcclxuICBwYXJlbnRGb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sICYgeyBfY29tcG9uZW50Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sOyBfbWFya0FzVG91Y2hlZDogRnVuY3Rpb247IF9zZXRFcnJvcnM6IEZ1bmN0aW9uIH07XHJcblxyXG4gIHN1YjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsIC8vIDwtLSBvYnNvbGV0ZVxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyID0gbnVsbCkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuLy8gICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLnN1Yi5hZGQodGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyh2LCB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlKTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2Uodik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkgeyAvKmNvbnNvbGUuZXJyb3IoZSk7Ki9cclxuICAgICAgICB9XHJcbiAgICAgIH0gKSk7XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICB9XHJcblxyXG4gIGdldCBtYXhMZW5SZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlICYmICh0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnZhbHVlLmxlbmd0aCA+ICh0aGlzLnZhbGlkYXRvcnM/Lm1heExlbmd0aCB8fCAwKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5sYWJlbCwgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC50b3VjaGVkKTtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnRvdWNoZWQgJiYgISF0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLmVycm9ycztcclxuICB9XHJcblxyXG4gIGdldCB2YWxpZGF0aW9uRXJyb3JzKCk6IFZhbGlkYXRpb25FcnJvcnMge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2w/LmVycm9ycztcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlID0gKHZhbCkgPT4ge307XHJcblxyXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBvblZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHt9O1xyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgICAgfVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYXBwbHlUZW1wbGF0ZVZhbGlkYXRvcnMoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29udHJvbE5hbWUgP1xyXG4gICAgICAgICh0aGlzLmNvbnRyb2xDb250YWluZXIgYXMgRm9ybUdyb3VwRGlyZWN0aXZlKS5jb250cm9sLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkgOiB0aGlzLmZvcm1Db250cm9sO1xyXG4gICAgICBpZiAodGhpcy5wYXJlbnRGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnBhcmVudEZvcm1Db250cm9sLnZhbGlkYXRvcik7XHJcbiAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5fY29tcG9uZW50Rm9ybUNvbnRyb2wgPSB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sO1xyXG4gICAgICAgIGlmICh0aGlzLnBhcmVudEZvcm1Db250cm9sLl9tYXJrQXNUb3VjaGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX21hcmtBc1RvdWNoZWQgPSB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQ7XHJcbiAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLl9zZXRFcnJvcnMgPSB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldEVycm9ycztcclxuICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCA9ICh7b25seVNlbGZ9OiB7IG9ubHlTZWxmPzogYm9vbGVhbiB9ID0ge30pOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5fbWFya0FzVG91Y2hlZCh7b25seVNlbGZ9KTtcclxuICAgICAgICAgICAgdGhpcy5wYXJlbnRGb3JtQ29udHJvbC5fY29tcG9uZW50Rm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCh7b25seVNlbGZ9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0RXJyb3JzID0gKGVycm9yczogYW55KTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuX3NldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLl9jb21wb25lbnRGb3JtQ29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFwcGx5VGVtcGxhdGVWYWxpZGF0b3JzKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseVRlbXBsYXRlVmFsaWRhdG9ycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0VmFsaWRhdG9ycyA9IHRoaXMudmFsaWRhdG9ycztcclxuICAgIGlmIChpbnB1dFZhbGlkYXRvcnMpIHtcclxuICAgICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgICBPYmplY3Qua2V5cyhpbnB1dFZhbGlkYXRvcnMpLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgc3dpdGNoICh2KSB7XHJcbiAgICAgICAgICBjYXNlICdyZXF1aXJlZCc6XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnbWF4TGVuZ3RoJzpcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKGlucHV0VmFsaWRhdG9ycy5tYXhMZW5ndGggfHwgMCkpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAodGhpcy5wYXJlbnRGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnBhcmVudEZvcm1Db250cm9sLnZhbGlkYXRvcik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy52YWxpZGF0b3JzICYmIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5hcHBseVRlbXBsYXRlVmFsaWRhdG9ycygpOyAvLyBjaGFuZ2VzLnZhbGlkYXRvcnMuY3VycmVudFZhbHVlIGFzIFVpVmFsaWRhdG9ycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sKSB7XHJcbiAgICAgIGlzRGlzYWJsZWQgPyB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pIDogdGhpcy5jb21wb25lbnRGb3JtQ29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICBpZiAob2JqICYmIG9iai5lcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdzZXR0aW5nIGVycm9yJywgb2JqLCBvYmouZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Rm9ybUNvbnRyb2wuc2V0RXJyb3JzKG9iai5lcnJvciA9PT0gJ2NsZWFyJyA/IG51bGwgOiB7IGN1c3RvbTogb2JqLmVycm9yIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudEZvcm1Db250cm9sLnNldFZhbHVlKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,97 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { MatSort } from '@angular/material/sort';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/table";
7
- import * as i4 from "@angular/material/sort";
8
- export class TableComponent {
9
- constructor(/*private persistService: PersistService, */ domSanitizer) {
10
- this.domSanitizer = domSanitizer;
11
- this.columns = [];
12
- this.rowTemplates = {};
13
- this.headerTemplates = {};
14
- this.stateStoreKey = '';
15
- }
16
- get columnList() {
17
- return this.columns.map(c => c.name);
18
- }
19
- ngOnInit() {
20
- this.options = { ...{ sticky: false }, ...this.options };
21
- if (this.dataSource) {
22
- // if (this.stateStoreKey !== '') {
23
- // const storeKey = this.stateStoreKey + '.sort';
24
- // const ms = this.persistService.get(storeKey, { active: '', direction: ''});
25
- // this.matSort.active = ms.active;
26
- // this.matSort.direction = ms.direction;
27
- // this.matSort.sortChange.subscribe(sc => {
28
- // this.persistService.set(storeKey, sc.direction === '' ? { active: '', direction: ''} : sc);
29
- // });
30
- // }
31
- if (this.columns.find(c => c.sortable !== undefined)) {
32
- this.dataSource.sortData = (rows, sort) => {
33
- if (sort.direction) {
34
- const sortColumn = this.columns.find(c => c.name === sort.active);
35
- if (sortColumn) {
36
- const res = sort.direction === 'asc' ? 1 : -1;
37
- return rows.sort((r1, r2) => {
38
- if (sortColumn.sortable === true) {
39
- return r1[sortColumn.name] < r2[sortColumn.name] ? -res : res;
40
- }
41
- if (typeof sortColumn.sortable === 'function') {
42
- return sortColumn.sortable(r1, sort.direction) < sortColumn.sortable(r2, sort.direction) ? -res : res;
43
- }
44
- return 0;
45
- });
46
- }
47
- }
48
- return rows;
49
- };
50
- }
51
- }
52
- }
53
- ngAfterViewInit() {
54
- this.dataSource.sort = this.matSort;
55
- }
56
- display(row, col) {
57
- if (col.formatter) {
58
- return this.domSanitizer.bypassSecurityTrustHtml(col.formatter(row));
59
- }
60
- else {
61
- return row[col.name];
62
- }
63
- }
64
- rowClicked(row) {
65
- if (this.rowAction) {
66
- this.rowAction(row);
67
- }
68
- }
69
- }
70
- TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TableComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
71
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TableComponent, selector: "ui-table", inputs: { columns: "columns", dataSource: "dataSource", options: "options", rowTemplates: "rowTemplates", headerTemplates: "headerTemplates", stateStoreKey: "stateStoreKey", rowAction: "rowAction", matSortActive: "matSortActive", matSortDirection: "matSortDirection" }, viewQueries: [{ propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" [matSortActive]=\"matSortActive\" [matSortDirection]=\"matSortDirection\">\n\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\n\n <ng-container *ngIf=\"c.sortable\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\n </ng-container>\n\n <ng-container *ngIf=\"!c.sortable\">\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplates[c.name]\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\n </th>\n </ng-container>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\n <ng-container *ngIf=\"rowTemplates[c.name]\">\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\n <span [innerHTML]=\"display(element, c)\"></span>\n </ng-container>\n </ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\n</table>\n", styles: [":host table{width:100%}:host td[colspan=\"0\"]{display:none}:host .mat-header-cell{font-weight:400;font-size:14px}:host.inverse .mat-header-row{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }] });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TableComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'ui-table', template: "<table mat-table matSort [dataSource]=\"dataSource\" style=\"width: 100%\" [matSortActive]=\"matSortActive\" [matSortDirection]=\"matSortDirection\">\n\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\n\n <ng-container *ngIf=\"c.sortable\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\n </ng-container>\n\n <ng-container *ngIf=\"!c.sortable\">\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplates[c.name]\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\n </th>\n </ng-container>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\n <ng-container *ngIf=\"rowTemplates[c.name]\">\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\n <span [innerHTML]=\"display(element, c)\"></span>\n </ng-container>\n </ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\n</table>\n", styles: [":host table{width:100%}:host td[colspan=\"0\"]{display:none}:host .mat-header-cell{font-weight:400;font-size:14px}:host.inverse .mat-header-row{background-color:#fff}\n"] }]
75
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { columns: [{
76
- type: Input
77
- }], dataSource: [{
78
- type: Input
79
- }], options: [{
80
- type: Input
81
- }], rowTemplates: [{
82
- type: Input
83
- }], headerTemplates: [{
84
- type: Input
85
- }], stateStoreKey: [{
86
- type: Input
87
- }], rowAction: [{
88
- type: Input
89
- }], matSortActive: [{
90
- type: Input
91
- }], matSortDirection: [{
92
- type: Input
93
- }], matSort: [{
94
- type: ViewChild,
95
- args: [MatSort]
96
- }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBcUI5RCxNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBWSw0Q0FBNEMsQ0FBUSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWpCakYsWUFBTyxHQUFrQixFQUFFLENBQUM7UUFHNUIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxFQUFFLENBQUM7SUFZa0UsQ0FBQztJQUovRixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFJRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLG1DQUFtQztZQUNuQyxtREFBbUQ7WUFDbkQsZ0ZBQWdGO1lBQ2hGLHFDQUFxQztZQUNyQywyQ0FBMkM7WUFDM0MsOENBQThDO1lBQzlDLGtHQUFrRztZQUNsRyxRQUFRO1lBQ1IsSUFBSTtZQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxFQUFFO2dCQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFhLEVBQUUsRUFBRTtvQkFDeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO3dCQUNsQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNsRSxJQUFJLFVBQVUsRUFBRTs0QkFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQU8sRUFBRSxFQUFFO2dDQUNwQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO29DQUNoQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztpQ0FDL0Q7Z0NBQ0QsSUFBSSxPQUFPLFVBQVUsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO29DQUM3QyxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7aUNBQ3ZHO2dDQUNELE9BQU8sQ0FBQyxDQUFDOzRCQUNYLENBQUMsQ0FBQyxDQUFDO3lCQUNKO3FCQUNGO29CQUNELE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFRLEVBQUUsR0FBZ0I7UUFDaEMsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEU7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsR0FBRztRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7MkdBeEVVLGNBQWM7K0ZBQWQsY0FBYyx1V0FhZCxPQUFPLGdEQ25DcEIsdWxEQW9DQTsyRkRkYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFVBQVU7bUdBTVgsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRWMsT0FBTztzQkFBMUIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0U29ydCwgU29ydERpcmVjdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG4vLyBpbXBvcnQge1BlcnNpc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJzaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzb3J0YWJsZT86IGJvb2xlYW4gfCAoKHJvdzogYW55LCBkaXJlY3Rpb24/OiBTb3J0RGlyZWN0aW9uKSA9PiBudW1iZXIgfCBzdHJpbmcpO1xuICBsYWJlbD86IHN0cmluZztcbiAgY29sU3Bhbj86IChyb3c6IGFueSkgPT4gbnVtYmVyO1xuICBmb3JtYXR0ZXI/OiAocm93OiBhbnkpID0+IHN0cmluZztcbiAgY2VsbENsYXNzPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zIHtcbiAgc3RpY2t5PzogYm9vbGVhbjtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCkgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnk7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcm93VGVtcGxhdGVzOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgaGVhZGVyVGVtcGxhdGVzOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgc3RhdGVTdG9yZUtleSA9ICcnO1xuICBASW5wdXQoKSByb3dBY3Rpb246IChyb3c6IGFueSkgPT4gdm9pZDtcblxuICBASW5wdXQoKSBtYXRTb3J0QWN0aXZlO1xuICBASW5wdXQoKSBtYXRTb3J0RGlyZWN0aW9uO1xuXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydCB8IHVuZGVmaW5lZDtcblxuICBnZXQgY29sdW1uTGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5tYXAoYyA9PiBjLm5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoLypwcml2YXRlIHBlcnNpc3RTZXJ2aWNlOiBQZXJzaXN0U2VydmljZSwgKi9wcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4ue3N0aWNreTogZmFsc2V9LCAuLi50aGlzLm9wdGlvbnN9O1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIC8vIGlmICh0aGlzLnN0YXRlU3RvcmVLZXkgIT09ICcnKSB7XG4gICAgICAvLyAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5zdGF0ZVN0b3JlS2V5ICsgJy5zb3J0JztcbiAgICAgIC8vICAgY29uc3QgbXMgPSB0aGlzLnBlcnNpc3RTZXJ2aWNlLmdldChzdG9yZUtleSwgeyBhY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfSk7XG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5hY3RpdmUgPSBtcy5hY3RpdmU7XG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5kaXJlY3Rpb24gPSBtcy5kaXJlY3Rpb247XG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5zb3J0Q2hhbmdlLnN1YnNjcmliZShzYyA9PiB7XG4gICAgICAvLyAgICAgdGhpcy5wZXJzaXN0U2VydmljZS5zZXQoc3RvcmVLZXksIHNjLmRpcmVjdGlvbiA9PT0gJycgPyB7IGFjdGl2ZTogJycsIGRpcmVjdGlvbjogJyd9IDogc2MpO1xuICAgICAgLy8gICB9KTtcbiAgICAgIC8vIH1cbiAgICAgIGlmICh0aGlzLmNvbHVtbnMuZmluZChjID0+IGMuc29ydGFibGUgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnREYXRhID0gKHJvd3M6IGFueVtdLCBzb3J0OiBNYXRTb3J0KSA9PiB7XG4gICAgICAgICAgaWYgKHNvcnQuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBzb3J0Q29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLm5hbWUgPT09IHNvcnQuYWN0aXZlKTtcbiAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IHNvcnQuZGlyZWN0aW9uID09PSAnYXNjJyA/IDEgOiAtMTtcbiAgICAgICAgICAgICAgcmV0dXJuIHJvd3Muc29ydCgocjE6IGFueSwgcjI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uLnNvcnRhYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcjFbc29ydENvbHVtbi5uYW1lXSA8IHIyW3NvcnRDb2x1bW4ubmFtZV0gPyAtcmVzIDogcmVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRDb2x1bW4uc29ydGFibGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBzb3J0Q29sdW1uLnNvcnRhYmxlKHIxLCBzb3J0LmRpcmVjdGlvbikgPCBzb3J0Q29sdW1uLnNvcnRhYmxlKHIyLCBzb3J0LmRpcmVjdGlvbikgPyAtcmVzIDogcmVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByb3dzO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMubWF0U29ydDtcbiAgfVxuXG4gIGRpc3BsYXkocm93OiBhbnksIGNvbDogVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIGlmIChjb2wuZm9ybWF0dGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY29sLmZvcm1hdHRlcihyb3cpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJvd1tjb2wubmFtZV07XG4gICAgfVxuICB9XG5cbiAgcm93Q2xpY2tlZChyb3cpIHtcbiAgICBpZiAodGhpcy5yb3dBY3Rpb24pIHtcbiAgICAgIHRoaXMucm93QWN0aW9uKCByb3cpO1xuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlIG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCIgW21hdFNvcnRBY3RpdmVdPVwibWF0U29ydEFjdGl2ZVwiIFttYXRTb3J0RGlyZWN0aW9uXT1cIm1hdFNvcnREaXJlY3Rpb25cIj5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImMuc29ydGFibGVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbH19PC90aD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5zb3J0YWJsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoZWFkZXJUZW1wbGF0ZXNbYy5uYW1lXVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7Yy5sYWJlbH19PC90aD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGVzW2MubmFtZV1cIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVzW2MubmFtZV1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjb2xTcGFuXT1cImMuY29sU3BhbiA/IGMuY29sU3BhbihlbGVtZW50KSA6IDFcIiBbY2xhc3NdPVwiYy5jZWxsQ2xhc3MgPyBjLmNlbGxDbGFzcyhlbGVtZW50KSA6ICcnXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWMuY29sU3BhbiB8fCBjLmNvbFNwYW4oZWxlbWVudCkgPiAwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dUZW1wbGF0ZXNbYy5uYW1lXVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dUZW1wbGF0ZXNbYy5uYW1lXVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cm93OmVsZW1lbnR9XCIgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93VGVtcGxhdGVzW2MubmFtZV1cIj5cbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImRpc3BsYXkoZWxlbWVudCwgYylcIj48L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90ZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJjb2x1bW5MaXN0OyBzdGlja3k6IG9wdGlvbnM/LnN0aWNreVwiPjwvdHI+XG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5MaXN0O1wiIChjbGljayk9XCJyb3dDbGlja2VkKHJvdylcIj48L3RyPlxuPC90YWJsZT5cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { Component, EventEmitter, Input, Optional, Output, Self, ViewChild } from '@angular/core';
2
- import { UiSimpleComponent } from '../simple/ui-simple.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@angular/material/input";
7
- import * as i4 from "@angular/cdk/text-field";
8
- import * as i5 from "../simple/ui-simple-layout.component";
9
- export class TextAreaComponent extends UiSimpleComponent {
10
- constructor(ngControl /*, private _ngZone: NgZone, private cdr: ChangeDetectorRef*/) {
11
- super(ngControl);
12
- this.ngControl = ngControl;
13
- this.rows = 5;
14
- this.autoResize = false;
15
- this.lastClientHeight = -1;
16
- this.focusChanged = new EventEmitter();
17
- }
18
- focus() {
19
- this.textarea.nativeElement.focus();
20
- }
21
- setDisabledState(isDisabled) {
22
- }
23
- onFocus(focus) {
24
- this.focusChanged.emit(focus);
25
- }
26
- }
27
- TextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
28
- TextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: TextAreaComponent, selector: "ui-text-area", inputs: { rows: "rows", autoResize: "autoResize" }, outputs: { focusChanged: "focusChanged" }, viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"input-wrapper\">\r\n <ng-container *ngIf=\"componentFormControl\">\r\n <textarea *ngIf=\"autoResize \"#textarea matInput\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"rows\"\r\n class=\"autoresize\"\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n <textarea *ngIf=\"!autoResize \"#textarea matInput\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n </ng-container>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{width:100%}:host .control-container{width:100%;position:relative}:host ::ng-deep [slot=suffix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep input.has-suffix,:host ::ng-deep textarea.has-suffix,:host ::ng-deep ::ng-deep .mat-select-trigger.has-suffix,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.has-suffix{padding-right:1.8em}:host ::ng-deep input.centered,:host ::ng-deep textarea.centered,:host ::ng-deep ::ng-deep .mat-select-trigger.centered,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.centered{text-align:center}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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: "component", type: i5.UiSimpleLayoutComponent, selector: "ui-simple-layout", inputs: ["ctx"] }] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: TextAreaComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'ui-text-area', template: "<ui-simple-layout [ctx]=\"this\">\r\n\r\n<div class=\"input-wrapper\">\r\n <ng-container *ngIf=\"componentFormControl\">\r\n <textarea *ngIf=\"autoResize \"#textarea matInput\r\n cdkTextareaAutosize cdkAutosizeMinRows=\"rows\"\r\n class=\"autoresize\"\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n <textarea *ngIf=\"!autoResize \"#textarea matInput\r\n [formControl]=\"componentFormControl\" [placeholder]=\"placeholder\" [rows]=\"rows\" (focus)=\"onFocus(true)\" (blur)=\"onFocus(false)\"></textarea>\r\n </ng-container>\r\n</div>\r\n\r\n</ui-simple-layout>\r\n", styles: [":host{width:100%}:host .control-container{width:100%;position:relative}:host ::ng-deep [slot=suffix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]{position:absolute;cursor:pointer;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}:host ::ng-deep input.has-suffix,:host ::ng-deep textarea.has-suffix,:host ::ng-deep ::ng-deep .mat-select-trigger.has-suffix,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.has-suffix{padding-right:1.8em}:host ::ng-deep input.centered,:host ::ng-deep textarea.centered,:host ::ng-deep ::ng-deep .mat-select-trigger.centered,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger.centered{text-align:center}:host ::ng-deep textarea.autoresize{box-sizing:content-box;width:calc(100% - 1.4em)}:host ::ng-deep ::ng-deep .mat-select-trigger,:host ::ng-deep ::ng-deep .mat-mdc-select-trigger{height:100%}:host ::ng-deep ::ng-deep .mat-select-value,:host ::ng-deep ::ng-deep .mat-mdc-select-value{vertical-align:middle}::ng-deep ui-input{display:block}\n"] }]
32
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
33
- type: Optional
34
- }, {
35
- type: Self
36
- }] }]; }, propDecorators: { rows: [{
37
- type: Input
38
- }], autoResize: [{
39
- type: Input
40
- }], textarea: [{
41
- type: ViewChild,
42
- args: ['textarea']
43
- }], focusChanged: [{
44
- type: Output
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQWVsRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBZXRELFlBQXVDLFNBQW9CLENBQUEsNkRBQTZEO1FBQ3RILEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBYmxELFNBQUksR0FBRyxDQUFDLENBQUM7UUFFVCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHFCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBTVosaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBS3JELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs4R0E1QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsZ1JDN0I5QixtdEJBY0E7MkZEZWEsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWM7OzBCQXdCWCxRQUFROzswQkFBSSxJQUFJOzRDQWJwQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVWlTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9zaW1wbGUvdWktc2ltcGxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENka1RleHRhcmVhQXV0b3NpemUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXRleHQtYXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuLi9zaW1wbGUvdWktc2ltcGxlLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxyXG4gIC8vIHByb3ZpZGVyczogW3tcclxuICAvLyAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIC8vICAgbXVsdGk6IHRydWUsXHJcbiAgLy8gICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0QXJlYUNvbXBvbmVudCksXHJcbiAgLy8gfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRBcmVhQ29tcG9uZW50IGV4dGVuZHMgVWlTaW1wbGVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSByb3dzID0gNTtcclxuXHJcbiAgQElucHV0KCkgYXV0b1Jlc2l6ZSA9IGZhbHNlO1xyXG5cclxuICBsYXN0Q2xpZW50SGVpZ2h0ID0gLTE7XHJcbiAgLy8gaGVpZ2h0ID0gLTE7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHRleHRhcmVhOiBFbGVtZW50UmVmO1xyXG5cclxuICBAT3V0cHV0KCkgZm9jdXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wvKiwgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiovKSB7XHJcbiAgICBzdXBlcihuZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRhcmVhLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhmb2N1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c0NoYW5nZWQuZW1pdChmb2N1cyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gb25LZXlkb3duKCkge1xyXG4gIC8vICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKCdvbmtleWRvd24nKTtcclxuICAvLyAgICAgLy8gaWYgKHRoaXMubGFzdENsaWVudEhlaWdodCAhPT0gdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCArIDIwKSB7XHJcbiAgLy8gICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnRleHRhcmVhLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgMjA7XHJcbiAgLy8gICAgICAgLy8gdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnY29sb3I6IHdoaXRlOyBiYWNrZ3JvdW5kOiByZWQ7IGhlaWdodDogJyArIHRoaXMuaGVpZ2h0ICsgJ3B4OycpO1xyXG4gIC8vICAgICAgIC8vIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAvLyAgICAgICB0aGlzLmxhc3RDbGllbnRIZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAvLyAgICAgICBjb25zb2xlLmxvZyh0aGlzLmhlaWdodCk7XHJcbiAgLy8gICAgIC8vIH1cclxuICAvLyAgIC8vIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gQFZpZXdDaGlsZCgnYXV0b3NpemUnKSBhdXRvc2l6ZTogQ2RrVGV4dGFyZWFBdXRvc2l6ZTtcclxuICAvL1xyXG4gIC8vIHRyaWdnZXJSZXNpemUoKSB7XHJcbiAgLy8gICAvLyBXYWl0IGZvciBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQsIHRoZW4gdHJpZ2dlciB0ZXh0YXJlYSByZXNpemUuXHJcbiAgLy8gICB0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICBjb25zb2xlLmxvZygneHh4Jyk7XHJcbiAgLy8gICAgIHRoaXMuYXV0b3NpemUucmVzaXplVG9GaXRDb250ZW50KHRydWUpXHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcbn1cclxuIiwiPHVpLXNpbXBsZS1sYXlvdXQgW2N0eF09XCJ0aGlzXCI+XHJcblxyXG48ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21wb25lbnRGb3JtQ29udHJvbFwiPlxyXG4gIDx0ZXh0YXJlYSAqbmdJZj1cImF1dG9SZXNpemUgXCIjdGV4dGFyZWEgbWF0SW5wdXRcclxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZSBjZGtBdXRvc2l6ZU1pblJvd3M9XCJyb3dzXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhdXRvcmVzaXplXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbXBvbmVudEZvcm1Db250cm9sXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3Jvd3NdPVwicm93c1wiIChmb2N1cyk9XCJvbkZvY3VzKHRydWUpXCIgKGJsdXIpPVwib25Gb2N1cyhmYWxzZSlcIj48L3RleHRhcmVhPlxyXG4gIDx0ZXh0YXJlYSAqbmdJZj1cIiFhdXRvUmVzaXplIFwiI3RleHRhcmVhIG1hdElucHV0XHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb21wb25lbnRGb3JtQ29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtyb3dzXT1cInJvd3NcIiAoZm9jdXMpPVwib25Gb2N1cyh0cnVlKVwiIChibHVyKT1cIm9uRm9jdXMoZmFsc2UpXCI+PC90ZXh0YXJlYT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48L3VpLXNpbXBsZS1sYXlvdXQ+XHJcbiJdfQ==