@rlucan/ui 18.2.3 → 19.0.2

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 (41) hide show
  1. package/fesm2022/rlucan-ui.mjs +144 -140
  2. package/fesm2022/rlucan-ui.mjs.map +1 -1
  3. package/package.json +11 -13
  4. package/esm2022/lib/action-button/action-button.component.mjs +0 -99
  5. package/esm2022/lib/action-icon/action-icon.component.mjs +0 -37
  6. package/esm2022/lib/auto-complete/auto-complete.component.mjs +0 -405
  7. package/esm2022/lib/autocomplete/autocomplete.component.mjs +0 -391
  8. package/esm2022/lib/avatar/avatar.component.mjs +0 -34
  9. package/esm2022/lib/button/button.component.mjs +0 -57
  10. package/esm2022/lib/checkbox/checkbox.component.mjs +0 -39
  11. package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +0 -91
  12. package/esm2022/lib/currency/currency.component.mjs +0 -151
  13. package/esm2022/lib/date/date.component.mjs +0 -68
  14. package/esm2022/lib/dialog/dialog.component.mjs +0 -37
  15. package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +0 -104
  16. package/esm2022/lib/editor/editor.component.mjs +0 -119
  17. package/esm2022/lib/elements/burger/burger.component.mjs +0 -21
  18. package/esm2022/lib/elements/expander/expander.component.mjs +0 -28
  19. package/esm2022/lib/elements/validation-message/validation-message.component.mjs +0 -47
  20. package/esm2022/lib/file/file.component.mjs +0 -177
  21. package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +0 -424
  22. package/esm2022/lib/input/input.component.mjs +0 -265
  23. package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +0 -277
  24. package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +0 -22
  25. package/esm2022/lib/layouts/base/ui-base.component.mjs +0 -74
  26. package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +0 -18
  27. package/esm2022/lib/layouts/simple/ui-simple.component.mjs +0 -166
  28. package/esm2022/lib/radio/radio.component.mjs +0 -21
  29. package/esm2022/lib/radio-group/radio-group.component.mjs +0 -58
  30. package/esm2022/lib/select/select.component.mjs +0 -126
  31. package/esm2022/lib/services/message-box.service.mjs +0 -149
  32. package/esm2022/lib/services/toast.service.mjs +0 -23
  33. package/esm2022/lib/services/ui-file.service.mjs +0 -72
  34. package/esm2022/lib/services/ui-translate.service.mjs +0 -32
  35. package/esm2022/lib/submit-button/submit-button.component.mjs +0 -72
  36. package/esm2022/lib/table/table.component.mjs +0 -97
  37. package/esm2022/lib/text-area/text-area.component.mjs +0 -46
  38. package/esm2022/lib/ui.model.mjs +0 -2
  39. package/esm2022/lib/ui.module.mjs +0 -274
  40. package/esm2022/public-api.mjs +0 -36
  41. package/esm2022/rlucan-ui.mjs +0 -5
@@ -1,149 +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.processing = null;
18
- if (data.message) {
19
- this.message = this.sanitizer.bypassSecurityTrustHtml(data.message);
20
- }
21
- if (this.data.options.template) {
22
- this.template = this.data.options.template;
23
- }
24
- if (this.data.options.errorMessage) {
25
- this.errorMessage = this.sanitizer.bypassSecurityTrustHtml(data.options.errorMessage);
26
- }
27
- if (this.data.options.errorDetail) {
28
- this.errorDetail = this.sanitizer.bypassSecurityTrustHtml(data.options.errorDetail);
29
- }
30
- if (this.data.options.hideCloseButton !== undefined) {
31
- this.hideCloseButton = this.data.options.hideCloseButton;
32
- }
33
- this.buttons = data.options.buttons ? data.options.buttons : [{ id: 'close', text: 'Close' }];
34
- this.title = data.options.title;
35
- }
36
- close(result) {
37
- this.dialogRef.close(result);
38
- }
39
- buttonClick(b) {
40
- if (b.process) {
41
- this.processing = b;
42
- b.process().then(r => {
43
- this.close(r);
44
- }).catch(e => {
45
- this.processing = null;
46
- });
47
- }
48
- else {
49
- this.close(b.id);
50
- }
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MessageBoxModalComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
54
- <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
55
- <div mat-dialog-content *ngIf="message" style="padding: 7px 16px 12px 16px;">
56
- <div [innerHTML]="message" style="line-height: 24px;"></div>
57
- <pre *ngIf="errorMessage" [innerHTML]="errorMessage"></pre>
58
- <pre *ngIf="errorDetail" [innerHTML]="errorDetail"></pre>
59
- </div>
60
-
61
- <div mat-dialog-content *ngIf="template" style="padding: 7px 16px 12px 16px;">
62
- <ng-template [ngTemplateOutlet]="template"></ng-template>
63
- </div>
64
-
65
- <div mat-dialog-actions>
66
- <div class="buttons">
67
- <ui-button *ngFor="let b of buttons" [color]="b.color || 'primary'" [tabIndex]="-1"
68
- [kind]="b.kind || 'stroked'" [busy]="processing === b" [disabled]="!!processing || (b.disabled && b.disabled())" (click)="buttonClick(b)" [label]="b.text"></ui-button>
69
- </div>
70
- </div>
71
- </ui-dialog>
72
- `, 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: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { 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"] }] }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MessageBoxModalComponent, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'ui-message-box-modal',
78
- template: `
79
- <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
80
- <div mat-dialog-content *ngIf="message" style="padding: 7px 16px 12px 16px;">
81
- <div [innerHTML]="message" style="line-height: 24px;"></div>
82
- <pre *ngIf="errorMessage" [innerHTML]="errorMessage"></pre>
83
- <pre *ngIf="errorDetail" [innerHTML]="errorDetail"></pre>
84
- </div>
85
-
86
- <div mat-dialog-content *ngIf="template" style="padding: 7px 16px 12px 16px;">
87
- <ng-template [ngTemplateOutlet]="template"></ng-template>
88
- </div>
89
-
90
- <div mat-dialog-actions>
91
- <div class="buttons">
92
- <ui-button *ngFor="let b of buttons" [color]="b.color || 'primary'" [tabIndex]="-1"
93
- [kind]="b.kind || 'stroked'" [busy]="processing === b" [disabled]="!!processing || (b.disabled && b.disabled())" (click)="buttonClick(b)" [label]="b.text"></ui-button>
94
- </div>
95
- </div>
96
- </ui-dialog>
97
- `
98
- }]
99
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
100
- type: Inject,
101
- args: [MAT_DIALOG_DATA]
102
- }] }] });
103
- export class MessageBoxService {
104
- constructor(dialog, translateService) {
105
- this.dialog = dialog;
106
- this.translateService = translateService;
107
- }
108
- confirm(message, options = {}) {
109
- const config = new MatDialogConfig();
110
- config.disableClose = false;
111
- config.minWidth = '340px';
112
- config.maxWidth = options.maxWidth || '600px';
113
- config.width = '40vw';
114
- config.data = { message, options };
115
- return this.dialog.open(MessageBoxModalComponent, config).afterClosed();
116
- }
117
- open(options = {}) {
118
- const config = new MatDialogConfig();
119
- config.disableClose = true;
120
- config.minWidth = '340px';
121
- config.maxWidth = options.maxWidth || '600px';
122
- config.width = '40vw';
123
- config.data = { message: options.message, options };
124
- return this.dialog.open(MessageBoxModalComponent, config).afterClosed();
125
- }
126
- confirmDelete(title, message) {
127
- const options = {
128
- title,
129
- buttons: [
130
- { id: 'cancel', text: this.translateService.instant('ui.messagebox.button.cancel') },
131
- { id: 'delete', text: this.translateService.instant('ui.messagebox.button.delete'), color: 'warn', kind: 'flat' }
132
- ]
133
- };
134
- // @ts-ignore
135
- return this.confirm(message, options);
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MessageBoxService, deps: [{ token: i1.MatDialog }, { token: UI_TRANSLATESERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MessageBoxService, providedIn: 'root' }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: MessageBoxService, decorators: [{
141
- type: Injectable,
142
- args: [{
143
- providedIn: 'root'
144
- }]
145
- }], ctorParameters: () => [{ type: i1.MatDialog }, { type: undefined, decorators: [{
146
- type: Inject,
147
- args: [UI_TRANSLATESERVICE]
148
- }] }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBa0NsRixNQUFNLE9BQU8sd0JBQXdCO0lBV25DLFlBQW1CLFNBQWlELEVBQ2pELFNBQXVCLEVBQ0csSUFBUztRQUZuQyxjQUFTLEdBQVQsU0FBUyxDQUF3QztRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ0csU0FBSSxHQUFKLElBQUksQ0FBSztRQVJ0RCxZQUFPLEdBQXVCLEVBQUUsQ0FBQztRQUdqQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQXFCLElBQUksQ0FBQztRQU1sQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFXO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFtQjtRQUM3QixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQzs4R0FwRFUsd0JBQXdCLDBFQWFmLGVBQWU7a0dBYnhCLHdCQUF3Qiw0REFyQnpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzsyRkFFVSx3QkFBd0I7a0JBdkJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDtpQkFDRjs7MEJBY2MsTUFBTTsyQkFBQyxlQUFlOztBQThDckMsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUFvQixNQUFpQixFQUNXLGdCQUFxQztRQURqRSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ1cscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFxQjtJQUNyRixDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxVQU9yQixFQUFFO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUMxQixNQUFNLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxDQUFDLFVBU0QsRUFBRTtRQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDckMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDMUIsTUFBTSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUM5QyxNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWEsRUFBRSxPQUFlO1FBQzFDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsS0FBSztZQUNMLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsRUFBRTtnQkFDcEYsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQ2xIO1NBQ0YsQ0FBQztRQUNGLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBdERVLGlCQUFpQiwyQ0FHUixtQkFBbUI7a0hBSDVCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJYyxNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVVpVHJhbnNsYXRlU2VydmljZSwgVUlfVFJBTlNMQVRFU0VSVklDRSB9IGZyb20gJy4vdWktdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQm94QnV0dG9uIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBraW5kPzogJ2Jhc2ljJyB8ICdmbGF0JyB8ICdzdHJva2VkJztcclxuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xyXG4gIHByb2Nlc3M/OiAoKSA9PiBQcm9taXNlPGFueT47XHJcbiAgZGlzYWJsZWQ/OiAoKSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLW1lc3NhZ2UtYm94LW1vZGFsJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHVpLWRpYWxvZyBbdGl0bGVdPVwidGl0bGVcIiBbaGlkZUNsb3NlQnV0dG9uXT1cImhpZGVDbG9zZUJ1dHRvblwiPlxyXG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCAqbmdJZj1cIm1lc3NhZ2VcIiBzdHlsZT1cInBhZGRpbmc6IDdweCAxNnB4IDEycHggMTZweDtcIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDI0cHg7XCI+PC9kaXY+XHJcbiAgICAgICAgPHByZSAqbmdJZj1cImVycm9yTWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiZXJyb3JNZXNzYWdlXCI+PC9wcmU+XHJcbiAgICAgICAgPHByZSAqbmdJZj1cImVycm9yRGV0YWlsXCIgW2lubmVySFRNTF09XCJlcnJvckRldGFpbFwiPjwvcHJlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwidGVtcGxhdGVcIiBzdHlsZT1cInBhZGRpbmc6IDdweCAxNnB4IDEycHggMTZweDtcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XHJcbiAgICAgICAgICA8dWktYnV0dG9uICpuZ0Zvcj1cImxldCBiIG9mIGJ1dHRvbnNcIiBbY29sb3JdPVwiYi5jb2xvciB8fCAncHJpbWFyeSdcIiBbdGFiSW5kZXhdPVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2tpbmRdPVwiYi5raW5kIHx8ICdzdHJva2VkJ1wiIFtidXN5XT1cInByb2Nlc3NpbmcgPT09IGJcIiBbZGlzYWJsZWRdPVwiISFwcm9jZXNzaW5nIHx8IChiLmRpc2FibGVkICYmIGIuZGlzYWJsZWQoKSlcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2soYilcIiBbbGFiZWxdPVwiYi50ZXh0XCI+PC91aS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC91aS1kaWFsb2c+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50IHtcclxuXHJcbiAgbWVzc2FnZTtcclxuICBlcnJvck1lc3NhZ2U7XHJcbiAgZXJyb3JEZXRhaWw7XHJcbiAgYnV0dG9uczogTWVzc2FnZUJveEJ1dHRvbltdID0gW107XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0ZW1wbGF0ZTogYW55O1xyXG4gIGhpZGVDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG4gIHByb2Nlc3Npbmc6IE1lc3NhZ2VCb3hCdXR0b24gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWVzc2FnZUJveE1vZGFsQ29tcG9uZW50PixcclxuICAgICAgICAgICAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogYW55KSB7XHJcblxyXG4gICAgaWYgKGRhdGEubWVzc2FnZSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEub3B0aW9ucy50ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5kYXRhLm9wdGlvbnMudGVtcGxhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvck1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yRGV0YWlsKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JEZXRhaWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmhpZGVDbG9zZUJ1dHRvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZUNsb3NlQnV0dG9uID0gdGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYnV0dG9ucyA9IGRhdGEub3B0aW9ucy5idXR0b25zID8gZGF0YS5vcHRpb25zLmJ1dHRvbnMgOiBbe2lkOiAnY2xvc2UnLCB0ZXh0OiAnQ2xvc2UnfV07XHJcbiAgICB0aGlzLnRpdGxlID0gZGF0YS5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UocmVzdWx0OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBidXR0b25DbGljayhiOiBNZXNzYWdlQm94QnV0dG9uKSB7XHJcbiAgICBpZiAoYi5wcm9jZXNzKSB7XHJcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGI7XHJcbiAgICAgIGIucHJvY2VzcygpLnRoZW4ociA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZShyKTtcclxuICAgICAgfSkuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gbnVsbDtcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoYi5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoVUlfVFJBTlNMQVRFU0VSVklDRSkgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IElVaVRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0obWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiB7XHJcbiAgICBidXR0b25zPzogTWVzc2FnZUJveEJ1dHRvbltdLFxyXG4gICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBlcnJvckRldGFpbD86IHN0cmluZyxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbj86IGJvb2xlYW4sXHJcbiAgICBtYXhXaWR0aD86IHN0cmluZ1xyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBjb25maWcubWluV2lkdGggPSAnMzQwcHgnO1xyXG4gICAgY29uZmlnLm1heFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aCB8fCAnNjAwcHgnO1xyXG4gICAgY29uZmlnLndpZHRoID0gJzQwdncnO1xyXG4gICAgY29uZmlnLmRhdGEgPSB7bWVzc2FnZSwgb3B0aW9uc307XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50LCBjb25maWcpLmFmdGVyQ2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKG9wdGlvbnM6IHtcclxuICAgIGJ1dHRvbnM/OiBNZXNzYWdlQm94QnV0dG9uW10sXHJcbiAgICB0aXRsZT86IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZyxcclxuICAgIGVycm9yRGV0YWlsPzogc3RyaW5nLFxyXG4gICAgaGlkZUNsb3NlQnV0dG9uPzogYm9vbGVhbixcclxuICAgIG1heFdpZHRoPzogc3RyaW5nLFxyXG4gICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PlxyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGNvbmZpZy5taW5XaWR0aCA9ICczNDBweCc7XHJcbiAgICBjb25maWcubWF4V2lkdGggPSBvcHRpb25zLm1heFdpZHRoIHx8ICc2MDBweCc7XHJcbiAgICBjb25maWcud2lkdGggPSAnNDB2dyc7XHJcbiAgICBjb25maWcuZGF0YSA9IHttZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsIG9wdGlvbnN9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKE1lc3NhZ2VCb3hNb2RhbENvbXBvbmVudCwgY29uZmlnKS5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZSh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7IGlkOiAnY2FuY2VsJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLm1lc3NhZ2Vib3guYnV0dG9uLmNhbmNlbCcpIH0sXHJcbiAgICAgICAgeyBpZDogJ2RlbGV0ZScsIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5tZXNzYWdlYm94LmJ1dHRvbi5kZWxldGUnKSwgY29sb3I6ICd3YXJuJywga2luZDogJ2ZsYXQnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm0obWVzc2FnZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/snack-bar";
4
- export class ToastService {
5
- constructor(snackService) {
6
- this.snackService = snackService;
7
- }
8
- open(message, options = { duration: 2500, type: 'info' }) {
9
- this.snackService.open(message, null, {
10
- duration: options.duration || 2500,
11
- panelClass: [options.type || 'message']
12
- });
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ToastService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ToastService, providedIn: 'root' }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ToastService, decorators: [{
18
- type: Injectable,
19
- args: [{
20
- providedIn: 'root'
21
- }]
22
- }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsWUFBeUI7UUFBekIsaUJBQVksR0FBWixZQUFZLENBQWE7SUFBSSxDQUFDO0lBRTNDLElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBbUQsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUM7UUFDN0csSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNwQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ2xDLFVBQVUsRUFBRSxDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBVFUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmV4cG9ydCB0eXBlIFRvYXN0VHlwZSA9ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdmYWlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tTZXJ2aWNlOiBNYXRTbmFja0JhcikgeyB9XHJcblxyXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczogeyBkdXJhdGlvbj86IG51bWJlciwgdHlwZT86IFRvYXN0VHlwZSB9ID0geyBkdXJhdGlvbjogMjUwMCwgdHlwZTogJ2luZm8nfSkge1xyXG4gICAgdGhpcy5zbmFja1NlcnZpY2Uub3BlbihtZXNzYWdlLCBudWxsLCB7XHJcbiAgICAgIGR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uIHx8IDI1MDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsgb3B0aW9ucy50eXBlIHx8ICdtZXNzYWdlJ11cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,72 +0,0 @@
1
- import { EventEmitter, Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export const UI_FILESERVICE = new InjectionToken('IUiFileService');
5
- // export const FileServiceConfigService = new InjectionToken<FileServiceConfig>('FileServiceConfig');
6
- export class UiFileService {
7
- constructor(fileServiceConfig) {
8
- this.fileServiceConfig = fileServiceConfig;
9
- this.uploadInput = new EventEmitter();
10
- this.uploadSubscription = new Subject();
11
- this.filesToRemove = [];
12
- this.controls = new Set();
13
- this.uploadSubscription.subscribe((v) => {
14
- switch (v.action) {
15
- case 'register':
16
- this.controls.add(v.data);
17
- return;
18
- case 'destroy':
19
- this.controls.delete(v.data);
20
- return;
21
- case 'uploadStarted':
22
- let cnt = 0;
23
- this.controls.forEach(c => cnt += c.hasFilesToUpload ? 1 : 0);
24
- if (cnt === 0) {
25
- this.uploadSubscription.next({ action: 'uploadSuccess' });
26
- }
27
- break;
28
- case 'uploadControlFailed':
29
- case 'uploadControlSuccess':
30
- let cnt2 = 0;
31
- this.controls.forEach(c => cnt2 += c.hasFilesToUpload ? 1 : 0);
32
- if (cnt2 === 0) {
33
- this.uploadSubscription.next({ action: v.action === 'uploadControlFailed' ? 'uploadFailed' : 'uploadSuccess' });
34
- }
35
- break;
36
- }
37
- });
38
- }
39
- upload() {
40
- const promises = [];
41
- this.controls.forEach(c => promises.push(c.beforeSave()));
42
- return new Promise((res) => {
43
- this.uploadSubscription.subscribe((v) => {
44
- if (v.action === 'uploadSuccess' || v.action === 'uploadFailed') {
45
- res(v.action);
46
- }
47
- });
48
- this.uploadSubscription.next({ action: 'uploadStarted' });
49
- Promise.all(promises).then((r) => {
50
- console.log(r);
51
- const event = {
52
- type: 'uploadAll',
53
- url: this.fileServiceConfig.uploadUrl(),
54
- method: 'POST',
55
- headers: this.fileServiceConfig.getAuthHeader()
56
- };
57
- this.uploadInput.emit(event);
58
- });
59
- });
60
- }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiFileService, deps: [{ token: UI_FILESERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiFileService }); }
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiFileService, decorators: [{
65
- type: Injectable
66
- }], ctorParameters: () => [{ type: undefined, decorators: [{
67
- type: Optional
68
- }, {
69
- type: Inject,
70
- args: [UI_FILESERVICE]
71
- }] }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zZXJ2aWNlcy91aS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUErQi9CLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUVuRixzR0FBc0c7QUFHdEcsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFBdUQsaUJBQWlDO1FBQWpDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7UUFQeEYsZ0JBQVcsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUV6RSx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRW5DLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBTyxDQUFDO1FBR3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUMzQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsS0FBSyxVQUFVO29CQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFBQyxPQUFPO2dCQUNuRCxLQUFLLFNBQVM7b0JBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUFDLE9BQU87Z0JBRXJELEtBQUssZUFBZTtvQkFDbEIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO29CQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDOUQsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ2QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO29CQUNELE1BQU07Z0JBRVIsS0FBSyxxQkFBcUIsQ0FBQztnQkFDM0IsS0FBSyxzQkFBc0I7b0JBQ3pCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQy9ELElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFDO29CQUNoSCxDQUFDO29CQUNELE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRCxPQUFPLElBQUksT0FBTyxDQUFtQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBRTNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLGVBQWUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLGNBQWMsRUFBRSxDQUFDO29CQUNoRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7WUFFeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFZixNQUFNLEtBQUssR0FBZ0I7b0JBQ3pCLElBQUksRUFBRSxXQUFXO29CQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTtvQkFDdkMsTUFBTSxFQUFFLE1BQU07b0JBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUU7aUJBQ2hELENBQUM7Z0JBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFL0IsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0RVLGFBQWEsa0JBU1EsY0FBYztrSEFUbkMsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVTs7MEJBVUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVcGxvYWRGaWxlLCBVcGxvYWRJbnB1dCB9IGZyb20gJ25neC11cGxvYWRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuLy8gaW1wb3J0IHsgVWlGaWxlVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWxlLXVwbG9hZGVyL3VpLWZpbGUtdXBsb2FkZXIuY29tcG9uZW50JztcclxuXHJcbi8vIGV4cG9ydCBpbnRlcmZhY2UgSUdldEF1dGhIZWFkZXIge1xyXG4vLyAgIGdldEF1dGhIZWFkZXI6ICgpID0+IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbi8vIH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVpRmlsZVNpemUge1xyXG4gIG5hbWU6IHN0cmluZyxcclxuICB3aWR0aDogbnVtYmVyLFxyXG4gIGhlaWdodDogbnVtYmVyLFxyXG4gIGxpbWl0PzogJ2ZpdCcgfCAnbWF4V2lkdGgnIHwgJ21heEhlaWdodCdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSVVpRmlsZVNlcnZpY2VNZXNzYWdlcyA9ICdjcm9wSW52YWxpZEZpbGVUeXBlJyB8ICdleHRlbnNpb25Ob3RBbGxvd2VkJyB8ICdmaWxlQWRkZWQnIHwgJ2ZpbGVSZW1vdmVkJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVpRmlsZVNlcnZpY2Uge1xyXG4gIGdldEF1dGhIZWFkZXI6ICgpID0+IHsgWyBrZXk6IHN0cmluZyBdOiBzdHJpbmcgfSxcclxuICB1cGxvYWRVcmw6IChzaXplPzogSVVpRmlsZVNpemUpID0+IHN0cmluZztcclxuICAvLyAvLyB1cGxvYWQ2NFVybDogc3RyaW5nO1xyXG4gIGdldE1lZGlhU3JjOiAoc2l6ZTogSVVpRmlsZVNpemUsIGRhdGE6IGFueSwgb3B0aW9uczogYW55KSA9PiBzdHJpbmcsXHJcbiAgZ2V0UHJldmlld1VybDogKHNpemU6IElVaUZpbGVTaXplLCBkYXRhOiBhbnkpID0+IHN0cmluZyxcclxuICBhZGRGaWxlSW1nU3JjOiAoc2l6ZTogSVVpRmlsZVNpemUpID0+IHN0cmluZyxcclxuICBnZXRNaW1lVHlwZTogKGRhdGE6IGFueSkgPT4gc3RyaW5nO1xyXG4gIGltYWdlU2l6ZXM6IElVaUZpbGVTaXplW107XHJcbiAgY29uY3VycmVudFVwbG9hZHM6IG51bWJlcixcclxuICB1c2VSZXRpbmFTcmM6IGJvb2xlYW4sXHJcblxyXG4gIGZpbGVWYWxpZGF0aW9uPzogKHNpemU6IElVaUZpbGVTaXplLCBmaWxlOiBVcGxvYWRGaWxlKSA9PiBQcm9taXNlPGJvb2xlYW4+XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBVSV9GSUxFU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJVWlGaWxlU2VydmljZT4oJ0lVaUZpbGVTZXJ2aWNlJyk7XHJcblxyXG4vLyBleHBvcnQgY29uc3QgRmlsZVNlcnZpY2VDb25maWdTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPEZpbGVTZXJ2aWNlQ29uZmlnPignRmlsZVNlcnZpY2VDb25maWcnKTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVpRmlsZVNlcnZpY2Uge1xyXG5cclxuICB1cGxvYWRJbnB1dDogRXZlbnRFbWl0dGVyPFVwbG9hZElucHV0PiA9IG5ldyBFdmVudEVtaXR0ZXI8VXBsb2FkSW5wdXQ+KCk7XHJcblxyXG4gIHVwbG9hZFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGZpbGVzVG9SZW1vdmU6IHN0cmluZ1tdID0gW107XHJcbiAgY29udHJvbHMgPSBuZXcgU2V0PGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChVSV9GSUxFU0VSVklDRSkgcHVibGljIGZpbGVTZXJ2aWNlQ29uZmlnOiBJVWlGaWxlU2VydmljZSkge1xyXG4gICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24uc3Vic2NyaWJlKCh2OiBhbnkpID0+IHtcclxuICAgICAgc3dpdGNoICh2LmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgJ3JlZ2lzdGVyJzogdGhpcy5jb250cm9scy5hZGQodi5kYXRhKTsgcmV0dXJuO1xyXG4gICAgICAgIGNhc2UgJ2Rlc3Ryb3knOiB0aGlzLmNvbnRyb2xzLmRlbGV0ZSh2LmRhdGEpOyByZXR1cm47XHJcblxyXG4gICAgICAgIGNhc2UgJ3VwbG9hZFN0YXJ0ZWQnOlxyXG4gICAgICAgICAgbGV0IGNudCA9IDA7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goYyA9PiBjbnQgKz0gYy5oYXNGaWxlc1RvVXBsb2FkID8gMSA6IDApO1xyXG4gICAgICAgICAgaWYgKGNudCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbi5uZXh0KHthY3Rpb246ICd1cGxvYWRTdWNjZXNzJ30pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgIGNhc2UgJ3VwbG9hZENvbnRyb2xGYWlsZWQnOlxyXG4gICAgICAgIGNhc2UgJ3VwbG9hZENvbnRyb2xTdWNjZXNzJzpcclxuICAgICAgICAgIGxldCBjbnQyID0gMDtcclxuICAgICAgICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjID0+IGNudDIgKz0gYy5oYXNGaWxlc1RvVXBsb2FkID8gMSA6IDApO1xyXG4gICAgICAgICAgaWYgKGNudDIgPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24ubmV4dCh7YWN0aW9uOiB2LmFjdGlvbiA9PT0gJ3VwbG9hZENvbnRyb2xGYWlsZWQnID8gJ3VwbG9hZEZhaWxlZCcgOiAndXBsb2FkU3VjY2Vzcyd9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGxvYWQoKTogUHJvbWlzZTwndXBsb2FkU3VjY2VzcycgfCAndXBsb2FkRmFpbGVkJz4ge1xyXG4gICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcclxuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjID0+IHByb21pc2VzLnB1c2goYy5iZWZvcmVTYXZlKCkpKTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8J3VwbG9hZFN1Y2Nlc3MnIHwgJ3VwbG9hZEZhaWxlZCc+KChyZXMpID0+IHtcclxuXHJcbiAgICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uLnN1YnNjcmliZSgodjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHYuYWN0aW9uID09PSAndXBsb2FkU3VjY2VzcycgfHwgdi5hY3Rpb24gPT09ICd1cGxvYWRGYWlsZWQnKSB7XHJcbiAgICAgICAgICByZXModi5hY3Rpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbi5uZXh0KHthY3Rpb246ICd1cGxvYWRTdGFydGVkJ30pO1xyXG5cclxuICAgICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKHIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhyKTtcclxuXHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IFVwbG9hZElucHV0ID0ge1xyXG4gICAgICAgICAgdHlwZTogJ3VwbG9hZEFsbCcsXHJcbiAgICAgICAgICB1cmw6IHRoaXMuZmlsZVNlcnZpY2VDb25maWcudXBsb2FkVXJsKCksXHJcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICAgIGhlYWRlcnM6IHRoaXMuZmlsZVNlcnZpY2VDb25maWcuZ2V0QXV0aEhlYWRlcigpXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGxvYWRJbnB1dC5lbWl0KGV2ZW50KTtcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,32 +0,0 @@
1
- import { Injectable, InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const UI_TRANSLATESERVICE = new InjectionToken('IUiTranslateServiceToken');
4
- export class UiTranslateService {
5
- instant(code, data) {
6
- switch (code) {
7
- case 'ui.controls.ui-file-uploader.menu.change': return 'Změnit';
8
- case 'ui.controls.ui-file-uploader.menu.delete': return 'Smazat';
9
- case 'ui.controls.ui-file-uploader.uploadError': return 'Chyba při ukládání souboru';
10
- case 'ui.controls.validation.required': return 'Povinná položka';
11
- case 'ui.controls.validation.email': return 'Neplatný email';
12
- case 'ui.controls.validation.matDatepickerParse': return 'Neplatné datum';
13
- case 'ui.controls.validation.maxlength': return 'Zadej maximálně ' + data.requiredLength + ' znaků';
14
- case 'ui.controls.validation.minlength': return 'Zadej minimálně ' + data.requiredLength + ' znaků';
15
- case 'ui.controls.validation.invalidNumber': return 'Neplatné číslo';
16
- case 'ui.controls.validation.positive': return 'Musí být větší než 0';
17
- case 'ui.controls.validation.cbGroupRequired': return 'Zaškrtni alespoň jednu položku';
18
- case 'ui.controls.ui-select.clear-selection': return 'Zrušit výběr';
19
- case 'ui.controls.ui-select.all': return 'Vše';
20
- case 'ui.controls.ui-select.apply-selection': return 'Použít výběr';
21
- case 'ui.messagebox.button.cancel': return 'Zrušit';
22
- case 'ui.messagebox.button.delete': return 'Smazat';
23
- default: return code;
24
- }
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiTranslateService }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: UiTranslateService, decorators: [{
30
- type: Injectable
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlcnZpY2VzL3VpLXRyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IsMEJBQTBCLENBQUMsQ0FBQztBQUd2RyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE9BQU8sQ0FBQyxJQUFZLEVBQUUsSUFBUztRQUM3QixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ2pFLEtBQUssMENBQTBDLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztZQUNqRSxLQUFLLDBDQUEwQyxDQUFDLENBQUMsT0FBTyw0QkFBNEIsQ0FBQztZQUNyRixLQUFLLGlDQUFpQyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztZQUNqRSxLQUFLLDhCQUE4QixDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUM3RCxLQUFLLDJDQUEyQyxDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxRSxLQUFLLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztZQUNwRyxLQUFLLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztZQUNwRyxLQUFLLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUNyRSxLQUFLLGlDQUFpQyxDQUFDLENBQUMsT0FBTyxzQkFBc0IsQ0FBQztZQUN0RSxLQUFLLHdDQUF3QyxDQUFDLENBQUMsT0FBTyxnQ0FBZ0MsQ0FBQztZQUN2RixLQUFLLHVDQUF1QyxDQUFDLENBQUMsT0FBTyxjQUFjLENBQUM7WUFDcEUsS0FBSywyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQy9DLEtBQUssdUNBQXVDLENBQUMsQ0FBQyxPQUFPLGNBQWMsQ0FBQztZQUNwRSxLQUFLLDZCQUE2QixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUM7WUFDcEQsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXJCVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVaVRyYW5zbGF0ZVNlcnZpY2Uge1xyXG4gIGluc3RhbnQ6IChjb2RlOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFVJX1RSQU5TTEFURVNFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVVpVHJhbnNsYXRlU2VydmljZT4oJ0lVaVRyYW5zbGF0ZVNlcnZpY2VUb2tlbicpO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVWlUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgSVVpVHJhbnNsYXRlU2VydmljZSB7XHJcbiAgaW5zdGFudChjb2RlOiBzdHJpbmcsIGRhdGE6IGFueSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGNvZGUpIHtcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktZmlsZS11cGxvYWRlci5tZW51LmNoYW5nZSc6IHJldHVybiAnWm3Em25pdCc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLWZpbGUtdXBsb2FkZXIubWVudS5kZWxldGUnOiByZXR1cm4gJ1NtYXphdCc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLWZpbGUtdXBsb2FkZXIudXBsb2FkRXJyb3InOiByZXR1cm4gJ0NoeWJhIHDFmWkgdWtsw6Fkw6Fuw60gc291Ym9ydSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ucmVxdWlyZWQnOiByZXR1cm4gJ1BvdmlubsOhIHBvbG/FvmthJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5lbWFpbCc6IHJldHVybiAnTmVwbGF0bsO9IGVtYWlsJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5tYXREYXRlcGlja2VyUGFyc2UnOiByZXR1cm4gJ05lcGxhdG7DqSBkYXR1bSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ubWF4bGVuZ3RoJzogcmV0dXJuICdaYWRlaiBtYXhpbcOhbG7EmyAnICsgZGF0YS5yZXF1aXJlZExlbmd0aCArICcgem5ha8WvJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5taW5sZW5ndGgnOiByZXR1cm4gJ1phZGVqIG1pbmltw6FsbsSbICcgKyBkYXRhLnJlcXVpcmVkTGVuZ3RoICsgJyB6bmFrxa8nO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLmludmFsaWROdW1iZXInOiByZXR1cm4gJ05lcGxhdG7DqSDEjcOtc2xvJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5wb3NpdGl2ZSc6IHJldHVybiAnTXVzw60gYsO9dCB2xJt0xaHDrSBuZcW+IDAnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLmNiR3JvdXBSZXF1aXJlZCc6IHJldHVybiAnWmHFoWtydG5pIGFsZXNwb8WIIGplZG51IHBvbG/Fvmt1JztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktc2VsZWN0LmNsZWFyLXNlbGVjdGlvbic6IHJldHVybiAnWnJ1xaFpdCB2w71ixJtyJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktc2VsZWN0LmFsbCc6IHJldHVybiAnVsWhZSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLXNlbGVjdC5hcHBseS1zZWxlY3Rpb24nOiByZXR1cm4gJ1BvdcW+w610IHbDvWLEm3InO1xyXG4gICAgICBjYXNlICd1aS5tZXNzYWdlYm94LmJ1dHRvbi5jYW5jZWwnOiByZXR1cm4gJ1pydcWhaXQnO1xyXG4gICAgICBjYXNlICd1aS5tZXNzYWdlYm94LmJ1dHRvbi5kZWxldGUnOiByZXR1cm4gJ1NtYXphdCc7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiBjb2RlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,72 +0,0 @@
1
- import { Component, Host, HostBinding, Input, Optional, SkipSelf } from '@angular/core';
2
- import { UntypedFormGroup } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/material/dialog";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "../button/button.component";
8
- export class SubmitButtonComponent {
9
- constructor(dialogRef, controlContainer) {
10
- this.dialogRef = dialogRef;
11
- this.controlContainer = controlContainer;
12
- this.busy = false;
13
- this.disabled = false;
14
- this.formGroups = [];
15
- this.label = 'Save';
16
- this.prependCloseButton = true;
17
- }
18
- ngOnInit() {
19
- if (this.formInvalid === undefined) {
20
- if (this.formGroups === undefined && this.controlContainer && this.controlContainer.control instanceof UntypedFormGroup) {
21
- this.formGroups = this.controlContainer.control;
22
- }
23
- if (!Array.isArray(this.formGroups)) {
24
- this.formGroups = [this.formGroups];
25
- }
26
- }
27
- }
28
- get formsValid() {
29
- if (this.formInvalid !== undefined) {
30
- return !this.formInvalid;
31
- }
32
- else {
33
- return !this.formGroups.find(f => f.invalid);
34
- }
35
- }
36
- doSubmit() {
37
- this.formGroups.forEach(f => f.markAllAsTouched());
38
- if (this.formsValid && this.submit) {
39
- this.submit();
40
- }
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SubmitButtonComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: SubmitButtonComponent, selector: "ui-submit-button", inputs: { busy: "busy", disabled: "disabled", formGroups: "formGroups", label: "label", submit: "submit", formInvalid: "formInvalid", prependCloseButton: "prependCloseButton" }, host: { properties: { "class.with-close": "this.prependCloseButton" } }, ngImport: i0, template: "<ui-button *ngIf=\"prependCloseButton\" [label]=\"'Close'\" (click)=\"dialogRef.close()\"></ui-button>\r\n\r\n<ui-button [busy]=\"busy\"\r\n [disabled]=\"disabled || busy\" [type]=\"'submit'\"\r\n [formInvalid]=\"!formsValid\"\r\n [label]=\"label\" (click)=\"doSubmit()\"></ui-button>\r\n", styles: [":host.with-close{display:flex;justify-content:flex-end;width:100%;margin-left:0!important}:host.with-close ui-button{margin-left:12px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["type", "matIconPrefix", "label", "disabled", "busy", "kind", "color", "size", "formInvalid"] }] }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: SubmitButtonComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'ui-submit-button', template: "<ui-button *ngIf=\"prependCloseButton\" [label]=\"'Close'\" (click)=\"dialogRef.close()\"></ui-button>\r\n\r\n<ui-button [busy]=\"busy\"\r\n [disabled]=\"disabled || busy\" [type]=\"'submit'\"\r\n [formInvalid]=\"!formsValid\"\r\n [label]=\"label\" (click)=\"doSubmit()\"></ui-button>\r\n", styles: [":host.with-close{display:flex;justify-content:flex-end;width:100%;margin-left:0!important}:host.with-close ui-button{margin-left:12px}\n"] }]
48
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.ControlContainer, decorators: [{
49
- type: Optional
50
- }, {
51
- type: Host
52
- }, {
53
- type: SkipSelf
54
- }] }], propDecorators: { busy: [{
55
- type: Input
56
- }], disabled: [{
57
- type: Input
58
- }], formGroups: [{
59
- type: Input
60
- }], label: [{
61
- type: Input
62
- }], submit: [{
63
- type: Input
64
- }], formInvalid: [{
65
- type: Input
66
- }], prependCloseButton: [{
67
- type: HostBinding,
68
- args: ['class.with-close']
69
- }, {
70
- type: Input
71
- }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N1Ym1pdC1idXR0b24vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3N1Ym1pdC1idXR0b24vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFtQixnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFRbEUsTUFBTSxPQUFPLHFCQUFxQjtJQVloQyxZQUFtQixTQUE0QixFQUV6QixnQkFBa0M7UUFGckMsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFFekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVovQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQTBDLEVBQUUsQ0FBQztRQUN2RCxVQUFLLEdBQUcsTUFBTSxDQUFDO1FBS2YsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0lBSXlCLENBQUM7SUFFN0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxZQUFZLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUNsRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFFLElBQUksQ0FBQyxVQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTCxJQUFJLENBQUMsVUFBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDOzhHQXhDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixtVENUbEMsbVVBTUE7OzJGREdhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0I7OzBCQWlCZixRQUFROzswQkFBSSxJQUFJOzswQkFBSSxRQUFRO3lDQVhoQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxrQkFBa0I7c0JBRDFCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBVbnR5cGVkRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXN1Ym1pdC1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdWJtaXQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vc3VibWl0LWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VibWl0QnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgYnVzeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwczogVW50eXBlZEZvcm1Hcm91cCB8IFVudHlwZWRGb3JtR3JvdXBbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJ1NhdmUnO1xyXG4gIEBJbnB1dCgpIHN1Ym1pdDogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGZvcm1JbnZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndpdGgtY2xvc2UnKVxyXG4gIEBJbnB1dCgpIHByZXBlbmRDbG9zZUJ1dHRvbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxyXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKClcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybUludmFsaWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAodGhpcy5mb3JtR3JvdXBzID09PSB1bmRlZmluZWQgJiYgdGhpcy5jb250cm9sQ29udGFpbmVyICYmIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwcyA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmZvcm1Hcm91cHMpKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXBzID0gW3RoaXMuZm9ybUdyb3Vwc107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBmb3Jtc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZm9ybUludmFsaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuZm9ybUludmFsaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gISh0aGlzLmZvcm1Hcm91cHMgYXMgVW50eXBlZEZvcm1Hcm91cFtdKS5maW5kKGYgPT4gZi5pbnZhbGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRvU3VibWl0KCk6IHZvaWQge1xyXG4gICAgKHRoaXMuZm9ybUdyb3VwcyBhcyBVbnR5cGVkRm9ybUdyb3VwW10pLmZvckVhY2goZiA9PiBmLm1hcmtBbGxBc1RvdWNoZWQoKSk7XHJcbiAgICBpZiAodGhpcy5mb3Jtc1ZhbGlkICYmIHRoaXMuc3VibWl0KSB7XHJcbiAgICAgIHRoaXMuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjx1aS1idXR0b24gKm5nSWY9XCJwcmVwZW5kQ2xvc2VCdXR0b25cIiBbbGFiZWxdPVwiJ0Nsb3NlJ1wiIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoKVwiPjwvdWktYnV0dG9uPlxyXG5cclxuPHVpLWJ1dHRvbiBbYnVzeV09XCJidXN5XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGJ1c3lcIiBbdHlwZV09XCInc3VibWl0J1wiXHJcbiAgICAgICAgICAgIFtmb3JtSW52YWxpZF09XCIhZm9ybXNWYWxpZFwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbFwiIChjbGljayk9XCJkb1N1Ym1pdCgpXCI+PC91aS1idXR0b24+XHJcbiJdfQ==
@@ -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
- get columnList() {
10
- return this.columns.map(c => c.name);
11
- }
12
- constructor(/*private persistService: PersistService, */ domSanitizer) {
13
- this.domSanitizer = domSanitizer;
14
- this.columns = [];
15
- this.rowTemplates = {};
16
- this.headerTemplates = {};
17
- this.stateStoreKey = '';
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
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TableComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", 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\">\r\n\r\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\r\n\r\n <ng-container *ngIf=\"c.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!c.sortable\">\r\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\r\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\r\n <ng-container *ngIf=\"rowTemplates[c.name]\">\r\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\r\n <span [innerHTML]=\"display(element, c)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\r\n</table>\r\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: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i4.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }] }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", 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\">\r\n\r\n <ng-container *ngFor=\"let c of columns\" [matColumnDef]=\"c.name\">\r\n\r\n <ng-container *ngIf=\"c.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!c.sortable\">\r\n <ng-container *ngIf=\"!headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>{{c.label}}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"headerTemplates[c.name]\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-template [ngTemplateOutlet]=\"headerTemplates[c.name]\"></ng-template>\r\n </th>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <td mat-cell *matCellDef=\"let element\" [colSpan]=\"c.colSpan ? c.colSpan(element) : 1\" [class]=\"c.cellClass ? c.cellClass(element) : ''\">\r\n <ng-container *ngIf=\"!c.colSpan || c.colSpan(element) > 0\">\r\n <ng-container *ngIf=\"rowTemplates[c.name]\">\r\n <ng-template [ngTemplateOutlet]=\"rowTemplates[c.name]\" [ngTemplateOutletContext]=\"{row:element}\" ></ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!rowTemplates[c.name]\">\r\n <span [innerHTML]=\"display(element, c)\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"columnList; sticky: options?.sticky\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: columnList;\" (click)=\"rowClicked(row)\"></tr>\r\n</table>\r\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: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLE9BQU8sRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBcUI5RCxNQUFNLE9BQU8sY0FBYztJQWV6QixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLDRDQUE0QyxDQUFRLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBakJqRixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUc1QixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztJQVlrRSxDQUFDO0lBRS9GLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixtQ0FBbUM7WUFDbkMsbURBQW1EO1lBQ25ELGdGQUFnRjtZQUNoRixxQ0FBcUM7WUFDckMsMkNBQTJDO1lBQzNDLDhDQUE4QztZQUM5QyxrR0FBa0c7WUFDbEcsUUFBUTtZQUNSLElBQUk7WUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQVcsRUFBRSxJQUFhLEVBQUUsRUFBRTtvQkFDeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2xFLElBQUksVUFBVSxFQUFFLENBQUM7NEJBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFPLEVBQUUsRUFBRTtnQ0FDcEMsSUFBSSxVQUFVLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO29DQUNqQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQ0FDaEUsQ0FBQztnQ0FDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztvQ0FDOUMsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dDQUN4RyxDQUFDO2dDQUNELE9BQU8sQ0FBQyxDQUFDOzRCQUNYLENBQUMsQ0FBQyxDQUFDO3dCQUNMLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVEsRUFBRSxHQUFnQjtRQUNoQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQUc7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXhFVSxjQUFjO2tHQUFkLGNBQWMsdVdBYWQsT0FBTyxnRENuQ3BCLCtwREFvQ0E7OzJGRGRhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpRkFNWCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFYyxPQUFPO3NCQUExQixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdFNvcnQsIFNvcnREaXJlY3Rpb259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG4vLyBpbXBvcnQge1BlcnNpc3RTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJzaXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc29ydGFibGU/OiBib29sZWFuIHwgKChyb3c6IGFueSwgZGlyZWN0aW9uPzogU29ydERpcmVjdGlvbikgPT4gbnVtYmVyIHwgc3RyaW5nKTtcclxuICBsYWJlbD86IHN0cmluZztcclxuICBjb2xTcGFuPzogKHJvdzogYW55KSA9PiBudW1iZXI7XHJcbiAgZm9ybWF0dGVyPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbiAgY2VsbENsYXNzPzogKHJvdzogYW55KSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zIHtcclxuICBzdGlja3k/OiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZTogYW55O1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSByb3dUZW1wbGF0ZXM6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlczogYW55ID0ge307XHJcbiAgQElucHV0KCkgc3RhdGVTdG9yZUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIHJvd0FjdGlvbjogKHJvdzogYW55KSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoKSBtYXRTb3J0QWN0aXZlO1xyXG4gIEBJbnB1dCgpIG1hdFNvcnREaXJlY3Rpb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgZ2V0IGNvbHVtbkxpc3QoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5tYXAoYyA9PiBjLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoLypwcml2YXRlIHBlcnNpc3RTZXJ2aWNlOiBQZXJzaXN0U2VydmljZSwgKi9wcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7Li4ue3N0aWNreTogZmFsc2V9LCAuLi50aGlzLm9wdGlvbnN9O1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAvLyBpZiAodGhpcy5zdGF0ZVN0b3JlS2V5ICE9PSAnJykge1xyXG4gICAgICAvLyAgIGNvbnN0IHN0b3JlS2V5ID0gdGhpcy5zdGF0ZVN0b3JlS2V5ICsgJy5zb3J0JztcclxuICAgICAgLy8gICBjb25zdCBtcyA9IHRoaXMucGVyc2lzdFNlcnZpY2UuZ2V0KHN0b3JlS2V5LCB7IGFjdGl2ZTogJycsIGRpcmVjdGlvbjogJyd9KTtcclxuICAgICAgLy8gICB0aGlzLm1hdFNvcnQuYWN0aXZlID0gbXMuYWN0aXZlO1xyXG4gICAgICAvLyAgIHRoaXMubWF0U29ydC5kaXJlY3Rpb24gPSBtcy5kaXJlY3Rpb247XHJcbiAgICAgIC8vICAgdGhpcy5tYXRTb3J0LnNvcnRDaGFuZ2Uuc3Vic2NyaWJlKHNjID0+IHtcclxuICAgICAgLy8gICAgIHRoaXMucGVyc2lzdFNlcnZpY2Uuc2V0KHN0b3JlS2V5LCBzYy5kaXJlY3Rpb24gPT09ICcnID8geyBhY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfSA6IHNjKTtcclxuICAgICAgLy8gICB9KTtcclxuICAgICAgLy8gfVxyXG4gICAgICBpZiAodGhpcy5jb2x1bW5zLmZpbmQoYyA9PiBjLnNvcnRhYmxlICE9PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnREYXRhID0gKHJvd3M6IGFueVtdLCBzb3J0OiBNYXRTb3J0KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc29ydC5kaXJlY3Rpb24pIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ydENvbHVtbiA9IHRoaXMuY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBzb3J0LmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVzID0gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnID8gMSA6IC0xO1xyXG4gICAgICAgICAgICAgIHJldHVybiByb3dzLnNvcnQoKHIxOiBhbnksIHIyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChzb3J0Q29sdW1uLnNvcnRhYmxlID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiByMVtzb3J0Q29sdW1uLm5hbWVdIDwgcjJbc29ydENvbHVtbi5uYW1lXSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRDb2x1bW4uc29ydGFibGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRDb2x1bW4uc29ydGFibGUocjEsIHNvcnQuZGlyZWN0aW9uKSA8IHNvcnRDb2x1bW4uc29ydGFibGUocjIsIHNvcnQuZGlyZWN0aW9uKSA/IC1yZXMgOiByZXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHJvd3M7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLm1hdFNvcnQ7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5KHJvdzogYW55LCBjb2w6IFRhYmxlQ29sdW1uKTogYW55IHtcclxuICAgIGlmIChjb2wuZm9ybWF0dGVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjb2wuZm9ybWF0dGVyKHJvdykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHJvd1tjb2wubmFtZV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dDbGlja2VkKHJvdykge1xyXG4gICAgaWYgKHRoaXMucm93QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMucm93QWN0aW9uKCByb3cpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIHN0eWxlPVwid2lkdGg6IDEwMCVcIiBbbWF0U29ydEFjdGl2ZV09XCJtYXRTb3J0QWN0aXZlXCIgW21hdFNvcnREaXJlY3Rpb25dPVwibWF0U29ydERpcmVjdGlvblwiPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjLnNvcnRhYmxlXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbH19PC90aD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5zb3J0YWJsZVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2MubGFiZWx9fTwvdGg+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclRlbXBsYXRlc1tjLm5hbWVdXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZXNbYy5uYW1lXVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFtjb2xTcGFuXT1cImMuY29sU3BhbiA/IGMuY29sU3BhbihlbGVtZW50KSA6IDFcIiBbY2xhc3NdPVwiYy5jZWxsQ2xhc3MgPyBjLmNlbGxDbGFzcyhlbGVtZW50KSA6ICcnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYy5jb2xTcGFuIHx8IGMuY29sU3BhbihlbGVtZW50KSA+IDBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dUZW1wbGF0ZXNbYy5uYW1lXVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7cm93OmVsZW1lbnR9XCIgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcm93VGVtcGxhdGVzW2MubmFtZV1cIj5cclxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGlzcGxheShlbGVtZW50LCBjKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbkxpc3Q7IHN0aWNreTogb3B0aW9ucz8uc3RpY2t5XCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uTGlzdDtcIiAoY2xpY2spPVwicm93Q2xpY2tlZChyb3cpXCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
@@ -1,46 +0,0 @@
1
- import { Component, EventEmitter, Input, Optional, Output, Self, ViewChild } from '@angular/core';
2
- import { UiSimpleComponent } from '../layouts/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 "../layouts/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
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", 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{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}: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"] }] }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", 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{display:flex;flex-direction:column;width:100%}:host .control-container{width:100%;position:relative}:host .control-container.has-prefix ::ng-deep input,:host .control-container.has-prefix ::ng-deep textarea,:host .control-container.has-prefix ::ng-deep .mat-mdc-select-trigger{padding-left:1.8em}:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep input,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep textarea,:host .control-container.has-suffix:not(.has-clear-icon) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep input,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep textarea,:host .control-container.has-clear-icon:not(.has-suffix) ::ng-deep .mat-mdc-select-trigger{padding-right:1.8em}:host .control-container.has-suffix.has-clear-icon ::ng-deep input,:host .control-container.has-suffix.has-clear-icon ::ng-deep textarea,:host .control-container.has-suffix.has-clear-icon ::ng-deep .mat-mdc-select-trigger{padding-right:3.6em}:host .control-container.has-suffix.has-clear-icon ::ng-deep .clear-icon{right:1.4em!important}:host ::ng-deep [slot=suffix],:host ::ng-deep .clear-icon,:host ::ng-deep .suffix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);right:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=suffix]:not(.disabled),:host ::ng-deep .clear-icon:not(.disabled),:host ::ng-deep .suffix-icon:not(.disabled){cursor:pointer}:host ::ng-deep [slot=prefix],:host ::ng-deep .prefix-icon{position:absolute;-webkit-user-select:none;user-select:none;transition:color .25s;top:calc(50% - .5em);left:.2em;width:1em;height:1em;font-size:1.5em}:host ::ng-deep [slot=prefix]:not(.disabled),:host ::ng-deep .prefix-icon:not(.disabled){cursor:pointer}:host ::ng-deep input,:host ::ng-deep textarea,:host ::ng-deep .mat-mdc-select-trigger,:host ::ng-deep .editor-wrapper{resize:none;width:100%;line-height:1.2em;font-size:1em;outline:none;border-style:solid;transition:border-color 333ms}: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: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7OztBQWUxRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBZXRELFlBQXVDLFNBQW9CLENBQUEsNkRBQTZEO1FBQ3RILEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBYmxELFNBQUksR0FBRyxDQUFDLENBQUM7UUFFVCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRTVCLHFCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBTVosaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBS3JELENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO0lBQ3BDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnUkM3QjlCLG10QkFjQTs7MkZEZWEsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWM7OzBCQXdCWCxRQUFROzswQkFBSSxJQUFJO3lDQWJwQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFNaUIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVWlTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuLi9sYXlvdXRzL3NpbXBsZS91aS1zaW1wbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktdGV4dC1hcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4uL2xheW91dHMvc2ltcGxlL3VpLXNpbXBsZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAvLyBwcm92aWRlcnM6IFt7XHJcbiAgLy8gICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAvLyAgIG11bHRpOiB0cnVlLFxyXG4gIC8vICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEFyZWFDb21wb25lbnQpLFxyXG4gIC8vIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0QXJlYUNvbXBvbmVudCBleHRlbmRzIFVpU2ltcGxlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgcm93cyA9IDU7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9SZXNpemUgPSBmYWxzZTtcclxuXHJcbiAgbGFzdENsaWVudEhlaWdodCA9IC0xO1xyXG4gIC8vIGhlaWdodCA9IC0xO1xyXG5cclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dGFyZWEnKSB0ZXh0YXJlYTogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIGZvY3VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLyosIHByaXZhdGUgX25nWm9uZTogTmdab25lLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYqLykge1xyXG4gICAgc3VwZXIobmdDb250cm9sKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoZm9jdXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNDaGFuZ2VkLmVtaXQoZm9jdXMpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIG9uS2V5ZG93bigpIHtcclxuICAvLyAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gIC8vICAgICBjb25zb2xlLmxvZygnb25rZXlkb3duJyk7XHJcbiAgLy8gICAgIC8vIGlmICh0aGlzLmxhc3RDbGllbnRIZWlnaHQgIT09IHRoaXMudGV4dGFyZWEubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgKyAyMCkge1xyXG4gIC8vICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50ZXh0YXJlYS5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCArIDIwO1xyXG4gIC8vICAgICAgIC8vIHRoaXMudGV4dGFyZWEubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2NvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZDogcmVkOyBoZWlnaHQ6ICcgKyB0aGlzLmhlaWdodCArICdweDsnKTtcclxuICAvLyAgICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgLy8gICAgICAgdGhpcy5sYXN0Q2xpZW50SGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgLy8gICAgICAgY29uc29sZS5sb2codGhpcy5oZWlnaHQpO1xyXG4gIC8vICAgICAvLyB9XHJcbiAgLy8gICAvLyB9KTtcclxuICAvLyB9XHJcblxyXG4gIC8vIEBWaWV3Q2hpbGQoJ2F1dG9zaXplJykgYXV0b3NpemU6IENka1RleHRhcmVhQXV0b3NpemU7XHJcbiAgLy9cclxuICAvLyB0cmlnZ2VyUmVzaXplKCkge1xyXG4gIC8vICAgLy8gV2FpdCBmb3IgY2hhbmdlcyB0byBiZSBhcHBsaWVkLCB0aGVuIHRyaWdnZXIgdGV4dGFyZWEgcmVzaXplLlxyXG4gIC8vICAgdGhpcy5fbmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAvLyAgICAgY29uc29sZS5sb2coJ3h4eCcpO1xyXG4gIC8vICAgICB0aGlzLmF1dG9zaXplLnJlc2l6ZVRvRml0Q29udGVudCh0cnVlKVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG59XHJcbiIsIjx1aS1zaW1wbGUtbGF5b3V0IFtjdHhdPVwidGhpc1wiPlxyXG5cclxuPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcG9uZW50Rm9ybUNvbnRyb2xcIj5cclxuICA8dGV4dGFyZWEgKm5nSWY9XCJhdXRvUmVzaXplIFwiI3RleHRhcmVhIG1hdElucHV0XHJcbiAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemUgY2RrQXV0b3NpemVNaW5Sb3dzPVwicm93c1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXV0b3Jlc2l6ZVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJjb21wb25lbnRGb3JtQ29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtyb3dzXT1cInJvd3NcIiAoZm9jdXMpPVwib25Gb2N1cyh0cnVlKVwiIChibHVyKT1cIm9uRm9jdXMoZmFsc2UpXCI+PC90ZXh0YXJlYT5cclxuICA8dGV4dGFyZWEgKm5nSWY9XCIhYXV0b1Jlc2l6ZSBcIiN0ZXh0YXJlYSBtYXRJbnB1dFxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29tcG9uZW50Rm9ybUNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbcm93c109XCJyb3dzXCIgKGZvY3VzKT1cIm9uRm9jdXModHJ1ZSlcIiAoYmx1cik9XCJvbkZvY3VzKGZhbHNlKVwiPjwvdGV4dGFyZWE+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPC91aS1zaW1wbGUtbGF5b3V0PlxyXG4iXX0=