@resolveio/client-lib-core 15.5.3 → 16.0.0

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 (153) hide show
  1. package/esm2022/lib/account-manager.service.mjs +229 -0
  2. package/esm2022/lib/auth/auth-guard.service.mjs +174 -0
  3. package/esm2022/lib/auth/auth-permissions.service.mjs +23 -0
  4. package/esm2022/lib/auth/auth.service.mjs +251 -0
  5. package/esm2022/lib/auth/auth365.component.mjs +51 -0
  6. package/esm2022/lib/auth/can-deactivate-guard.service.mjs +13 -0
  7. package/esm2022/lib/auth/enroll.component.mjs +88 -0
  8. package/esm2022/lib/auth/forgot-password.component.mjs +89 -0
  9. package/esm2022/lib/core.component.mjs +404 -0
  10. package/esm2022/lib/core.module.mjs +176 -0
  11. package/esm2022/lib/core.service.mjs +88 -0
  12. package/esm2022/lib/directive/focus.mjs +24 -0
  13. package/esm2022/lib/directive/scroll.mjs +54 -0
  14. package/esm2022/lib/home/home.component.mjs +84 -0
  15. package/esm2022/lib/logger/logger.component.mjs +229 -0
  16. package/esm2022/lib/models/app-status.model.mjs +2 -0
  17. package/esm2022/lib/models/collection-document.model.mjs +2 -0
  18. package/esm2022/lib/models/cron-job.model.mjs +2 -0
  19. package/esm2022/lib/models/dialog.model.mjs +2 -0
  20. package/esm2022/lib/models/file.model.mjs +2 -0
  21. package/esm2022/lib/models/log-method-latency.model.mjs +2 -0
  22. package/esm2022/lib/models/navbar-main-tab.model.mjs +2 -0
  23. package/esm2022/lib/models/pagination.model.mjs +2 -0
  24. package/esm2022/lib/models/permission.model.mjs +2 -0
  25. package/esm2022/lib/models/select-data-label.model.mjs +2 -0
  26. package/esm2022/lib/models/subscription.model.mjs +2 -0
  27. package/esm2022/lib/models/support-ticket.model.mjs +2 -0
  28. package/esm2022/lib/models/user-group.model.mjs +2 -0
  29. package/esm2022/lib/models/user.model.mjs +2 -0
  30. package/esm2022/lib/offline-db.mjs +519 -0
  31. package/esm2022/lib/offline-manager.service.mjs +109 -0
  32. package/esm2022/lib/pipes/domsanitizor.pipe.mjs +29 -0
  33. package/esm2022/lib/pipes/filter.pipe.mjs +36 -0
  34. package/esm2022/lib/pipes/json-parse.pipe.mjs +29 -0
  35. package/esm2022/lib/pipes/minus-currency.pipe.mjs +16 -0
  36. package/esm2022/lib/pipes/phone.pipe.mjs +47 -0
  37. package/esm2022/lib/pipes/pipe.module.mjs +54 -0
  38. package/esm2022/lib/pipes/reverse-list.pipe.mjs +17 -0
  39. package/esm2022/lib/pipes/titlecase.pipe.mjs +22 -0
  40. package/esm2022/lib/report-builder.permission.mjs +13 -0
  41. package/esm2022/lib/resolveio-class.mjs +50 -0
  42. package/esm2022/lib/shared/shared.module.mjs +96 -0
  43. package/esm2022/lib/socket-manager.service.mjs +340 -0
  44. package/esm2022/lib/socket.service.mjs +200 -0
  45. package/esm2022/lib/super-admin.permission.mjs +9 -0
  46. package/esm2022/lib/support-ticket/detail/support-ticket-detail.component.mjs +211 -0
  47. package/esm2022/lib/support-ticket/edit/support-ticket-edit.component.mjs +131 -0
  48. package/esm2022/lib/support-ticket/list/support-ticket-list.component.mjs +142 -0
  49. package/esm2022/lib/support-ticket/new/support-ticket-new.component.mjs +121 -0
  50. package/esm2022/lib/support-ticket/support-ticket.component.mjs +67 -0
  51. package/esm2022/lib/support-ticket/support-ticket.module.mjs +50 -0
  52. package/esm2022/lib/support-ticket/support-ticket.routing.mjs +20 -0
  53. package/esm2022/lib/support-ticket/support-ticket.service.mjs +16 -0
  54. package/esm2022/lib/token-manager.service.mjs +25 -0
  55. package/esm2022/lib/user-settings/settings/users-settings.component.mjs +302 -0
  56. package/esm2022/lib/user-settings/user-settings.component.mjs +61 -0
  57. package/esm2022/lib/user-settings/user-settings.module.mjs +41 -0
  58. package/esm2022/lib/user-settings/user-settings.permission.mjs +10 -0
  59. package/esm2022/lib/user-settings/user-settings.routing.mjs +14 -0
  60. package/esm2022/lib/user-settings/user-settings.service.mjs +16 -0
  61. package/esm2022/lib/util/action-name.helper.mjs +9 -0
  62. package/esm2022/lib/util/aws.service.mjs +80 -0
  63. package/esm2022/lib/util/common.helper.mjs +133 -0
  64. package/esm2022/lib/util/validation.service.mjs +185 -0
  65. package/esm2022/lib/util/window-resize.service.mjs +38 -0
  66. package/esm2022/lib/util/window.service.mjs +16 -0
  67. package/esm2022/lib/widgets/alert/alert.model.mjs +2 -0
  68. package/esm2022/lib/widgets/alert/alert.service.mjs +79 -0
  69. package/esm2022/lib/widgets/collapse-table/collapse-table.component.mjs +83 -0
  70. package/esm2022/lib/widgets/collapse-table/collapse-table.module.mjs +34 -0
  71. package/esm2022/lib/widgets/data-table/data-table.component.mjs +84 -0
  72. package/esm2022/lib/widgets/data-table/data-table.model.mjs +2 -0
  73. package/esm2022/lib/widgets/data-table/data-table.module.mjs +41 -0
  74. package/esm2022/lib/widgets/date-shortcut/date-shortcut.component.mjs +198 -0
  75. package/esm2022/lib/widgets/date-shortcut/date-shortcut.module.mjs +32 -0
  76. package/esm2022/lib/widgets/dialog/dialog.confirm.content.mjs +67 -0
  77. package/esm2022/lib/widgets/dialog/dialog.error.content.mjs +60 -0
  78. package/esm2022/lib/widgets/dialog/dialog.input.content.mjs +200 -0
  79. package/esm2022/lib/widgets/dialog/dialog.login.content.mjs +354 -0
  80. package/esm2022/lib/widgets/dialog/dialog.notify.content.mjs +60 -0
  81. package/esm2022/lib/widgets/dialog/dialog.register.content.mjs +333 -0
  82. package/esm2022/lib/widgets/dialog/dialog.select-array-objs.content.mjs +203 -0
  83. package/esm2022/lib/widgets/dialog/dialog.select-array.content.mjs +310 -0
  84. package/esm2022/lib/widgets/dialog/dialog.select-data-labels.content.mjs +196 -0
  85. package/esm2022/lib/widgets/dialog/dialog.select-datetime.content.mjs +191 -0
  86. package/esm2022/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +166 -0
  87. package/esm2022/lib/widgets/dialog/dialog.service.mjs +98 -0
  88. package/esm2022/lib/widgets/file/file-upload.component.mjs +433 -0
  89. package/esm2022/lib/widgets/file/file-upload.module.mjs +48 -0
  90. package/esm2022/lib/widgets/form-button/form-button.component.mjs +97 -0
  91. package/esm2022/lib/widgets/form-button/form-button.module.mjs +28 -0
  92. package/esm2022/lib/widgets/navbar-main/navbar-main.component.mjs +222 -0
  93. package/esm2022/lib/widgets/navbar-module/navbar-module.component.mjs +108 -0
  94. package/esm2022/lib/widgets/navbar-module/navbar-module.model.mjs +2 -0
  95. package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +41 -0
  96. package/esm2022/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +24 -0
  97. package/esm2022/lib/widgets/scheduler/scheduler.component.mjs +186 -0
  98. package/esm2022/lib/widgets/scheduler/scheduler.module.mjs +37 -0
  99. package/esm2022/lib/widgets/sort-table/sort-table-header.component.mjs +72 -0
  100. package/esm2022/lib/widgets/sort-table/sort-table-ngfor.component.mjs +49 -0
  101. package/esm2022/lib/widgets/sort-table/sort-table.directive.mjs +177 -0
  102. package/esm2022/lib/widgets/sort-table/sort-table.module.mjs +38 -0
  103. package/esm2022/lib/widgets/user-role/user-role.component.mjs +29 -0
  104. package/esm2022/lib/widgets/user-role/user-role.module.mjs +24 -0
  105. package/esm2022/public_api.mjs +91 -0
  106. package/esm2022/resolveio-client-lib-core.mjs +5 -0
  107. package/fesm2022/resolveio-client-lib-core.mjs +9019 -0
  108. package/fesm2022/resolveio-client-lib-core.mjs.map +1 -0
  109. package/index.d.ts +3 -0
  110. package/lib/auth/auth-guard.service.d.ts +2 -2
  111. package/lib/auth/can-deactivate-guard.service.d.ts +1 -2
  112. package/lib/core.component.d.ts +1 -2
  113. package/lib/core.module.d.ts +26 -29
  114. package/lib/directive/focus.d.ts +1 -1
  115. package/lib/directive/scroll.d.ts +1 -1
  116. package/lib/logger/logger.component.d.ts +0 -2
  117. package/lib/models/dialog.model.d.ts +1 -1
  118. package/lib/models/pagination.model.d.ts +1 -0
  119. package/lib/models/user-group.model.d.ts +0 -1
  120. package/lib/offline-db.d.ts +1 -5
  121. package/lib/offline-manager.service.d.ts +1 -4
  122. package/lib/socket-manager.service.d.ts +5 -34
  123. package/lib/socket.service.d.ts +3 -20
  124. package/lib/token-manager.service.d.ts +2 -4
  125. package/lib/util/aws.service.d.ts +1 -2
  126. package/lib/util/common.helper.d.ts +1 -3
  127. package/lib/util/window-resize.service.d.ts +6 -5
  128. package/lib/widgets/collapse-table/collapse-table.component.d.ts +1 -1
  129. package/lib/widgets/data-table/data-table.component.d.ts +1 -1
  130. package/lib/widgets/date-shortcut/date-shortcut.component.d.ts +1 -5
  131. package/lib/widgets/dialog/dialog.confirm.content.d.ts +1 -1
  132. package/lib/widgets/dialog/dialog.error.content.d.ts +1 -1
  133. package/lib/widgets/dialog/dialog.input.content.d.ts +1 -1
  134. package/lib/widgets/dialog/dialog.login.content.d.ts +1 -1
  135. package/lib/widgets/dialog/dialog.notify.content.d.ts +1 -1
  136. package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +1 -1
  137. package/lib/widgets/dialog/dialog.select-array.content.d.ts +1 -1
  138. package/lib/widgets/dialog/dialog.select-data-labels.content.d.ts +1 -1
  139. package/lib/widgets/dialog/dialog.select-datetime.content.d.ts +1 -1
  140. package/lib/widgets/dialog/dialog.select-with-buttons-url.content.d.ts +1 -1
  141. package/lib/widgets/file/file-upload.component.d.ts +1 -1
  142. package/lib/widgets/file/file-upload.module.d.ts +2 -2
  143. package/lib/widgets/form-button/form-button.component.d.ts +1 -1
  144. package/lib/widgets/navbar-main/navbar-main.component.d.ts +1 -2
  145. package/lib/widgets/navbar-module/navbar-module.component.d.ts +1 -1
  146. package/lib/widgets/responsive-button-group/responsive-button-group.component.d.ts +1 -1
  147. package/lib/widgets/sort-table/sort-table-header.component.d.ts +1 -1
  148. package/lib/widgets/sort-table/sort-table-ngfor.component.d.ts +1 -1
  149. package/lib/widgets/sort-table/sort-table.directive.d.ts +8 -1
  150. package/lib/widgets/user-role/user-role.component.d.ts +1 -1
  151. package/package.json +5 -6
  152. package/fesm2020/resolveio-client-lib-core.min.mjs +0 -1
  153. package/lib/logger/diff-viewer.component.d.ts +0 -35
@@ -0,0 +1,191 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
+ import { FormBuilder, Validators } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "../form-button/form-button.component";
8
+ import * as i4 from "@angular/common";
9
+ // tslint:disable-next-line:component-class-suffix
10
+ export class DialogSelectDateTimeContent {
11
+ _activeModal;
12
+ _fb;
13
+ title = '';
14
+ date;
15
+ showTime = true;
16
+ close;
17
+ allElements;
18
+ form;
19
+ constructor(_activeModal, _fb) {
20
+ this._activeModal = _activeModal;
21
+ this._fb = _fb;
22
+ }
23
+ ngOnInit() {
24
+ if (!this.date) {
25
+ this.date = new Date();
26
+ }
27
+ this.form = this._fb.group({
28
+ time: [{ hour: this.date.getHours(), minute: this.date.getMinutes(), second: 0 }, [Validators.required]],
29
+ date: [{ year: this.date.getFullYear(), month: this.date.getMonth() + 1, day: this.date.getDate() }, [Validators.required]]
30
+ });
31
+ }
32
+ ngAfterViewInit() {
33
+ setTimeout(() => {
34
+ let foundElement = this.recursiveFindFirstElement(this.allElements.nativeElement);
35
+ if (foundElement) {
36
+ foundElement.focus();
37
+ }
38
+ else {
39
+ this.close.nativeElement.focus();
40
+ this.close.nativeElement.blur();
41
+ }
42
+ }, 100);
43
+ }
44
+ recursiveFindFirstElement(element) {
45
+ let foundElement = null;
46
+ let htmlCol = element.children;
47
+ for (let i = 0; i < Object.keys(htmlCol).length; i++) {
48
+ let key = Object.keys(htmlCol)[i];
49
+ let htmlElem = htmlCol[key];
50
+ if (htmlElem.children && htmlElem.children.length) {
51
+ foundElement = this.recursiveFindFirstElement(htmlElem);
52
+ }
53
+ else if (htmlElem.tagName === 'BUTTON' && htmlElem.classList.contains('close')) {
54
+ return null;
55
+ }
56
+ else if ((htmlElem.tagName === 'BUTTON' || htmlElem.tagName === 'INPUT' || htmlElem.tagName === 'SELECT' || htmlElem.tagName === 'TEXTAREA') && !htmlElem.hidden && !htmlElem.disabled) {
57
+ return htmlElem;
58
+ }
59
+ if (foundElement) {
60
+ break;
61
+ }
62
+ }
63
+ return foundElement;
64
+ }
65
+ submitForm() {
66
+ this._activeModal.close(new Date(this.form.value.date.year, parseInt(this.form.value.date.month) - 1, this.form.value.date.day, this.form.value.time.hour, this.form.value.time.minute, this.form.value.time.second, 0));
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogSelectDateTimeContent, deps: [{ token: i1.NgbActiveModal }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogSelectDateTimeContent, selector: "ng-component", inputs: { title: "title", date: "date", showTime: "showTime" }, viewQueries: [{ propertyName: "close", first: true, predicate: ["close"], descendants: true }, { propertyName: "allElements", first: true, predicate: ["allElements"], descendants: true }], ngImport: i0, template: `
70
+ <style>
71
+ table {
72
+ width: 100%;
73
+ table-layout: fixed;
74
+ }
75
+
76
+ tr {
77
+ width: 100%;
78
+ }
79
+
80
+ td {
81
+ width: 100%;
82
+ text-align: center;
83
+ }
84
+ </style>
85
+ <div #allElements>
86
+ <form [formGroup]="form" novalidate (ngSubmit)="submitForm()">
87
+ <div class="modal-header">
88
+ <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
89
+ <button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
90
+ <span aria-hidden="true">&times;</span>
91
+ </button>
92
+ </div>
93
+ <div class="modal-body">
94
+ <table>
95
+ <tr>
96
+ <td style="border: none;">
97
+ <div class="input-group">
98
+ <input class="form-control" placeholder="yyyy-mm-dd" name="dp" formControlName="date" ngbDatepicker [firstDayOfWeek]="7" #d="ngbDatepicker">
99
+ <div class="input-group-append" (click)="d.toggle()">
100
+ <div class="input-group-text">
101
+ <i class="fa fa-calendar" aria-hidden="true"></i>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </td>
106
+ <td *ngIf="showTime" style="border: none;">
107
+ <div class="offset-3">
108
+ <ngb-timepicker formControlName="time" meridian="ON"></ngb-timepicker>
109
+ </div>
110
+ </td>
111
+ </tr>
112
+ </table>
113
+ </div>
114
+ <div class="modal-footer">
115
+ <form-button [form]="form"></form-button>
116
+ <button type="button" class="btn btn-secondary" (click)="_activeModal.dismiss()">Cancel</button>
117
+ </div>
118
+ </form>
119
+ </div>
120
+ `, isInline: true, styles: ["\n\t\t \ttable {\n\t\t\t\twidth: 100%;\n\t\t\t\ttable-layout: fixed;\n\t\t\t}\n\n\t\t\ttr {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\ttd {\n\t\t\t\twidth: 100%;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i1.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }, { kind: "component", type: i3.FormButtonComponent, selector: "form-button", inputs: ["form", "disabled", "type"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogSelectDateTimeContent, decorators: [{
123
+ type: Component,
124
+ args: [{
125
+ template: `
126
+ <style>
127
+ table {
128
+ width: 100%;
129
+ table-layout: fixed;
130
+ }
131
+
132
+ tr {
133
+ width: 100%;
134
+ }
135
+
136
+ td {
137
+ width: 100%;
138
+ text-align: center;
139
+ }
140
+ </style>
141
+ <div #allElements>
142
+ <form [formGroup]="form" novalidate (ngSubmit)="submitForm()">
143
+ <div class="modal-header">
144
+ <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
145
+ <button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
146
+ <span aria-hidden="true">&times;</span>
147
+ </button>
148
+ </div>
149
+ <div class="modal-body">
150
+ <table>
151
+ <tr>
152
+ <td style="border: none;">
153
+ <div class="input-group">
154
+ <input class="form-control" placeholder="yyyy-mm-dd" name="dp" formControlName="date" ngbDatepicker [firstDayOfWeek]="7" #d="ngbDatepicker">
155
+ <div class="input-group-append" (click)="d.toggle()">
156
+ <div class="input-group-text">
157
+ <i class="fa fa-calendar" aria-hidden="true"></i>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ </td>
162
+ <td *ngIf="showTime" style="border: none;">
163
+ <div class="offset-3">
164
+ <ngb-timepicker formControlName="time" meridian="ON"></ngb-timepicker>
165
+ </div>
166
+ </td>
167
+ </tr>
168
+ </table>
169
+ </div>
170
+ <div class="modal-footer">
171
+ <form-button [form]="form"></form-button>
172
+ <button type="button" class="btn btn-secondary" (click)="_activeModal.dismiss()">Cancel</button>
173
+ </div>
174
+ </form>
175
+ </div>
176
+ `
177
+ }]
178
+ }], ctorParameters: function () { return [{ type: i1.NgbActiveModal }, { type: i2.FormBuilder }]; }, propDecorators: { title: [{
179
+ type: Input
180
+ }], date: [{
181
+ type: Input
182
+ }], showTime: [{
183
+ type: Input
184
+ }], close: [{
185
+ type: ViewChild,
186
+ args: ['close', { static: false }]
187
+ }], allElements: [{
188
+ type: ViewChild,
189
+ args: ['allElements', { static: false }]
190
+ }] } });
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlbGVjdC1kYXRldGltZS5jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3dpZGdldHMvZGlhbG9nL2RpYWxvZy5zZWxlY3QtZGF0ZXRpbWUuY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQWEsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUF3RHBFLGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8sMkJBQTJCO0lBVXBCO0lBQXNDO0lBVGhELEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLENBQU87SUFDWCxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRW1CLEtBQUssQ0FBQztJQUNBLFdBQVcsQ0FBQztJQUU5RCxJQUFJLENBQVk7SUFFaEIsWUFBbUIsWUFBNEIsRUFBVSxHQUFnQjtRQUF0RCxpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFhO0lBQUcsQ0FBQztJQUU3RSxRQUFRO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFB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QUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxTixDQUFDO3dHQS9EVywyQkFBMkI7NEZBQTNCLDJCQUEyQixpVEF0RDdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRFQ7OzRGQUdXLDJCQUEyQjtrQkF2RHZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRFQ7aUJBQ0Q7K0hBR1MsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVzQyxLQUFLO3NCQUFoRCxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ2UsV0FBVztzQkFBNUQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcblx0dGVtcGxhdGU6IGBcblx0ICBcdDxzdHlsZT5cblx0XHQgIFx0dGFibGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0XHRcdH1cblxuXHRcdFx0dHIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0dGQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdDwvc3R5bGU+XG5cdFx0PGRpdiAjYWxsRWxlbWVudHM+XG5cdFx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuXHRcdFx0XHRcdDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+PGkgY2xhc3M9XCJmYSBmYS1xdWVzdGlvbi1jaXJjbGVcIiBzdHlsZT1cImNvbG9yOiBibHVlOyBmb250LXNpemU6IDAuODVlbVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4ge3sgdGl0bGUgfX08L2g0PlxuXHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwiX2FjdGl2ZU1vZGFsLmRpc21pc3MoKVwiICNjbG9zZT5cblx0XHRcdFx0XHRcdDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG5cdFx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuXHRcdFx0XHRcdDx0YWJsZT5cblx0XHRcdFx0XHRcdDx0cj5cblx0XHRcdFx0XHRcdFx0PHRkIHN0eWxlPVwiYm9yZGVyOiBub25lO1wiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJ5eXl5LW1tLWRkXCIgbmFtZT1cImRwXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVwiIG5nYkRhdGVwaWNrZXIgW2ZpcnN0RGF5T2ZXZWVrXT1cIjdcIiAjZD1cIm5nYkRhdGVwaWNrZXJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIiAoY2xpY2spPVwiZC50b2dnbGUoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0XHRcdDx0ZCAqbmdJZj1cInNob3dUaW1lXCIgc3R5bGU9XCJib3JkZXI6IG5vbmU7XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm9mZnNldC0zXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8bmdiLXRpbWVwaWNrZXIgZm9ybUNvbnRyb2xOYW1lPVwidGltZVwiIG1lcmlkaWFuPVwiT05cIj48L25nYi10aW1lcGlja2VyPlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHQ8L3RhYmxlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuXHRcdFx0XHRcdDxmb3JtLWJ1dHRvbiBbZm9ybV09XCJmb3JtXCI+PC9mb3JtLWJ1dHRvbj5cblx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIl9hY3RpdmVNb2RhbC5kaXNtaXNzKClcIj5DYW5jZWw8L2J1dHRvbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Zvcm0+XG5cdFx0PC9kaXY+XG5cdGBcbn0pXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlbGVjdERhdGVUaW1lQ29udGVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cdEBJbnB1dCgpIHRpdGxlID0gJyc7XG5cdEBJbnB1dCgpIGRhdGU6IERhdGU7XG5cdEBJbnB1dCgpIHNob3dUaW1lID0gdHJ1ZTtcblxuXHRAVmlld0NoaWxkKCdjbG9zZScsIHtzdGF0aWM6IGZhbHNlfSkgcHVibGljIGNsb3NlO1xuXHRAVmlld0NoaWxkKCdhbGxFbGVtZW50cycsIHtzdGF0aWM6IGZhbHNlfSkgcHVibGljIGFsbEVsZW1lbnRzO1xuXG5cdGZvcm06IEZvcm1Hcm91cDtcblxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgX2FjdGl2ZU1vZGFsOiBOZ2JBY3RpdmVNb2RhbCwgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7fVxuXG5cdG5nT25Jbml0KCkge1x0XHRcdFxuXHRcdGlmICghdGhpcy5kYXRlKSB7XG5cdFx0XHR0aGlzLmRhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdH1cblxuXHRcdHRoaXMuZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcblx0XHRcdHRpbWU6IFt7aG91cjogdGhpcy5kYXRlLmdldEhvdXJzKCksIG1pbnV0ZTogdGhpcy5kYXRlLmdldE1pbnV0ZXMoKSwgc2Vjb25kOiAwfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcblx0XHRcdGRhdGU6IFt7eWVhcjogdGhpcy5kYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoOiB0aGlzLmRhdGUuZ2V0TW9udGgoKSArIDEsIGRheTogdGhpcy5kYXRlLmdldERhdGUoKX0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGxldCBmb3VuZEVsZW1lbnQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmRGaXJzdEVsZW1lbnQodGhpcy5hbGxFbGVtZW50cy5uYXRpdmVFbGVtZW50KTtcblx0XHRcdGlmIChmb3VuZEVsZW1lbnQpIHtcblx0XHRcdFx0Zm91bmRFbGVtZW50LmZvY3VzKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5jbG9zZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0XHRcdHRoaXMuY2xvc2UubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cdFx0XHR9XG5cdFx0fSwgMTAwKTtcblx0fVxuXG5cdHJlY3Vyc2l2ZUZpbmRGaXJzdEVsZW1lbnQoZWxlbWVudCkge1xuXHRcdGxldCBmb3VuZEVsZW1lbnQgPSBudWxsO1xuXHRcdGxldCBodG1sQ29sOiBIVE1MQ29sbGVjdGlvbiA9IGVsZW1lbnQuY2hpbGRyZW47XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhodG1sQ29sKS5sZW5ndGg7IGkrKykge1xuXHRcdFx0bGV0IGtleSA9IE9iamVjdC5rZXlzKGh0bWxDb2wpW2ldO1xuXG5cdFx0XHRsZXQgaHRtbEVsZW0gPSBodG1sQ29sW2tleV07XG5cdFx0XHRpZiAoaHRtbEVsZW0uY2hpbGRyZW4gJiYgaHRtbEVsZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG5cdFx0XHRcdGZvdW5kRWxlbWVudCA9IHRoaXMucmVjdXJzaXZlRmluZEZpcnN0RWxlbWVudChodG1sRWxlbSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmIChodG1sRWxlbS50YWdOYW1lID09PSAnQlVUVE9OJyAmJiBodG1sRWxlbS5jbGFzc0xpc3QuY29udGFpbnMoJ2Nsb3NlJykpIHtcblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICgoaHRtbEVsZW0udGFnTmFtZSA9PT0gJ0JVVFRPTicgfHwgaHRtbEVsZW0udGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCBodG1sRWxlbS50YWdOYW1lID09PSAnU0VMRUNUJyB8fCBodG1sRWxlbS50YWdOYW1lID09PSAnVEVYVEFSRUEnKSAmJiAhaHRtbEVsZW0uaGlkZGVuICYmICFodG1sRWxlbS5kaXNhYmxlZCkge1xuXHRcdFx0XHRyZXR1cm4gaHRtbEVsZW07XG5cdFx0XHR9XG5cblx0XHRcdGlmIChmb3VuZEVsZW1lbnQpIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZvdW5kRWxlbWVudDtcblx0fVxuXG5cdHN1Ym1pdEZvcm0oKSB7XG5cdFx0dGhpcy5fYWN0aXZlTW9kYWwuY2xvc2UobmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmRhdGUueWVhciwgcGFyc2VJbnQodGhpcy5mb3JtLnZhbHVlLmRhdGUubW9udGgpIC0gMSwgdGhpcy5mb3JtLnZhbHVlLmRhdGUuZGF5LCB0aGlzLmZvcm0udmFsdWUudGltZS5ob3VyLCB0aGlzLmZvcm0udmFsdWUudGltZS5taW51dGUsIHRoaXMuZm9ybS52YWx1ZS50aW1lLnNlY29uZCwgMCkpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,166 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
+ import { AccountManagerService } from '../../account-manager.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
6
+ import * as i2 from "../../account-manager.service";
7
+ import * as i3 from "@angular/common";
8
+ // tslint:disable-next-line:component-class-suffix
9
+ export class DialogSelectWithButtonsURLContent {
10
+ _activeModal;
11
+ _account;
12
+ url = '';
13
+ close;
14
+ allElements;
15
+ title = 'Select Window Type';
16
+ selectedType = '';
17
+ options = [
18
+ { value: 'same_tab', text: 'Same Tab' },
19
+ { value: 'new_tab', text: 'New Tab' },
20
+ { value: 'new_window', text: 'New Window' }
21
+ ];
22
+ constructor(_activeModal, _account) {
23
+ this._activeModal = _activeModal;
24
+ this._account = _account;
25
+ }
26
+ ngOnInit() {
27
+ if (this._account.getUser().settings.routing_preference && this._account.getUser().settings.routing_preference !== 'alwaysAsk') {
28
+ if (this._account.getUser().settings.routing_preference === 'sameTab') {
29
+ window.open(this.url, '_self');
30
+ }
31
+ if (this._account.getUser().settings.routing_preference === 'newTab') {
32
+ window.open(this.url, '_blank');
33
+ }
34
+ if (this._account.getUser().settings.routing_preference === 'newWindow') {
35
+ window.open(this.url, '_blank', 'toolbar=1,location=1,menubar=1');
36
+ }
37
+ this._activeModal.close();
38
+ }
39
+ }
40
+ ngAfterViewInit() {
41
+ setTimeout(() => {
42
+ let foundElement = this.recursiveFindFirstElement(this.allElements.nativeElement);
43
+ if (foundElement) {
44
+ foundElement.focus();
45
+ }
46
+ else {
47
+ this.close.nativeElement.focus();
48
+ this.close.nativeElement.blur();
49
+ }
50
+ }, 100);
51
+ }
52
+ recursiveFindFirstElement(element) {
53
+ let foundElement = null;
54
+ let htmlCol = element.children;
55
+ for (let i = 0; i < Object.keys(htmlCol).length; i++) {
56
+ let key = Object.keys(htmlCol)[i];
57
+ let htmlElem = htmlCol[key];
58
+ if (htmlElem.children && htmlElem.children.length) {
59
+ foundElement = this.recursiveFindFirstElement(htmlElem);
60
+ }
61
+ else if (htmlElem.tagName === 'BUTTON' && htmlElem.classList.contains('close')) {
62
+ return null;
63
+ }
64
+ else if ((htmlElem.tagName === 'BUTTON' || htmlElem.tagName === 'INPUT' || htmlElem.tagName === 'SELECT' || htmlElem.tagName === 'TEXTAREA') && !htmlElem.hidden && !htmlElem.disabled) {
65
+ return htmlElem;
66
+ }
67
+ if (foundElement) {
68
+ break;
69
+ }
70
+ }
71
+ return foundElement;
72
+ }
73
+ onSelectType(type) {
74
+ this.selectedType = type;
75
+ this.submit();
76
+ }
77
+ submit() {
78
+ if (this.selectedType === 'same_tab') {
79
+ window.open(this.url, '_self');
80
+ }
81
+ if (this.selectedType === 'new_tab') {
82
+ window.open(this.url, '_blank');
83
+ }
84
+ if (this.selectedType === 'new_window') {
85
+ window.open(this.url, '_blank', 'toolbar=1,location=1,menubar=1');
86
+ }
87
+ this._activeModal.close();
88
+ }
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogSelectWithButtonsURLContent, deps: [{ token: i1.NgbActiveModal }, { token: i2.AccountManagerService }], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialogSelectWithButtonsURLContent, selector: "ng-component", inputs: { url: "url" }, viewQueries: [{ propertyName: "close", first: true, predicate: ["close"], descendants: true }, { propertyName: "allElements", first: true, predicate: ["allElements"], descendants: true }], ngImport: i0, template: `
91
+ <style>
92
+ collapse-table tr:hover {
93
+ background-color: lightblue;
94
+ cursor: pointer;
95
+ }
96
+
97
+ .selected {
98
+ background-color: lightblue;
99
+ }
100
+
101
+ collapse-table {
102
+ width: 100%;
103
+ }
104
+ </style>
105
+ <div #allElements>
106
+ <div class="modal-header">
107
+ <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
108
+ <button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
109
+ <span aria-hidden="true">&times;</span>
110
+ </button>
111
+ </div>
112
+ <div class="modal-body">
113
+ <div class="row">
114
+ <div class="col" *ngFor="let option of options">
115
+ <button style="width: 100%" type="button" [ngClass]="['btn', selectedType === option.value ? 'btn-success' : 'btn-warning']" (click)="onSelectType(option.value)">{{option.text}}</button>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ `, isInline: true, styles: ["\n\t\t\tcollapse-table tr:hover {\n\t\t\t\tbackground-color: lightblue;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t.selected {\n\t\t\t\tbackground-color: lightblue;\n\t\t\t}\n\n\t\t\tcollapse-table {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogSelectWithButtonsURLContent, decorators: [{
123
+ type: Component,
124
+ args: [{
125
+ template: `
126
+ <style>
127
+ collapse-table tr:hover {
128
+ background-color: lightblue;
129
+ cursor: pointer;
130
+ }
131
+
132
+ .selected {
133
+ background-color: lightblue;
134
+ }
135
+
136
+ collapse-table {
137
+ width: 100%;
138
+ }
139
+ </style>
140
+ <div #allElements>
141
+ <div class="modal-header">
142
+ <h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
143
+ <button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
144
+ <span aria-hidden="true">&times;</span>
145
+ </button>
146
+ </div>
147
+ <div class="modal-body">
148
+ <div class="row">
149
+ <div class="col" *ngFor="let option of options">
150
+ <button style="width: 100%" type="button" [ngClass]="['btn', selectedType === option.value ? 'btn-success' : 'btn-warning']" (click)="onSelectType(option.value)">{{option.text}}</button>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ `
156
+ }]
157
+ }], ctorParameters: function () { return [{ type: i1.NgbActiveModal }, { type: i2.AccountManagerService }]; }, propDecorators: { url: [{
158
+ type: Input
159
+ }], close: [{
160
+ type: ViewChild,
161
+ args: ['close', { static: false }]
162
+ }], allElements: [{
163
+ type: ViewChild,
164
+ args: ['allElements', { static: false }]
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlbGVjdC13aXRoLWJ1dHRvbnMtdXJsLmNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kaWFsb2cvZGlhbG9nLnNlbGVjdC13aXRoLWJ1dHRvbnMtdXJsLmNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBbUN0RSxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLGlDQUFpQztJQWdCMUI7SUFBc0M7SUFkaEQsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUUyQixLQUFLLENBQUM7SUFDRCxXQUFXLENBQUM7SUFFOUQsS0FBSyxHQUFHLG9CQUFvQixDQUFDO0lBQzdCLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFbEIsT0FBTyxHQUFHO1FBQ1QsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUM7UUFDckMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7UUFDbkMsRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7S0FDekMsQ0FBQztJQUVGLFlBQW1CLFlBQTRCLEVBQVUsUUFBK0I7UUFBckUsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBdUI7SUFBRyxDQUFDO0lBRTVGLFFBQVE7UUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FB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Q0FBQztJQUNmLENBQUM7SUFFRCxNQUFNO1FBRUwsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTtZQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDL0I7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNoQztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLEVBQUU7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO3dHQS9GVyxpQ0FBaUM7NEZBQWpDLGlDQUFpQyx5UUFqQ25DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE4QlQ7OzRGQUdXLGlDQUFpQztrQkFsQzdDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE4QlQ7aUJBQ0Q7eUlBSVMsR0FBRztzQkFBWCxLQUFLO2dCQUV1QyxLQUFLO3NCQUFqRCxTQUFTO3VCQUFFLE9BQU8sRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ2MsV0FBVztzQkFBNUQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBBY2NvdW50TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9hY2NvdW50LW1hbmFnZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuXHR0ZW1wbGF0ZTogYFxuXHRcdDxzdHlsZT5cblx0XHRcdGNvbGxhcHNlLXRhYmxlIHRyOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5zZWxlY3RlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTtcblx0XHRcdH1cblxuXHRcdFx0Y29sbGFwc2UtdGFibGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHQ8L3N0eWxlPlxuXHRcdDxkaXYgI2FsbEVsZW1lbnRzPlxuXHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuXHRcdFx0XHQ8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPjxpIGNsYXNzPVwiZmEgZmEtcXVlc3Rpb24tY2lyY2xlXCIgc3R5bGU9XCJjb2xvcjogYmx1ZTsgZm9udC1zaXplOiAwLjg1ZW1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHt7IHRpdGxlIH19PC9oND5cblx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJfYWN0aXZlTW9kYWwuZGlzbWlzcygpXCIgI2Nsb3NlPlxuXHRcdFx0XHRcdDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG5cdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0PC9kaXY+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbFwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxuXHRcdFx0XHRcdFx0PGJ1dHRvbiBzdHlsZT1cIndpZHRoOiAxMDAlXCIgdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlID09PSBvcHRpb24udmFsdWUgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwib25TZWxlY3RUeXBlKG9wdGlvbi52YWx1ZSlcIj57e29wdGlvbi50ZXh0fX08L2J1dHRvbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0YFxufSlcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgRGlhbG9nU2VsZWN0V2l0aEJ1dHRvbnNVUkxDb250ZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcblxuXHRASW5wdXQoKSB1cmwgPSAnJztcblxuXHRAVmlld0NoaWxkICgnY2xvc2UnLCB7c3RhdGljOiBmYWxzZX0pIHB1YmxpYyBjbG9zZTtcblx0QFZpZXdDaGlsZCgnYWxsRWxlbWVudHMnLCB7c3RhdGljOiBmYWxzZX0pIHB1YmxpYyBhbGxFbGVtZW50cztcblxuXHR0aXRsZSA9ICdTZWxlY3QgV2luZG93IFR5cGUnO1xuXHRzZWxlY3RlZFR5cGUgPSAnJztcblxuXHRvcHRpb25zID0gW1x0XG5cdFx0e3ZhbHVlOiAnc2FtZV90YWInLCB0ZXh0OiAnU2FtZSBUYWInfSxcblx0XHR7dmFsdWU6ICduZXdfdGFiJywgdGV4dDogJ05ldyBUYWInfSxcblx0XHR7dmFsdWU6ICduZXdfd2luZG93JywgdGV4dDogJ05ldyBXaW5kb3cnfVxuXHRdO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBfYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsLCBwcml2YXRlIF9hY2NvdW50OiBBY2NvdW50TWFuYWdlclNlcnZpY2UpIHt9XG5cblx0bmdPbkluaXQoKSB7XHRcblx0XHRpZiAodGhpcy5fYWNjb3VudC5nZXRVc2VyKCkuc2V0dGluZ3Mucm91dGluZ19wcmVmZXJlbmNlICYmIHRoaXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzLnJvdXRpbmdfcHJlZmVyZW5jZSAhPT0gJ2Fsd2F5c0FzaycpIHtcblx0XHRcdGlmICh0aGlzLl9hY2NvdW50LmdldFVzZXIoKS5zZXR0aW5ncy5yb3V0aW5nX3ByZWZlcmVuY2UgPT09ICdzYW1lVGFiJykge1xuXHRcdFx0XHR3aW5kb3cub3Blbih0aGlzLnVybCwgJ19zZWxmJyk7XG5cdFx0XHR9XG5cdFxuXHRcdFx0aWYgKHRoaXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzLnJvdXRpbmdfcHJlZmVyZW5jZSA9PT0gJ25ld1RhYicpIHtcblx0XHRcdFx0d2luZG93Lm9wZW4odGhpcy51cmwsICdfYmxhbmsnKTtcblx0XHRcdH1cblx0XG5cdFx0XHRpZiAodGhpcy5fYWNjb3VudC5nZXRVc2VyKCkuc2V0dGluZ3Mucm91dGluZ19wcmVmZXJlbmNlID09PSAnbmV3V2luZG93Jykge1xuXHRcdFx0XHR3aW5kb3cub3Blbih0aGlzLnVybCwgJ19ibGFuaycsICd0b29sYmFyPTEsbG9jYXRpb249MSxtZW51YmFyPTEnKTtcblx0XHRcdH1cblx0XG5cdFx0XHR0aGlzLl9hY3RpdmVNb2RhbC5jbG9zZSgpO1xuXHRcdH1cblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdGxldCBmb3VuZEVsZW1lbnQgPSB0aGlzLnJlY3Vyc2l2ZUZpbmRGaXJzdEVsZW1lbnQodGhpcy5hbGxFbGVtZW50cy5uYXRpdmVFbGVtZW50KTtcblx0XHRcdGlmIChmb3VuZEVsZW1lbnQpIHtcblx0XHRcdFx0Zm91bmRFbGVtZW50LmZvY3VzKCk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5jbG9zZS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdFx0XHRcdHRoaXMuY2xvc2UubmF0aXZlRWxlbWVudC5ibHVyKCk7XG5cdFx0XHR9XG5cdFx0fSwgMTAwKTtcblx0fVxuXG5cdHJlY3Vyc2l2ZUZpbmRGaXJzdEVsZW1lbnQoZWxlbWVudCkge1xuXHRcdGxldCBmb3VuZEVsZW1lbnQgPSBudWxsO1xuXHRcdGxldCBodG1sQ29sOiBIVE1MQ29sbGVjdGlvbiA9IGVsZW1lbnQuY2hpbGRyZW47XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhodG1sQ29sKS5sZW5ndGg7IGkrKykge1xuXHRcdFx0bGV0IGtleSA9IE9iamVjdC5rZXlzKGh0bWxDb2wpW2ldO1xuXG5cdFx0XHRsZXQgaHRtbEVsZW0gPSBodG1sQ29sW2tleV07XG5cdFx0XHRpZiAoaHRtbEVsZW0uY2hpbGRyZW4gJiYgaHRtbEVsZW0uY2hpbGRyZW4ubGVuZ3RoKSB7XG5cdFx0XHRcdGZvdW5kRWxlbWVudCA9IHRoaXMucmVjdXJzaXZlRmluZEZpcnN0RWxlbWVudChodG1sRWxlbSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmIChodG1sRWxlbS50YWdOYW1lID09PSAnQlVUVE9OJyAmJiBodG1sRWxlbS5jbGFzc0xpc3QuY29udGFpbnMoJ2Nsb3NlJykpIHtcblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIGlmICgoaHRtbEVsZW0udGFnTmFtZSA9PT0gJ0JVVFRPTicgfHwgaHRtbEVsZW0udGFnTmFtZSA9PT0gJ0lOUFVUJyB8fCBodG1sRWxlbS50YWdOYW1lID09PSAnU0VMRUNUJyB8fCBodG1sRWxlbS50YWdOYW1lID09PSAnVEVYVEFSRUEnKSAmJiAhaHRtbEVsZW0uaGlkZGVuICYmICFodG1sRWxlbS5kaXNhYmxlZCkge1xuXHRcdFx0XHRyZXR1cm4gaHRtbEVsZW07XG5cdFx0XHR9XG5cblx0XHRcdGlmIChmb3VuZEVsZW1lbnQpIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZvdW5kRWxlbWVudDtcblx0fVxuXG5cdG9uU2VsZWN0VHlwZSh0eXBlKSB7XG5cdFx0dGhpcy5zZWxlY3RlZFR5cGUgPSB0eXBlO1xuXG5cdFx0dGhpcy5zdWJtaXQoKTtcblx0fVxuXG5cdHN1Ym1pdCgpIHtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZSA9PT0gJ3NhbWVfdGFiJykge1xuXHRcdFx0d2luZG93Lm9wZW4odGhpcy51cmwsICdfc2VsZicpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZSA9PT0gJ25ld190YWInKSB7XG5cdFx0XHR3aW5kb3cub3Blbih0aGlzLnVybCwgJ19ibGFuaycpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZSA9PT0gJ25ld193aW5kb3cnKSB7XG5cdFx0XHR3aW5kb3cub3Blbih0aGlzLnVybCwgJ19ibGFuaycsICd0b29sYmFyPTEsbG9jYXRpb249MSxtZW51YmFyPTEnKTtcblx0XHR9XG5cblx0XHR0aGlzLl9hY3RpdmVNb2RhbC5jbG9zZSgpO1xuXHR9XG59XG4iXX0=
@@ -0,0 +1,98 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
3
+ import { DialogNotifyContent } from './dialog.notify.content';
4
+ import { DialogInputContent } from './dialog.input.content';
5
+ import { DialogErrorContent } from './dialog.error.content';
6
+ import { DialogConfirmContent } from './dialog.confirm.content';
7
+ import { DialogSelectDateTimeContent } from './dialog.select-datetime.content';
8
+ import { DialogSelectDataLabelsContent } from './dialog.select-data-labels.content';
9
+ import { DialogLoginContent } from './dialog.login.content';
10
+ import { DialogRegisterContent } from './dialog.register.content';
11
+ import { DialogSelectWithButtonsURLContent } from './dialog.select-with-buttons-url.content';
12
+ import { DialogSelectArrayObjsContent } from './dialog.select-array-objs.content';
13
+ import { DialogSelectArrayContent } from './dialog.select-array.content';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
16
+ export class DialogService {
17
+ modalService;
18
+ constructor(modalService) {
19
+ this.modalService = modalService;
20
+ }
21
+ openDialog(content, options = { size: 'lg', backdrop: 'static' }) {
22
+ return this.modalService.open(content, options);
23
+ }
24
+ notify(msg) {
25
+ const modalRef = this.openDialog(DialogNotifyContent);
26
+ modalRef.componentInstance.title = 'Notify';
27
+ modalRef.componentInstance.body = msg;
28
+ }
29
+ input(title, inputFields) {
30
+ const modalRef = this.openDialog(DialogInputContent);
31
+ modalRef.componentInstance.title = title;
32
+ modalRef.componentInstance.inputFields = inputFields;
33
+ return modalRef.result;
34
+ }
35
+ error(msg) {
36
+ const modalRef = this.openDialog(DialogErrorContent);
37
+ modalRef.componentInstance.title = 'Error';
38
+ modalRef.componentInstance.body = msg;
39
+ }
40
+ confirm(msg, html) {
41
+ const modalRef = this.openDialog(DialogConfirmContent);
42
+ modalRef.componentInstance.title = 'Confirm';
43
+ modalRef.componentInstance.body = msg;
44
+ modalRef.componentInstance.html = html;
45
+ return modalRef.result;
46
+ }
47
+ selectDateTime(date, showTime = true) {
48
+ const modalRef = this.openDialog(DialogSelectDateTimeContent);
49
+ modalRef.componentInstance.title = 'Select Date' + (showTime ? ' and Time' : '');
50
+ modalRef.componentInstance.date = date;
51
+ modalRef.componentInstance.showTime = showTime;
52
+ return modalRef.result;
53
+ }
54
+ selectDataLabel(data, showArraySubData = true) {
55
+ const modalRef = this.openDialog(DialogSelectDataLabelsContent, { size: 'sm', backdrop: 'static' });
56
+ modalRef.componentInstance.title = 'Select Data Labels';
57
+ modalRef.componentInstance.data = data;
58
+ modalRef.componentInstance.showArraySubData = showArraySubData;
59
+ return modalRef.result;
60
+ }
61
+ login(msAllowed, showLoginText = true) {
62
+ const modalRef = this.openDialog(DialogLoginContent);
63
+ modalRef.componentInstance.msAllowed = msAllowed;
64
+ modalRef.componentInstance.showLoginText = showLoginText;
65
+ return modalRef.result;
66
+ }
67
+ register() {
68
+ const modalRef = this.openDialog(DialogRegisterContent);
69
+ return modalRef.result;
70
+ }
71
+ selectWithButtonsURL(url) {
72
+ const modalRef = this.openDialog(DialogSelectWithButtonsURLContent);
73
+ modalRef.componentInstance.url = url;
74
+ return modalRef.result;
75
+ }
76
+ selectWithArrayObjs(title, objects, multiple = false, allowNone = false) {
77
+ const modalRef = this.openDialog(DialogSelectArrayObjsContent);
78
+ modalRef.componentInstance.title = title;
79
+ modalRef.componentInstance.objects = objects;
80
+ modalRef.componentInstance.multiple = multiple;
81
+ modalRef.componentInstance.allowNone = allowNone;
82
+ return modalRef.result;
83
+ }
84
+ selectArray(title, array, multiple = false, selectedIndexes = []) {
85
+ const modalRef = this.openDialog(DialogSelectArrayContent);
86
+ modalRef.componentInstance.title = title;
87
+ modalRef.componentInstance.array = array;
88
+ modalRef.componentInstance.multiple = multiple;
89
+ modalRef.componentInstance.selectedIndexes = selectedIndexes;
90
+ return modalRef.result;
91
+ }
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, deps: [{ token: i1.NgbModal }], target: i0.ɵɵFactoryTarget.Injectable });
93
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, decorators: [{
96
+ type: Injectable
97
+ }], ctorParameters: function () { return [{ type: i1.NgbModal }]; } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvd2lkZ2V0cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFtQixNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFHekUsTUFBTSxPQUFPLGFBQWE7SUFFTDtJQUFwQixZQUFvQixZQUFzQjtRQUF0QixpQkFBWSxHQUFaLFlBQVksQ0FBVTtJQUFJLENBQUM7SUFFL0MsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUEyQixFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEs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QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN6QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMvQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUM3RCxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDeEIsQ0FBQzt3R0FyRlcsYUFBYTs0R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiTW9kYWwsIE5nYk1vZGFsT3B0aW9ucyB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IERpYWxvZ05vdGlmeUNvbnRlbnQgfSBmcm9tICcuL2RpYWxvZy5ub3RpZnkuY29udGVudCc7XG5pbXBvcnQgeyBEaWFsb2dJbnB1dENvbnRlbnQgfSBmcm9tICcuL2RpYWxvZy5pbnB1dC5jb250ZW50JztcbmltcG9ydCB7IERpYWxvZ0Vycm9yQ29udGVudCB9IGZyb20gJy4vZGlhbG9nLmVycm9yLmNvbnRlbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29uZmlybUNvbnRlbnQgfSBmcm9tICcuL2RpYWxvZy5jb25maXJtLmNvbnRlbnQnO1xuaW1wb3J0IHsgRGlhbG9nU2VsZWN0RGF0ZVRpbWVDb250ZW50IH0gZnJvbSAnLi9kaWFsb2cuc2VsZWN0LWRhdGV0aW1lLmNvbnRlbnQnO1xuaW1wb3J0IHsgRGlhbG9nSW5wdXRGaWVsZE1vZGVsLCBEaWFsb2dTZWxlY3RXaXRoQnV0dG9uc09wdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RpYWxvZy5tb2RlbCc7XG5pbXBvcnQgeyBEaWFsb2dTZWxlY3REYXRhTGFiZWxzQ29udGVudCB9IGZyb20gJy4vZGlhbG9nLnNlbGVjdC1kYXRhLWxhYmVscy5jb250ZW50JztcbmltcG9ydCB7IERpYWxvZ0xvZ2luQ29udGVudCB9IGZyb20gJy4vZGlhbG9nLmxvZ2luLmNvbnRlbnQnO1xuaW1wb3J0IHsgRGlhbG9nUmVnaXN0ZXJDb250ZW50IH0gZnJvbSAnLi9kaWFsb2cucmVnaXN0ZXIuY29udGVudCc7XG5pbXBvcnQgeyBEaWFsb2dTZWxlY3RXaXRoQnV0dG9uc1VSTENvbnRlbnQgfSBmcm9tICcuL2RpYWxvZy5zZWxlY3Qtd2l0aC1idXR0b25zLXVybC5jb250ZW50JztcbmltcG9ydCB7IERpYWxvZ1NlbGVjdEFycmF5T2Jqc0NvbnRlbnQgfSBmcm9tICcuL2RpYWxvZy5zZWxlY3QtYXJyYXktb2Jqcy5jb250ZW50JztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLm1vZGVsJztcbmltcG9ydCB7IERpYWxvZ1NlbGVjdEFycmF5Q29udGVudCB9IGZyb20gJy4vZGlhbG9nLnNlbGVjdC1hcnJheS5jb250ZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCkgeyB9XG5cblx0b3BlbkRpYWxvZyhjb250ZW50LCBvcHRpb25zOiBOZ2JNb2RhbE9wdGlvbnMgPSB7c2l6ZTogJ2xnJywgYmFja2Ryb3A6ICdzdGF0aWMnfSkge1xuXHRcdHJldHVybiB0aGlzLm1vZGFsU2VydmljZS5vcGVuKGNvbnRlbnQsIG9wdGlvbnMpO1xuXHR9XG5cblx0bm90aWZ5KG1zZzogc3RyaW5nKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nTm90aWZ5Q29udGVudCk7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSAnTm90aWZ5Jztcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5ib2R5ID0gbXNnO1xuXHR9XG5cblx0aW5wdXQodGl0bGU6IHN0cmluZywgaW5wdXRGaWVsZHM6IERpYWxvZ0lucHV0RmllbGRNb2RlbFtdKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nSW5wdXRDb250ZW50KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IHRpdGxlO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmlucHV0RmllbGRzID0gaW5wdXRGaWVsZHM7XG5cdFx0cmV0dXJuIG1vZGFsUmVmLnJlc3VsdDtcblx0fVxuXG5cdGVycm9yKG1zZzogc3RyaW5nKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nRXJyb3JDb250ZW50KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9ICdFcnJvcic7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYm9keSA9IG1zZztcblx0fVxuXG5cdGNvbmZpcm0obXNnOiBzdHJpbmcsIGh0bWw/OiBzdHJpbmcpIHtcblx0XHRjb25zdCBtb2RhbFJlZiA9IHRoaXMub3BlbkRpYWxvZyhEaWFsb2dDb25maXJtQ29udGVudCk7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSAnQ29uZmlybSc7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYm9keSA9IG1zZztcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5odG1sID0gaHRtbDtcblx0XHRyZXR1cm4gbW9kYWxSZWYucmVzdWx0O1xuXHR9XG5cblx0c2VsZWN0RGF0ZVRpbWUoZGF0ZTogRGF0ZSwgc2hvd1RpbWUgPSB0cnVlKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nU2VsZWN0RGF0ZVRpbWVDb250ZW50KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9ICdTZWxlY3QgRGF0ZScgKyAoc2hvd1RpbWUgPyAnIGFuZCBUaW1lJyA6ICcnKTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5kYXRlID0gZGF0ZTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5zaG93VGltZSA9IHNob3dUaW1lO1xuXHRcdHJldHVybiBtb2RhbFJlZi5yZXN1bHQ7XG5cdH1cblx0XG5cdHNlbGVjdERhdGFMYWJlbChkYXRhOiBhbnksIHNob3dBcnJheVN1YkRhdGEgPSB0cnVlKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nU2VsZWN0RGF0YUxhYmVsc0NvbnRlbnQsIHtzaXplOiAnc20nLCBiYWNrZHJvcDogJ3N0YXRpYyd9KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9ICdTZWxlY3QgRGF0YSBMYWJlbHMnO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmRhdGEgPSBkYXRhO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNob3dBcnJheVN1YkRhdGEgPSBzaG93QXJyYXlTdWJEYXRhO1xuXHRcdHJldHVybiBtb2RhbFJlZi5yZXN1bHQ7XG5cdH1cblxuXHRsb2dpbihtc0FsbG93ZWQ6IGJvb2xlYW4sIHNob3dMb2dpblRleHQgPSB0cnVlKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nTG9naW5Db250ZW50KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5tc0FsbG93ZWQgPSBtc0FsbG93ZWQ7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uuc2hvd0xvZ2luVGV4dCA9IHNob3dMb2dpblRleHQ7XG5cdFx0cmV0dXJuIG1vZGFsUmVmLnJlc3VsdDtcblx0fVxuXG5cdHJlZ2lzdGVyKCkge1xuXHRcdGNvbnN0IG1vZGFsUmVmID0gdGhpcy5vcGVuRGlhbG9nKERpYWxvZ1JlZ2lzdGVyQ29udGVudCk7XG5cdFx0cmV0dXJuIG1vZGFsUmVmLnJlc3VsdDtcblx0fVxuXG5cdHNlbGVjdFdpdGhCdXR0b25zVVJMKHVybDogc3RyaW5nKSB7XG5cdFx0Y29uc3QgbW9kYWxSZWYgPSB0aGlzLm9wZW5EaWFsb2coRGlhbG9nU2VsZWN0V2l0aEJ1dHRvbnNVUkxDb250ZW50KTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS51cmwgPSB1cmw7XG5cdFx0cmV0dXJuIG1vZGFsUmVmLnJlc3VsdDtcblx0fVxuXG5cdHNlbGVjdFdpdGhBcnJheU9ianModGl0bGU6IHN0cmluZywgb2JqZWN0czogRGlhbG9nU2VsZWN0V2l0aEJ1dHRvbnNPcHRpb25Nb2RlbFtdLCBtdWx0aXBsZSA9IGZhbHNlLCBhbGxvd05vbmUgPSBmYWxzZSkge1xuXHRcdGNvbnN0IG1vZGFsUmVmID0gdGhpcy5vcGVuRGlhbG9nKERpYWxvZ1NlbGVjdEFycmF5T2Jqc0NvbnRlbnQpO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnRpdGxlID0gdGl0bGU7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2Uub2JqZWN0cyA9IG9iamVjdHM7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubXVsdGlwbGUgPSBtdWx0aXBsZTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5hbGxvd05vbmUgPSBhbGxvd05vbmU7XG5cdFx0cmV0dXJuIG1vZGFsUmVmLnJlc3VsdDtcblx0fVxuXG5cdHNlbGVjdEFycmF5KHRpdGxlOiBzdHJpbmcsIGFycmF5OiBhbnlbXSwgbXVsdGlwbGUgPSBmYWxzZSwgc2VsZWN0ZWRJbmRleGVzID0gW10pIHtcblx0XHRjb25zdCBtb2RhbFJlZiA9IHRoaXMub3BlbkRpYWxvZyhEaWFsb2dTZWxlY3RBcnJheUNvbnRlbnQpO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnRpdGxlID0gdGl0bGU7XG5cdFx0bW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuYXJyYXkgPSBhcnJheTtcblx0XHRtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5tdWx0aXBsZSA9IG11bHRpcGxlO1xuXHRcdG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNlbGVjdGVkSW5kZXhlcyA9IHNlbGVjdGVkSW5kZXhlcztcblx0XHRyZXR1cm4gbW9kYWxSZWYucmVzdWx0O1xuXHR9XG59Il19