@rosoftlab/core 1.0.0-alpha-0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +27 -0
- package/esm2022/lib/base-components/base-form-edit.component.mjs +239 -0
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +15 -0
- package/esm2022/lib/base-components/index.mjs +4 -0
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +15 -0
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +12 -0
- package/esm2022/lib/configurations.mjs +8 -0
- package/esm2022/lib/constants/symbols.mjs +3 -0
- package/esm2022/lib/converters/date/date.converter.mjs +20 -0
- package/esm2022/lib/core.mjs +8 -0
- package/esm2022/lib/decorators/attribute.decorator.mjs +87 -0
- package/esm2022/lib/decorators/base-datastore-config.decorator.mjs +7 -0
- package/esm2022/lib/decorators/base-model-config.decorator.mjs +10 -0
- package/esm2022/lib/decorators/custom.type.decorator.mjs +11 -0
- package/esm2022/lib/directives/translated-content.directive.mjs +97 -0
- package/esm2022/lib/directives/translated-element.directive.mjs +20 -0
- package/esm2022/lib/grid-layout-format.enum.mjs +15 -0
- package/esm2022/lib/index.mjs +26 -0
- package/esm2022/lib/interceptors/cache.interceptor.mjs +52 -0
- package/esm2022/lib/interceptors/index.mjs +2 -0
- package/esm2022/lib/interfaces/attribute-decorator-options.interface.mjs +2 -0
- package/esm2022/lib/interfaces/datastore-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/model-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/overrides.interface.mjs +2 -0
- package/esm2022/lib/interfaces/property-converter.interface.mjs +2 -0
- package/esm2022/lib/models/base-meta.model.mjs +7 -0
- package/esm2022/lib/models/base-query-data.mjs +13 -0
- package/esm2022/lib/models/base.model.mjs +158 -0
- package/esm2022/lib/models/error-response.model.mjs +9 -0
- package/esm2022/lib/models/rule.mjs +6 -0
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +21 -0
- package/esm2022/lib/pipes/input-error.pipe.mjs +38 -0
- package/esm2022/lib/providers.mjs +12 -0
- package/esm2022/lib/resolvers/dynamically-class-resolver.mjs +22 -0
- package/esm2022/lib/resolvers/dynamically-service-resolver.mjs +22 -0
- package/esm2022/lib/resolvers/index.mjs +3 -0
- package/esm2022/lib/rsl-base-module.mjs +64 -0
- package/esm2022/lib/services/base-datastore.service.mjs +342 -0
- package/esm2022/lib/services/base.service.mjs +99 -0
- package/esm2022/lib/services/cache.service.mjs +35 -0
- package/esm2022/lib/services/datastore.service.mjs +26 -0
- package/esm2022/lib/services/dialog.service.mjs +150 -0
- package/esm2022/lib/services/index.mjs +6 -0
- package/esm2022/lib/services/translate-loader.service.mjs +34 -0
- package/esm2022/lib/utils.mjs +27 -0
- package/esm2022/lib/validators/pattern-validator.mjs +15 -0
- package/esm2022/public-api.mjs +5 -0
- package/esm2022/rosoftlab-core.mjs +5 -0
- package/fesm2022/rosoftlab-core.mjs +1637 -0
- package/fesm2022/rosoftlab-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/base-components/base-form-edit.component.d.ts +56 -0
- package/lib/base-components/field-error-display/field-error-display.component.d.ts +7 -0
- package/lib/base-components/index.d.ts +3 -0
- package/lib/base-components/page-not-found/page-not-found.component.d.ts +8 -0
- package/lib/base-components/under-construction/under-construction.component.d.ts +6 -0
- package/lib/configurations.d.ts +6 -0
- package/lib/constants/symbols.d.ts +1 -0
- package/lib/converters/date/date.converter.d.ts +5 -0
- package/lib/core.d.ts +7 -0
- package/lib/decorators/attribute.decorator.d.ts +3 -0
- package/lib/decorators/base-datastore-config.decorator.d.ts +1 -0
- package/lib/decorators/base-model-config.decorator.d.ts +1 -0
- package/lib/decorators/custom.type.decorator.d.ts +1 -0
- package/lib/directives/translated-content.directive.d.ts +21 -0
- package/lib/directives/translated-element.directive.d.ts +10 -0
- package/lib/grid-layout-format.enum.d.ts +12 -0
- package/lib/index.d.ts +25 -0
- package/lib/interceptors/cache.interceptor.d.ts +13 -0
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interfaces/attribute-decorator-options.interface.d.ts +8 -0
- package/lib/interfaces/datastore-config.interface.d.ts +8 -0
- package/lib/interfaces/model-config.interface.d.ts +10 -0
- package/lib/interfaces/overrides.interface.d.ts +5 -0
- package/lib/interfaces/property-converter.interface.d.ts +4 -0
- package/lib/models/base-meta.model.d.ts +5 -0
- package/lib/models/base-query-data.d.ts +7 -0
- package/lib/models/base.model.d.ts +31 -0
- package/lib/models/error-response.model.d.ts +17 -0
- package/lib/models/rule.d.ts +5 -0
- package/lib/pipes/Nl2brPipe.pipe.d.ts +7 -0
- package/lib/pipes/input-error.pipe.d.ts +10 -0
- package/lib/providers.d.ts +2 -0
- package/lib/resolvers/dynamically-class-resolver.d.ts +3 -0
- package/lib/resolvers/dynamically-service-resolver.d.ts +3 -0
- package/lib/resolvers/index.d.ts +2 -0
- package/lib/rsl-base-module.d.ts +13 -0
- package/lib/services/base-datastore.service.d.ts +47 -0
- package/lib/services/base.service.d.ts +27 -0
- package/lib/services/cache.service.d.ts +11 -0
- package/lib/services/datastore.service.d.ts +12 -0
- package/lib/services/dialog.service.d.ts +21 -0
- package/lib/services/index.d.ts +5 -0
- package/lib/services/translate-loader.service.d.ts +14 -0
- package/lib/utils.d.ts +2 -0
- package/lib/validators/pattern-validator.d.ts +4 -0
- package/package.json +36 -0
- package/public-api.d.ts +1 -0
package/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# RslWorkspace
|
2
|
+
|
3
|
+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.3.
|
4
|
+
|
5
|
+
## Development server
|
6
|
+
|
7
|
+
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
|
8
|
+
|
9
|
+
## Code scaffolding
|
10
|
+
|
11
|
+
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
|
12
|
+
|
13
|
+
## Build
|
14
|
+
|
15
|
+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
|
16
|
+
|
17
|
+
## Running unit tests
|
18
|
+
|
19
|
+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
20
|
+
|
21
|
+
## Running end-to-end tests
|
22
|
+
|
23
|
+
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
|
24
|
+
|
25
|
+
## Further help
|
26
|
+
|
27
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
@@ -0,0 +1,239 @@
|
|
1
|
+
import { Location } from '@angular/common';
|
2
|
+
import { Component } from '@angular/core';
|
3
|
+
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
4
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
6
|
+
import { Observable } from 'rxjs';
|
7
|
+
import { BaseService } from '../services/base.service';
|
8
|
+
import { DialogService } from '../services/dialog.service';
|
9
|
+
import * as i0 from "@angular/core";
|
10
|
+
import * as i1 from "@angular/forms";
|
11
|
+
import * as i2 from "@angular/router";
|
12
|
+
import * as i3 from "../services/base.service";
|
13
|
+
import * as i4 from "../services/dialog.service";
|
14
|
+
import * as i5 from "@ngx-translate/core";
|
15
|
+
import * as i6 from "@angular/common";
|
16
|
+
export class BaseFormEditComponent {
|
17
|
+
constructor(fb, router, route, modelService, dialogService, translate, location) {
|
18
|
+
this.fb = fb;
|
19
|
+
this.router = router;
|
20
|
+
this.route = route;
|
21
|
+
this.modelService = modelService;
|
22
|
+
this.dialogService = dialogService;
|
23
|
+
this.translate = translate;
|
24
|
+
this.location = location;
|
25
|
+
this.isLoading = true;
|
26
|
+
this.changeUrlRoute = true;
|
27
|
+
this.generateForm(this.modelService.newModel());
|
28
|
+
}
|
29
|
+
afterSave(model) {
|
30
|
+
return new Observable((observer) => {
|
31
|
+
observer.next(model);
|
32
|
+
observer.complete();
|
33
|
+
});
|
34
|
+
}
|
35
|
+
beforeSave(model) {
|
36
|
+
return new Observable((observer) => {
|
37
|
+
observer.next(model);
|
38
|
+
observer.complete();
|
39
|
+
});
|
40
|
+
}
|
41
|
+
ngOnInit() {
|
42
|
+
this.initForm();
|
43
|
+
}
|
44
|
+
initForm(customInclude = '', newModelId = null, model = null) {
|
45
|
+
if (model === null) {
|
46
|
+
this.modelId = this.route.snapshot.paramMap.get('id') ?? newModelId;
|
47
|
+
this.isEdit = false;
|
48
|
+
if (this.modelId) {
|
49
|
+
this.modelService.get(this.modelId, customInclude).subscribe((value) => {
|
50
|
+
this.isEdit = true;
|
51
|
+
this.generateForm(value);
|
52
|
+
});
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
if (this.changeUrlRoute) {
|
56
|
+
const addUrl = this.router.createUrlTree([]).toString();
|
57
|
+
this.editRoute = this.router.createUrlTree([addUrl.replace('add', 'edit')]).toString();
|
58
|
+
}
|
59
|
+
// }
|
60
|
+
this.generateForm(this.modelService.newModel());
|
61
|
+
}
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
this.modelId = model.id;
|
65
|
+
this.isEdit = true;
|
66
|
+
this.generateForm(model);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
generateForm(model) {
|
70
|
+
this.isLoading = false;
|
71
|
+
this.modelId = model.id;
|
72
|
+
this.model = model;
|
73
|
+
this.baseForm = this.modelService.toFormGroup(this.fb, model);
|
74
|
+
this.afterFormGenerated();
|
75
|
+
}
|
76
|
+
afterFormGenerated() {
|
77
|
+
}
|
78
|
+
getFromGroup(formGroup = null) {
|
79
|
+
if (!formGroup)
|
80
|
+
return this.baseForm;
|
81
|
+
if (formGroup instanceof UntypedFormGroup)
|
82
|
+
return formGroup;
|
83
|
+
return this.baseForm.controls[formGroup];
|
84
|
+
}
|
85
|
+
validateAllFormFields(formGroup = null) {
|
86
|
+
const fg = this.getFromGroup(formGroup);
|
87
|
+
Object.keys(fg.controls).forEach(field => {
|
88
|
+
// console.log(field);
|
89
|
+
const control = fg.get(field);
|
90
|
+
if (control instanceof UntypedFormControl) {
|
91
|
+
control.markAsTouched({ onlySelf: true });
|
92
|
+
}
|
93
|
+
else if (control instanceof UntypedFormGroup) {
|
94
|
+
this.validateAllFormFields(control);
|
95
|
+
}
|
96
|
+
});
|
97
|
+
}
|
98
|
+
isFieldValid(field, formGroup = null) {
|
99
|
+
const fg = this.getFromGroup(formGroup);
|
100
|
+
const filedControl = fg.get(field);
|
101
|
+
return !filedControl.valid && filedControl.touched;
|
102
|
+
}
|
103
|
+
isFieldValidFromArray(arrayIndex, field, arrayName = 'formArray') {
|
104
|
+
const fieldControl = this.baseForm.get(arrayName).get([arrayIndex]).get(field);
|
105
|
+
return !fieldControl.valid && fieldControl.touched;
|
106
|
+
}
|
107
|
+
displayFieldCss(field) {
|
108
|
+
return {
|
109
|
+
'has-error': this.isFieldValid(field),
|
110
|
+
'has-feedback': this.isFieldValid(field)
|
111
|
+
};
|
112
|
+
}
|
113
|
+
onCancel() {
|
114
|
+
this.router.navigate([this.cancelRoute]);
|
115
|
+
}
|
116
|
+
onSave() {
|
117
|
+
this.saveModel(this.baseForm);
|
118
|
+
}
|
119
|
+
saveModel(formGroup = null) {
|
120
|
+
const fg = this.getFromGroup(formGroup);
|
121
|
+
const that = this;
|
122
|
+
if (fg) {
|
123
|
+
if (fg.valid) {
|
124
|
+
this.beforeSave(this.model).subscribe(_ => {
|
125
|
+
this.modelService.save(this.baseForm, this.modelId, this.model).subscribe((newModel) => {
|
126
|
+
this.model = newModel;
|
127
|
+
this.modelId = newModel.id;
|
128
|
+
if (this.editRoute) {
|
129
|
+
this.isEdit = true;
|
130
|
+
if (this.changeUrlRoute) {
|
131
|
+
const url = this.router.createUrlTree([this.editRoute, this.modelId]).toString();
|
132
|
+
this.location.replaceState(url);
|
133
|
+
}
|
134
|
+
}
|
135
|
+
this.afterSave(newModel).subscribe((val) => {
|
136
|
+
this.dialogService.showSaveMessage('Your changes were saved successfully.').subscribe(d => {
|
137
|
+
fg.markAsPristine();
|
138
|
+
});
|
139
|
+
});
|
140
|
+
}, err => {
|
141
|
+
this.serverErrors(err);
|
142
|
+
});
|
143
|
+
});
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
this.validateAllFormFields(formGroup);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
serverErrors(err) {
|
151
|
+
if (err.error) {
|
152
|
+
if (err.error.errors) {
|
153
|
+
const validationErrors = err.error.errors;
|
154
|
+
if (Array.isArray(validationErrors)) {
|
155
|
+
validationErrors.forEach(prop => {
|
156
|
+
const formControl = this.baseForm.get(prop);
|
157
|
+
if (formControl) {
|
158
|
+
// activate the error message
|
159
|
+
formControl.setErrors({
|
160
|
+
serverError: validationErrors[prop].join('\n')
|
161
|
+
});
|
162
|
+
}
|
163
|
+
});
|
164
|
+
}
|
165
|
+
else {
|
166
|
+
const keys = Object.keys(validationErrors);
|
167
|
+
keys.forEach(prop => {
|
168
|
+
const formControl = this.baseForm.get(prop);
|
169
|
+
if (formControl) {
|
170
|
+
// activate the error message
|
171
|
+
formControl.setErrors({
|
172
|
+
serverError: validationErrors[prop].join('\n')
|
173
|
+
});
|
174
|
+
}
|
175
|
+
});
|
176
|
+
}
|
177
|
+
}
|
178
|
+
}
|
179
|
+
}
|
180
|
+
canDeactivate() {
|
181
|
+
// Allow synchronous navigation (`true`) if no crisis or the crisis is unchanged
|
182
|
+
if (!this.baseForm.dirty) {
|
183
|
+
return true;
|
184
|
+
}
|
185
|
+
// Otherwise ask the user with the dialog service and return its
|
186
|
+
// observable which resolves to true or false when the user decides
|
187
|
+
return this.dialogService.confirm('Discard changes ?', null, 'Discard');
|
188
|
+
}
|
189
|
+
getFiledName(filedTranslationKey) {
|
190
|
+
return { field: this.translate.instant(filedTranslationKey) };
|
191
|
+
}
|
192
|
+
getCustomErrorMessage(error, fieldLabel) {
|
193
|
+
return '';
|
194
|
+
}
|
195
|
+
getErrorMessageFromArray(arrayIndex, field, filedTranslationKey, arrayName = 'formArray') {
|
196
|
+
const fieldControl = this.baseForm.get(arrayName).get([arrayIndex]).get(field);
|
197
|
+
return this.getErrorMessageForField(fieldControl, filedTranslationKey);
|
198
|
+
}
|
199
|
+
getErrorMessage(field, filedTranslationKey, formGroup = null) {
|
200
|
+
const fg = this.getFromGroup(formGroup);
|
201
|
+
return this.getErrorMessageForField(fg.get(field), filedTranslationKey);
|
202
|
+
}
|
203
|
+
getErrorMessageForField(fieldControl, filedTranslationKey) {
|
204
|
+
const error = fieldControl.errors;
|
205
|
+
const fieldLabel = this.translate.instant(filedTranslationKey);
|
206
|
+
let rvalue = '';
|
207
|
+
if (error !== null) {
|
208
|
+
if (error['required'] === true) {
|
209
|
+
rvalue = this.translate.instant('General.Field.Required', { field: fieldLabel });
|
210
|
+
}
|
211
|
+
if (error['minlength']) {
|
212
|
+
rvalue = this.translate.instant('General.Field.MinLength', { field: fieldLabel, requiredLength: error.minlength.requiredLength });
|
213
|
+
}
|
214
|
+
if (error['email'] === true) {
|
215
|
+
rvalue = this.translate.instant('General.Field.InvalidEmail');
|
216
|
+
}
|
217
|
+
if (error['url'] === true) {
|
218
|
+
rvalue = this.translate.instant('General.Field.InvalidUrl');
|
219
|
+
}
|
220
|
+
if (error['serverError']) {
|
221
|
+
rvalue = error['serverError'];
|
222
|
+
}
|
223
|
+
if (rvalue === '') {
|
224
|
+
rvalue = this.getCustomErrorMessage(error, fieldLabel);
|
225
|
+
}
|
226
|
+
}
|
227
|
+
return rvalue;
|
228
|
+
}
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseFormEditComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.BaseService }, { token: i4.DialogService }, { token: i5.TranslateService }, { token: i6.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: BaseFormEditComponent, selector: "app-base.form.edit", ngImport: i0, template: '', isInline: true }); }
|
231
|
+
}
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseFormEditComponent, decorators: [{
|
233
|
+
type: Component,
|
234
|
+
args: [{
|
235
|
+
selector: 'app-base.form.edit',
|
236
|
+
template: ''
|
237
|
+
}]
|
238
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.BaseService }, { type: i4.DialogService }, { type: i5.TranslateService }, { type: i6.Location }]; } });
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvYmFzZS1mb3JtLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUszRCxNQUFNLE9BQWdCLHFCQUFxQjtJQVN6QyxZQUNZLEVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxLQUFxQixFQUNyQixZQUE0QixFQUM1QixhQUE0QixFQUM1QixTQUEyQixFQUMzQixRQUFrQjtRQU5sQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFYOUIsY0FBUyxHQUFHLElBQUks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QixFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7YUFDbEY7WUFDRCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO2FBQ25JO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMzQixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQzthQUMvRDtZQUNELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDekIsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7YUFDN0Q7WUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDeEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMvQjtZQUNELElBQUksTUFBTSxLQUFLLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDeEQ7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBL05tQixxQkFBcUI7a0dBQXJCLHFCQUFxQiwwREFGL0IsRUFBRTs7MkZBRVEscUJBQXFCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmFzZS5mb3JtLmVkaXQnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1FZGl0Q29tcG9uZW50PFQgZXh0ZW5kcyBCYXNlTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBiYXNlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBtb2RlbElkOiBzdHJpbmc7XHJcbiAgbW9kZWw6IFQ7XHJcbiAgaXNFZGl0OiBib29sZWFuO1xyXG4gIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgY2FuY2VsUm91dGU6IHN0cmluZztcclxuICBlZGl0Um91dGU6IHN0cmluZztcclxuICBwdWJsaWMgY2hhbmdlVXJsUm91dGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJvdGVjdGVkIG1vZGVsU2VydmljZTogQmFzZVNlcnZpY2U8VD4sXHJcbiAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uXHJcbiAgKSB7XHJcbiAgICB0aGlzLmdlbmVyYXRlRm9ybSh0aGlzLm1vZGVsU2VydmljZS5uZXdNb2RlbCgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZnRlclNhdmUobW9kZWw6IFQpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgb2JzZXJ2ZXIubmV4dChtb2RlbCk7XHJcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBiZWZvcmVTYXZlKG1vZGVsOiBUKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIG9ic2VydmVyLm5leHQobW9kZWwpO1xyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKTtcclxuICB9XHJcbiAgaW5pdEZvcm0oY3VzdG9tSW5jbHVkZTogc3RyaW5nID0gJycsIG5ld01vZGVsSWQ6IHN0cmluZyA9IG51bGwsIG1vZGVsOiBUID0gbnVsbCkge1xyXG4gICAgaWYgKG1vZGVsID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMubW9kZWxJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdpZCcpID8/IG5ld01vZGVsSWQ7XHJcbiAgICAgIHRoaXMuaXNFZGl0ID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsSWQpIHtcclxuICAgICAgICB0aGlzLm1vZGVsU2VydmljZS5nZXQodGhpcy5tb2RlbElkLCBjdXN0b21JbmNsdWRlKS5zdWJzY3JpYmUoKHZhbHVlOiBUKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzRWRpdCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlRm9ybSh2YWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5jaGFuZ2VVcmxSb3V0ZSkge1xyXG4gICAgICAgICAgY29uc3QgYWRkVXJsID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbXSkudG9TdHJpbmcoKTtcclxuICAgICAgICAgIHRoaXMuZWRpdFJvdXRlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbYWRkVXJsLnJlcGxhY2UoJ2FkZCcsICdlZGl0JyldKS50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUZvcm0odGhpcy5tb2RlbFNlcnZpY2UubmV3TW9kZWwoKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9kZWxJZCA9IG1vZGVsLmlkO1xyXG4gICAgICB0aGlzLmlzRWRpdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVGb3JtKG1vZGVsKVxyXG4gICAgfVxyXG4gIH1cclxuICBnZW5lcmF0ZUZvcm0obW9kZWw/OiBUKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5tb2RlbElkID0gbW9kZWwuaWQ7XHJcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgICB0aGlzLmJhc2VGb3JtID0gdGhpcy5tb2RlbFNlcnZpY2UudG9Gb3JtR3JvdXAodGhpcy5mYiwgbW9kZWwpO1xyXG4gICAgdGhpcy5hZnRlckZvcm1HZW5lcmF0ZWQoKTtcclxuICB9XHJcbiAgcHVibGljIGFmdGVyRm9ybUdlbmVyYXRlZCgpIHtcclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0RnJvbUdyb3VwKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCB8IHN0cmluZyA9IG51bGwpOiBVbnR5cGVkRm9ybUdyb3VwIHtcclxuICAgIGlmICghZm9ybUdyb3VwKVxyXG4gICAgICByZXR1cm4gdGhpcy5iYXNlRm9ybTtcclxuICAgIGlmIChmb3JtR3JvdXAgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKVxyXG4gICAgICByZXR1cm4gZm9ybUdyb3VwO1xyXG4gICAgcmV0dXJuIHRoaXMuYmFzZUZvcm0uY29udHJvbHNbZm9ybUdyb3VwXSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIH1cclxuICB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgc3RyaW5nID0gbnVsbCkge1xyXG4gICAgY29uc3QgZmcgPSB0aGlzLmdldEZyb21Hcm91cChmb3JtR3JvdXApXHJcbiAgICBPYmplY3Qua2V5cyhmZy5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGZpZWxkKTtcclxuICAgICAgY29uc3QgY29udHJvbCA9IGZnLmdldChmaWVsZCk7XHJcbiAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nLCBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgfCBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICBjb25zdCBmZyA9IHRoaXMuZ2V0RnJvbUdyb3VwKGZvcm1Hcm91cClcclxuICAgIGNvbnN0IGZpbGVkQ29udHJvbCA9IGZnLmdldChmaWVsZClcclxuICAgIHJldHVybiAhZmlsZWRDb250cm9sLnZhbGlkICYmIGZpbGVkQ29udHJvbC50b3VjaGVkO1xyXG4gIH1cclxuXHJcbiAgaXNGaWVsZFZhbGlkRnJvbUFycmF5KGFycmF5SW5kZXg6IG51bWJlciwgZmllbGQ6IHN0cmluZywgYXJyYXlOYW1lOiBzdHJpbmcgPSAnZm9ybUFycmF5Jykge1xyXG4gICAgY29uc3QgZmllbGRDb250cm9sID0gdGhpcy5iYXNlRm9ybS5nZXQoYXJyYXlOYW1lKS5nZXQoW2FycmF5SW5kZXhdKS5nZXQoZmllbGQpXHJcbiAgICByZXR1cm4gIWZpZWxkQ29udHJvbC52YWxpZCAmJiBmaWVsZENvbnRyb2wudG91Y2hlZDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlGaWVsZENzcyhmaWVsZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnaGFzLWVycm9yJzogdGhpcy5pc0ZpZWxkVmFsaWQoZmllbGQpLFxyXG4gICAgICAnaGFzLWZlZWRiYWNrJzogdGhpcy5pc0ZpZWxkVmFsaWQoZmllbGQpXHJcbiAgICB9O1xyXG4gIH1cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNhbmNlbFJvdXRlXSk7XHJcbiAgfVxyXG4gIG9uU2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZU1vZGVsKHRoaXMuYmFzZUZvcm0pXHJcbiAgfVxyXG4gIHNhdmVNb2RlbChmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgfCBzdHJpbmcgPSBudWxsKSB7XHJcbiAgICBjb25zdCBmZyA9IHRoaXMuZ2V0RnJvbUdyb3VwKGZvcm1Hcm91cClcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgaWYgKGZnKSB7XHJcbiAgICAgIGlmIChmZy52YWxpZCkge1xyXG4gICAgICAgIHRoaXMuYmVmb3JlU2F2ZSh0aGlzLm1vZGVsKS5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1vZGVsU2VydmljZS5zYXZlKHRoaXMuYmFzZUZvcm0sIHRoaXMubW9kZWxJZCwgdGhpcy5tb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAobmV3TW9kZWw6IFQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGVsID0gbmV3TW9kZWw7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb2RlbElkID0gbmV3TW9kZWwuaWQ7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdFJvdXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzRWRpdCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jaGFuZ2VVcmxSb3V0ZSkge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFt0aGlzLmVkaXRSb3V0ZSwgdGhpcy5tb2RlbElkXSkudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUodXJsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5hZnRlclNhdmUobmV3TW9kZWwpLnN1YnNjcmliZSgodmFsOiBUKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1NhdmVNZXNzYWdlKCdZb3VyIGNoYW5nZXMgd2VyZSBzYXZlZCBzdWNjZXNzZnVsbHkuJykuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBmZy5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXJFcnJvcnMoZXJyKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlcnZlckVycm9ycyhlcnI6IGFueSkge1xyXG4gICAgaWYgKGVyci5lcnJvcikge1xyXG4gICAgICBpZiAoZXJyLmVycm9yLmVycm9ycykge1xyXG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvcnMgPSBlcnIuZXJyb3IuZXJyb3JzO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbGlkYXRpb25FcnJvcnMpKSB7XHJcbiAgICAgICAgICB2YWxpZGF0aW9uRXJyb3JzLmZvckVhY2gocHJvcCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5iYXNlRm9ybS5nZXQocHJvcCk7XHJcbiAgICAgICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICAgIC8vIGFjdGl2YXRlIHRoZSBlcnJvciBtZXNzYWdlXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtcclxuICAgICAgICAgICAgICAgIHNlcnZlckVycm9yOiB2YWxpZGF0aW9uRXJyb3JzW3Byb3BdLmpvaW4oJ1xcbicpXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsaWRhdGlvbkVycm9ycyk7XHJcbiAgICAgICAgICBrZXlzLmZvckVhY2gocHJvcCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5iYXNlRm9ybS5nZXQocHJvcCk7XHJcbiAgICAgICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICAgIC8vIGFjdGl2YXRlIHRoZSBlcnJvciBtZXNzYWdlXHJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtcclxuICAgICAgICAgICAgICAgIHNlcnZlckVycm9yOiB2YWxpZGF0aW9uRXJyb3JzW3Byb3BdLmpvaW4oJ1xcbicpXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjYW5EZWFjdGl2YXRlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBib29sZWFuIHtcclxuICAgIC8vIEFsbG93IHN5bmNocm9ub3VzIG5hdmlnYXRpb24gKGB0cnVlYCkgaWYgbm8gY3Jpc2lzIG9yIHRoZSBjcmlzaXMgaXMgdW5jaGFuZ2VkXHJcbiAgICBpZiAoIXRoaXMuYmFzZUZvcm0uZGlydHkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvLyBPdGhlcndpc2UgYXNrIHRoZSB1c2VyIHdpdGggdGhlIGRpYWxvZyBzZXJ2aWNlIGFuZCByZXR1cm4gaXRzXHJcbiAgICAvLyBvYnNlcnZhYmxlIHdoaWNoIHJlc29sdmVzIHRvIHRydWUgb3IgZmFsc2Ugd2hlbiB0aGUgdXNlciBkZWNpZGVzXHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0Rpc2NhcmQgY2hhbmdlcyA/JywgbnVsbCwgJ0Rpc2NhcmQnKTtcclxuICB9XHJcbiAgZ2V0RmlsZWROYW1lKGZpbGVkVHJhbnNsYXRpb25LZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHsgZmllbGQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZmlsZWRUcmFuc2xhdGlvbktleSkgfTtcclxuICB9XHJcbiAgZ2V0Q3VzdG9tRXJyb3JNZXNzYWdlKGVycm9yOiBhbnksIGZpZWxkTGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIGdldEVycm9yTWVzc2FnZUZyb21BcnJheShhcnJheUluZGV4OiBudW1iZXIsIGZpZWxkOiBzdHJpbmcsIGZpbGVkVHJhbnNsYXRpb25LZXk6IHN0cmluZywgYXJyYXlOYW1lOiBzdHJpbmcgPSAnZm9ybUFycmF5Jyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBmaWVsZENvbnRyb2wgPSB0aGlzLmJhc2VGb3JtLmdldChhcnJheU5hbWUpLmdldChbYXJyYXlJbmRleF0pLmdldChmaWVsZClcclxuICAgIHJldHVybiB0aGlzLmdldEVycm9yTWVzc2FnZUZvckZpZWxkKGZpZWxkQ29udHJvbCwgZmlsZWRUcmFuc2xhdGlvbktleSlcclxuICB9XHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcsIGZpbGVkVHJhbnNsYXRpb25LZXk6IHN0cmluZywgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgc3RyaW5nID0gbnVsbCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBmZyA9IHRoaXMuZ2V0RnJvbUdyb3VwKGZvcm1Hcm91cClcclxuICAgIHJldHVybiB0aGlzLmdldEVycm9yTWVzc2FnZUZvckZpZWxkKGZnLmdldChmaWVsZCksIGZpbGVkVHJhbnNsYXRpb25LZXkpXHJcbiAgfVxyXG4gIGdldEVycm9yTWVzc2FnZUZvckZpZWxkKGZpZWxkQ29udHJvbDogYW55LCBmaWxlZFRyYW5zbGF0aW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZXJyb3IgPSBmaWVsZENvbnRyb2wuZXJyb3JzO1xyXG4gICAgY29uc3QgZmllbGRMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZmlsZWRUcmFuc2xhdGlvbktleSk7XHJcbiAgICBsZXQgcnZhbHVlID0gJyc7XHJcbiAgICBpZiAoZXJyb3IgIT09IG51bGwpIHtcclxuICAgICAgaWYgKGVycm9yWydyZXF1aXJlZCddID09PSB0cnVlKSB7XHJcbiAgICAgICAgcnZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR2VuZXJhbC5GaWVsZC5SZXF1aXJlZCcsIHsgZmllbGQ6IGZpZWxkTGFiZWwgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVycm9yWydtaW5sZW5ndGgnXSkge1xyXG4gICAgICAgIHJ2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyYWwuRmllbGQuTWluTGVuZ3RoJywgeyBmaWVsZDogZmllbGRMYWJlbCwgcmVxdWlyZWRMZW5ndGg6IGVycm9yLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZXJyb3JbJ2VtYWlsJ10gPT09IHRydWUpIHtcclxuICAgICAgICBydmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkZpZWxkLkludmFsaWRFbWFpbCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChlcnJvclsndXJsJ10gPT09IHRydWUpIHtcclxuICAgICAgICBydmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkZpZWxkLkludmFsaWRVcmwnKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZXJyb3JbJ3NlcnZlckVycm9yJ10pIHtcclxuICAgICAgICBydmFsdWUgPSBlcnJvclsnc2VydmVyRXJyb3InXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocnZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJ2YWx1ZSA9IHRoaXMuZ2V0Q3VzdG9tRXJyb3JNZXNzYWdlKGVycm9yLCBmaWVsZExhYmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJ2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class FieldErrorDisplayComponent {
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: FieldErrorDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: FieldErrorDisplayComponent, selector: "rsl-field-error-display", inputs: { errorMsg: "errorMsg", displayError: "displayError" }, ngImport: i0, template: "<div *ngIf=\"displayError\" >\n <!-- <span class=\"glyphicon glyphicon-remove form-control-feedback fix-error-icon\"></span> -->\n <span class=\"sr-only\">(error)</span>\n <div class=\"error-msg\">\n {{ errorMsg }}\n </div>\n</div>\n", styles: [".error-msg{color:red}.fix-error-icon{top:27px}\n"] }); }
|
6
|
+
}
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: FieldErrorDisplayComponent, decorators: [{
|
8
|
+
type: Component,
|
9
|
+
args: [{ selector: 'rsl-field-error-display', template: "<div *ngIf=\"displayError\" >\n <!-- <span class=\"glyphicon glyphicon-remove form-control-feedback fix-error-icon\"></span> -->\n <span class=\"sr-only\">(error)</span>\n <div class=\"error-msg\">\n {{ errorMsg }}\n </div>\n</div>\n", styles: [".error-msg{color:red}.fix-error-icon{top:27px}\n"] }]
|
10
|
+
}], propDecorators: { errorMsg: [{
|
11
|
+
type: Input
|
12
|
+
}], displayError: [{
|
13
|
+
type: Input
|
14
|
+
}] } });
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2Jhc2UtY29tcG9uZW50cy9maWVsZC1lcnJvci1kaXNwbGF5L2ZpZWxkLWVycm9yLWRpc3BsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7a0dBQTFCLDBCQUEwQiwrSENQdkMsa1BBT0E7OzJGREFhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBTTFCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnNsLWZpZWxkLWVycm9yLWRpc3BsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLWVycm9yLWRpc3BsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZXJyb3JNc2c6IHN0cmluZztcbiAgQElucHV0KCkgZGlzcGxheUVycm9yOiBib29sZWFuO1xuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheUVycm9yXCIgPlxuICA8IS0tIDxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1yZW1vdmUgZm9ybS1jb250cm9sLWZlZWRiYWNrIGZpeC1lcnJvci1pY29uXCI+PC9zcGFuPiAtLT5cbiAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGVycm9yKTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImVycm9yLW1zZ1wiPlxuICAgIHt7IGVycm9yTXNnIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
@@ -0,0 +1,4 @@
|
|
1
|
+
export * from './field-error-display/field-error-display.component';
|
2
|
+
export * from './page-not-found/page-not-found.component';
|
3
|
+
export * from './under-construction/under-construction.component';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2Jhc2UtY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmllbGQtZXJyb3ItZGlzcGxheS9maWVsZC1lcnJvci1kaXNwbGF5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi91bmRlci1jb25zdHJ1Y3Rpb24vdW5kZXItY29uc3RydWN0aW9uLmNvbXBvbmVudCc7XHJcblxyXG4iXX0=
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class PageNotFoundComponent {
|
4
|
+
constructor() {
|
5
|
+
}
|
6
|
+
ngOnInit() {
|
7
|
+
}
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PageNotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: PageNotFoundComponent, selector: "rsl-page-not-found", ngImport: i0, template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page not found\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }); }
|
10
|
+
}
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PageNotFoundComponent, decorators: [{
|
12
|
+
type: Component,
|
13
|
+
args: [{ selector: 'rsl-page-not-found', template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page not found\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }]
|
14
|
+
}], ctorParameters: function () { return []; } });
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1ub3QtZm91bmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztJQUNBLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQzs4R0FOVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwwRENQbEMsaUlBSU07OzJGREdPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyc2wtcGFnZS1ub3QtZm91bmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VOb3RGb3VuZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IFxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm1zLXZpZXctY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ1bmRlci1jb25zdHJ1Y3Rpb24tdmlldy1jb250YWluZXJcIj5cbiAgICBQYWdlIG5vdCBmb3VuZFxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class UnderConstructionComponent {
|
4
|
+
constructor() { }
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: UnderConstructionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: UnderConstructionComponent, selector: "rsl-under-construction", ngImport: i0, template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page under construction\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }); }
|
7
|
+
}
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: UnderConstructionComponent, decorators: [{
|
9
|
+
type: Component,
|
10
|
+
args: [{ selector: 'rsl-under-construction', template: "<div class=\"forms-view-container\">\n <div class=\"under-construction-view-container\">\n Page under construction\n </div>\n</div>", styles: [".under-construction-view-container{height:calc(100vh - 250px);margin:60px 0 0;padding:0;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:1.8em;line-height:1.3em;font-weight:300;color:#58585b;text-align:center}\n"] }]
|
11
|
+
}], ctorParameters: function () { return []; } });
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZXItY29uc3RydWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvYmFzZS1jb21wb25lbnRzL3VuZGVyLWNvbnN0cnVjdGlvbi91bmRlci1jb25zdHJ1Y3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9iYXNlLWNvbXBvbmVudHMvdW5kZXItY29uc3RydWN0aW9uL3VuZGVyLWNvbnN0cnVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLGdCQUFnQixDQUFDOzhHQUZOLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDhEQ1B2QywwSUFJTTs7MkZER08sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyc2wtdW5kZXItY29uc3RydWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VuZGVyLWNvbnN0cnVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VuZGVyLWNvbnN0cnVjdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVuZGVyQ29uc3RydWN0aW9uQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm1zLXZpZXctY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ1bmRlci1jb25zdHJ1Y3Rpb24tdmlldy1jb250YWluZXJcIj5cbiAgICBQYWdlIHVuZGVyIGNvbnN0cnVjdGlvblxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export class Configurations {
|
2
|
+
constructor() {
|
3
|
+
this.baseUrl = '';
|
4
|
+
this.authUrl = '';
|
5
|
+
this.apiVersion = 'api/v1';
|
6
|
+
}
|
7
|
+
}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2NvbmZpZ3VyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxjQUFjO0lBS3pCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25zIHtcclxuICBwdWJsaWMgYmFzZVVybDogc3RyaW5nO1xyXG4gIHB1YmxpYyBhdXRoVXJsOiBzdHJpbmc7XHJcbiAgcHVibGljIGFwaVZlcnNpb246IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSAnJztcclxuICAgIHRoaXMuYXV0aFVybCA9ICcnO1xyXG4gICAgdGhpcy5hcGlWZXJzaW9uID0gJ2FwaS92MSc7XHJcbiAgfVxyXG5cclxufSJdfQ==
|
@@ -0,0 +1,3 @@
|
|
1
|
+
// tslint:disable-next-line:variable-name
|
2
|
+
export const AttributeMetadata = Symbol('AttributeMetadata');
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvY29uc3RhbnRzL3N5bWJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFRLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbmV4cG9ydCBjb25zdCBBdHRyaWJ1dGVNZXRhZGF0YTogYW55ID0gU3ltYm9sKCdBdHRyaWJ1dGVNZXRhZGF0YScpO1xuIl19
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { parseISO } from 'date-fns';
|
2
|
+
export class DateConverter {
|
3
|
+
mask(value) {
|
4
|
+
if (value instanceof Date && !isNaN(value.getTime())) {
|
5
|
+
return value;
|
6
|
+
}
|
7
|
+
const d = parseISO(value);
|
8
|
+
if (d instanceof Date && !isNaN(d.getTime())) {
|
9
|
+
return d;
|
10
|
+
}
|
11
|
+
else {
|
12
|
+
return value;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
unmask(value) {
|
16
|
+
// const result = format(value, 'YYYY-MM-DDTHH:mm:ssZ');
|
17
|
+
return value;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2NvbnZlcnRlcnMvZGF0ZS9kYXRlLmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3BDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQUksQ0FBQyxLQUFVO1FBQ2IsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQzVDLE9BQU8sQ0FBQyxDQUFBO1NBQ1Q7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQVU7UUFDZix3REFBd0Q7UUFDeEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgUHJvcGVydHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Byb3BlcnR5LWNvbnZlcnRlci5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGVDb252ZXJ0ZXIgaW1wbGVtZW50cyBQcm9wZXJ0eUNvbnZlcnRlciB7XHJcbiAgbWFzayh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTih2YWx1ZS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGQgPSBwYXJzZUlTTyh2YWx1ZSk7XHJcbiAgICBpZiAoZCBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGQuZ2V0VGltZSgpKSkge1xyXG4gICAgICByZXR1cm4gZFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuICB1bm1hc2sodmFsdWU6IGFueSkge1xyXG4gICAgLy8gY29uc3QgcmVzdWx0ID0gZm9ybWF0KHZhbHVlLCAnWVlZWS1NTS1ERFRISDptbTpzc1onKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export { FieldErrorDisplayComponent, PageNotFoundComponent, UnderConstructionComponent } from './base-components';
|
2
|
+
export { BaseFormEditComponent } from './base-components/base-form-edit.component';
|
3
|
+
export * from './grid-layout-format.enum';
|
4
|
+
export * from './index';
|
5
|
+
export * from './providers';
|
6
|
+
export * from './rsl-base-module';
|
7
|
+
export * from './utils';
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWVsZEVycm9yRGlzcGxheUNvbXBvbmVudCwgUGFnZU5vdEZvdW5kQ29tcG9uZW50LCBVbmRlckNvbnN0cnVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzJztcclxuZXhwb3J0IHsgQmFzZUZvcm1FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMvYmFzZS1mb3JtLWVkaXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ncmlkLWxheW91dC1mb3JtYXQuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcnNsLWJhc2UtbW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XHJcblxyXG4iXX0=
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import 'reflect-metadata';
|
2
|
+
// import * as Reflect from 'reflect-metadata';
|
3
|
+
import { AttributeMetadata } from '../constants/symbols';
|
4
|
+
import { DateConverter } from '../converters/date/date.converter';
|
5
|
+
export function Attribute(options = {}) {
|
6
|
+
return (target, propertyName) => {
|
7
|
+
const converter = (dataType, value, forSerialisation = false) => {
|
8
|
+
let attrConverter;
|
9
|
+
if (dataType) {
|
10
|
+
if (options.converter) {
|
11
|
+
attrConverter = options.converter;
|
12
|
+
}
|
13
|
+
else if (dataType === Date) {
|
14
|
+
attrConverter = new DateConverter();
|
15
|
+
}
|
16
|
+
else {
|
17
|
+
const datatype = new dataType();
|
18
|
+
if (datatype.mask && datatype.unmask) {
|
19
|
+
attrConverter = datatype;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
if (attrConverter) {
|
23
|
+
if (!forSerialisation) {
|
24
|
+
return attrConverter.mask(value);
|
25
|
+
}
|
26
|
+
return attrConverter.unmask(value);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
return value;
|
30
|
+
};
|
31
|
+
const saveAnnotations = () => {
|
32
|
+
const metadata = Reflect.getMetadata('Attribute', target) || {};
|
33
|
+
metadata[propertyName] = {
|
34
|
+
marked: true
|
35
|
+
};
|
36
|
+
Reflect.defineMetadata('Attribute', metadata, target);
|
37
|
+
const mappingMetadata = Reflect.getMetadata('AttributeMapping', target) || {};
|
38
|
+
const serializedPropertyName = options.serializedName !== undefined ? options.serializedName : propertyName;
|
39
|
+
mappingMetadata[serializedPropertyName] = propertyName;
|
40
|
+
Reflect.defineMetadata('AttributeMapping', mappingMetadata, target);
|
41
|
+
const requiredMetadata = Reflect.getMetadata('AttributeRequired', target) || {};
|
42
|
+
requiredMetadata[serializedPropertyName] = options.required !== undefined ? options.required : false;
|
43
|
+
Reflect.defineMetadata('AttributeRequired', requiredMetadata, target);
|
44
|
+
const defaultMetadata = Reflect.getMetadata('AttributedefaultValue', target) || {};
|
45
|
+
defaultMetadata[serializedPropertyName] = options.defaultValue !== undefined ? options.defaultValue : null;
|
46
|
+
Reflect.defineMetadata('AttributedefaultValue', defaultMetadata, target);
|
47
|
+
const formSubGroupMetadata = Reflect.getMetadata('AttributeformSubGroup', target) || {};
|
48
|
+
formSubGroupMetadata[serializedPropertyName] = options.formSubGroup !== undefined ? options.formSubGroup : null;
|
49
|
+
Reflect.defineMetadata('AttributeformSubGroup', formSubGroupMetadata, target);
|
50
|
+
};
|
51
|
+
const setMetadata = (hasDirtyAttributes, instance, oldValue, newValue, isNew) => {
|
52
|
+
const targetType = Reflect.getMetadata('design:type', target, propertyName);
|
53
|
+
if (!instance[AttributeMetadata]) {
|
54
|
+
instance[AttributeMetadata] = {};
|
55
|
+
}
|
56
|
+
const propertyHasDirtyAttributes = typeof oldValue === 'undefined' && !isNew ? false : hasDirtyAttributes;
|
57
|
+
instance[AttributeMetadata][propertyName] = {
|
58
|
+
newValue,
|
59
|
+
oldValue,
|
60
|
+
serializedName: options.serializedName,
|
61
|
+
hasDirtyAttributes: propertyHasDirtyAttributes,
|
62
|
+
serialisationValue: converter(targetType, newValue, true)
|
63
|
+
};
|
64
|
+
};
|
65
|
+
const getter = function () {
|
66
|
+
return this['_' + propertyName];
|
67
|
+
};
|
68
|
+
const setter = function (newVal) {
|
69
|
+
const targetType = Reflect.getMetadata('design:type', target, propertyName);
|
70
|
+
const convertedValue = converter(targetType, newVal);
|
71
|
+
if (convertedValue !== this['_' + propertyName]) {
|
72
|
+
setMetadata(true, this, this['_' + propertyName], newVal, !this.id);
|
73
|
+
this['_' + propertyName] = convertedValue;
|
74
|
+
}
|
75
|
+
};
|
76
|
+
if (delete target[propertyName]) {
|
77
|
+
saveAnnotations();
|
78
|
+
Object.defineProperty(target, propertyName, {
|
79
|
+
get: getter,
|
80
|
+
set: setter,
|
81
|
+
enumerable: true,
|
82
|
+
configurable: true
|
83
|
+
});
|
84
|
+
}
|
85
|
+
};
|
86
|
+
}
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvZGVjb3JhdG9ycy9hdHRyaWJ1dGUuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsK0NBQStDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdsRSxNQUFNLFVBQVUsU0FBUyxDQUFDLFVBQXFDLEVBQUU7SUFDL0QsT0FBTyxDQUFDLE1BQVcsRUFBRSxZQUFvQixFQUFFLEVBQUU7UUFFM0MsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFhLEVBQUUsS0FBVSxFQUFFLGdCQUFnQixHQUFHLEtBQUssRUFBTyxFQUFFO1lBQzdFLElBQUksYUFBYSxDQUFDO1lBQ2xCLElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDckIsYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7aUJBQ25DO3FCQUFNLElBQUksUUFBUSxLQUFLLElBQUksRUFBRTtvQkFDNUIsYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNMLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7b0JBRWhDLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO3dCQUNwQyxhQUFhLEdBQUcsUUFBUSxDQUFDO3FCQUMxQjtpQkFDRjtnQkFFRCxJQUFJLGFBQWEsRUFBRTtvQkFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO3dCQUNyQixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2xDO29CQUNELE9B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ZW50IjpbImltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XHJcbi8vIGltcG9ydCAqIGFzIFJlZmxlY3QgZnJvbSAncmVmbGVjdC1tZXRhZGF0YSc7XHJcbmltcG9ydCB7IEF0dHJpYnV0ZU1ldGFkYXRhIH0gZnJvbSAnLi4vY29uc3RhbnRzL3N5bWJvbHMnO1xyXG5pbXBvcnQgeyBEYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9kYXRlL2RhdGUuY29udmVydGVyJztcclxuaW1wb3J0IHsgQXR0cmlidXRlRGVjb3JhdG9yT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXR0cmlidXRlLWRlY29yYXRvci1vcHRpb25zLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQXR0cmlidXRlKG9wdGlvbnM6IEF0dHJpYnV0ZURlY29yYXRvck9wdGlvbnMgPSB7fSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcclxuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xyXG5cclxuICAgIGNvbnN0IGNvbnZlcnRlciA9IChkYXRhVHlwZTogYW55LCB2YWx1ZTogYW55LCBmb3JTZXJpYWxpc2F0aW9uID0gZmFsc2UpOiBhbnkgPT4ge1xyXG4gICAgICBsZXQgYXR0ckNvbnZlcnRlcjtcclxuICAgICAgaWYgKGRhdGFUeXBlKSB7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udmVydGVyKSB7XHJcbiAgICAgICAgICBhdHRyQ29udmVydGVyID0gb3B0aW9ucy5jb252ZXJ0ZXI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhVHlwZSA9PT0gRGF0ZSkge1xyXG4gICAgICAgICAgYXR0ckNvbnZlcnRlciA9IG5ldyBEYXRlQ29udmVydGVyKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGRhdGF0eXBlID0gbmV3IGRhdGFUeXBlKCk7XHJcblxyXG4gICAgICAgICAgaWYgKGRhdGF0eXBlLm1hc2sgJiYgZGF0YXR5cGUudW5tYXNrKSB7XHJcbiAgICAgICAgICAgIGF0dHJDb252ZXJ0ZXIgPSBkYXRhdHlwZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChhdHRyQ29udmVydGVyKSB7XHJcbiAgICAgICAgICBpZiAoIWZvclNlcmlhbGlzYXRpb24pIHtcclxuICAgICAgICAgICAgcmV0dXJuIGF0dHJDb252ZXJ0ZXIubWFzayh2YWx1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gYXR0ckNvbnZlcnRlci51bm1hc2sodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNhdmVBbm5vdGF0aW9ucyA9ICgpID0+IHtcclxuICAgICAgY29uc3QgbWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGUnLCB0YXJnZXQpIHx8IHt9O1xyXG5cclxuICAgICAgbWV0YWRhdGFbcHJvcGVydHlOYW1lXSA9IHtcclxuICAgICAgICBtYXJrZWQ6IHRydWVcclxuICAgICAgfTtcclxuXHJcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ0F0dHJpYnV0ZScsIG1ldGFkYXRhLCB0YXJnZXQpO1xyXG5cclxuICAgICAgY29uc3QgbWFwcGluZ01ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQXR0cmlidXRlTWFwcGluZycsIHRhcmdldCkgfHwge307XHJcbiAgICAgIGNvbnN0IHNlcmlhbGl6ZWRQcm9wZXJ0eU5hbWUgPSBvcHRpb25zLnNlcmlhbGl6ZWROYW1lICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLnNlcmlhbGl6ZWROYW1lIDogcHJvcGVydHlOYW1lO1xyXG4gICAgICBtYXBwaW5nTWV0YWRhdGFbc2VyaWFsaXplZFByb3BlcnR5TmFtZV0gPSBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ0F0dHJpYnV0ZU1hcHBpbmcnLCBtYXBwaW5nTWV0YWRhdGEsIHRhcmdldCk7XHJcblxyXG4gICAgICBjb25zdCByZXF1aXJlZE1ldGFkYXRhID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQXR0cmlidXRlUmVxdWlyZWQnLCB0YXJnZXQpIHx8IHt9O1xyXG4gICAgICByZXF1aXJlZE1ldGFkYXRhW3NlcmlhbGl6ZWRQcm9wZXJ0eU5hbWVdID0gb3B0aW9ucy5yZXF1aXJlZCAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5yZXF1aXJlZCA6IGZhbHNlO1xyXG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdBdHRyaWJ1dGVSZXF1aXJlZCcsIHJlcXVpcmVkTWV0YWRhdGEsIHRhcmdldCk7XHJcblxyXG4gICAgICBjb25zdCBkZWZhdWx0TWV0YWRhdGEgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVkZWZhdWx0VmFsdWUnLCB0YXJnZXQpIHx8IHt9O1xyXG4gICAgICBkZWZhdWx0TWV0YWRhdGFbc2VyaWFsaXplZFByb3BlcnR5TmFtZV0gPSBvcHRpb25zLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5kZWZhdWx0VmFsdWUgOiBudWxsO1xyXG4gICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdBdHRyaWJ1dGVkZWZhdWx0VmFsdWUnLCBkZWZhdWx0TWV0YWRhdGEsIHRhcmdldCk7XHJcblxyXG4gICAgICBjb25zdCBmb3JtU3ViR3JvdXBNZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZWZvcm1TdWJHcm91cCcsIHRhcmdldCkgfHwge307XHJcbiAgICAgIGZvcm1TdWJHcm91cE1ldGFkYXRhW3NlcmlhbGl6ZWRQcm9wZXJ0eU5hbWVdID0gb3B0aW9ucy5mb3JtU3ViR3JvdXAgIT09IHVuZGVmaW5lZCA/IG9wdGlvbnMuZm9ybVN1Ykdyb3VwIDogbnVsbDtcclxuICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YSgnQXR0cmlidXRlZm9ybVN1Ykdyb3VwJywgZm9ybVN1Ykdyb3VwTWV0YWRhdGEsIHRhcmdldCk7XHJcblxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBzZXRNZXRhZGF0YSA9IChcclxuICAgICAgaGFzRGlydHlBdHRyaWJ1dGVzOiBib29sZWFuLFxyXG4gICAgICBpbnN0YW5jZTogYW55LFxyXG4gICAgICBvbGRWYWx1ZTogYW55LFxyXG4gICAgICBuZXdWYWx1ZTogYW55LFxyXG4gICAgICBpc05ldzogYm9vbGVhblxyXG4gICAgKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldFR5cGUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdkZXNpZ246dHlwZScsIHRhcmdldCwgcHJvcGVydHlOYW1lKTtcclxuXHJcbiAgICAgIGlmICghaW5zdGFuY2VbQXR0cmlidXRlTWV0YWRhdGFdKSB7XHJcbiAgICAgICAgaW5zdGFuY2VbQXR0cmlidXRlTWV0YWRhdGFdID0ge307XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHByb3BlcnR5SGFzRGlydHlBdHRyaWJ1dGVzID0gdHlwZW9mIG9sZFZhbHVlID09PSAndW5kZWZpbmVkJyAmJiAhaXNOZXcgPyBmYWxzZSA6IGhhc0RpcnR5QXR0cmlidXRlcztcclxuXHJcbiAgICAgIGluc3RhbmNlW0F0dHJpYnV0ZU1ldGFkYXRhXVtwcm9wZXJ0eU5hbWVdID0ge1xyXG4gICAgICAgIG5ld1ZhbHVlLFxyXG4gICAgICAgIG9sZFZhbHVlLFxyXG4gICAgICAgIHNlcmlhbGl6ZWROYW1lOiBvcHRpb25zLnNlcmlhbGl6ZWROYW1lLFxyXG4gICAgICAgIGhhc0RpcnR5QXR0cmlidXRlczogcHJvcGVydHlIYXNEaXJ0eUF0dHJpYnV0ZXMsXHJcbiAgICAgICAgc2VyaWFsaXNhdGlvblZhbHVlOiBjb252ZXJ0ZXIodGFyZ2V0VHlwZSwgbmV3VmFsdWUsIHRydWUpXHJcbiAgICAgIH07XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGdldHRlciA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbJ18nICsgKHByb3BlcnR5TmFtZSBhcyBzdHJpbmcpXTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgc2V0dGVyID0gZnVuY3Rpb24gKG5ld1ZhbDogYW55KSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldFR5cGUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdkZXNpZ246dHlwZScsIHRhcmdldCwgcHJvcGVydHlOYW1lKTtcclxuICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBjb252ZXJ0ZXIodGFyZ2V0VHlwZSwgbmV3VmFsKTtcclxuXHJcbiAgICAgIGlmIChjb252ZXJ0ZWRWYWx1ZSAhPT0gdGhpc1snXycgKyAocHJvcGVydHlOYW1lIGFzIHN0cmluZyldKSB7XHJcbiAgICAgICAgc2V0TWV0YWRhdGEodHJ1ZSwgdGhpcywgdGhpc1snXycgKyAocHJvcGVydHlOYW1lIGFzIHN0cmluZyldLCBuZXdWYWwsICF0aGlzLmlkKTtcclxuICAgICAgICB0aGlzWydfJyArIChwcm9wZXJ0eU5hbWUgYXMgc3RyaW5nKV0gPSBjb252ZXJ0ZWRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoZGVsZXRlIHRhcmdldFtwcm9wZXJ0eU5hbWVdKSB7XHJcbiAgICAgIHNhdmVBbm5vdGF0aW9ucygpO1xyXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eU5hbWUsIHtcclxuICAgICAgICBnZXQ6IGdldHRlcixcclxuICAgICAgICBzZXQ6IHNldHRlcixcclxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9O1xyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export function BaseDatastoreConfig(config = {}) {
|
2
|
+
// tslint:disable-next-line:only-arrow-functions
|
3
|
+
return (target) => {
|
4
|
+
Reflect.defineMetadata('BaseDatastoreConfig', config, target);
|
5
|
+
};
|
6
|
+
}
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc3RvcmUtY29uZmlnLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvZGVjb3JhdG9ycy9iYXNlLWRhdGFzdG9yZS1jb25maWcuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUFjLEVBQUU7SUFDbEQsZ0RBQWdEO0lBQ2hELE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixPQUFPLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIEJhc2VEYXRhc3RvcmVDb25maWcoY29uZmlnOiBhbnkgPSB7fSkge1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpvbmx5LWFycm93LWZ1bmN0aW9uc1xyXG4gIHJldHVybiAodGFyZ2V0OiBhbnkpID0+IHtcclxuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ0Jhc2VEYXRhc3RvcmVDb25maWcnLCBjb25maWcsIHRhcmdldCk7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { BaseMetaModel } from '../models/base-meta.model';
|
2
|
+
export function BaseModelConfig(config = {}) {
|
3
|
+
return (target) => {
|
4
|
+
if (typeof config['meta'] === 'undefined' || config['meta'] == null) {
|
5
|
+
config['meta'] = BaseMetaModel;
|
6
|
+
}
|
7
|
+
Reflect.defineMetadata('BaseModelConfig', config, target);
|
8
|
+
};
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2RlbC1jb25maWcuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9kZWNvcmF0b3JzL2Jhc2UtbW9kZWwtY29uZmlnLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFjLEVBQUU7SUFDOUMsT0FBTyxDQUFDLE1BQVcsRUFBRSxFQUFFO1FBQ3JCLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQztTQUNoQztRQUVELE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTWV0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtbWV0YS5tb2RlbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQmFzZU1vZGVsQ29uZmlnKGNvbmZpZzogYW55ID0ge30pIHtcclxuICByZXR1cm4gKHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBpZiAodHlwZW9mIGNvbmZpZ1snbWV0YSddID09PSAndW5kZWZpbmVkJyB8fCBjb25maWdbJ21ldGEnXSA9PSBudWxsKSB7XHJcbiAgICAgIGNvbmZpZ1snbWV0YSddID0gQmFzZU1ldGFNb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBjb25maWcsIHRhcmdldCk7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export function CustomType(config = {}) {
|
2
|
+
return (target, propertyName) => {
|
3
|
+
const annotations = Reflect.getMetadata('CustomType', target) || [];
|
4
|
+
annotations.push({
|
5
|
+
propertyName,
|
6
|
+
relationship: config.key || propertyName
|
7
|
+
});
|
8
|
+
Reflect.defineMetadata('CustomType', annotations, target);
|
9
|
+
};
|
10
|
+
}
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLnR5cGUuZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9kZWNvcmF0b3JzL2N1c3RvbS50eXBlLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQWMsRUFBRTtJQUN2QyxPQUFPLENBQUMsTUFBVyxFQUFFLFlBQTZCLEVBQUUsRUFBRTtRQUNsRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEUsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNiLFlBQVk7WUFDWixZQUFZLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxZQUFZO1NBQzNDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIEN1c3RvbVR5cGUoY29uZmlnOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlOYW1lOiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcclxuICAgICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0N1c3RvbVR5cGUnLCB0YXJnZXQpIHx8IFtdO1xyXG5cclxuICAgICAgICBhbm5vdGF0aW9ucy5wdXNoKHtcclxuICAgICAgICAgICAgcHJvcGVydHlOYW1lLFxyXG4gICAgICAgICAgICByZWxhdGlvbnNoaXA6IGNvbmZpZy5rZXkgfHwgcHJvcGVydHlOYW1lXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ0N1c3RvbVR5cGUnLCBhbm5vdGF0aW9ucywgdGFyZ2V0KTtcclxuICAgIH07XHJcbn1cclxuIl19
|