ng-tailwind 3.30.368 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/animations/ngt-angular-animations.d.ts +5 -5
- package/base/ngt-base-ng-model.d.ts +32 -32
- package/bundles/ng-tailwind.umd.js +7689 -7631
- package/bundles/ng-tailwind.umd.js.map +1 -1
- package/components/ngt-action/ngt-action.component.d.ts +13 -13
- package/components/ngt-action/ngt-action.module.d.ts +2 -2
- package/components/ngt-button/ngt-button.component.d.ts +22 -22
- package/components/ngt-button/ngt-button.module.d.ts +2 -2
- package/components/ngt-checkbox/ngt-checkbox.component.d.ts +41 -41
- package/components/ngt-checkbox/ngt-checkbox.module.d.ts +2 -2
- package/components/ngt-content/ngt-content.component.d.ts +9 -9
- package/components/ngt-content/ngt-content.module.d.ts +2 -2
- package/components/ngt-datatable/ngt-datatable.component.d.ts +114 -114
- package/components/ngt-datatable/ngt-datatable.module.d.ts +2 -2
- package/components/ngt-datatable/ngt-tbody/ngt-tbody.component.d.ts +11 -11
- package/components/ngt-datatable/ngt-td/ngt-td.component.d.ts +11 -11
- package/components/ngt-datatable/ngt-td-check/ngt-td-check.component.d.ts +26 -26
- package/components/ngt-datatable/ngt-th/ngt-th.component.d.ts +48 -48
- package/components/ngt-datatable/ngt-th-check/ngt-th-check.component.d.ts +19 -19
- package/components/ngt-datatable/ngt-thead/ngt-thead.component.d.ts +10 -10
- package/components/ngt-datatable/ngt-tr/ngt-tr.component.d.ts +17 -17
- package/components/ngt-date/ngt-date.component.d.ts +75 -75
- package/components/ngt-date/ngt-date.module.d.ts +2 -2
- package/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.d.ts +5 -5
- package/components/ngt-dropdown/ngt-dropdown.component.d.ts +48 -48
- package/components/ngt-dropdown/ngt-dropdown.module.d.ts +2 -2
- package/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.d.ts +11 -11
- package/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.d.ts +22 -22
- package/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.d.ts +21 -21
- package/components/ngt-dropzone/ngt-dropzone.component.d.ts +108 -108
- package/components/ngt-dropzone/ngt-dropzone.module.d.ts +2 -2
- package/components/ngt-floating-button/ngt-floating-button.component.d.ts +32 -32
- package/components/ngt-floating-button/ngt-floating-button.module.d.ts +2 -2
- package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.d.ts +7 -7
- package/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.d.ts +2 -2
- package/components/ngt-form/ngt-form.component.d.ts +52 -52
- package/components/ngt-form/ngt-form.module.d.ts +2 -2
- package/components/ngt-header-nav/ngt-header-nav.component.d.ts +11 -11
- package/components/ngt-header-nav/ngt-header-nav.module.d.ts +2 -2
- package/components/ngt-helper/ngt-helper.component.d.ts +20 -20
- package/components/ngt-helper/ngt-helper.module.d.ts +2 -2
- package/components/ngt-input/ngt-input.component.d.ts +116 -116
- package/components/ngt-input/ngt-input.module.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.d.ts +2 -2
- package/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.d.ts +12 -12
- package/components/ngt-modal/ngt-modal.component.d.ts +19 -19
- package/components/ngt-modal/ngt-modal.module.d.ts +2 -2
- package/components/ngt-multi-select/ngt-multi-select.component.d.ts +97 -97
- package/components/ngt-multi-select/ngt-multi-select.module.d.ts +2 -2
- package/components/ngt-pagination/ngt-pagination.component.d.ts +40 -40
- package/components/ngt-pagination/ngt-pagination.module.d.ts +2 -2
- package/components/ngt-popover/ngt-popover.component.d.ts +28 -28
- package/components/ngt-popover/ngt-popover.module.d.ts +2 -2
- package/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.d.ts +9 -9
- package/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.d.ts +9 -9
- package/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.d.ts +14 -14
- package/components/ngt-portlet/ngt-portlet.component.d.ts +17 -17
- package/components/ngt-portlet/ngt-portlet.module.d.ts +2 -2
- package/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.d.ts +6 -6
- package/components/ngt-radio-button/ngt-radio-button.component.d.ts +32 -32
- package/components/ngt-radio-button/ngt-radio-button.module.d.ts +2 -2
- package/components/ngt-section/ngt-section.component.d.ts +26 -26
- package/components/ngt-section/ngt-section.module.d.ts +2 -2
- package/components/ngt-select/ngt-select.component.d.ts +131 -131
- package/components/ngt-select/ngt-select.directive.d.ts +13 -13
- package/components/ngt-select/ngt-select.module.d.ts +2 -2
- package/components/ngt-shining/ngt-shining.component.d.ts +16 -16
- package/components/ngt-shining/ngt-shining.module.d.ts +2 -2
- package/components/ngt-sidenav/ngt-sidenav.component.d.ts +29 -29
- package/components/ngt-sidenav/ngt-sidenav.module.d.ts +2 -2
- package/components/ngt-slider/ngt-slider.component.d.ts +31 -31
- package/components/ngt-slider/ngt-slider.module.d.ts +2 -2
- package/components/ngt-svg/ngt-svg.component.d.ts +10 -10
- package/components/ngt-svg/ngt-svg.module.d.ts +2 -2
- package/components/ngt-tag/ngt-tag.component.d.ts +10 -10
- package/components/ngt-tag/ngt-tag.module.d.ts +2 -2
- package/components/ngt-textarea/ngt-textarea.component.d.ts +46 -46
- package/components/ngt-textarea/ngt-textarea.module.d.ts +2 -2
- package/components/ngt-validation/ngt-validation.component.d.ts +10 -10
- package/components/ngt-validation/ngt-validation.module.d.ts +2 -2
- package/directives/ngt-stylizable/ngt-stylizable.directive.d.ts +65 -65
- package/directives/ngt-stylizable/ngt-stylizable.module.d.ts +2 -2
- package/enums/size.enum.d.ts +8 -8
- package/esm2015/animations/ngt-angular-animations.js +34 -34
- package/esm2015/base/ngt-base-ng-model.js +90 -90
- package/esm2015/components/ngt-action/ngt-action.component.js +49 -49
- package/esm2015/components/ngt-action/ngt-action.module.js +19 -19
- package/esm2015/components/ngt-button/ngt-button.component.js +106 -106
- package/esm2015/components/ngt-button/ngt-button.module.js +19 -19
- package/esm2015/components/ngt-checkbox/ngt-checkbox.component.js +139 -139
- package/esm2015/components/ngt-checkbox/ngt-checkbox.module.js +19 -19
- package/esm2015/components/ngt-content/ngt-content.component.js +33 -33
- package/esm2015/components/ngt-content/ngt-content.module.js +15 -15
- package/esm2015/components/ngt-datatable/ngt-datatable.component.js +409 -409
- package/esm2015/components/ngt-datatable/ngt-datatable.module.js +58 -58
- package/esm2015/components/ngt-datatable/ngt-tbody/ngt-tbody.component.js +58 -58
- package/esm2015/components/ngt-datatable/ngt-td/ngt-td.component.js +63 -63
- package/esm2015/components/ngt-datatable/ngt-td-check/ngt-td-check.component.js +105 -105
- package/esm2015/components/ngt-datatable/ngt-th/ngt-th.component.js +195 -195
- package/esm2015/components/ngt-datatable/ngt-th-check/ngt-th-check.component.js +87 -87
- package/esm2015/components/ngt-datatable/ngt-thead/ngt-thead.component.js +56 -56
- package/esm2015/components/ngt-datatable/ngt-tr/ngt-tr.component.js +76 -76
- package/esm2015/components/ngt-date/ngt-date.component.js +380 -380
- package/esm2015/components/ngt-date/ngt-date.module.js +25 -25
- package/esm2015/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.js +20 -20
- package/esm2015/components/ngt-dropdown/ngt-dropdown.component.js +185 -185
- package/esm2015/components/ngt-dropdown/ngt-dropdown.module.js +16 -16
- package/esm2015/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.js +50 -50
- package/esm2015/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.js +59 -59
- package/esm2015/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.js +67 -67
- package/esm2015/components/ngt-dropzone/ngt-dropzone.component.js +434 -434
- package/esm2015/components/ngt-dropzone/ngt-dropzone.module.js +37 -37
- package/esm2015/components/ngt-floating-button/ngt-floating-button.component.js +94 -94
- package/esm2015/components/ngt-floating-button/ngt-floating-button.module.js +19 -19
- package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.js +23 -23
- package/esm2015/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.module.js +15 -15
- package/esm2015/components/ngt-form/ngt-form.component.js +181 -181
- package/esm2015/components/ngt-form/ngt-form.module.js +17 -17
- package/esm2015/components/ngt-header-nav/ngt-header-nav.component.js +38 -38
- package/esm2015/components/ngt-header-nav/ngt-header-nav.module.js +15 -15
- package/esm2015/components/ngt-helper/ngt-helper.component.js +51 -51
- package/esm2015/components/ngt-helper/ngt-helper.module.js +19 -19
- package/esm2015/components/ngt-input/ngt-input.component.js +680 -680
- package/esm2015/components/ngt-input/ngt-input.module.js +28 -28
- package/esm2015/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.js +11 -11
- package/esm2015/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.js +11 -11
- package/esm2015/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.js +40 -40
- package/esm2015/components/ngt-modal/ngt-modal.component.js +79 -79
- package/esm2015/components/ngt-modal/ngt-modal.module.js +28 -28
- package/esm2015/components/ngt-multi-select/ngt-multi-select.component.js +394 -394
- package/esm2015/components/ngt-multi-select/ngt-multi-select.module.js +33 -33
- package/esm2015/components/ngt-pagination/ngt-pagination.component.js +172 -172
- package/esm2015/components/ngt-pagination/ngt-pagination.module.js +23 -23
- package/esm2015/components/ngt-popover/ngt-popover.component.js +73 -73
- package/esm2015/components/ngt-popover/ngt-popover.module.js +17 -17
- package/esm2015/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.js +34 -34
- package/esm2015/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.js +33 -33
- package/esm2015/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.js +47 -47
- package/esm2015/components/ngt-portlet/ngt-portlet.component.js +58 -58
- package/esm2015/components/ngt-portlet/ngt-portlet.module.js +32 -32
- package/esm2015/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.js +19 -19
- package/esm2015/components/ngt-radio-button/ngt-radio-button.component.js +103 -103
- package/esm2015/components/ngt-radio-button/ngt-radio-button.module.js +20 -20
- package/esm2015/components/ngt-section/ngt-section.component.js +101 -101
- package/esm2015/components/ngt-section/ngt-section.module.js +21 -21
- package/esm2015/components/ngt-select/ngt-select.component.js +488 -488
- package/esm2015/components/ngt-select/ngt-select.directive.js +35 -35
- package/esm2015/components/ngt-select/ngt-select.module.js +40 -40
- package/esm2015/components/ngt-shining/ngt-shining.component.js +41 -41
- package/esm2015/components/ngt-shining/ngt-shining.module.js +15 -15
- package/esm2015/components/ngt-sidenav/ngt-sidenav.component.js +123 -123
- package/esm2015/components/ngt-sidenav/ngt-sidenav.module.js +15 -15
- package/esm2015/components/ngt-slider/ngt-slider.component.js +82 -82
- package/esm2015/components/ngt-slider/ngt-slider.module.js +17 -17
- package/esm2015/components/ngt-svg/ngt-svg.component.js +52 -52
- package/esm2015/components/ngt-svg/ngt-svg.module.js +19 -19
- package/esm2015/components/ngt-tag/ngt-tag.component.js +36 -36
- package/esm2015/components/ngt-tag/ngt-tag.module.js +17 -17
- package/esm2015/components/ngt-textarea/ngt-textarea.component.js +210 -210
- package/esm2015/components/ngt-textarea/ngt-textarea.module.js +26 -26
- package/esm2015/components/ngt-validation/ngt-validation.component.js +24 -24
- package/esm2015/components/ngt-validation/ngt-validation.module.js +15 -15
- package/esm2015/directives/ngt-stylizable/ngt-stylizable.directive.js +227 -227
- package/esm2015/directives/ngt-stylizable/ngt-stylizable.module.js +15 -15
- package/esm2015/enums/size.enum.js +11 -11
- package/esm2015/helpers/enum/enum.js +7 -7
- package/esm2015/helpers/form/form.js +14 -14
- package/esm2015/helpers/routing/route.js +11 -11
- package/esm2015/helpers/uuid.js +10 -10
- package/esm2015/ng-tailwind.js +10 -10
- package/esm2015/public-api.js +120 -120
- package/esm2015/services/http/ngt-attachment-http.service.js +3 -3
- package/esm2015/services/http/ngt-http-form.service.js +3 -3
- package/esm2015/services/http/ngt-http-resource.service.js +3 -3
- package/esm2015/services/http/ngt-http-validation.service.js +3 -3
- package/esm2015/services/http/ngt-http.service.js +3 -3
- package/esm2015/services/http/ngt-translate.service.js +3 -3
- package/esm2015/services/ngt-stylizable/ngt-stylizable.service.js +273 -273
- package/fesm2015/ng-tailwind.js +6690 -6690
- package/fesm2015/ng-tailwind.js.map +1 -1
- package/helpers/enum/enum.d.ts +1 -1
- package/helpers/form/form.d.ts +4 -4
- package/helpers/routing/route.d.ts +2 -2
- package/helpers/uuid.d.ts +1 -1
- package/ng-tailwind.d.ts +10 -10
- package/ng-tailwind.metadata.json +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +82 -82
- package/services/http/ngt-attachment-http.service.d.ts +10 -10
- package/services/http/ngt-http-form.service.d.ts +5 -5
- package/services/http/ngt-http-resource.service.d.ts +12 -12
- package/services/http/ngt-http-validation.service.d.ts +11 -11
- package/services/http/ngt-http.service.d.ts +27 -27
- package/services/http/ngt-translate.service.d.ts +29 -29
- package/services/ngt-stylizable/ngt-stylizable.service.d.ts +96 -96
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
import { Component, EventEmitter, Host, Input, Optional, Output } from '@angular/core';
|
|
2
|
-
import { ControlContainer, NgForm } from '@angular/forms';
|
|
3
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
import { isValidNgForm } from '../../helpers/form/form';
|
|
6
|
-
import { getIdFromUri } from '../../helpers/routing/route';
|
|
7
|
-
import { NgtHttpFormService } from '../../services/http/ngt-http-form.service';
|
|
8
|
-
export class NgtFormComponent {
|
|
9
|
-
constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
|
|
10
|
-
this.formContainer = formContainer;
|
|
11
|
-
this.ngForm = ngForm;
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.route = route;
|
|
14
|
-
this.ngtHttpFormService = ngtHttpFormService;
|
|
15
|
-
this.guessFormState = true;
|
|
16
|
-
this.message = '';
|
|
17
|
-
this.routeIdentifier = 'id';
|
|
18
|
-
this.onCreating = new EventEmitter;
|
|
19
|
-
this.onEditing = new EventEmitter;
|
|
20
|
-
this.onLoadingChange = new EventEmitter;
|
|
21
|
-
this.onShiningChange = new EventEmitter;
|
|
22
|
-
this.setupComponent = new EventEmitter;
|
|
23
|
-
this.onResourceLoadingError = new EventEmitter;
|
|
24
|
-
this.subscriptions = [];
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
if (this.guessFormState) {
|
|
28
|
-
this.subscriptions.push(this.determineFormState().subscribe(() => {
|
|
29
|
-
this.setupComponent.emit();
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.setupComponent.emit();
|
|
34
|
-
}
|
|
35
|
-
this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
|
|
36
|
-
if (!this.ngForm.valid) {
|
|
37
|
-
NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.destroySubscriptions();
|
|
43
|
-
}
|
|
44
|
-
isCreating() {
|
|
45
|
-
return this.formState === NgtFormState.CREATING;
|
|
46
|
-
}
|
|
47
|
-
isEditing() {
|
|
48
|
-
return this.formState === NgtFormState.EDITING;
|
|
49
|
-
}
|
|
50
|
-
isLoading() {
|
|
51
|
-
return this.loading;
|
|
52
|
-
}
|
|
53
|
-
isShining() {
|
|
54
|
-
return this.shining;
|
|
55
|
-
}
|
|
56
|
-
canShowValidationMessage() {
|
|
57
|
-
return this.formContainer &&
|
|
58
|
-
this.formContainer['submitted'] &&
|
|
59
|
-
this.formContainer.status != 'VALID' &&
|
|
60
|
-
this.formContainer.status != 'DISABLED';
|
|
61
|
-
}
|
|
62
|
-
setShining(shining) {
|
|
63
|
-
this.shining = shining;
|
|
64
|
-
this.onShiningChange.emit(this.shining);
|
|
65
|
-
}
|
|
66
|
-
setLoading(loading) {
|
|
67
|
-
this.loading = loading;
|
|
68
|
-
this.onLoadingChange.emit(this.loading);
|
|
69
|
-
}
|
|
70
|
-
setFormState(state, triggerChange = true) {
|
|
71
|
-
this.formState = state;
|
|
72
|
-
if (triggerChange) {
|
|
73
|
-
this.triggerFormStateChange();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
getFormState() {
|
|
77
|
-
return this.formState;
|
|
78
|
-
}
|
|
79
|
-
triggerFormStateChange() {
|
|
80
|
-
if (this.isEditing()) {
|
|
81
|
-
this.triggerFormEditing();
|
|
82
|
-
}
|
|
83
|
-
else if (this.isCreating()) {
|
|
84
|
-
this.triggerFormCreating();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
formHasChanges() {
|
|
88
|
-
return this.ngForm.dirty;
|
|
89
|
-
}
|
|
90
|
-
saveResource() {
|
|
91
|
-
return new Observable((observer) => {
|
|
92
|
-
if (isValidNgForm(this.ngForm)) {
|
|
93
|
-
this.setLoading(true);
|
|
94
|
-
this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
|
|
95
|
-
.subscribe((response) => {
|
|
96
|
-
this.setLoading(false);
|
|
97
|
-
observer.next(response);
|
|
98
|
-
observer.complete();
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
observer.error();
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
triggerFormCreating() {
|
|
107
|
-
this.onCreating.emit();
|
|
108
|
-
}
|
|
109
|
-
triggerFormEditing() {
|
|
110
|
-
if (this.uriId && this.resource) {
|
|
111
|
-
this.setLoading(true);
|
|
112
|
-
this.setShining(true);
|
|
113
|
-
this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
|
|
114
|
-
.subscribe((resource) => {
|
|
115
|
-
this.setLoading(false);
|
|
116
|
-
this.setShining(false);
|
|
117
|
-
this.onEditing.emit(resource);
|
|
118
|
-
setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
|
|
119
|
-
}, (error) => {
|
|
120
|
-
this.setLoading(false);
|
|
121
|
-
this.setShining(false);
|
|
122
|
-
this.onResourceLoadingError.emit(error);
|
|
123
|
-
}));
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
this.onEditing.emit(null);
|
|
127
|
-
}
|
|
128
|
-
determineFormState() {
|
|
129
|
-
return new Observable((observer) => {
|
|
130
|
-
this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
|
|
131
|
-
this.uriId = id;
|
|
132
|
-
if (this.uriId) {
|
|
133
|
-
this.setFormState(NgtFormState.EDITING);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this.setFormState(NgtFormState.CREATING);
|
|
137
|
-
}
|
|
138
|
-
observer.next();
|
|
139
|
-
}));
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
destroySubscriptions() {
|
|
143
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
144
|
-
this.subscriptions = [];
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
|
|
148
|
-
NgtFormComponent.decorators = [
|
|
149
|
-
{ type: Component, args: [{
|
|
150
|
-
selector: 'ngt-form',
|
|
151
|
-
template: "<ngt-form-validation-message *ngIf='!customLayout'></ngt-form-validation-message>\
|
|
152
|
-
},] }
|
|
153
|
-
];
|
|
154
|
-
NgtFormComponent.ctorParameters = () => [
|
|
155
|
-
{ type: ControlContainer, decorators: [{ type: Optional }, { type: Host }] },
|
|
156
|
-
{ type: NgForm, decorators: [{ type: Optional }, { type: Host }] },
|
|
157
|
-
{ type: Router },
|
|
158
|
-
{ type: ActivatedRoute },
|
|
159
|
-
{ type: NgtHttpFormService }
|
|
160
|
-
];
|
|
161
|
-
NgtFormComponent.propDecorators = {
|
|
162
|
-
guessFormState: [{ type: Input }],
|
|
163
|
-
message: [{ type: Input }],
|
|
164
|
-
routeIdentifier: [{ type: Input }],
|
|
165
|
-
resource: [{ type: Input }],
|
|
166
|
-
customLayout: [{ type: Input }],
|
|
167
|
-
onSubmitInvalidForm: [{ type: Output }],
|
|
168
|
-
onCreating: [{ type: Output }],
|
|
169
|
-
onEditing: [{ type: Output }],
|
|
170
|
-
onLoadingChange: [{ type: Output }],
|
|
171
|
-
onShiningChange: [{ type: Output }],
|
|
172
|
-
setupComponent: [{ type: Output }],
|
|
173
|
-
onResourceLoadingError: [{ type: Output }]
|
|
174
|
-
};
|
|
175
|
-
export var NgtFormState;
|
|
176
|
-
(function (NgtFormState) {
|
|
177
|
-
NgtFormState["CREATING"] = "CREATING";
|
|
178
|
-
NgtFormState["EDITING"] = "EDITING";
|
|
179
|
-
})(NgtFormState || (NgtFormState = {}));
|
|
180
|
-
;
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBTTdFLE1BQU0sT0FBTyxnQkFBZ0I7SUF1QnpCLFlBRVcsYUFBK0IsRUFFL0IsTUFBYyxFQUNkLE1BQWMsRUFDZCxLQUFxQixFQUNwQixrQkFBc0M7UUFMdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRS9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQTdCbEMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQU05QixlQUFVLEdBQXNCLElBQUksWUFBWSxDQUFDO1FBQ2pELGNBQVMsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDaEQsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLENBQUM7UUFDMUQsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLENBQUM7UUFDMUQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDckQsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxDQUFDO1FBT3pFLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztJQVdoRCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUQ7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkQsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVNLHdCQUF3QjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLE9BQU87WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBbUIsRUFBRSxnQkFBeUIsSUFBSTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXRCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQzlDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO29CQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUNULENBQUM7YUFDTDtpQkFBTTtnQkFDSCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDOUQsU0FBUyxDQUNOLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FDSixDQUNSLENBQUM7WUFFRixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO2dCQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUMzQztxQkFBTTtvQkFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDNUM7Z0JBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDOztBQXZMdUIsb0NBQW1CLEdBQXlCLElBQUksWUFBWSxDQUFDOztZQVh4RixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLDBIQUF3QzthQUMzQzs7O1lBWE8sZ0JBQWdCLHVCQW9DZixRQUFRLFlBQUksSUFBSTtZQXBDQyxNQUFNLHVCQXNDdkIsUUFBUSxZQUFJLElBQUk7WUFyQ0QsTUFBTTtZQUF0QixjQUFjO1lBS2Qsa0JBQWtCOzs7NkJBT3JCLEtBQUs7c0JBQ0wsS0FBSzs4QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSztrQ0FFTCxNQUFNO3lCQUVOLE1BQU07d0JBQ04sTUFBTTs4QkFDTixNQUFNOzhCQUNOLE1BQU07NkJBQ04sTUFBTTtxQ0FDTixNQUFNOztBQW1MWCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3BCLHFDQUFxQixDQUFBO0lBQ3JCLG1DQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5nRm9ybX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7aXNWYWxpZE5nRm9ybX0gZnJvbSAnLi4vLi4vaGVscGVycy9mb3JtL2Zvcm0nO1xyXG5pbXBvcnQge2dldElkRnJvbVVyaX0gZnJvbSAnLi4vLi4vaGVscGVycy9yb3V0aW5nL3JvdXRlJztcclxuaW1wb3J0IHtOZ3RIdHRwRm9ybVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvbmd0LWh0dHAtZm9ybS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICduZ3QtZm9ybScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIHB1YmxpYyBndWVzc0Zvcm1TdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcm91dGVJZGVudGlmaWVyOiBzdHJpbmcgPSAnaWQnO1xyXG4gICAgQElucHV0KCkgcHVibGljIHJlc291cmNlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tTGF5b3V0OiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgc3RhdGljIG9uU3VibWl0SW52YWxpZEZvcm06IEV2ZW50RW1pdHRlcjxOZ0Zvcm0+ID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uQ3JlYXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25FZGl0aW5nOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uTG9hZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25TaGluaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZXR1cENvbXBvbmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblJlc291cmNlTG9hZGluZ0Vycm9yOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI7XHJcblxyXG4gICAgcHVibGljIGZvcm1TdGF0ZTogTmd0Rm9ybVN0YXRlO1xyXG4gICAgcHVibGljIHVyaUlkOiBhbnk7XHJcblxyXG4gICAgcHJpdmF0ZSBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBzaGluaW5nOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XHJcblxyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBIb3N0KClcclxuICAgICAgICBwdWJsaWMgZm9ybUNvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcclxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpXHJcbiAgICAgICAgcHVibGljIG5nRm9ybTogTmdGb3JtLFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgbmd0SHR0cEZvcm1TZXJ2aWNlOiBOZ3RIdHRwRm9ybVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5ndWVzc0Zvcm1TdGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0ZXJtaW5lRm9ybVN0YXRlKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHVwQ29tcG9uZW50LmVtaXQoKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5uZ0Zvcm0ubmdTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5uZ0Zvcm0udmFsaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBOZ3RGb3JtQ29tcG9uZW50Lm9uU3VibWl0SW52YWxpZEZvcm0uZW1pdCh0aGlzLm5nRm9ybSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95U3Vic2NyaXB0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0NyZWF0aW5nKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZSA9PT0gTmd0Rm9ybVN0YXRlLkNSRUFUSU5HO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0VkaXRpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlID09PSBOZ3RGb3JtU3RhdGUuRURJVElORztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzU2hpbmluZygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaGluaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUNvbnRhaW5lciAmJlxyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250YWluZXJbJ3N1Ym1pdHRlZCddICYmXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lci5zdGF0dXMgIT0gJ1ZBTElEJyAmJlxyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250YWluZXIuc3RhdHVzICE9ICdESVNBQkxFRCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFNoaW5pbmcoc2hpbmluZzogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuc2hpbmluZyA9IHNoaW5pbmc7XHJcbiAgICAgICAgdGhpcy5vblNoaW5pbmdDaGFuZ2UuZW1pdCh0aGlzLnNoaW5pbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xyXG4gICAgICAgIHRoaXMub25Mb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0Rm9ybVN0YXRlKHN0YXRlOiBOZ3RGb3JtU3RhdGUsIHRyaWdnZXJDaGFuZ2U6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtU3RhdGUgPSBzdGF0ZTtcclxuXHJcbiAgICAgICAgaWYgKHRyaWdnZXJDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybVN0YXRlQ2hhbmdlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRGb3JtU3RhdGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybVN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0cmlnZ2VyRm9ybVN0YXRlQ2hhbmdlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzRWRpdGluZygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckZvcm1FZGl0aW5nKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzQ3JlYXRpbmcoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtQ3JlYXRpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1IYXNDaGFuZ2VzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5nRm9ybS5kaXJ0eTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2F2ZVJlc291cmNlKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzVmFsaWROZ0Zvcm0odGhpcy5uZ0Zvcm0pKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcodHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ3RIdHRwRm9ybVNlcnZpY2Uuc2F2ZVJlc291cmNlKHRoaXMucmVzb3VyY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmlnZ2VyRm9ybUNyZWF0aW5nKCkge1xyXG4gICAgICAgIHRoaXMub25DcmVhdGluZy5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyaWdnZXJGb3JtRWRpdGluZygpIHtcclxuICAgICAgICBpZiAodGhpcy51cmlJZCAmJiB0aGlzLnJlc291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKHRydWUpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5sb2FkUmVzb3VyY2VCeUlkKHRoaXMucmVzb3VyY2UsIHRoaXMudXJpSWQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNoaW5pbmcoZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQocmVzb3VyY2UpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5uZ0Zvcm0uZm9ybS5tYXJrQXNQcmlzdGluZSgpLCAxNTAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTaGluaW5nKGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUmVzb3VyY2VMb2FkaW5nRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm9uRWRpdGluZy5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGV0ZXJtaW5lRm9ybVN0YXRlKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgICAgICBnZXRJZEZyb21VcmkodGhpcy5yb3V0ZSwgdGhpcy5yb3V0ZUlkZW50aWZpZXIpLnN1YnNjcmliZSgoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXJpSWQgPSBpZDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXJpSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkVESVRJTkcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9ybVN0YXRlKE5ndEZvcm1TdGF0ZS5DUkVBVElORyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVzdHJveVN1YnNjcmlwdGlvbnMoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gTmd0Rm9ybVN0YXRlIHtcclxuICAgIENSRUFUSU5HID0gJ0NSRUFUSU5HJyxcclxuICAgIEVESVRJTkcgPSAnRURJVElORydcclxufTtcclxuIl19
|
|
1
|
+
import { Component, EventEmitter, Host, Input, Optional, Output } from '@angular/core';
|
|
2
|
+
import { ControlContainer, NgForm } from '@angular/forms';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { isValidNgForm } from '../../helpers/form/form';
|
|
6
|
+
import { getIdFromUri } from '../../helpers/routing/route';
|
|
7
|
+
import { NgtHttpFormService } from '../../services/http/ngt-http-form.service';
|
|
8
|
+
export class NgtFormComponent {
|
|
9
|
+
constructor(formContainer, ngForm, router, route, ngtHttpFormService) {
|
|
10
|
+
this.formContainer = formContainer;
|
|
11
|
+
this.ngForm = ngForm;
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.route = route;
|
|
14
|
+
this.ngtHttpFormService = ngtHttpFormService;
|
|
15
|
+
this.guessFormState = true;
|
|
16
|
+
this.message = '';
|
|
17
|
+
this.routeIdentifier = 'id';
|
|
18
|
+
this.onCreating = new EventEmitter;
|
|
19
|
+
this.onEditing = new EventEmitter;
|
|
20
|
+
this.onLoadingChange = new EventEmitter;
|
|
21
|
+
this.onShiningChange = new EventEmitter;
|
|
22
|
+
this.setupComponent = new EventEmitter;
|
|
23
|
+
this.onResourceLoadingError = new EventEmitter;
|
|
24
|
+
this.subscriptions = [];
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
if (this.guessFormState) {
|
|
28
|
+
this.subscriptions.push(this.determineFormState().subscribe(() => {
|
|
29
|
+
this.setupComponent.emit();
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.setupComponent.emit();
|
|
34
|
+
}
|
|
35
|
+
this.subscriptions.push(this.ngForm.ngSubmit.subscribe(() => {
|
|
36
|
+
if (!this.ngForm.valid) {
|
|
37
|
+
NgtFormComponent.onSubmitInvalidForm.emit(this.ngForm);
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this.destroySubscriptions();
|
|
43
|
+
}
|
|
44
|
+
isCreating() {
|
|
45
|
+
return this.formState === NgtFormState.CREATING;
|
|
46
|
+
}
|
|
47
|
+
isEditing() {
|
|
48
|
+
return this.formState === NgtFormState.EDITING;
|
|
49
|
+
}
|
|
50
|
+
isLoading() {
|
|
51
|
+
return this.loading;
|
|
52
|
+
}
|
|
53
|
+
isShining() {
|
|
54
|
+
return this.shining;
|
|
55
|
+
}
|
|
56
|
+
canShowValidationMessage() {
|
|
57
|
+
return this.formContainer &&
|
|
58
|
+
this.formContainer['submitted'] &&
|
|
59
|
+
this.formContainer.status != 'VALID' &&
|
|
60
|
+
this.formContainer.status != 'DISABLED';
|
|
61
|
+
}
|
|
62
|
+
setShining(shining) {
|
|
63
|
+
this.shining = shining;
|
|
64
|
+
this.onShiningChange.emit(this.shining);
|
|
65
|
+
}
|
|
66
|
+
setLoading(loading) {
|
|
67
|
+
this.loading = loading;
|
|
68
|
+
this.onLoadingChange.emit(this.loading);
|
|
69
|
+
}
|
|
70
|
+
setFormState(state, triggerChange = true) {
|
|
71
|
+
this.formState = state;
|
|
72
|
+
if (triggerChange) {
|
|
73
|
+
this.triggerFormStateChange();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
getFormState() {
|
|
77
|
+
return this.formState;
|
|
78
|
+
}
|
|
79
|
+
triggerFormStateChange() {
|
|
80
|
+
if (this.isEditing()) {
|
|
81
|
+
this.triggerFormEditing();
|
|
82
|
+
}
|
|
83
|
+
else if (this.isCreating()) {
|
|
84
|
+
this.triggerFormCreating();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
formHasChanges() {
|
|
88
|
+
return this.ngForm.dirty;
|
|
89
|
+
}
|
|
90
|
+
saveResource() {
|
|
91
|
+
return new Observable((observer) => {
|
|
92
|
+
if (isValidNgForm(this.ngForm)) {
|
|
93
|
+
this.setLoading(true);
|
|
94
|
+
this.subscriptions.push(this.ngtHttpFormService.saveResource(this.resource)
|
|
95
|
+
.subscribe((response) => {
|
|
96
|
+
this.setLoading(false);
|
|
97
|
+
observer.next(response);
|
|
98
|
+
observer.complete();
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
observer.error();
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
triggerFormCreating() {
|
|
107
|
+
this.onCreating.emit();
|
|
108
|
+
}
|
|
109
|
+
triggerFormEditing() {
|
|
110
|
+
if (this.uriId && this.resource) {
|
|
111
|
+
this.setLoading(true);
|
|
112
|
+
this.setShining(true);
|
|
113
|
+
this.subscriptions.push(this.ngtHttpFormService.loadResourceById(this.resource, this.uriId)
|
|
114
|
+
.subscribe((resource) => {
|
|
115
|
+
this.setLoading(false);
|
|
116
|
+
this.setShining(false);
|
|
117
|
+
this.onEditing.emit(resource);
|
|
118
|
+
setTimeout(() => this.ngForm.form.markAsPristine(), 1500);
|
|
119
|
+
}, (error) => {
|
|
120
|
+
this.setLoading(false);
|
|
121
|
+
this.setShining(false);
|
|
122
|
+
this.onResourceLoadingError.emit(error);
|
|
123
|
+
}));
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
this.onEditing.emit(null);
|
|
127
|
+
}
|
|
128
|
+
determineFormState() {
|
|
129
|
+
return new Observable((observer) => {
|
|
130
|
+
this.subscriptions.push(getIdFromUri(this.route, this.routeIdentifier).subscribe((id) => {
|
|
131
|
+
this.uriId = id;
|
|
132
|
+
if (this.uriId) {
|
|
133
|
+
this.setFormState(NgtFormState.EDITING);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
this.setFormState(NgtFormState.CREATING);
|
|
137
|
+
}
|
|
138
|
+
observer.next();
|
|
139
|
+
}));
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
destroySubscriptions() {
|
|
143
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
144
|
+
this.subscriptions = [];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
NgtFormComponent.onSubmitInvalidForm = new EventEmitter;
|
|
148
|
+
NgtFormComponent.decorators = [
|
|
149
|
+
{ type: Component, args: [{
|
|
150
|
+
selector: 'ngt-form',
|
|
151
|
+
template: "<ngt-form-validation-message *ngIf='!customLayout'></ngt-form-validation-message>\n<ng-content></ng-content>"
|
|
152
|
+
},] }
|
|
153
|
+
];
|
|
154
|
+
NgtFormComponent.ctorParameters = () => [
|
|
155
|
+
{ type: ControlContainer, decorators: [{ type: Optional }, { type: Host }] },
|
|
156
|
+
{ type: NgForm, decorators: [{ type: Optional }, { type: Host }] },
|
|
157
|
+
{ type: Router },
|
|
158
|
+
{ type: ActivatedRoute },
|
|
159
|
+
{ type: NgtHttpFormService }
|
|
160
|
+
];
|
|
161
|
+
NgtFormComponent.propDecorators = {
|
|
162
|
+
guessFormState: [{ type: Input }],
|
|
163
|
+
message: [{ type: Input }],
|
|
164
|
+
routeIdentifier: [{ type: Input }],
|
|
165
|
+
resource: [{ type: Input }],
|
|
166
|
+
customLayout: [{ type: Input }],
|
|
167
|
+
onSubmitInvalidForm: [{ type: Output }],
|
|
168
|
+
onCreating: [{ type: Output }],
|
|
169
|
+
onEditing: [{ type: Output }],
|
|
170
|
+
onLoadingChange: [{ type: Output }],
|
|
171
|
+
onShiningChange: [{ type: Output }],
|
|
172
|
+
setupComponent: [{ type: Output }],
|
|
173
|
+
onResourceLoadingError: [{ type: Output }]
|
|
174
|
+
};
|
|
175
|
+
export var NgtFormState;
|
|
176
|
+
(function (NgtFormState) {
|
|
177
|
+
NgtFormState["CREATING"] = "CREATING";
|
|
178
|
+
NgtFormState["EDITING"] = "EDITING";
|
|
179
|
+
})(NgtFormState || (NgtFormState = {}));
|
|
180
|
+
;
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBTTdFLE1BQU0sT0FBTyxnQkFBZ0I7SUF1QnpCLFlBRVcsYUFBK0IsRUFFL0IsTUFBYyxFQUNkLE1BQWMsRUFDZCxLQUFxQixFQUNwQixrQkFBc0M7UUFMdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRS9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDcEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQTdCbEMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixvQkFBZSxHQUFXLElBQUksQ0FBQztRQU05QixlQUFVLEdBQXNCLElBQUksWUFBWSxDQUFDO1FBQ2pELGNBQVMsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDaEQsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLENBQUM7UUFDMUQsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLENBQUM7UUFDMUQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLENBQUM7UUFDckQsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxDQUFDO1FBT3pFLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztJQVdoRCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7YUFBTTtZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUQ7UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkQsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVNLHdCQUF3QjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLE9BQU87WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBbUIsRUFBRSxnQkFBeUIsSUFBSTtRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVNLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXRCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQzlDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO29CQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUN4QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUNULENBQUM7YUFDTDtpQkFBTTtnQkFDSCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDOUQsU0FBUyxDQUNOLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FDSixDQUNSLENBQUM7WUFFRixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO2dCQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFFaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUMzQztxQkFBTTtvQkFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDNUM7Z0JBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDOztBQXZMdUIsb0NBQW1CLEdBQXlCLElBQUksWUFBWSxDQUFDOztZQVh4RixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLHdIQUF3QzthQUMzQzs7O1lBWE8sZ0JBQWdCLHVCQW9DZixRQUFRLFlBQUksSUFBSTtZQXBDQyxNQUFNLHVCQXNDdkIsUUFBUSxZQUFJLElBQUk7WUFyQ0QsTUFBTTtZQUF0QixjQUFjO1lBS2Qsa0JBQWtCOzs7NkJBT3JCLEtBQUs7c0JBQ0wsS0FBSzs4QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSztrQ0FFTCxNQUFNO3lCQUVOLE1BQU07d0JBQ04sTUFBTTs4QkFDTixNQUFNOzhCQUNOLE1BQU07NkJBQ04sTUFBTTtxQ0FDTixNQUFNOztBQW1MWCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3BCLHFDQUFxQixDQUFBO0lBQ3JCLG1DQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm19IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtpc1ZhbGlkTmdGb3JtfSBmcm9tICcuLi8uLi9oZWxwZXJzL2Zvcm0vZm9ybSc7XG5pbXBvcnQge2dldElkRnJvbVVyaX0gZnJvbSAnLi4vLi4vaGVscGVycy9yb3V0aW5nL3JvdXRlJztcbmltcG9ydCB7Tmd0SHR0cEZvcm1TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL25ndC1odHRwLWZvcm0uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd0LWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtZm9ybS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5ndEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVibGljIGd1ZXNzRm9ybVN0YXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgcHVibGljIHJvdXRlSWRlbnRpZmllcjogc3RyaW5nID0gJ2lkJztcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVzb3VyY2U6IGFueTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tTGF5b3V0OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzdGF0aWMgb25TdWJtaXRJbnZhbGlkRm9ybTogRXZlbnRFbWl0dGVyPE5nRm9ybT4gPSBuZXcgRXZlbnRFbWl0dGVyO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkNyZWF0aW5nOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkVkaXRpbmc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uTG9hZGluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uU2hpbmluZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjtcbiAgICBAT3V0cHV0KCkgcHVibGljIHNldHVwQ29tcG9uZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBvblJlc291cmNlTG9hZGluZ0Vycm9yOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI7XG5cbiAgICBwdWJsaWMgZm9ybVN0YXRlOiBOZ3RGb3JtU3RhdGU7XG4gICAgcHVibGljIHVyaUlkOiBhbnk7XG5cbiAgICBwcml2YXRlIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBzaGluaW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpXG4gICAgICAgIHB1YmxpYyBmb3JtQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBASG9zdCgpXG4gICAgICAgIHB1YmxpYyBuZ0Zvcm06IE5nRm9ybSxcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIG5ndEh0dHBGb3JtU2VydmljZTogTmd0SHR0cEZvcm1TZXJ2aWNlXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5ndWVzc0Zvcm1TdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRlcm1pbmVGb3JtU3RhdGUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldHVwQ29tcG9uZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXBDb21wb25lbnQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICB0aGlzLm5nRm9ybS5uZ1N1Ym1pdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5uZ0Zvcm0udmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgTmd0Rm9ybUNvbXBvbmVudC5vblN1Ym1pdEludmFsaWRGb3JtLmVtaXQodGhpcy5uZ0Zvcm0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ3JlYXRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZSA9PT0gTmd0Rm9ybVN0YXRlLkNSRUFUSU5HO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VkaXRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1TdGF0ZSA9PT0gTmd0Rm9ybVN0YXRlLkVESVRJTkc7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTG9hZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNTaGluaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGluaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5TaG93VmFsaWRhdGlvbk1lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Db250YWluZXIgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lclsnc3VibWl0dGVkJ10gJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRhaW5lci5zdGF0dXMgIT0gJ1ZBTElEJyAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtQ29udGFpbmVyLnN0YXR1cyAhPSAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTaGluaW5nKHNoaW5pbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaGluaW5nID0gc2hpbmluZztcbiAgICAgICAgdGhpcy5vblNoaW5pbmdDaGFuZ2UuZW1pdCh0aGlzLnNoaW5pbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcbiAgICAgICAgdGhpcy5vbkxvYWRpbmdDaGFuZ2UuZW1pdCh0aGlzLmxvYWRpbmcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRGb3JtU3RhdGUoc3RhdGU6IE5ndEZvcm1TdGF0ZSwgdHJpZ2dlckNoYW5nZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5mb3JtU3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICBpZiAodHJpZ2dlckNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyRm9ybVN0YXRlQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Rm9ybVN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtU3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRyaWdnZXJGb3JtU3RhdGVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRWRpdGluZygpKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtRWRpdGluZygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDcmVhdGluZygpKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXJGb3JtQ3JlYXRpbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb3JtSGFzQ2hhbmdlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdGb3JtLmRpcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlUmVzb3VyY2UoKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkTmdGb3JtKHRoaXMubmdGb3JtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ndEh0dHBGb3JtU2VydmljZS5zYXZlUmVzb3VyY2UodGhpcy5yZXNvdXJjZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmlnZ2VyRm9ybUNyZWF0aW5nKCkge1xuICAgICAgICB0aGlzLm9uQ3JlYXRpbmcuZW1pdCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmlnZ2VyRm9ybUVkaXRpbmcoKSB7XG4gICAgICAgIGlmICh0aGlzLnVyaUlkICYmIHRoaXMucmVzb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyh0cnVlKTtcblxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3RIdHRwRm9ybVNlcnZpY2UubG9hZFJlc291cmNlQnlJZCh0aGlzLnJlc291cmNlLCB0aGlzLnVyaUlkKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyhmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRWRpdGluZy5lbWl0KHJlc291cmNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5uZ0Zvcm0uZm9ybS5tYXJrQXNQcmlzdGluZSgpLCAxNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U2hpbmluZyhmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUmVzb3VyY2VMb2FkaW5nRXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25FZGl0aW5nLmVtaXQobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXRlcm1pbmVGb3JtU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICAgIGdldElkRnJvbVVyaSh0aGlzLnJvdXRlLCB0aGlzLnJvdXRlSWRlbnRpZmllcikuc3Vic2NyaWJlKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXJpSWQgPSBpZDtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy51cmlJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkVESVRJTkcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtU3RhdGUoTmd0Rm9ybVN0YXRlLkNSRUFUSU5HKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95U3Vic2NyaXB0aW9ucygpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgfVxufVxuXG5leHBvcnQgZW51bSBOZ3RGb3JtU3RhdGUge1xuICAgIENSRUFUSU5HID0gJ0NSRUFUSU5HJyxcbiAgICBFRElUSU5HID0gJ0VESVRJTkcnXG59O1xuIl19
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { NgtFormValidationMessageModule } from './ngt-form-validation-message/ngt-form-validation-message.module';
|
|
4
|
-
import { NgtFormComponent } from './ngt-form.component';
|
|
5
|
-
export class NgtFormModule {
|
|
6
|
-
}
|
|
7
|
-
NgtFormModule.decorators = [
|
|
8
|
-
{ type: NgModule, args: [{
|
|
9
|
-
declarations: [NgtFormComponent],
|
|
10
|
-
exports: [NgtFormComponent],
|
|
11
|
-
imports: [
|
|
12
|
-
CommonModule,
|
|
13
|
-
NgtFormValidationMessageModule
|
|
14
|
-
]
|
|
15
|
-
},] }
|
|
16
|
-
];
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { NgtFormValidationMessageModule } from './ngt-form-validation-message/ngt-form-validation-message.module';
|
|
4
|
+
import { NgtFormComponent } from './ngt-form.component';
|
|
5
|
+
export class NgtFormModule {
|
|
6
|
+
}
|
|
7
|
+
NgtFormModule.decorators = [
|
|
8
|
+
{ type: NgModule, args: [{
|
|
9
|
+
declarations: [NgtFormComponent],
|
|
10
|
+
exports: [NgtFormComponent],
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
NgtFormValidationMessageModule
|
|
14
|
+
]
|
|
15
|
+
},] }
|
|
16
|
+
];
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWZvcm0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWZvcm0vbmd0LWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBVXhELE1BQU0sT0FBTyxhQUFhOzs7WUFSekIsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDM0IsT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osOEJBQThCO2lCQUNqQzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZU1vZHVsZSB9IGZyb20gJy4vbmd0LWZvcm0tdmFsaWRhdGlvbi1tZXNzYWdlL25ndC1mb3JtLXZhbGlkYXRpb24tbWVzc2FnZS5tb2R1bGUnO1xuaW1wb3J0IHsgTmd0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbmd0LWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOZ3RGb3JtQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbTmd0Rm9ybUNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE5ndEZvcm1WYWxpZGF0aW9uTWVzc2FnZU1vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0Rm9ybU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import { Component, Injector, Input, Optional, Self, ViewChild } from '@angular/core';
|
|
2
|
-
import { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';
|
|
3
|
-
import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
|
|
4
|
-
export class NgtHeaderNavComponent {
|
|
5
|
-
constructor(injector, ngtStylizableDirective) {
|
|
6
|
-
this.injector = injector;
|
|
7
|
-
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
8
|
-
if (this.ngtStylizableDirective) {
|
|
9
|
-
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
this.ngtStyle = new NgtStylizableService();
|
|
13
|
-
}
|
|
14
|
-
this.ngtStyle.load(this.injector, 'HeaderNav', {
|
|
15
|
-
h: 'h-auto',
|
|
16
|
-
color: {}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
ngAfterViewInit() {
|
|
20
|
-
this.element.nativeElement.classList.add('tail-animate-fade-up');
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
NgtHeaderNavComponent.decorators = [
|
|
24
|
-
{ type: Component, args: [{
|
|
25
|
-
selector: 'ngt-header-nav',
|
|
26
|
-
template: "<section class=\"flex\">\
|
|
27
|
-
styles: [""]
|
|
28
|
-
},] }
|
|
29
|
-
];
|
|
30
|
-
NgtHeaderNavComponent.ctorParameters = () => [
|
|
31
|
-
{ type: Injector },
|
|
32
|
-
{ type: NgtStylizableDirective, decorators: [{ type: Self }, { type: Optional }] }
|
|
33
|
-
];
|
|
34
|
-
NgtHeaderNavComponent.propDecorators = {
|
|
35
|
-
element: [{ type: ViewChild, args: ['element', { static: true },] }],
|
|
36
|
-
ngtStyle: [{ type: Input }]
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Injector, Input, Optional, Self, ViewChild } from '@angular/core';
|
|
2
|
+
import { NgtStylizableDirective } from '../../directives/ngt-stylizable/ngt-stylizable.directive';
|
|
3
|
+
import { NgtStylizableService } from '../../services/ngt-stylizable/ngt-stylizable.service';
|
|
4
|
+
export class NgtHeaderNavComponent {
|
|
5
|
+
constructor(injector, ngtStylizableDirective) {
|
|
6
|
+
this.injector = injector;
|
|
7
|
+
this.ngtStylizableDirective = ngtStylizableDirective;
|
|
8
|
+
if (this.ngtStylizableDirective) {
|
|
9
|
+
this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
this.ngtStyle = new NgtStylizableService();
|
|
13
|
+
}
|
|
14
|
+
this.ngtStyle.load(this.injector, 'HeaderNav', {
|
|
15
|
+
h: 'h-auto',
|
|
16
|
+
color: {}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this.element.nativeElement.classList.add('tail-animate-fade-up');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
NgtHeaderNavComponent.decorators = [
|
|
24
|
+
{ type: Component, args: [{
|
|
25
|
+
selector: 'ngt-header-nav',
|
|
26
|
+
template: "<section class=\"flex\">\n <nav class=\"w-full relative {{ ngtStyle.compile(['color.bg']) }}\" #element>\n <div class=\"h-full\">\n <!-- Float Left -->\n <div class=\"float-left flex\">\n <ng-content select=\"[left-header]\"></ng-content>\n </div>\n \n <!-- Float Right -->\n <div class=\"float-right flex h-full\">\n <ng-content select=\"[right-header]\"></ng-content>\n </div>\n \n <!-- Fallback -->\n <ng-content></ng-content>\n </div>\n </nav>\n</section>",
|
|
27
|
+
styles: [""]
|
|
28
|
+
},] }
|
|
29
|
+
];
|
|
30
|
+
NgtHeaderNavComponent.ctorParameters = () => [
|
|
31
|
+
{ type: Injector },
|
|
32
|
+
{ type: NgtStylizableDirective, decorators: [{ type: Self }, { type: Optional }] }
|
|
33
|
+
];
|
|
34
|
+
NgtHeaderNavComponent.propDecorators = {
|
|
35
|
+
element: [{ type: ViewChild, args: ['element', { static: true },] }],
|
|
36
|
+
ngtStyle: [{ type: Input }]
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWhlYWRlci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWhlYWRlci1uYXYvbmd0LWhlYWRlci1uYXYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQU81RixNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQ1ksUUFBa0IsRUFDRSxzQkFBOEM7UUFEbEUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNFLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFFMUUsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUN6RTthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7U0FDOUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRTtZQUMzQyxDQUFDLEVBQUUsUUFBUTtZQUNYLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7OztZQTVCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbWpCQUE4Qzs7YUFFakQ7OztZQVQrQixRQUFRO1lBRS9CLHNCQUFzQix1QkFldEIsSUFBSSxZQUFJLFFBQVE7OztzQkFOcEIsU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7dUJBRXJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uZ3Qtc3R5bGl6YWJsZS9uZ3Qtc3R5bGl6YWJsZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3QtaGVhZGVyLW5hdicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ndC1oZWFkZXItbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtaGVhZGVyLW5hdi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmd0SGVhZGVyTmF2Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdlbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIG5ndFN0eWxpemFibGVEaXJlY3RpdmU6IE5ndFN0eWxpemFibGVEaXJlY3RpdmVcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdIZWFkZXJOYXYnLCB7XG4gICAgICAgICAgICBoOiAnaC1hdXRvJyxcbiAgICAgICAgICAgIGNvbG9yOiB7fVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0YWlsLWFuaW1hdGUtZmFkZS11cCcpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgtHeaderNavComponent } from './ngt-header-nav.component';
|
|
4
|
-
export class NgtHeaderNavModule {
|
|
5
|
-
}
|
|
6
|
-
NgtHeaderNavModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
declarations: [NgtHeaderNavComponent],
|
|
9
|
-
exports: [NgtHeaderNavComponent],
|
|
10
|
-
imports: [
|
|
11
|
-
CommonModule
|
|
12
|
-
]
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgtHeaderNavComponent } from './ngt-header-nav.component';
|
|
4
|
+
export class NgtHeaderNavModule {
|
|
5
|
+
}
|
|
6
|
+
NgtHeaderNavModule.decorators = [
|
|
7
|
+
{ type: NgModule, args: [{
|
|
8
|
+
declarations: [NgtHeaderNavComponent],
|
|
9
|
+
exports: [NgtHeaderNavComponent],
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule
|
|
12
|
+
]
|
|
13
|
+
},] }
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LWhlYWRlci1uYXYubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctdGFpbHdpbmQvc3JjL2NvbXBvbmVudHMvbmd0LWhlYWRlci1uYXYvbmd0LWhlYWRlci1uYXYubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBU25FLE1BQU0sT0FBTyxrQkFBa0I7OztZQVA5QixRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNoQyxPQUFPLEVBQUU7b0JBQ0wsWUFBWTtpQkFDZjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RIZWFkZXJOYXZDb21wb25lbnQgfSBmcm9tICcuL25ndC1oZWFkZXItbmF2LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmd0SGVhZGVyTmF2Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbTmd0SGVhZGVyTmF2Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd0SGVhZGVyTmF2TW9kdWxlIHsgfVxuIl19
|