@rlucan/ui 16.2.2 → 17.1.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 (77) hide show
  1. package/esm2022/lib/action-button/action-button.component.mjs +99 -99
  2. package/esm2022/lib/action-icon/action-icon.component.mjs +37 -37
  3. package/esm2022/lib/autocomplete/autocomplete.component.mjs +391 -391
  4. package/esm2022/lib/avatar/avatar.component.mjs +34 -34
  5. package/esm2022/lib/button/button.component.mjs +57 -57
  6. package/esm2022/lib/checkbox/checkbox.component.mjs +39 -39
  7. package/esm2022/lib/checkbox-group/checkbox-group.component.mjs +91 -91
  8. package/esm2022/lib/currency/currency.component.mjs +151 -151
  9. package/esm2022/lib/date/date.component.mjs +68 -68
  10. package/esm2022/lib/dialog/dialog.component.mjs +37 -37
  11. package/esm2022/lib/directives/force-visibility/force-visibility.directive.mjs +104 -104
  12. package/esm2022/lib/editor/editor.component.mjs +119 -119
  13. package/esm2022/lib/elements/burger/burger.component.mjs +21 -21
  14. package/esm2022/lib/elements/expander/expander.component.mjs +28 -28
  15. package/esm2022/lib/elements/validation-message/validation-message.component.mjs +47 -47
  16. package/esm2022/lib/file/file.component.mjs +166 -145
  17. package/esm2022/lib/file-uploader/ui-file-uploader.component.mjs +423 -405
  18. package/esm2022/lib/input/input.component.mjs +265 -265
  19. package/esm2022/lib/input-autocomplete/input-autocomplete.component.mjs +277 -277
  20. package/esm2022/lib/layouts/base/ui-base-layout.component.mjs +22 -22
  21. package/esm2022/lib/layouts/base/ui-base.component.mjs +74 -74
  22. package/esm2022/lib/layouts/simple/ui-simple-layout.component.mjs +18 -18
  23. package/esm2022/lib/layouts/simple/ui-simple.component.mjs +166 -166
  24. package/esm2022/lib/radio/radio.component.mjs +21 -21
  25. package/esm2022/lib/radio-group/radio-group.component.mjs +53 -53
  26. package/esm2022/lib/select/select.component.mjs +126 -126
  27. package/esm2022/lib/services/message-box.service.mjs +112 -112
  28. package/esm2022/lib/services/toast.service.mjs +23 -23
  29. package/esm2022/lib/services/ui-file.service.mjs +72 -71
  30. package/esm2022/lib/services/ui-translate.service.mjs +32 -32
  31. package/esm2022/lib/submit-button/submit-button.component.mjs +72 -72
  32. package/esm2022/lib/table/table.component.mjs +97 -97
  33. package/esm2022/lib/text-area/text-area.component.mjs +46 -46
  34. package/esm2022/lib/ui.model.mjs +1 -1
  35. package/esm2022/lib/ui.module.mjs +269 -269
  36. package/esm2022/public-api.mjs +34 -34
  37. package/esm2022/rlucan-ui.mjs +4 -4
  38. package/fesm2022/rlucan-ui.mjs +3329 -3289
  39. package/fesm2022/rlucan-ui.mjs.map +1 -1
  40. package/index.d.ts +5 -5
  41. package/lib/action-button/action-button.component.d.ts +28 -28
  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 -31
  49. package/lib/date/date.component.d.ts +24 -24
  50. package/lib/dialog/dialog.component.d.ts +13 -13
  51. package/lib/directives/force-visibility/force-visibility.directive.d.ts +22 -22
  52. package/lib/editor/editor.component.d.ts +24 -24
  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 +36 -35
  57. package/lib/file-uploader/ui-file-uploader.component.d.ts +106 -102
  58. package/lib/input/input.component.d.ts +42 -42
  59. package/lib/input-autocomplete/input-autocomplete.component.d.ts +44 -44
  60. package/lib/layouts/base/ui-base-layout.component.d.ts +8 -8
  61. package/lib/layouts/base/ui-base.component.d.ts +23 -23
  62. package/lib/layouts/simple/ui-simple-layout.component.d.ts +8 -8
  63. package/lib/layouts/simple/ui-simple.component.d.ts +40 -40
  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 +37 -37
  67. package/lib/services/message-box.service.d.ts +58 -58
  68. package/lib/services/toast.service.d.ts +13 -13
  69. package/lib/services/ui-file.service.d.ts +37 -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 -59
  76. package/package.json +14 -14
  77. package/public-api.d.ts +29 -29
@@ -1,56 +1,56 @@
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: "16.2.11", 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: "16.2.11", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
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: "17.1.2", 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: "17.1.2", type: MessageBoxModalComponent, selector: "ui-message-box-modal", ngImport: i0, template: `
54
54
  <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
55
55
  <div mat-dialog-content *ngIf="message" style="padding: 7px 16px 12px 16px;">
56
56
  <div [innerHTML]="message" style="line-height: 24px;"></div>
@@ -69,12 +69,12 @@ export class MessageBoxModalComponent {
69
69
  </div>
70
70
  </div>
71
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.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"] }] }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxModalComponent, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'ui-message-box-modal',
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: "17.1.2", ngImport: i0, type: MessageBoxModalComponent, decorators: [{
75
+ type: Component,
76
+ args: [{
77
+ selector: 'ui-message-box-modal',
78
78
  template: `
79
79
  <ui-dialog [title]="title" [hideCloseButton]="hideCloseButton">
80
80
  <div mat-dialog-content *ngIf="message" style="padding: 7px 16px 12px 16px;">
@@ -94,56 +94,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
94
94
  </div>
95
95
  </div>
96
96
  </ui-dialog>
97
- `
98
- }]
99
- }], ctorParameters: function () { return [{ 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: "16.2.11", 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: "16.2.11", ngImport: i0, type: MessageBoxService, providedIn: 'root' }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: MessageBoxService, decorators: [{
141
- type: Injectable,
142
- args: [{
143
- providedIn: 'root'
144
- }]
145
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: undefined, decorators: [{
146
- type: Inject,
147
- args: [UI_TRANSLATESERVICE]
148
- }] }]; } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWtDdEcsTUFBTSxPQUFPLHdCQUF3QjtJQVduQyxZQUFtQixTQUFpRCxFQUNqRCxTQUF1QixFQUNHLElBQVM7UUFGbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNHLFNBQUksR0FBSixJQUFJLENBQUs7UUFSdEQsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFHakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztTQUM1QztRQUVELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIs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ZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RvbVNhbml0aXplcn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVVpVHJhbnNsYXRlU2VydmljZSwgVUlfVFJBTlNMQVRFU0VSVklDRSwgVWlUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS10cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCb3hCdXR0b24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGtpbmQ/OiAnYmFzaWMnIHwgJ2ZsYXQnIHwgJ3N0cm9rZWQnO1xyXG4gIGNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiAgcHJvY2Vzcz86ICgpID0+IFByb21pc2U8YW55PjtcclxuICBkaXNhYmxlZD86ICgpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktbWVzc2FnZS1ib3gtbW9kYWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8dWktZGlhbG9nIFt0aXRsZV09XCJ0aXRsZVwiIFtoaWRlQ2xvc2VCdXR0b25dPVwiaGlkZUNsb3NlQnV0dG9uXCI+XHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwibWVzc2FnZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJtZXNzYWdlXCIgc3R5bGU9XCJsaW5lLWhlaWdodDogMjRweDtcIj48L2Rpdj5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCIgW2lubmVySFRNTF09XCJlcnJvck1lc3NhZ2VcIj48L3ByZT5cclxuICAgICAgICA8cHJlICpuZ0lmPVwiZXJyb3JEZXRhaWxcIiBbaW5uZXJIVE1MXT1cImVycm9yRGV0YWlsXCI+PC9wcmU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCJ0ZW1wbGF0ZVwiIHN0eWxlPVwicGFkZGluZzogN3B4IDE2cHggMTJweCAxNnB4O1wiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cclxuICAgICAgICAgIDx1aS1idXR0b24gKm5nRm9yPVwibGV0IGIgb2YgYnV0dG9uc1wiIFtjb2xvcl09XCJiLmNvbG9yIHx8ICdwcmltYXJ5J1wiIFt0YWJJbmRleF09XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBba2luZF09XCJiLmtpbmQgfHwgJ3N0cm9rZWQnXCIgW2J1c3ldPVwicHJvY2Vzc2luZyA9PT0gYlwiIFtkaXNhYmxlZF09XCIhIXByb2Nlc3NpbmcgfHwgKGIuZGlzYWJsZWQgJiYgYi5kaXNhYmxlZCgpKVwiIChjbGljayk9XCJidXR0b25DbGljayhiKVwiIFtsYWJlbF09XCJiLnRleHRcIj48L3VpLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3VpLWRpYWxvZz5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94TW9kYWxDb21wb25lbnQge1xyXG5cclxuICBtZXNzYWdlO1xyXG4gIGVycm9yTWVzc2FnZTtcclxuICBlcnJvckRldGFpbDtcclxuICBidXR0b25zOiBNZXNzYWdlQm94QnV0dG9uW10gPSBbXTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRlbXBsYXRlOiBhbnk7XHJcbiAgaGlkZUNsb3NlQnV0dG9uID0gZmFsc2U7XHJcbiAgcHJvY2Vzc2luZzogTWVzc2FnZUJveEJ1dHRvbiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxNZXNzYWdlQm94TW9kYWxDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiBhbnkpIHtcclxuXHJcbiAgICBpZiAoZGF0YS5tZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLnRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLmRhdGEub3B0aW9ucy50ZW1wbGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpIHtcclxuICAgICAgdGhpcy5lcnJvckRldGFpbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvckRldGFpbCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5oaWRlQ2xvc2VCdXR0b24gPSB0aGlzLmRhdGEub3B0aW9ucy5oaWRlQ2xvc2VCdXR0b247XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5idXR0b25zID0gZGF0YS5vcHRpb25zLmJ1dHRvbnMgPyBkYXRhLm9wdGlvbnMuYnV0dG9ucyA6IFt7aWQ6ICdjbG9zZScsIHRleHQ6ICdDbG9zZSd9XTtcclxuICAgIHRoaXMudGl0bGUgPSBkYXRhLm9wdGlvbnMudGl0bGU7XHJcbiAgfVxyXG5cclxuICBjbG9zZShyZXN1bHQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbkNsaWNrKGI6IE1lc3NhZ2VCb3hCdXR0b24pIHtcclxuICAgIGlmIChiLnByb2Nlc3MpIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gYjtcclxuICAgICAgYi5wcm9jZXNzKCkudGhlbihyID0+IHtcclxuICAgICAgICB0aGlzLmNsb3NlKHIpO1xyXG4gICAgICB9KS5jYXRjaChlID0+IHtcclxuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBudWxsO1xyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZShiLmlkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQm94U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgQEluamVjdChVSV9UUkFOU0xBVEVTRVJWSUNFKSBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogSVVpVHJhbnNsYXRlU2VydmljZSwpIHtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0obWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiB7XHJcbiAgICBidXR0b25zPzogTWVzc2FnZUJveEJ1dHRvbltdLFxyXG4gICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBlcnJvckRldGFpbD86IHN0cmluZyxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbj86IGJvb2xlYW4sXHJcbiAgICBtYXhXaWR0aD86IHN0cmluZ1xyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBjb25maWcubWluV2lkdGggPSAnMzQwcHgnO1xyXG4gICAgY29uZmlnLm1heFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aCB8fCAnNjAwcHgnO1xyXG4gICAgY29uZmlnLndpZHRoID0gJzQwdncnO1xyXG4gICAgY29uZmlnLmRhdGEgPSB7bWVzc2FnZSwgb3B0aW9uc307XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50LCBjb25maWcpLmFmdGVyQ2xvc2VkKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuKG9wdGlvbnM6IHtcclxuICAgIGJ1dHRvbnM/OiBNZXNzYWdlQm94QnV0dG9uW10sXHJcbiAgICB0aXRsZT86IHN0cmluZyxcclxuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZyxcclxuICAgIGVycm9yRGV0YWlsPzogc3RyaW5nLFxyXG4gICAgaGlkZUNsb3NlQnV0dG9uPzogYm9vbGVhbixcclxuICAgIG1heFdpZHRoPzogc3RyaW5nLFxyXG4gICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PlxyXG4gIH0gPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBjb25maWcuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgIGNvbmZpZy5taW5XaWR0aCA9ICczNDBweCc7XHJcbiAgICBjb25maWcubWF4V2lkdGggPSBvcHRpb25zLm1heFdpZHRoIHx8ICc2MDBweCc7XHJcbiAgICBjb25maWcud2lkdGggPSAnNDB2dyc7XHJcbiAgICBjb25maWcuZGF0YSA9IHttZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsIG9wdGlvbnN9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKE1lc3NhZ2VCb3hNb2RhbENvbXBvbmVudCwgY29uZmlnKS5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybURlbGV0ZSh0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7IGlkOiAnY2FuY2VsJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3VpLm1lc3NhZ2Vib3guYnV0dG9uLmNhbmNlbCcpIH0sXHJcbiAgICAgICAgeyBpZDogJ2RlbGV0ZScsIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5tZXNzYWdlYm94LmJ1dHRvbi5kZWxldGUnKSwgY29sb3I6ICd3YXJuJywga2luZDogJ2ZsYXQnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm0obWVzc2FnZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
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: "17.1.2", 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: "17.1.2", ngImport: i0, type: MessageBoxService, providedIn: 'root' }); }
139
+ }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1ib3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvbWVzc2FnZS1ib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGVBQWUsRUFBYSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFckcsT0FBTyxFQUF1QixtQkFBbUIsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQWtDdEcsTUFBTSxPQUFPLHdCQUF3QjtJQVduQyxZQUFtQixTQUFpRCxFQUNqRCxTQUF1QixFQUNHLElBQVM7UUFGbkMsY0FBUyxHQUFULFNBQVMsQ0FBd0M7UUFDakQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNHLFNBQUksR0FBSixJQUFJLENBQUs7UUFSdEQsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFHakMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUFxQixJQUFJLENBQUM7UUFNbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElB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QyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElVaVRyYW5zbGF0ZVNlcnZpY2UsIFVJX1RSQU5TTEFURVNFUlZJQ0UsIFVpVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdWktdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQm94QnV0dG9uIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBraW5kPzogJ2Jhc2ljJyB8ICdmbGF0JyB8ICdzdHJva2VkJztcclxuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xyXG4gIHByb2Nlc3M/OiAoKSA9PiBQcm9taXNlPGFueT47XHJcbiAgZGlzYWJsZWQ/OiAoKSA9PiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLW1lc3NhZ2UtYm94LW1vZGFsJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHVpLWRpYWxvZyBbdGl0bGVdPVwidGl0bGVcIiBbaGlkZUNsb3NlQnV0dG9uXT1cImhpZGVDbG9zZUJ1dHRvblwiPlxyXG4gICAgICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudCAqbmdJZj1cIm1lc3NhZ2VcIiBzdHlsZT1cInBhZGRpbmc6IDdweCAxNnB4IDEycHggMTZweDtcIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwibWVzc2FnZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDI0cHg7XCI+PC9kaXY+XHJcbiAgICAgICAgPHByZSAqbmdJZj1cImVycm9yTWVzc2FnZVwiIFtpbm5lckhUTUxdPVwiZXJyb3JNZXNzYWdlXCI+PC9wcmU+XHJcbiAgICAgICAgPHByZSAqbmdJZj1cImVycm9yRGV0YWlsXCIgW2lubmVySFRNTF09XCJlcnJvckRldGFpbFwiPjwvcHJlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50ICpuZ0lmPVwidGVtcGxhdGVcIiBzdHlsZT1cInBhZGRpbmc6IDdweCAxNnB4IDEycHggMTZweDtcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XHJcbiAgICAgICAgICA8dWktYnV0dG9uICpuZ0Zvcj1cImxldCBiIG9mIGJ1dHRvbnNcIiBbY29sb3JdPVwiYi5jb2xvciB8fCAncHJpbWFyeSdcIiBbdGFiSW5kZXhdPVwiLTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2tpbmRdPVwiYi5raW5kIHx8ICdzdHJva2VkJ1wiIFtidXN5XT1cInByb2Nlc3NpbmcgPT09IGJcIiBbZGlzYWJsZWRdPVwiISFwcm9jZXNzaW5nIHx8IChiLmRpc2FibGVkICYmIGIuZGlzYWJsZWQoKSlcIiAoY2xpY2spPVwiYnV0dG9uQ2xpY2soYilcIiBbbGFiZWxdPVwiYi50ZXh0XCI+PC91aS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC91aS1kaWFsb2c+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveE1vZGFsQ29tcG9uZW50IHtcclxuXHJcbiAgbWVzc2FnZTtcclxuICBlcnJvck1lc3NhZ2U7XHJcbiAgZXJyb3JEZXRhaWw7XHJcbiAgYnV0dG9uczogTWVzc2FnZUJveEJ1dHRvbltdID0gW107XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB0ZW1wbGF0ZTogYW55O1xyXG4gIGhpZGVDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG4gIHByb2Nlc3Npbmc6IE1lc3NhZ2VCb3hCdXR0b24gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TWVzc2FnZUJveE1vZGFsQ29tcG9uZW50PixcclxuICAgICAgICAgICAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogYW55KSB7XHJcblxyXG4gICAgaWYgKGRhdGEubWVzc2FnZSkge1xyXG4gICAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEub3B0aW9ucy50ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5kYXRhLm9wdGlvbnMudGVtcGxhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yTWVzc2FnZSkge1xyXG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRhdGEub3B0aW9ucy5lcnJvck1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmVycm9yRGV0YWlsKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JEZXRhaWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLm9wdGlvbnMuZXJyb3JEZXRhaWwpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5vcHRpb25zLmhpZGVDbG9zZUJ1dHRvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZUNsb3NlQnV0dG9uID0gdGhpcy5kYXRhLm9wdGlvbnMuaGlkZUNsb3NlQnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYnV0dG9ucyA9IGRhdGEub3B0aW9ucy5idXR0b25zID8gZGF0YS5vcHRpb25zLmJ1dHRvbnMgOiBbe2lkOiAnY2xvc2UnLCB0ZXh0OiAnQ2xvc2UnfV07XHJcbiAgICB0aGlzLnRpdGxlID0gZGF0YS5vcHRpb25zLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UocmVzdWx0OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBidXR0b25DbGljayhiOiBNZXNzYWdlQm94QnV0dG9uKSB7XHJcbiAgICBpZiAoYi5wcm9jZXNzKSB7XHJcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGI7XHJcbiAgICAgIGIucHJvY2VzcygpLnRoZW4ociA9PiB7XHJcbiAgICAgICAgdGhpcy5jbG9zZShyKTtcclxuICAgICAgfSkuY2F0Y2goZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nID0gbnVsbDtcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoYi5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVzc2FnZUJveFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgICAgICAgICAgIEBJbmplY3QoVUlfVFJBTlNMQVRFU0VSVklDRSkgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IElVaVRyYW5zbGF0ZVNlcnZpY2UsKSB7XHJcbiAgfVxyXG5cclxuICBjb25maXJtKG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczoge1xyXG4gICAgYnV0dG9ucz86IE1lc3NhZ2VCb3hCdXR0b25bXSxcclxuICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgZXJyb3JEZXRhaWw/OiBzdHJpbmcsXHJcbiAgICBoaWRlQ2xvc2VCdXR0b24/OiBib29sZWFuLFxyXG4gICAgbWF4V2lkdGg/OiBzdHJpbmdcclxuICB9ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgY29uZmlnLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xyXG4gICAgY29uZmlnLm1pbldpZHRoID0gJzM0MHB4JztcclxuICAgIGNvbmZpZy5tYXhXaWR0aCA9IG9wdGlvbnMubWF4V2lkdGggfHwgJzYwMHB4JztcclxuICAgIGNvbmZpZy53aWR0aCA9ICc0MHZ3JztcclxuICAgIGNvbmZpZy5kYXRhID0ge21lc3NhZ2UsIG9wdGlvbnN9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKE1lc3NhZ2VCb3hNb2RhbENvbXBvbmVudCwgY29uZmlnKS5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbihvcHRpb25zOiB7XHJcbiAgICBidXR0b25zPzogTWVzc2FnZUJveEJ1dHRvbltdLFxyXG4gICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICBlcnJvckRldGFpbD86IHN0cmluZyxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbj86IGJvb2xlYW4sXHJcbiAgICBtYXhXaWR0aD86IHN0cmluZyxcclxuICAgIG1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT5cclxuICB9ID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xyXG4gICAgY29uZmlnLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgICBjb25maWcubWluV2lkdGggPSAnMzQwcHgnO1xyXG4gICAgY29uZmlnLm1heFdpZHRoID0gb3B0aW9ucy5tYXhXaWR0aCB8fCAnNjAwcHgnO1xyXG4gICAgY29uZmlnLndpZHRoID0gJzQwdncnO1xyXG4gICAgY29uZmlnLmRhdGEgPSB7bWVzc2FnZTogb3B0aW9ucy5tZXNzYWdlLCBvcHRpb25zfTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihNZXNzYWdlQm94TW9kYWxDb21wb25lbnQsIGNvbmZpZykuYWZ0ZXJDbG9zZWQoKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1EZWxldGUodGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgeyBpZDogJ2NhbmNlbCcsIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd1aS5tZXNzYWdlYm94LmJ1dHRvbi5jYW5jZWwnKSB9LFxyXG4gICAgICAgIHsgaWQ6ICdkZWxldGUnLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndWkubWVzc2FnZWJveC5idXR0b24uZGVsZXRlJyksIGNvbG9yOiAnd2FybicsIGtpbmQ6ICdmbGF0JyB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gdGhpcy5jb25maXJtKG1lc3NhZ2UsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -1,23 +1,23 @@
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: "16.2.11", ngImport: i0, type: ToastService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastService, providedIn: 'root' }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ToastService, decorators: [{
18
- type: Injectable,
19
- args: [{
20
- providedIn: 'root'
21
- }]
22
- }], ctorParameters: function () { return [{ type: i1.MatSnackBar }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsWUFBeUI7UUFBekIsaUJBQVksR0FBWixZQUFZLENBQWE7SUFBSSxDQUFDO0lBRTNDLElBQUksQ0FBQyxPQUFlLEVBQUUsVUFBbUQsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUM7UUFDN0csSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtZQUNwQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ2xDLFVBQVUsRUFBRSxDQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBVFUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuXHJcbmV4cG9ydCB0eXBlIFRvYXN0VHlwZSA9ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdmYWlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tTZXJ2aWNlOiBNYXRTbmFja0JhcikgeyB9XHJcblxyXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2U6IHN0cmluZywgb3B0aW9uczogeyBkdXJhdGlvbj86IG51bWJlciwgdHlwZT86IFRvYXN0VHlwZSB9ID0geyBkdXJhdGlvbjogMjUwMCwgdHlwZTogJ2luZm8nfSkge1xyXG4gICAgdGhpcy5zbmFja1NlcnZpY2Uub3BlbihtZXNzYWdlLCBudWxsLCB7XHJcbiAgICAgIGR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uIHx8IDI1MDAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsgb3B0aW9ucy50eXBlIHx8ICdtZXNzYWdlJ11cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
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: "17.1.2", ngImport: i0, type: ToastService, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ToastService, providedIn: 'root' }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", 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,71 +1,72 @@
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, rej) => {
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
- const event = {
51
- type: 'uploadAll',
52
- url: this.fileServiceConfig.uploadUrl,
53
- method: 'POST',
54
- headers: this.fileServiceConfig.getAuthHeader()
55
- };
56
- this.uploadInput.emit(event);
57
- });
58
- });
59
- }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiFileService, deps: [{ token: UI_FILESERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiFileService }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiFileService, decorators: [{
64
- type: Injectable
65
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
66
- type: Optional
67
- }, {
68
- type: Inject,
69
- args: [UI_FILESERVICE]
70
- }] }]; } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zZXJ2aWNlcy91aS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUEwQi9CLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQztBQUVuRixzR0FBc0c7QUFHdEcsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFBdUQsaUJBQWlDO1FBQWpDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZ0I7UUFQeEYsZ0JBQVcsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUV6RSx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRW5DLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBTyxDQUFDO1FBR3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUMzQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLEtBQUssVUFBVTtvQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQUMsT0FBTztnQkFDbkQsS0FBSyxTQUFTO29CQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFBQyxPQUFPO2dCQUVyRCxLQUFLLGVBQWU7b0JBQ2xCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlELElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTt3QkFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7cUJBQ3pEO29CQUNELE1BQU07Z0JBRVIsS0FBSyxxQkFBcUIsQ0FBQztnQkFDM0IsS0FBSyxzQkFBc0I7b0JBQ3pCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQy9ELElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTt3QkFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUsscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQztxQkFDL0c7b0JBQ0QsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUxRCxPQUFPLElBQUksT0FBTyxDQUFtQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUVoRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxlQUFlLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxjQUFjLEVBQUU7b0JBQy9ELEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2Y7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztZQUV4RCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUUvQixNQUFNLEtBQUssR0FBZ0I7b0JBQ3pCLElBQUksRUFBRSxXQUFXO29CQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7b0JBQ3JDLE1BQU0sRUFBRSxNQUFNO29CQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFO2lCQUNoRCxDQUFDO2dCQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRS9CLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTlEVSxhQUFhLGtCQVNRLGNBQWM7bUhBVG5DLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQVVJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXBsb2FkRmlsZSwgVXBsb2FkSW5wdXQgfSBmcm9tICduZ3gtdXBsb2FkZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbi8vIGltcG9ydCB7IFVpRmlsZVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsZS11cGxvYWRlci91aS1maWxlLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG4vLyBleHBvcnQgaW50ZXJmYWNlIElHZXRBdXRoSGVhZGVyIHtcclxuLy8gICBnZXRBdXRoSGVhZGVyOiAoKSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4vLyB9XHJcblxyXG5leHBvcnQgdHlwZSBJVWlGaWxlU2VydmljZU1lc3NhZ2VzID0gJ2Nyb3BJbnZhbGlkRmlsZVR5cGUnIHwgJ2V4dGVuc2lvbk5vdEFsbG93ZWQnIHwgJ2ZpbGVBZGRlZCcgfCAnZmlsZVJlbW92ZWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVWlGaWxlU2VydmljZSB7XHJcbiAgZ2V0QXV0aEhlYWRlcjogKCkgPT4geyBbIGtleTogc3RyaW5nIF06IHN0cmluZyB9LFxyXG4gIHVwbG9hZFVybDogc3RyaW5nO1xyXG4gIC8vIC8vIHVwbG9hZDY0VXJsOiBzdHJpbmc7XHJcbiAgZ2V0TWVkaWFTcmM6IChzaXplOiBzdHJpbmcsIGRhdGE6IGFueSwgb3B0aW9uczogYW55KSA9PiBzdHJpbmcsXHJcbiAgZ2V0UHJldmlld1VybDogKHNpemU6IHN0cmluZywgYW55KSA9PiBzdHJpbmcsXHJcbiAgYWRkRmlsZUltZ1NyYzogc3RyaW5nO1xyXG4gIGdldE1pbWVUeXBlOiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XHJcbiAgaW1hZ2VTaXplczoge1xyXG4gICAgW2tleTogc3RyaW5nXTogW251bWJlciwgbnVtYmVyXVxyXG4gIH07XHJcbiAgY29uY3VycmVudFVwbG9hZHM6IG51bWJlcixcclxuICB1c2VSZXRpbmFTcmM6IGJvb2xlYW4sXHJcblxyXG4gIGZpbGVWYWxpZGF0aW9uPzogKHNpemU6IHN0cmluZywgZmlsZTogVXBsb2FkRmlsZSkgPT4gUHJvbWlzZTxib29sZWFuPlxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVUlfRklMRVNFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVVpRmlsZVNlcnZpY2U+KCdJVWlGaWxlU2VydmljZScpO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IEZpbGVTZXJ2aWNlQ29uZmlnU2VydmljZSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGaWxlU2VydmljZUNvbmZpZz4oJ0ZpbGVTZXJ2aWNlQ29uZmlnJyk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVaUZpbGVTZXJ2aWNlIHtcclxuXHJcbiAgdXBsb2FkSW5wdXQ6IEV2ZW50RW1pdHRlcjxVcGxvYWRJbnB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPFVwbG9hZElucHV0PigpO1xyXG5cclxuICB1cGxvYWRTdWJzY3JpcHRpb24gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBmaWxlc1RvUmVtb3ZlOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbnRyb2xzID0gbmV3IFNldDxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoVUlfRklMRVNFUlZJQ0UpIHB1YmxpYyBmaWxlU2VydmljZUNvbmZpZzogSVVpRmlsZVNlcnZpY2UpIHtcclxuICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uLnN1YnNjcmliZSgodjogYW55KSA9PiB7XHJcbiAgICAgIHN3aXRjaCAodi5hY3Rpb24pIHtcclxuICAgICAgICBjYXNlICdyZWdpc3Rlcic6IHRoaXMuY29udHJvbHMuYWRkKHYuZGF0YSk7IHJldHVybjtcclxuICAgICAgICBjYXNlICdkZXN0cm95JzogdGhpcy5jb250cm9scy5kZWxldGUodi5kYXRhKTsgcmV0dXJuO1xyXG5cclxuICAgICAgICBjYXNlICd1cGxvYWRTdGFydGVkJzpcclxuICAgICAgICAgIGxldCBjbnQgPSAwO1xyXG4gICAgICAgICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGMgPT4gY250ICs9IGMuaGFzRmlsZXNUb1VwbG9hZCA/IDEgOiAwKTtcclxuICAgICAgICAgIGlmIChjbnQgPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRTdWJzY3JpcHRpb24ubmV4dCh7YWN0aW9uOiAndXBsb2FkU3VjY2Vzcyd9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBjYXNlICd1cGxvYWRDb250cm9sRmFpbGVkJzpcclxuICAgICAgICBjYXNlICd1cGxvYWRDb250cm9sU3VjY2Vzcyc6XHJcbiAgICAgICAgICBsZXQgY250MiA9IDA7XHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goYyA9PiBjbnQyICs9IGMuaGFzRmlsZXNUb1VwbG9hZCA/IDEgOiAwKTtcclxuICAgICAgICAgIGlmIChjbnQyID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uLm5leHQoe2FjdGlvbjogdi5hY3Rpb24gPT09ICd1cGxvYWRDb250cm9sRmFpbGVkJyA/ICd1cGxvYWRGYWlsZWQnIDogJ3VwbG9hZFN1Y2Nlc3MnfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBsb2FkKCk6IFByb21pc2U8J3VwbG9hZFN1Y2Nlc3MnIHwgJ3VwbG9hZEZhaWxlZCc+IHtcclxuICAgIGNvbnN0IHByb21pc2VzID0gW107XHJcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goYyA9PiBwcm9taXNlcy5wdXNoKGMuYmVmb3JlU2F2ZSgpKSk7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPCd1cGxvYWRTdWNjZXNzJyB8ICd1cGxvYWRGYWlsZWQnPigocmVzLCByZWopID0+IHtcclxuXHJcbiAgICAgIHRoaXMudXBsb2FkU3Vic2NyaXB0aW9uLnN1YnNjcmliZSgodjogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHYuYWN0aW9uID09PSAndXBsb2FkU3VjY2VzcycgfHwgdi5hY3Rpb24gPT09ICd1cGxvYWRGYWlsZWQnKSB7XHJcbiAgICAgICAgICByZXModi5hY3Rpb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnVwbG9hZFN1YnNjcmlwdGlvbi5uZXh0KHthY3Rpb246ICd1cGxvYWRTdGFydGVkJ30pO1xyXG5cclxuICAgICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKHIpID0+IHtcclxuXHJcbiAgICAgICAgY29uc3QgZXZlbnQ6IFVwbG9hZElucHV0ID0ge1xyXG4gICAgICAgICAgdHlwZTogJ3VwbG9hZEFsbCcsXHJcbiAgICAgICAgICB1cmw6IHRoaXMuZmlsZVNlcnZpY2VDb25maWcudXBsb2FkVXJsLFxyXG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICBoZWFkZXJzOiB0aGlzLmZpbGVTZXJ2aWNlQ29uZmlnLmdldEF1dGhIZWFkZXIoKVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMudXBsb2FkSW5wdXQuZW1pdChldmVudCk7XHJcblxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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: "17.1.2", 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: "17.1.2", ngImport: i0, type: UiFileService }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", 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 +1,32 @@
1
- import { Injectable, InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const UI_TRANSLATESERVICE = new InjectionToken('IUiTranslateService');
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: "16.2.11", ngImport: i0, type: UiTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiTranslateService }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: UiTranslateService, decorators: [{
30
- type: Injectable
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlcnZpY2VzL3VpLXRyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IscUJBQXFCLENBQUMsQ0FBQztBQUdsRyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE9BQU8sQ0FBQyxJQUFZLEVBQUUsSUFBUztRQUM3QixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssMENBQTBDLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztZQUNqRSxLQUFLLDBDQUEwQyxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUM7WUFDakUsS0FBSywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sNEJBQTRCLENBQUM7WUFDckYsS0FBSyxpQ0FBaUMsQ0FBQyxDQUFDLE9BQU8saUJBQWlCLENBQUM7WUFDakUsS0FBSyw4QkFBOEIsQ0FBQyxDQUFDLE9BQU8sZ0JBQWdCLENBQUM7WUFDN0QsS0FBSywyQ0FBMkMsQ0FBQyxDQUFDLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUUsS0FBSyxrQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFDcEcsS0FBSyxrQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFDcEcsS0FBSyxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sZ0JBQWdCLENBQUM7WUFDckUsS0FBSyxpQ0FBaUMsQ0FBQyxDQUFDLE9BQU8sc0JBQXNCLENBQUM7WUFDdEUsS0FBSyx3Q0FBd0MsQ0FBQyxDQUFDLE9BQU8sZ0NBQWdDLENBQUM7WUFDdkYsS0FBSyx1Q0FBdUMsQ0FBQyxDQUFDLE9BQU8sY0FBYyxDQUFDO1lBQ3BFLEtBQUssMkJBQTJCLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQztZQUMvQyxLQUFLLHVDQUF1QyxDQUFDLENBQUMsT0FBTyxjQUFjLENBQUM7WUFDcEUsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ3BELEtBQUssNkJBQTZCLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztZQUNwRCxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQztTQUN0QjtJQUNILENBQUM7K0dBckJVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVpVHJhbnNsYXRlU2VydmljZSB7XHJcbiAgaW5zdGFudDogKGNvZGU6IHN0cmluZywgZGF0YT86IGFueSkgPT4gc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVUlfVFJBTlNMQVRFU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJVWlUcmFuc2xhdGVTZXJ2aWNlPignSVVpVHJhbnNsYXRlU2VydmljZScpO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVWlUcmFuc2xhdGVTZXJ2aWNlIGltcGxlbWVudHMgSVVpVHJhbnNsYXRlU2VydmljZSB7XHJcbiAgaW5zdGFudChjb2RlOiBzdHJpbmcsIGRhdGE6IGFueSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGNvZGUpIHtcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktZmlsZS11cGxvYWRlci5tZW51LmNoYW5nZSc6IHJldHVybiAnWm3Em25pdCc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLWZpbGUtdXBsb2FkZXIubWVudS5kZWxldGUnOiByZXR1cm4gJ1NtYXphdCc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLWZpbGUtdXBsb2FkZXIudXBsb2FkRXJyb3InOiByZXR1cm4gJ0NoeWJhIHDFmWkgdWtsw6Fkw6Fuw60gc291Ym9ydSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ucmVxdWlyZWQnOiByZXR1cm4gJ1BvdmlubsOhIHBvbG/FvmthJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5lbWFpbCc6IHJldHVybiAnTmVwbGF0bsO9IGVtYWlsJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5tYXREYXRlcGlja2VyUGFyc2UnOiByZXR1cm4gJ05lcGxhdG7DqSBkYXR1bSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ubWF4bGVuZ3RoJzogcmV0dXJuICdaYWRlaiBtYXhpbcOhbG7EmyAnICsgZGF0YS5yZXF1aXJlZExlbmd0aCArICcgem5ha8WvJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5taW5sZW5ndGgnOiByZXR1cm4gJ1phZGVqIG1pbmltw6FsbsSbICcgKyBkYXRhLnJlcXVpcmVkTGVuZ3RoICsgJyB6bmFrxa8nO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLmludmFsaWROdW1iZXInOiByZXR1cm4gJ05lcGxhdG7DqSDEjcOtc2xvJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5wb3NpdGl2ZSc6IHJldHVybiAnTXVzw60gYsO9dCB2xJt0xaHDrSBuZcW+IDAnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLmNiR3JvdXBSZXF1aXJlZCc6IHJldHVybiAnWmHFoWtydG5pIGFsZXNwb8WIIGplZG51IHBvbG/Fvmt1JztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktc2VsZWN0LmNsZWFyLXNlbGVjdGlvbic6IHJldHVybiAnWnJ1xaFpdCB2w71ixJtyJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudWktc2VsZWN0LmFsbCc6IHJldHVybiAnVsWhZSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLXNlbGVjdC5hcHBseS1zZWxlY3Rpb24nOiByZXR1cm4gJ1BvdcW+w610IHbDvWLEm3InO1xyXG4gICAgICBjYXNlICd1aS5tZXNzYWdlYm94LmJ1dHRvbi5jYW5jZWwnOiByZXR1cm4gJ1pydcWhaXQnO1xyXG4gICAgICBjYXNlICd1aS5tZXNzYWdlYm94LmJ1dHRvbi5kZWxldGUnOiByZXR1cm4gJ1NtYXphdCc7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiBjb2RlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Injectable, InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export const UI_TRANSLATESERVICE = new InjectionToken('IUiTranslateService');
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: "17.1.2", ngImport: i0, type: UiTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UiTranslateService }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UiTranslateService, decorators: [{
30
+ type: Injectable
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktdHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NlcnZpY2VzL3VpLXRyYW5zbGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IscUJBQXFCLENBQUMsQ0FBQztBQUdsRyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE9BQU8sQ0FBQyxJQUFZLEVBQUUsSUFBUztRQUM3QixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ2IsS0FBSywwQ0FBMEMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ2pFLEtBQUssMENBQTBDLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztZQUNqRSxLQUFLLDBDQUEwQyxDQUFDLENBQUMsT0FBTyw0QkFBNEIsQ0FBQztZQUNyRixLQUFLLGlDQUFpQyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztZQUNqRSxLQUFLLDhCQUE4QixDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUM3RCxLQUFLLDJDQUEyQyxDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxRSxLQUFLLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztZQUNwRyxLQUFLLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztZQUNwRyxLQUFLLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztZQUNyRSxLQUFLLGlDQUFpQyxDQUFDLENBQUMsT0FBTyxzQkFBc0IsQ0FBQztZQUN0RSxLQUFLLHdDQUF3QyxDQUFDLENBQUMsT0FBTyxnQ0FBZ0MsQ0FBQztZQUN2RixLQUFLLHVDQUF1QyxDQUFDLENBQUMsT0FBTyxjQUFjLENBQUM7WUFDcEUsS0FBSywyQkFBMkIsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQy9DLEtBQUssdUNBQXVDLENBQUMsQ0FBQyxPQUFPLGNBQWMsQ0FBQztZQUNwRSxLQUFLLDZCQUE2QixDQUFDLENBQUMsT0FBTyxRQUFRLENBQUM7WUFDcEQsS0FBSyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU8sUUFBUSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDOzhHQXJCVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVaVRyYW5zbGF0ZVNlcnZpY2Uge1xyXG4gIGluc3RhbnQ6IChjb2RlOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFVJX1RSQU5TTEFURVNFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVVpVHJhbnNsYXRlU2VydmljZT4oJ0lVaVRyYW5zbGF0ZVNlcnZpY2UnKTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVpVHJhbnNsYXRlU2VydmljZSBpbXBsZW1lbnRzIElVaVRyYW5zbGF0ZVNlcnZpY2Uge1xyXG4gIGluc3RhbnQoY29kZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChjb2RlKSB7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLWZpbGUtdXBsb2FkZXIubWVudS5jaGFuZ2UnOiByZXR1cm4gJ1ptxJtuaXQnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy51aS1maWxlLXVwbG9hZGVyLm1lbnUuZGVsZXRlJzogcmV0dXJuICdTbWF6YXQnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy51aS1maWxlLXVwbG9hZGVyLnVwbG9hZEVycm9yJzogcmV0dXJuICdDaHliYSBwxZlpIHVrbMOhZMOhbsOtIHNvdWJvcnUnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLnJlcXVpcmVkJzogcmV0dXJuICdQb3Zpbm7DoSBwb2xvxb5rYSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24uZW1haWwnOiByZXR1cm4gJ05lcGxhdG7DvSBlbWFpbCc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ubWF0RGF0ZXBpY2tlclBhcnNlJzogcmV0dXJuICdOZXBsYXRuw6kgZGF0dW0nO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy52YWxpZGF0aW9uLm1heGxlbmd0aCc6IHJldHVybiAnWmFkZWogbWF4aW3DoWxuxJsgJyArIGRhdGEucmVxdWlyZWRMZW5ndGggKyAnIHpuYWvFryc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ubWlubGVuZ3RoJzogcmV0dXJuICdaYWRlaiBtaW5pbcOhbG7EmyAnICsgZGF0YS5yZXF1aXJlZExlbmd0aCArICcgem5ha8WvJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5pbnZhbGlkTnVtYmVyJzogcmV0dXJuICdOZXBsYXRuw6kgxI3DrXNsbyc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnZhbGlkYXRpb24ucG9zaXRpdmUnOiByZXR1cm4gJ011c8OtIGLDvXQgdsSbdMWhw60gbmXFviAwJztcclxuICAgICAgY2FzZSAndWkuY29udHJvbHMudmFsaWRhdGlvbi5jYkdyb3VwUmVxdWlyZWQnOiByZXR1cm4gJ1phxaFrcnRuaSBhbGVzcG/FiCBqZWRudSBwb2xvxb5rdSc7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLXNlbGVjdC5jbGVhci1zZWxlY3Rpb24nOiByZXR1cm4gJ1pydcWhaXQgdsO9YsSbcic7XHJcbiAgICAgIGNhc2UgJ3VpLmNvbnRyb2xzLnVpLXNlbGVjdC5hbGwnOiByZXR1cm4gJ1bFoWUnO1xyXG4gICAgICBjYXNlICd1aS5jb250cm9scy51aS1zZWxlY3QuYXBwbHktc2VsZWN0aW9uJzogcmV0dXJuICdQb3XFvsOtdCB2w71ixJtyJztcclxuICAgICAgY2FzZSAndWkubWVzc2FnZWJveC5idXR0b24uY2FuY2VsJzogcmV0dXJuICdacnXFoWl0JztcclxuICAgICAgY2FzZSAndWkubWVzc2FnZWJveC5idXR0b24uZGVsZXRlJzogcmV0dXJuICdTbWF6YXQnO1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gY29kZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19