bpm-core 0.0.105 → 0.0.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/bpm-core.mjs +249 -257
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +1 -1
- package/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/shared-imports.d.ts +2 -2
- package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +1 -1
- package/lib/components/shared-components/title-section/title-section.component.d.ts +1 -1
- package/lib/pipes/currency.pipe.d.ts +1 -1
- package/lib/pipes/format-as-password.pipe.d.ts +1 -1
- package/lib/validators/string-to-boolean.pipe.d.ts +1 -1
- package/lib/validators/text.directive.d.ts +1 -1
- package/lib/validators/timer.pipe.d.ts +1 -1
- package/package.json +2 -4
- package/esm2022/bpm-core.mjs +0 -5
- package/esm2022/lib/app/app.component.mjs +0 -79
- package/esm2022/lib/classes/form-validation.mjs +0 -80
- package/esm2022/lib/classes/index.mjs +0 -2
- package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +0 -44
- package/esm2022/lib/components/app-component-sections/approvals/approvals.component.mjs +0 -23
- package/esm2022/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.mjs +0 -113
- package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +0 -25
- package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +0 -27
- package/esm2022/lib/components/app-component-sections/faqs/index.mjs +0 -2
- package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +0 -237
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +0 -255
- package/esm2022/lib/components/app-component-sections/index.mjs +0 -9
- package/esm2022/lib/components/app-component-sections/layout/header/header.component.mjs +0 -79
- package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +0 -89
- package/esm2022/lib/components/app-component-sections/layout/side-nav/side-nav.component.mjs +0 -158
- package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +0 -34
- package/esm2022/lib/components/app-component-sections/previous-requests/previous-requests.component.mjs +0 -345
- package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +0 -45
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +0 -271
- package/esm2022/lib/components/app-component-sections/status/status.component.mjs +0 -38
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +0 -164
- package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +0 -138
- package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -30
- package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +0 -29
- package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +0 -67
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +0 -138
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +0 -234
- package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +0 -198
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +0 -91
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +0 -185
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +0 -131
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +0 -31
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +0 -175
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +0 -186
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +0 -525
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +0 -33
- package/esm2022/lib/components/shared-components/form-field/index.mjs +0 -26
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +0 -76
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +0 -71
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +0 -3
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +0 -2
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +0 -73
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +0 -69
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +0 -61
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +0 -74
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +0 -85
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +0 -52
- package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +0 -32
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +0 -192
- package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +0 -191
- package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +0 -36
- package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +0 -116
- package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +0 -39
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +0 -57
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +0 -90
- package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +0 -43
- package/esm2022/lib/components/shared-components/index.mjs +0 -9
- package/esm2022/lib/components/shared-components/table/table.component.mjs +0 -243
- package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +0 -31
- package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +0 -31
- package/esm2022/lib/constants/constants.mjs +0 -149
- package/esm2022/lib/constants/index.mjs +0 -2
- package/esm2022/lib/directives/ar.directive.mjs +0 -54
- package/esm2022/lib/directives/currency.directive.mjs +0 -92
- package/esm2022/lib/directives/en.directive.mjs +0 -51
- package/esm2022/lib/directives/number.directive.mjs +0 -68
- package/esm2022/lib/directives/skip-location.directive.mjs +0 -28
- package/esm2022/lib/enums/actions.enum.mjs +0 -22
- package/esm2022/lib/enums/colors.enum.mjs +0 -6
- package/esm2022/lib/enums/events.enum.mjs +0 -6
- package/esm2022/lib/functions/data-to-blob.mjs +0 -12
- package/esm2022/lib/functions/encode-password.mjs +0 -14
- package/esm2022/lib/functions/handel-error-response.mjs +0 -12
- package/esm2022/lib/functions/index.mjs +0 -5
- package/esm2022/lib/functions/is-valid-data.mjs +0 -42
- package/esm2022/lib/helpers/shared.helper.mjs +0 -26
- package/esm2022/lib/hooks/index.mjs +0 -3
- package/esm2022/lib/hooks/load-form.mjs +0 -13
- package/esm2022/lib/hooks/save-form.mjs +0 -18
- package/esm2022/lib/i18n/ar.mjs +0 -200
- package/esm2022/lib/i18n/en.mjs +0 -204
- package/esm2022/lib/i18n/index.mjs +0 -3
- package/esm2022/lib/interfaces/action.interface.mjs +0 -2
- package/esm2022/lib/interfaces/api-response.interface.mjs +0 -2
- package/esm2022/lib/interfaces/document-file.interface.mjs +0 -2
- package/esm2022/lib/interfaces/form-items.interface.mjs +0 -2
- package/esm2022/lib/interfaces/form.interface.mjs +0 -150
- package/esm2022/lib/interfaces/igate-user.interface.mjs +0 -2
- package/esm2022/lib/interfaces/index.mjs +0 -8
- package/esm2022/lib/interfaces/lov-list.interface.mjs +0 -2
- package/esm2022/lib/interfaces/lov.interface.mjs +0 -2
- package/esm2022/lib/interfaces/shared.interface.mjs +0 -2
- package/esm2022/lib/pipes/currency.pipe.mjs +0 -66
- package/esm2022/lib/pipes/format-as-password.pipe.mjs +0 -19
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/status-style.pipe.mjs +0 -57
- package/esm2022/lib/pipes/translate.pipe.mjs +0 -36
- package/esm2022/lib/regex/index.mjs +0 -2
- package/esm2022/lib/regex/regex-patterns.mjs +0 -4
- package/esm2022/lib/services/action.service.ts.mjs +0 -25
- package/esm2022/lib/services/core.service.ts.mjs +0 -527
- package/esm2022/lib/services/feedBack.service.mjs +0 -81
- package/esm2022/lib/services/i18n.service.mjs +0 -36
- package/esm2022/lib/services/index.mjs +0 -6
- package/esm2022/lib/services/sidenav.service.mjs +0 -36
- package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +0 -8
- package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +0 -90
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +0 -482
- package/esm2022/lib/testComponent/services/i18n.service.mjs +0 -39
- package/esm2022/lib/testComponent/services/segment-dynamic-loader.service.mjs +0 -54
- package/esm2022/lib/validators/id.validator.mjs +0 -66
- package/esm2022/lib/validators/index.mjs +0 -8
- package/esm2022/lib/validators/string-to-boolean.pipe.mjs +0 -16
- package/esm2022/lib/validators/text.directive.mjs +0 -50
- package/esm2022/lib/validators/timer.pipe.mjs +0 -19
- package/esm2022/public-api.mjs +0 -19
package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs
DELETED
|
@@ -1,482 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, Input, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { NgClass } from "@angular/common";
|
|
3
|
-
import { ActionButtonsComponent, AttachmentSectionComponent, CheckBoxComponent, CustomSearchableComponent, DatePickerComponent, DateRangePickerComponent, InputComponent, InputCurrencyComponent, InputEmailComponent, InputNumberComponent, InputTelephoneComponent, RadioComponent, SearchEmployeeComponent, TextareaComponent } from '../../components/shared-components';
|
|
4
|
-
import { ToggleButtonComponent } from "../../components/shared-components";
|
|
5
|
-
import { TableComponent } from '../../components/shared-components/table/table.component';
|
|
6
|
-
import { ReactiveFormsModule, Validators, FormControl } from "@angular/forms";
|
|
7
|
-
import { DocsUploaderComponent } from "../../components/shared-components";
|
|
8
|
-
import { TranslatePipe } from '../../pipes/translate.pipe';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../../services";
|
|
11
|
-
import * as i2 from "@angular/forms";
|
|
12
|
-
// import { TranslatePipe } from '../../pipes/translate.pipe';
|
|
13
|
-
export class RequestDetailsSectionComponent {
|
|
14
|
-
i18n;
|
|
15
|
-
fb;
|
|
16
|
-
actionStateService;
|
|
17
|
-
isReadOnly;
|
|
18
|
-
section;
|
|
19
|
-
form;
|
|
20
|
-
lov;
|
|
21
|
-
isLoading = false;
|
|
22
|
-
className = "info-section";
|
|
23
|
-
formGroup;
|
|
24
|
-
options = ['Option 1', 'Option 2', 'Option 3'];
|
|
25
|
-
DEFAULT_PAGE_SIZE = 10;
|
|
26
|
-
DEFAULT_PAGE_NUMBER = 0;
|
|
27
|
-
pageNumber = this.DEFAULT_PAGE_NUMBER;
|
|
28
|
-
pageSize = this.DEFAULT_PAGE_SIZE;
|
|
29
|
-
columnsConfig = [];
|
|
30
|
-
columns = [];
|
|
31
|
-
destroyRef = inject(DestroyRef);
|
|
32
|
-
requiredSearchable;
|
|
33
|
-
isError = false;
|
|
34
|
-
categoryData = [
|
|
35
|
-
{
|
|
36
|
-
"assetDeviceType": null,
|
|
37
|
-
"brand": "Benq",
|
|
38
|
-
"colors": null,
|
|
39
|
-
"assetCompanies": null,
|
|
40
|
-
"descAr": null,
|
|
41
|
-
"descEn": null,
|
|
42
|
-
"estoreVisible": false,
|
|
43
|
-
"id": "402",
|
|
44
|
-
"model": "B400",
|
|
45
|
-
"files": null,
|
|
46
|
-
"vendors": [
|
|
47
|
-
{
|
|
48
|
-
"id": 71,
|
|
49
|
-
"vendorName": null,
|
|
50
|
-
"vendorNumber": "26",
|
|
51
|
-
"__typename": "VendorDto"
|
|
52
|
-
}
|
|
53
|
-
],
|
|
54
|
-
"category": null,
|
|
55
|
-
"assetType": "Scanner",
|
|
56
|
-
"classifications": null,
|
|
57
|
-
"consumedCount": 0,
|
|
58
|
-
"consumedPercentage": 0,
|
|
59
|
-
"specs": [
|
|
60
|
-
"4GB"
|
|
61
|
-
],
|
|
62
|
-
"sumQuantity": 1,
|
|
63
|
-
"__typename": "AllAssetsDto"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"assetDeviceType": null,
|
|
67
|
-
"brand": "HP",
|
|
68
|
-
"colors": null,
|
|
69
|
-
"assetCompanies": null,
|
|
70
|
-
"descAr": null,
|
|
71
|
-
"descEn": null,
|
|
72
|
-
"estoreVisible": false,
|
|
73
|
-
"id": "403",
|
|
74
|
-
"model": "EliteBook",
|
|
75
|
-
"files": null,
|
|
76
|
-
"vendors": [
|
|
77
|
-
{
|
|
78
|
-
"id": 71,
|
|
79
|
-
"vendorName": null,
|
|
80
|
-
"vendorNumber": "26",
|
|
81
|
-
"__typename": "VendorDto"
|
|
82
|
-
}
|
|
83
|
-
],
|
|
84
|
-
"category": null,
|
|
85
|
-
"assetType": "Laptop",
|
|
86
|
-
"classifications": null,
|
|
87
|
-
"consumedCount": 0,
|
|
88
|
-
"consumedPercentage": 0,
|
|
89
|
-
"specs": [
|
|
90
|
-
"512GB"
|
|
91
|
-
],
|
|
92
|
-
"sumQuantity": 1,
|
|
93
|
-
"__typename": "AllAssetsDto"
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"assetDeviceType": null,
|
|
97
|
-
"brand": "Hp",
|
|
98
|
-
"colors": null,
|
|
99
|
-
"assetCompanies": null,
|
|
100
|
-
"descAr": null,
|
|
101
|
-
"descEn": null,
|
|
102
|
-
"estoreVisible": false,
|
|
103
|
-
"id": "404",
|
|
104
|
-
"model": "Laser",
|
|
105
|
-
"files": null,
|
|
106
|
-
"vendors": [
|
|
107
|
-
{
|
|
108
|
-
"id": 71,
|
|
109
|
-
"vendorName": null,
|
|
110
|
-
"vendorNumber": "26",
|
|
111
|
-
"__typename": "VendorDto"
|
|
112
|
-
}
|
|
113
|
-
],
|
|
114
|
-
"category": null,
|
|
115
|
-
"assetType": "Printer",
|
|
116
|
-
"classifications": null,
|
|
117
|
-
"consumedCount": 0,
|
|
118
|
-
"consumedPercentage": 0,
|
|
119
|
-
"specs": [
|
|
120
|
-
"2GB"
|
|
121
|
-
],
|
|
122
|
-
"sumQuantity": 1,
|
|
123
|
-
"__typename": "AllAssetsDto"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"assetDeviceType": null,
|
|
127
|
-
"brand": "Asus",
|
|
128
|
-
"colors": null,
|
|
129
|
-
"assetCompanies": null,
|
|
130
|
-
"descAr": null,
|
|
131
|
-
"descEn": null,
|
|
132
|
-
"estoreVisible": false,
|
|
133
|
-
"id": "405",
|
|
134
|
-
"model": "A500",
|
|
135
|
-
"files": null,
|
|
136
|
-
"vendors": [
|
|
137
|
-
{
|
|
138
|
-
"id": 71,
|
|
139
|
-
"vendorName": null,
|
|
140
|
-
"vendorNumber": "26",
|
|
141
|
-
"__typename": "VendorDto"
|
|
142
|
-
}
|
|
143
|
-
],
|
|
144
|
-
"category": null,
|
|
145
|
-
"assetType": "Laptop",
|
|
146
|
-
"classifications": null,
|
|
147
|
-
"consumedCount": 0,
|
|
148
|
-
"consumedPercentage": 0,
|
|
149
|
-
"specs": [
|
|
150
|
-
"1TB"
|
|
151
|
-
],
|
|
152
|
-
"sumQuantity": 1,
|
|
153
|
-
"__typename": "AllAssetsDto"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"assetDeviceType": null,
|
|
157
|
-
"brand": "Dell",
|
|
158
|
-
"colors": null,
|
|
159
|
-
"assetCompanies": null,
|
|
160
|
-
"descAr": null,
|
|
161
|
-
"descEn": null,
|
|
162
|
-
"estoreVisible": false,
|
|
163
|
-
"id": "407",
|
|
164
|
-
"model": "Latitude",
|
|
165
|
-
"files": null,
|
|
166
|
-
"vendors": [
|
|
167
|
-
{
|
|
168
|
-
"id": 71,
|
|
169
|
-
"vendorName": null,
|
|
170
|
-
"vendorNumber": "26",
|
|
171
|
-
"__typename": "VendorDto"
|
|
172
|
-
}
|
|
173
|
-
],
|
|
174
|
-
"category": null,
|
|
175
|
-
"assetType": "Laptop",
|
|
176
|
-
"classifications": null,
|
|
177
|
-
"consumedCount": 0,
|
|
178
|
-
"consumedPercentage": 0,
|
|
179
|
-
"specs": [
|
|
180
|
-
"1TB"
|
|
181
|
-
],
|
|
182
|
-
"sumQuantity": 4,
|
|
183
|
-
"__typename": "AllAssetsDto"
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
"assetDeviceType": null,
|
|
187
|
-
"brand": "Samsung",
|
|
188
|
-
"colors": null,
|
|
189
|
-
"assetCompanies": null,
|
|
190
|
-
"descAr": null,
|
|
191
|
-
"descEn": null,
|
|
192
|
-
"estoreVisible": false,
|
|
193
|
-
"id": "408",
|
|
194
|
-
"model": "Galaxy",
|
|
195
|
-
"files": null,
|
|
196
|
-
"vendors": [
|
|
197
|
-
{
|
|
198
|
-
"id": 71,
|
|
199
|
-
"vendorName": null,
|
|
200
|
-
"vendorNumber": "26",
|
|
201
|
-
"__typename": "VendorDto"
|
|
202
|
-
}
|
|
203
|
-
],
|
|
204
|
-
"category": null,
|
|
205
|
-
"assetType": "Tablet",
|
|
206
|
-
"classifications": null,
|
|
207
|
-
"consumedCount": 0,
|
|
208
|
-
"consumedPercentage": 0,
|
|
209
|
-
"specs": [
|
|
210
|
-
"256GB"
|
|
211
|
-
],
|
|
212
|
-
"sumQuantity": 1,
|
|
213
|
-
"__typename": "AllAssetsDto"
|
|
214
|
-
}
|
|
215
|
-
];
|
|
216
|
-
totalElements = 6;
|
|
217
|
-
constructor(i18n, fb, actionStateService) {
|
|
218
|
-
this.i18n = i18n;
|
|
219
|
-
this.fb = fb;
|
|
220
|
-
this.actionStateService = actionStateService;
|
|
221
|
-
}
|
|
222
|
-
ngOnInit() {
|
|
223
|
-
this.createForm();
|
|
224
|
-
let data = this.section.body.details;
|
|
225
|
-
for (const key in data) {
|
|
226
|
-
if (key !== 'decision') {
|
|
227
|
-
this.formGroup.patchValue({ [key]: data[key] });
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
// this.initializeTableConfig()
|
|
231
|
-
/* this.formGroup.get('checkbox').valueChanges.subscribe(res=> {
|
|
232
|
-
if (res){
|
|
233
|
-
this.formGroup.get('customSearchable').setValidators(Validators.required)
|
|
234
|
-
this.requiredSearchable = true;
|
|
235
|
-
console.log(this.requiredSearchable)
|
|
236
|
-
}else {
|
|
237
|
-
this.formGroup.get('customSearchable').clearValidators();
|
|
238
|
-
this.requiredSearchable = false
|
|
239
|
-
console.log(this.requiredSearchable)
|
|
240
|
-
}
|
|
241
|
-
this.formGroup.get('customSearchable').updateValueAndValidity();
|
|
242
|
-
|
|
243
|
-
})*/
|
|
244
|
-
}
|
|
245
|
-
initializeTableConfig() {
|
|
246
|
-
this.initializeColumns();
|
|
247
|
-
this.initializeColumnConfig();
|
|
248
|
-
}
|
|
249
|
-
initializeColumns() {
|
|
250
|
-
this.columns = ['id', 'assetType', 'brand', 'model', 'sumQuantity', 'specs', 'allocate'];
|
|
251
|
-
}
|
|
252
|
-
initializeColumnConfig() {
|
|
253
|
-
this.columnsConfig = [
|
|
254
|
-
{
|
|
255
|
-
label: 'Id',
|
|
256
|
-
type: 'text',
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
label: 'Asset Type',
|
|
260
|
-
type: 'text',
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
label: 'Brand',
|
|
264
|
-
type: 'text'
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
label: 'Model',
|
|
268
|
-
type: 'text'
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
label: 'Quantity',
|
|
272
|
-
type: 'formId'
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
label: 'Capacity',
|
|
276
|
-
type: 'specs',
|
|
277
|
-
clickableText: 'View'
|
|
278
|
-
},
|
|
279
|
-
{
|
|
280
|
-
label: 'Actions',
|
|
281
|
-
type: 'actions',
|
|
282
|
-
actions: [
|
|
283
|
-
{ viewMode: 'allocate', actionName: "Allocate", disabled: true },
|
|
284
|
-
{
|
|
285
|
-
viewMode: 'edit', actionName: "Edit", action: "edit", onClick: (asset) => {
|
|
286
|
-
this.editAsset(asset);
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
viewMode: 'delete', actionName: "Delete", action: "delete", onClick: (asset) => {
|
|
291
|
-
this.deleteAsset(asset);
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
{ viewMode: 'chart', actionName: "Chart", action: "chart" },
|
|
295
|
-
]
|
|
296
|
-
},
|
|
297
|
-
];
|
|
298
|
-
}
|
|
299
|
-
createForm() {
|
|
300
|
-
let newForm = {
|
|
301
|
-
input1: ['', Validators.required]
|
|
302
|
-
};
|
|
303
|
-
this.lov?.['decision']?.options?.forEach(option => {
|
|
304
|
-
newForm[option.value] = [''];
|
|
305
|
-
});
|
|
306
|
-
this.formGroup = this.fb.group({
|
|
307
|
-
// input: new FormControl(null),
|
|
308
|
-
// currencyInput: new FormControl(null, Validators.required),
|
|
309
|
-
// emailInput: new FormControl({value: null, disabled: true}, Validators.required),
|
|
310
|
-
// numberInput: new FormControl(null, Validators.required),
|
|
311
|
-
// customSearchable: new FormControl(null, Validators.required),
|
|
312
|
-
// checkbox: new FormControl(null, [Validators.requiredTrue, Validators.required]),
|
|
313
|
-
// textArea: new FormControl(null, [Validators.required, Validators.maxLength(5)]),
|
|
314
|
-
// datePicker: new FormControl(null, Validators.required),
|
|
315
|
-
// datePickerRange: new FormControl(null, Validators.required),
|
|
316
|
-
// radio: new FormControl(null, Validators.required),
|
|
317
|
-
// toggle: new FormControl(null, Validators.required),
|
|
318
|
-
// telephone: new FormControl(null, Validators.required),
|
|
319
|
-
// searchEmployee: new FormControl(null, Validators.required),
|
|
320
|
-
// // ...newForm,
|
|
321
|
-
// attachment: new FormControl(null, Validators.required),
|
|
322
|
-
attachmentSection: new FormControl([], Validators.required),
|
|
323
|
-
});
|
|
324
|
-
/* if(this.lov?.['decision']?.options?.length){
|
|
325
|
-
|
|
326
|
-
}else{
|
|
327
|
-
|
|
328
|
-
}*/
|
|
329
|
-
this.lov?.['decision']?.options?.forEach(option => {
|
|
330
|
-
let isActionValid = this.checkValidity(option.value);
|
|
331
|
-
this.actionStateService.setActionValid(option.value, isActionValid);
|
|
332
|
-
console.log('isActionValid', isActionValid);
|
|
333
|
-
});
|
|
334
|
-
// this.formGroup = this.fb.group({
|
|
335
|
-
// input: new FormControl(null),
|
|
336
|
-
// currencyInput: new FormControl(null),
|
|
337
|
-
// emailInput: new FormControl({value: null,disabled: true}),
|
|
338
|
-
// numberInput: new FormControl(null),
|
|
339
|
-
// customSearchable: new FormControl(null),
|
|
340
|
-
// checkbox: new FormControl(null),
|
|
341
|
-
// textArea: new FormControl(null),
|
|
342
|
-
// datePicker: new FormControl(null),
|
|
343
|
-
// datePickerRange: new FormControl(null),
|
|
344
|
-
// radio: new FormControl(null),
|
|
345
|
-
// toggle: new FormControl(null),
|
|
346
|
-
// telephone: new FormControl(null),
|
|
347
|
-
// searchEmployee: new FormControl(null),
|
|
348
|
-
// // ...newForm,
|
|
349
|
-
// attachment: new FormControl(null),
|
|
350
|
-
// attachmentSection: new FormControl([]),
|
|
351
|
-
// });
|
|
352
|
-
this.formGroup.setValue(this.section.body.details);
|
|
353
|
-
// console.log(this.section.body.detils);
|
|
354
|
-
// console.log(this.lov?.['approverActions']?.options)
|
|
355
|
-
this.formGroup.valueChanges.subscribe(value => {
|
|
356
|
-
this.lov?.['decision']?.options?.forEach(option => {
|
|
357
|
-
let isActionValid = this.checkValidity(option.value);
|
|
358
|
-
this.actionStateService.setActionValid(option.value, isActionValid);
|
|
359
|
-
this.section.body.details = { ...this.section.body.details, ...this.formGroup.value };
|
|
360
|
-
});
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
// this.formGroup.valueChanges.subscribe(value => {
|
|
364
|
-
// this.lov?.['decision']?.options?.forEach(option => {
|
|
365
|
-
// let isActionValid = this.checkValidity(option.value);
|
|
366
|
-
// this.actionStateService.setActionValid(option.value, isActionValid);
|
|
367
|
-
// this.section.body.details = this.formGroup.value
|
|
368
|
-
// /!*{
|
|
369
|
-
// input1: this.fieldsForm.get('input1').value
|
|
370
|
-
// }*!/
|
|
371
|
-
// })
|
|
372
|
-
// })
|
|
373
|
-
// }
|
|
374
|
-
// createForm() {
|
|
375
|
-
// this.formGroup = this.fb.group({
|
|
376
|
-
// customerName: new FormControl(null, [Validators.required]),
|
|
377
|
-
// customerPhone: new FormControl(null, [Validators.required]),
|
|
378
|
-
// reasonForRequest: new FormControl(null, [Validators.required]),
|
|
379
|
-
// callType: new FormControl(null, [Validators.required]),
|
|
380
|
-
// centerOfCalls: new FormControl(null, [Validators.required]),
|
|
381
|
-
// callDate: new FormControl(null, [Validators.required]),
|
|
382
|
-
// agreement: new FormControl(null, [Validators.required,Validators.requiredTrue]),
|
|
383
|
-
// });
|
|
384
|
-
// this.formGroup.valueChanges.pipe(
|
|
385
|
-
// takeUntilDestroyed(this.destroyRef)
|
|
386
|
-
// ).subscribe(value => {
|
|
387
|
-
// this.lov?.['decision']?.options?.forEach(option => {
|
|
388
|
-
// let isActionValid = this.checkValidity(option.value);
|
|
389
|
-
// this.actionStateService.setActionValid(option.value, isActionValid);
|
|
390
|
-
// this.section.body.details = this.formGroup.value
|
|
391
|
-
// this.section.body.details.customerPhone = this.section.body.details.customerPhone?.e164Number
|
|
392
|
-
// // this.section.body.details.agreement = (this.section.body.details.agreement).toString()
|
|
393
|
-
// })
|
|
394
|
-
// })
|
|
395
|
-
// console.log(this.lov?.['decision']?.options)
|
|
396
|
-
// console.log(this.section.body.details)
|
|
397
|
-
// this.formGroup.setValue(this.section.body.details);
|
|
398
|
-
// console.log('customCallSubmit', this.formGroup.value)
|
|
399
|
-
// }
|
|
400
|
-
editAsset(asset) {
|
|
401
|
-
console.log(asset);
|
|
402
|
-
}
|
|
403
|
-
startsWithDMOEOrCR() {
|
|
404
|
-
return (control) => {
|
|
405
|
-
const value = control.value;
|
|
406
|
-
if (value && (value.startsWith('DMOE-') || value.startsWith('CR-'))) {
|
|
407
|
-
return null; // Valid
|
|
408
|
-
}
|
|
409
|
-
return { startsWithInvalid: true }; // Invalid
|
|
410
|
-
};
|
|
411
|
-
}
|
|
412
|
-
deleteAsset(asset) {
|
|
413
|
-
console.log(asset);
|
|
414
|
-
}
|
|
415
|
-
formValue(form) {
|
|
416
|
-
console.log(form.value);
|
|
417
|
-
}
|
|
418
|
-
checkValidity(action) {
|
|
419
|
-
switch (action) {
|
|
420
|
-
case 'SUBMIT':
|
|
421
|
-
return this.formGroup.valid;
|
|
422
|
-
case 'APPROVE':
|
|
423
|
-
return true;
|
|
424
|
-
case 'REJECT':
|
|
425
|
-
return this.formGroup.valid;
|
|
426
|
-
case 'SENDBACK':
|
|
427
|
-
return this.formGroup.valid;
|
|
428
|
-
case 'SAVE_CHANGES':
|
|
429
|
-
return true;
|
|
430
|
-
default:
|
|
431
|
-
return false;
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
customCallSubmit(action) {
|
|
435
|
-
console.log('customCallSubmit', action);
|
|
436
|
-
}
|
|
437
|
-
resetForm() {
|
|
438
|
-
this.actionStateService.resetAction$.next();
|
|
439
|
-
}
|
|
440
|
-
pageChanged(event) {
|
|
441
|
-
this.pageNumber = event.pageIndex;
|
|
442
|
-
this.pageSize = event.pageSize;
|
|
443
|
-
}
|
|
444
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, deps: [{ token: i1.CoreI18nService }, { token: i2.FormBuilder }, { token: i1.ActionStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
445
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", form: "form", lov: "lov", className: "className" }, ngImport: i0, template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n\r\n<!-- {{formGroup.valid}}-->\r\n<!-- <app-input class=\"section-item full\" [isReadOnly]=\"false\" [mandatory]=\"true\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>-->\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n\r\n<!-- <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"false\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>-->\r\n\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ActionButtonsComponent, selector: "lib-action-buttons", inputs: ["lovOptions", "lovType", "fieldsForm", "form", "section", "sections", "showApprovalCycle", "customCall"], outputs: ["resetFormEmit", "customCallEmit"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: AttachmentSectionComponent, selector: "app-attachment-section", inputs: ["className", "customDownload", "attachmentsMax", "isSortable", "downloadAll", "isRequired", "descriptionRequired", "commentsRequired", "allowedExtensions"], outputs: ["downloadActionClicked", "emitedValue"] }] });
|
|
446
|
-
}
|
|
447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, decorators: [{
|
|
448
|
-
type: Component,
|
|
449
|
-
args: [{ selector: 'app-request-details-section', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], imports: [
|
|
450
|
-
NgClass,
|
|
451
|
-
InputComponent,
|
|
452
|
-
ActionButtonsComponent,
|
|
453
|
-
ReactiveFormsModule,
|
|
454
|
-
CustomSearchableComponent,
|
|
455
|
-
CheckBoxComponent,
|
|
456
|
-
TextareaComponent,
|
|
457
|
-
InputCurrencyComponent,
|
|
458
|
-
DatePickerComponent,
|
|
459
|
-
DateRangePickerComponent,
|
|
460
|
-
InputEmailComponent,
|
|
461
|
-
InputNumberComponent,
|
|
462
|
-
RadioComponent,
|
|
463
|
-
ToggleButtonComponent,
|
|
464
|
-
InputTelephoneComponent,
|
|
465
|
-
DocsUploaderComponent,
|
|
466
|
-
SearchEmployeeComponent,
|
|
467
|
-
AttachmentSectionComponent,
|
|
468
|
-
TableComponent,
|
|
469
|
-
TranslatePipe
|
|
470
|
-
], template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n\r\n<!-- {{formGroup.valid}}-->\r\n<!-- <app-input class=\"section-item full\" [isReadOnly]=\"false\" [mandatory]=\"true\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>-->\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n\r\n<!-- <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"false\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>-->\r\n\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"] }]
|
|
471
|
-
}], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i2.FormBuilder }, { type: i1.ActionStateService }], propDecorators: { isReadOnly: [{
|
|
472
|
-
type: Input
|
|
473
|
-
}], section: [{
|
|
474
|
-
type: Input
|
|
475
|
-
}], form: [{
|
|
476
|
-
type: Input
|
|
477
|
-
}], lov: [{
|
|
478
|
-
type: Input
|
|
479
|
-
}], className: [{
|
|
480
|
-
type: Input
|
|
481
|
-
}] } });
|
|
482
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUV4RixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEksT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7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QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLGNBQWM7d0JBQ2QsYUFBYTtxQkFDZDsrSUFNUSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbnB1dCwgTk9fRVJST1JTX1NDSEVNQSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtLCBTZWN0aW9ufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQge0FjdGlvblN0YXRlU2VydmljZSwgQ29yZUkxOG5TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtOZ0NsYXNzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCxcclxuICBBdHRhY2htZW50U2VjdGlvbkNvbXBvbmVudCxcclxuICBDaGVja0JveENvbXBvbmVudCxcclxuICBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50LFxyXG4gIERhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gIElucHV0Q29tcG9uZW50LFxyXG4gIElucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICBJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCxcclxuICBSYWRpb0NvbXBvbmVudCxcclxuICBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCxcclxuICBUZXh0YXJlYUNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1JlZ2V4UGF0dGVybnN9IGZyb20gJy4uLy4uL3JlZ2V4L3JlZ2V4LXBhdHRlcm5zJztcclxuaW1wb3J0IHtUb2dnbGVCdXR0b25Db21wb25lbnR9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7RG9jc1VwbG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50c1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbi8vIGltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBJbnB1dENvbXBvbmVudCxcclxuICAgIEFjdGlvbkJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ3VzdG9tU2VhcmNoYWJsZUNvbXBvbmVudCxcclxuICAgIENoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBJbnB1dEN1cnJlbmN5Q29tcG9uZW50LFxyXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcclxuICAgIElucHV0RW1haWxDb21wb25lbnQsXHJcbiAgICBJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICAgIFJhZGlvQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgSW5wdXRUZWxlcGhvbmVDb21wb25lbnQsXHJcbiAgICBEb2NzVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgVGFibGVDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlXHJcbiAgXVxyXG59KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBsb3Y6IGFueTtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgPSBcImluZm8tc2VjdGlvblwiO1xyXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gWydPcHRpb24gMScsICdPcHRpb24gMicsICdPcHRpb24gMyddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9QQUdFX1NJWkUgPSAxMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFHRV9OVU1CRVIgPSAwO1xyXG4gIHBhZ2VOdW1iZXI6IG51bWJlciA9IHRoaXMuREVGQVVMVF9QQUdFX05VTUJFUjtcclxuICBwYWdlU2l6ZTogbnVtYmVyID0gdGhpcy5ERUZBVUxUX1BBR0VfU0laRTtcclxuICBjb2x1bW5zQ29uZmlnOiBhbnlbXSA9IFtdO1xyXG4gIGNvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICByZXF1aXJlZFNlYXJjaGFibGU6IGJvb2xlYW47XHJcblxyXG4gIGlzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeURhdGEgPSBbXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJCZW5xXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAyXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJCNDAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIlNjYW5uZXJcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiNEdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhQXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAzXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJFbGl0ZUJvb2tcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjUxMkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhwXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA0XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJMYXNlclwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJQcmludGVyXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjJHQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogMSxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJBc3VzXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA1XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJBNTAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIkxhcHRvcFwiLFxyXG4gICAgICBcImNsYXNzaWZpY2F0aW9uc1wiOiBudWxsLFxyXG4gICAgICBcImNvbnN1bWVkQ291bnRcIjogMCxcclxuICAgICAgXCJjb25zdW1lZFBlcmNlbnRhZ2VcIjogMCxcclxuICAgICAgXCJzcGVjc1wiOiBbXHJcbiAgICAgICAgXCIxVEJcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiRGVsbFwiLFxyXG4gICAgICBcImNvbG9yc1wiOiBudWxsLFxyXG4gICAgICBcImFzc2V0Q29tcGFuaWVzXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0FyXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0VuXCI6IG51bGwsXHJcbiAgICAgIFwiZXN0b3JlVmlzaWJsZVwiOiBmYWxzZSxcclxuICAgICAgXCJpZFwiOiBcIjQwN1wiLFxyXG4gICAgICBcIm1vZGVsXCI6IFwiTGF0aXR1ZGVcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjFUQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogNCxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJTYW1zdW5nXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA4XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJHYWxheHlcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiVGFibGV0XCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjI1NkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgdG90YWxFbGVtZW50czogbnVtYmVyID0gNjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGlvblN0YXRlU2VydmljZTogQWN0aW9uU3RhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICAgIGxldCBkYXRhID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlsc1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xyXG4gICAgICBpZiAoa2V5ICE9PSAnZGVjaXNpb24nKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7W2tleV06IGRhdGFba2V5XX0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmluaXRpYWxpemVUYWJsZUNvbmZpZygpXHJcbiAgICAvKiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NoZWNrYm94JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShyZXM9PiB7XHJcbiAgICAgICAgICBpZiAocmVzKXtcclxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXN0b21TZWFyY2hhYmxlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkU2VhcmNoYWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucmVxdWlyZWRTZWFyY2hhYmxlKVxyXG4gICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXN0b21TZWFyY2hhYmxlJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRTZWFyY2hhYmxlID0gZmFsc2VcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXF1aXJlZFNlYXJjaGFibGUpXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY3VzdG9tU2VhcmNoYWJsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHJcbiAgICAgICAgfSkqL1xyXG4gIH1cclxuXHJcblxyXG4gIGluaXRpYWxpemVUYWJsZUNvbmZpZygpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtbnMoKVxyXG4gICAgdGhpcy5pbml0aWFsaXplQ29sdW1uQ29uZmlnKClcclxuXHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1ucygpIHtcclxuICAgIHRoaXMuY29sdW1ucyA9IFsnaWQnLCAnYXNzZXRUeXBlJywgJ2JyYW5kJywgJ21vZGVsJywgJ3N1bVF1YW50aXR5JywgJ3NwZWNzJywgJ2FsbG9jYXRlJ107XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1uQ29uZmlnKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zQ29uZmlnID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdJZCcsXHJcbiAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdBc3NldCBUeXBlJyxcclxuICAgICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0JyYW5kJyxcclxuICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnTW9kZWwnLFxyXG4gICAgICAgIHR5cGU6ICd0ZXh0J1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXHJcbiAgICAgICAgdHlwZTogJ2Zvcm1JZCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnQ2FwYWNpdHknLFxyXG4gICAgICAgIHR5cGU6ICdzcGVjcycsXHJcbiAgICAgICAgY2xpY2thYmxlVGV4dDogJ1ZpZXcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0FjdGlvbnMnLFxyXG4gICAgICAgIHR5cGU6ICdhY3Rpb25zJyxcclxuICAgICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdhbGxvY2F0ZScsIGFjdGlvbk5hbWU6IFwiQWxsb2NhdGVcIiwgZGlzYWJsZWQ6IHRydWV9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2aWV3TW9kZTogJ2VkaXQnLCBhY3Rpb25OYW1lOiBcIkVkaXRcIiwgYWN0aW9uOiBcImVkaXRcIiwgb25DbGljazogKGFzc2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmVkaXRBc3NldChhc3NldCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2aWV3TW9kZTogJ2RlbGV0ZScsIGFjdGlvbk5hbWU6IFwiRGVsZXRlXCIsIGFjdGlvbjogXCJkZWxldGVcIiwgb25DbGljazogKGFzc2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUFzc2V0KGFzc2V0KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdjaGFydCcsIGFjdGlvbk5hbWU6IFwiQ2hhcnRcIiwgYWN0aW9uOiBcImNoYXJ0XCJ9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuXHJcbiAgY3JlYXRlRm9ybSgpIHtcclxuICAgIGxldCBuZXdGb3JtID0ge1xyXG4gICAgICBpbnB1dDE6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuICAgIH07XHJcbiAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgIG5ld0Zvcm1bb3B0aW9uLnZhbHVlXSA9IFsnJ107XHJcbiAgICB9KVxyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgLy8gaW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgLy8gY3VycmVuY3lJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBlbWFpbElucHV0OiBuZXcgRm9ybUNvbnRyb2woe3ZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBudW1iZXJJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBjdXN0b21TZWFyY2hhYmxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIGNoZWNrYm94OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRUcnVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIC8vIHRleHRBcmVhOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUpXSksXHJcbiAgICAgIC8vIGRhdGVQaWNrZXI6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gZGF0ZVBpY2tlclJhbmdlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIHJhZGlvOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIHRvZ2dsZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyB0ZWxlcGhvbmU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gc2VhcmNoRW1wbG95ZWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gLy8gLi4ubmV3Rm9ybSxcclxuICAgICAgLy8gYXR0YWNobWVudDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBhdHRhY2htZW50U2VjdGlvbjogbmV3IEZvcm1Db250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIH0pO1xyXG4vKiAgICBpZih0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5sZW5ndGgpe1xyXG5cclxuICAgIH1lbHNle1xyXG5cclxuICAgIH0qL1xyXG4gICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gICAgICBsZXQgaXNBY3Rpb25WYWxpZCA9IHRoaXMuY2hlY2tWYWxpZGl0eShvcHRpb24udmFsdWUpO1xyXG4gICAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5zZXRBY3Rpb25WYWxpZChvcHRpb24udmFsdWUsIGlzQWN0aW9uVmFsaWQpO1xyXG4gICAgICBjb25zb2xlLmxvZygnaXNBY3Rpb25WYWxpZCcsaXNBY3Rpb25WYWxpZClcclxuXHJcbiAgICB9KVxyXG5cclxuXHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgLy8gICBpbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBjdXJyZW5jeUlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGVtYWlsSW5wdXQ6IG5ldyBGb3JtQ29udHJvbCh7dmFsdWU6IG51bGwsZGlzYWJsZWQ6IHRydWV9KSxcclxuICAgIC8vICAgbnVtYmVySW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgY3VzdG9tU2VhcmNoYWJsZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICB0ZXh0QXJlYTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBkYXRlUGlja2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGRhdGVQaWNrZXJSYW5nZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICByYWRpbzogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICB0b2dnbGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIHNlYXJjaEVtcGxveWVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIC8vIC4uLm5ld0Zvcm0sXHJcbiAgICAvLyAgIGF0dGFjaG1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgYXR0YWNobWVudFNlY3Rpb246IG5ldyBGb3JtQ29udHJvbChbXSksXHJcbiAgICAvLyB9KTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh0aGlzLnNlY3Rpb24uYm9keS5kZXRpbHMpO1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmxvdj8uWydhcHByb3ZlckFjdGlvbnMnXT8ub3B0aW9ucylcclxuICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgICAgbGV0IGlzQWN0aW9uVmFsaWQgPSB0aGlzLmNoZWNrVmFsaWRpdHkob3B0aW9uLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5zZXRBY3Rpb25WYWxpZChvcHRpb24udmFsdWUsIGlzQWN0aW9uVmFsaWQpO1xyXG4gICAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gey4uLnRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMsIC4uLnRoaXMuZm9ybUdyb3VwLnZhbHVlfTtcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICAgLyEqe1xyXG4gIC8vICAgICAgICAgaW5wdXQxOiB0aGlzLmZpZWxkc0Zvcm0uZ2V0KCdpbnB1dDEnKS52YWx1ZVxyXG4gIC8vICAgICAgIH0qIS9cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG4gIC8vICAgY3JlYXRlRm9ybSgpIHtcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgLy8gICAgIGN1c3RvbWVyTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIGN1c3RvbWVyUGhvbmU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICByZWFzb25Gb3JSZXF1ZXN0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbFR5cGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBjZW50ZXJPZkNhbGxzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbERhdGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBhZ3JlZW1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV0pLFxyXG4gIC8vICAgfSk7XHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAvLyAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuICAvLyAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmUgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmU/LmUxNjROdW1iZXJcclxuICAvLyAgICAgICAvLyB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCA9ICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCkudG9TdHJpbmcoKVxyXG5cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zKVxyXG4gIC8vICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscylcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gIC8vICAgY29uc29sZS5sb2coJ2N1c3RvbUNhbGxTdWJtaXQnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSlcclxuICAvLyB9XHJcblxyXG4gIGVkaXRBc3NldChhc3NldCkge1xyXG4gICAgY29uc29sZS5sb2coYXNzZXQpXHJcbiAgfVxyXG5cclxuICBzdGFydHNXaXRoRE1PRU9yQ1IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgaWYgKHZhbHVlICYmICh2YWx1ZS5zdGFydHNXaXRoKCdETU9FLScpIHx8IHZhbHVlLnN0YXJ0c1dpdGgoJ0NSLScpKSkge1xyXG4gICAgICAgIHJldHVybiBudWxsOyAvLyBWYWxpZFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7c3RhcnRzV2l0aEludmFsaWQ6IHRydWV9OyAvLyBJbnZhbGlkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQXNzZXQoYXNzZXQpIHtcclxuICAgIGNvbnNvbGUubG9nKGFzc2V0KVxyXG4gIH1cclxuXHJcbiAgZm9ybVZhbHVlKGZvcm0pIHtcclxuICAgIGNvbnNvbGUubG9nKGZvcm0udmFsdWUpXHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KGFjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICBjYXNlICdTVUJNSVQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWxpZDtcclxuICAgICAgY2FzZSAnQVBQUk9WRSc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGNhc2UgJ1JFSkVDVCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTRU5EQkFDSyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTQVZFX0NIQU5HRVMnOlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjdXN0b21DYWxsU3VibWl0KGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tQ2FsbFN1Ym1pdCcsIGFjdGlvbilcclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybSgpIHtcclxuICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnJlc2V0QWN0aW9uJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBldmVudC5wYWdlSW5kZXhcclxuICAgIHRoaXMucGFnZVNpemUgPSBldmVudC5wYWdlU2l6ZVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICA8Zm9ybSBbbmdDbGFzc109XCJ7J2Zvcm0tc2VjdGlvbi1kaXZpZGUgZm9ybS1zZWN0aW9uJzohc2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seSwnaW5mby1zZWN0aW9uJzpzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5fVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XHJcblxyXG4gICAgPGFwcC1hdHRhY2htZW50LXNlY3Rpb25cclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtkZXNjcmlwdGlvblJlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgbGFiZWw9XCJBdHRhY2htZW50IHNlY3Rpb25cIlxyXG4gICAgICBbY29tbWVudHNSZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdHRhY2htZW50U2VjdGlvblwiPjwvYXBwLWF0dGFjaG1lbnQtc2VjdGlvbj5cclxuXHJcbjwhLS0gICAge3tmb3JtR3JvdXAudmFsaWR9fS0tPlxyXG48IS0tICAgIDxhcHAtaW5wdXQgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImZhbHNlXCIgW21hbmRhdG9yeV09XCJ0cnVlXCIgW2xvYWRpbmddPVwidHJ1ZVwiIHR5cGU9XCJlbk9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFwiIGxhYmVsPVwiSW5wdXRcIj48L2FwcC1pbnB1dD4tLT5cclxuPCEtLSA8YXBwLWNoZWNrYm94XHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tib3hcIlxyXG4gICAgICB0ZXJtc0xhYmVsPVwiVGVybXMgYW5kIGNvbmRpdGlvbnNcIlxyXG4gICAgICBsYWJlbD1cImNoZWNrLWJveFwiXHJcbiAgICAgIFtjb250YWluVGVybXNdPVwidHJ1ZVwiPjwvYXBwLWNoZWNrYm94Pi0tPlxyXG4gICAgPCEtLVxyXG4gICAgPGFwcC1zZWFyY2gtZW1wbG95ZWVcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgW2FycmF5TGlzdF09XCJmb3JtR3JvdXAuZ2V0KCdzZWFyY2hFbXBsb3llZScpLnZhbHVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaEVtcGxveWVlXCJcclxuICAgICAgbGFiZWw9XCJTZWFyY2gtZW1wbG95ZWVcIj48L2FwcC1zZWFyY2gtZW1wbG95ZWU+XHJcbiAgICA8YXBwLWlucHV0IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgW2xvYWRpbmddPVwidHJ1ZVwiIHR5cGU9XCJlbk9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFwiIGxhYmVsPVwiSW5wdXRcIj48L2FwcC1pbnB1dD5cclxuICAgIDxhcHAtaW5wdXQtY3VycmVuY3kgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJjdXJyZW5jeUlucHV0XCIgbGFiZWw9XCJjdXJyZW5jeVwiPjwvYXBwLWlucHV0LWN1cnJlbmN5PlxyXG4gICAgPGFwcC1pbnB1dC1lbWFpbCBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsSW5wdXRcIiBsYWJlbD1cImVtYWlsXCI+PC9hcHAtaW5wdXQtZW1haWw+XHJcbiAgICA8YXBwLWlucHV0LW51bWJlciBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlcklucHV0XCIgbGFiZWw9XCJudW1iZXJcIj48L2FwcC1pbnB1dC1udW1iZXI+XHJcbiAgICA8YXBwLWN1c3RvbS1zZWFyY2hhYmxlXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIG1iLTAgZnVsbFwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21TZWFyY2hhYmxlXCJcclxuICAgICAgbGFiZWw9XCJDdXN0b20tc2VhcmNoYWJsZVwiXHJcbiAgICAgIFtvcHRpb25zXT1cImxvdj8uWydhcHByb3ZlckFjdGlvbnMnXT8ub3B0aW9uc1wiXHJcbiAgICAgIFtkaXNwbGF5ZWRMYWJlbF09XCInbmFtZSdcIlxyXG4gICAgICBba2V5XT1cIiduYW1lJ1wiPjwvYXBwLWN1c3RvbS1zZWFyY2hhYmxlPlxyXG4gICAgPGFwcC1jaGVja2JveFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNoZWNrYm94XCJcclxuICAgICAgdGVybXNMYWJlbD1cIlRlcm1zIGFuZCBjb25kaXRpb25zXCJcclxuICAgICAgbGFiZWw9XCJjaGVjay1ib3hcIlxyXG4gICAgICBbY29udGFpblRlcm1zXT1cInRydWVcIj48L2FwcC1jaGVja2JveD5cclxuICAgIDxhcHAtdGV4dGFyZWEgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0QXJlYVwiIGxhYmVsPVwiVGV4dC1hcmVhXCI+PC9hcHAtdGV4dGFyZWE+XHJcblxyXG4gICAgPGFwcC1kYXRlLXJhbmdlLXBpY2tlclxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVQaWNrZXJSYW5nZVwiXHJcbiAgICAgIGxhYmVsPVwiRGF0ZS1waWNrZXItcmFuZ2VcIlxyXG4gICAgICBbbWF0U3VmZml4XT1cInRydWVcIj48L2FwcC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuICAgIDxhcHAtcmFkaW8gY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJyYWRpb1wiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBsYWJlbD1cIlJhZGlvXCI+PC9hcHAtcmFkaW8+LS0+XHJcbiAgIDwhLS0gPGFwcC10b2dnbGUtYnV0dG9uXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidG9nZ2xlXCJcclxuICAgICAgW29wdGlvbnNdPVwibG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBsYWJlbD1cIlRvZ2dsZS1idXR0b25cIlxyXG4gICAgICBbZGlzcGxheWVkTGFiZWxdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgIFtrZXldPVwiJ3ZhbHVlJ1wiPjwvYXBwLXRvZ2dsZS1idXR0b24+LS0+XHJcbiAgICA8IS0tPGFwcC1pbnB1dC10ZWxlcGhvbmUgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZWxlcGhvbmVcIiBsYWJlbD1cIlRlbGVwaG9uZVwiPjwvYXBwLWlucHV0LXRlbGVwaG9uZT5cclxuXHJcbiAgICA8YXBwLWZpbGUtdXBsb2FkZXJcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtjYWxsQXBpXT1cInRydWVcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICAgICAgbGFiZWw9XCJhdHRhY2htZW50XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXR0YWNobWVudFwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+XHJcblxyXG4gICAgICAgICAgPGFwcC1hdHRhY2htZW50LXNlY3Rpb25cclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtkZXNjcmlwdGlvblJlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgbGFiZWw9XCJBdHRhY2htZW50IHNlY3Rpb25cIlxyXG4gICAgICBbY29tbWVudHNSZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdHRhY2htZW50U2VjdGlvblwiPjwvYXBwLWF0dGFjaG1lbnQtc2VjdGlvbj5cclxuLS0+XHJcblxyXG5cclxuXHJcbiAgICA8IS0tIDxhcHAtdGFibGVcclxuICAgIFtjb2x1bW5zQ29uZmlnXT1cImNvbHVtbnNDb25maWdcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXNFcnJvcl09XCJpc0Vycm9yXCJcclxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgIFtyb3dzXT1cImNhdGVnb3J5RGF0YVwiIFtoYXNQYWdpbmF0b3JdPVwidHJ1ZVwiXHJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwicGFnZU51bWJlclwiXHJcbiAgICBbdG90YWxFbGVtZW50c109XCJ0b3RhbEVsZW1lbnRzXCJcclxuICAgIChwYWdlQ2hhbmdlKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgY2xhc3M9XCJuZXctcHJpbWFyeS10YWJsZSBmdWxsXCI+XHJcbiAgICA8L2FwcC10YWJsZT4gLS0+XHJcblxyXG48IS0tICAgICAgPGFwcC1kYXRlcGlja2VyXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJmYWxzZVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVQaWNrZXJcIlxyXG4gICAgICBbbWF0U3VmZml4XT1cInRydWVcIlxyXG4gICAgICBsYWJlbD1cIkRhdGUtcGlja2VyXCI+PC9hcHAtZGF0ZXBpY2tlcj4tLT5cclxuXHJcblxyXG4gIDwvZm9ybT5cclxuXHJcblxyXG48L2Rpdj5cclxuQGlmICghc2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seSkge1xyXG4gIDxkaXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICA8bGliLWFjdGlvbi1idXR0b25zXHJcbiAgICAgIFtsb3ZPcHRpb25zXT1cImxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zXCJcclxuICAgICAgW2xvdlR5cGVdPVwibG92Py5bJ2RlY2lzaW9uJ10/LnR5cGVcIlxyXG4gICAgICBbc2VjdGlvbl09XCJzZWN0aW9uXCJcclxuICAgICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICAgIFtzZWN0aW9uc109XCJmb3JtLnNlY3Rpb25zXCJcclxuICAgICAgW3Nob3dBcHByb3ZhbEN5Y2xlXT1cInRydWVcIlxyXG4gICAgICBbY3VzdG9tQ2FsbF09XCJmYWxzZVwiXHJcbiAgICAgIFtmaWVsZHNGb3JtXT1cImZvcm1Hcm91cFwiXHJcbiAgICAgIChjdXN0b21DYWxsRW1pdCk9XCJjdXN0b21DYWxsU3VibWl0KCRldmVudClcIlxyXG4gICAgICAocmVzZXRGb3JtRW1pdCk9XCJyZXNldEZvcm0oKVwiXHJcbiAgICAvPlxyXG4gIDwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as en from '../../i18n/en';
|
|
3
|
-
import * as ar from '../../i18n/ar';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class I18nService {
|
|
6
|
-
locales;
|
|
7
|
-
coreLocales;
|
|
8
|
-
language;
|
|
9
|
-
constructor() {
|
|
10
|
-
this.language = window.wmConfig.language;
|
|
11
|
-
// this.language = "en";
|
|
12
|
-
this.locales = { en: en.default, ar: ar.default };
|
|
13
|
-
}
|
|
14
|
-
translate(key) {
|
|
15
|
-
let result = null;
|
|
16
|
-
try {
|
|
17
|
-
result = this.coreLocales[this.language][key];
|
|
18
|
-
if (!result) {
|
|
19
|
-
result = this.locales[this.language][key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
result = null;
|
|
24
|
-
}
|
|
25
|
-
return result || key;
|
|
26
|
-
}
|
|
27
|
-
getLanguage() {
|
|
28
|
-
return this.language;
|
|
29
|
-
}
|
|
30
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, providedIn: 'any' });
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: I18nService, decorators: [{
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'any',
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: () => [] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3NlcnZpY2VzL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtwQyxNQUFNLE9BQU8sV0FBVztJQUNkLE9BQU8sQ0FBMkM7SUFDbEQsV0FBVyxDQUEyQztJQUN0RCxRQUFRLENBQVU7SUFFMUI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFJLE1BQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ2xELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDWCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFNLENBQUMsRUFBRSxDQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxNQUFNLElBQUksR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7dUdBM0JVLFdBQVc7MkdBQVgsV0FBVyxjQUZSLEtBQUs7OzJGQUVSLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBlbiBmcm9tICcuLi8uLi9pMThuL2VuJztcclxuaW1wb3J0ICogYXMgYXIgZnJvbSAnLi4vLi4vaTE4bi9hcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAnYW55JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlIHtcclxuICBwcml2YXRlIGxvY2FsZXM6IHtba2V5OiBzdHJpbmddOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfX07XHJcbiAgcHJpdmF0ZSBjb3JlTG9jYWxlczoge1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9fTtcclxuICBwcml2YXRlIGxhbmd1YWdlIDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2U7XHJcbiAgICAvLyB0aGlzLmxhbmd1YWdlID0gXCJlblwiO1xyXG4gICAgdGhpcy5sb2NhbGVzID0ge2VuOiBlbi5kZWZhdWx0LCBhcjogYXIuZGVmYXVsdH07XHJcbiAgfVxyXG5cclxuICB0cmFuc2xhdGUoa2V5KSB7XHJcbiAgICBsZXQgcmVzdWx0ID0gbnVsbDtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuY29yZUxvY2FsZXNbdGhpcy5sYW5ndWFnZV1ba2V5XTtcclxuICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICByZXN1bHQgPSB0aGlzLmxvY2FsZXNbdGhpcy5sYW5ndWFnZV1ba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2goZSkge1xyXG4gICAgICByZXN1bHQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdCB8fCBrZXk7XHJcbiAgfVxyXG5cclxuICBnZXRMYW5ndWFnZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xyXG4gIH1cclxufVxyXG4iXX0=
|