@metadev/lux 0.17.0 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/autocomplete/autocomplete.component.mjs +479 -0
- package/esm2020/lib/autocomplete-list/autocomplete-list.component.mjs +254 -0
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +75 -0
- package/esm2020/lib/checkbox/checkbox.component.mjs +154 -0
- package/{esm2015/lib/datasource.js → esm2020/lib/datasource.mjs} +0 -0
- package/esm2020/lib/datetime/datetime.component.mjs +306 -0
- package/esm2020/lib/filter/filter.component.mjs +152 -0
- package/esm2020/lib/geolocation/geolocation.component.mjs +407 -0
- package/{esm2015/lib/geolocation/geolocation.service.js → esm2020/lib/geolocation/geolocation.service.mjs} +7 -11
- package/esm2020/lib/geolocation/openlayer-loader.service.mjs +62 -0
- package/esm2020/lib/helperFns.mjs +109 -0
- package/esm2020/lib/input/input.component.mjs +452 -0
- package/{esm2015/lib/input/regexp.service.js → esm2020/lib/input/regexp.service.mjs} +7 -6
- package/{esm2015/lib/lang.js → esm2020/lib/lang.mjs} +0 -0
- package/esm2020/lib/lux.module.mjs +130 -0
- package/{esm2015/lib/map/geopoint.js → esm2020/lib/map/geopoint.mjs} +0 -0
- package/esm2020/lib/map/map.component.mjs +265 -0
- package/esm2020/lib/modal/modal-backdrop.mjs +26 -0
- package/esm2020/lib/modal/modal-config.mjs +14 -0
- package/{esm2015/lib/modal/modal-dismiss-reasons.js → esm2020/lib/modal/modal-dismiss-reasons.mjs} +0 -0
- package/{esm2015/lib/modal/modal-ref.js → esm2020/lib/modal/modal-ref.mjs} +0 -0
- package/esm2020/lib/modal/modal-stack.mjs +179 -0
- package/esm2020/lib/modal/modal-window.mjs +119 -0
- package/esm2020/lib/modal/modal.service.mjs +26 -0
- package/{esm2015/lib/modal/util.js → esm2020/lib/modal/util.mjs} +0 -0
- package/esm2020/lib/pagination/pagination.component.mjs +137 -0
- package/{esm2015/lib/pagination/pagination.js → esm2020/lib/pagination/pagination.mjs} +0 -0
- package/esm2020/lib/radiogroup/radiogroup.component.mjs +130 -0
- package/esm2020/lib/select/select.component.mjs +149 -0
- package/{esm2015/lib/tooltip/placement.js → esm2020/lib/tooltip/placement.mjs} +0 -0
- package/{esm2015/lib/tooltip/tooltip-context.js → esm2020/lib/tooltip/tooltip-context.mjs} +0 -0
- package/esm2020/lib/tooltip/tooltip.component.mjs +23 -0
- package/esm2020/lib/tooltip/tooltip.directive.mjs +60 -0
- package/{esm2015/lib/tooltip/tooltip.service.js → esm2020/lib/tooltip/tooltip.service.mjs} +7 -9
- package/{esm2015/lib/tooltip/tooltop-content.js → esm2020/lib/tooltip/tooltop-content.mjs} +0 -0
- package/esm2020/lib/voice-recognition/voice-recognition.directive.mjs +73 -0
- package/{esm2015/lib/window/window.service.js → esm2020/lib/window/window.service.mjs} +0 -0
- package/esm2020/metadev-lux.mjs +5 -0
- package/esm2020/public-api.mjs +21 -0
- package/fesm2015/metadev-lux.mjs +4345 -0
- package/fesm2015/metadev-lux.mjs.map +1 -0
- package/fesm2020/metadev-lux.mjs +4343 -0
- package/fesm2020/metadev-lux.mjs.map +1 -0
- package/lib/autocomplete/autocomplete.component.d.ts +3 -0
- package/lib/autocomplete-list/autocomplete-list.component.d.ts +3 -0
- package/lib/breadcrumb/breadcrumb.component.d.ts +3 -0
- package/lib/checkbox/checkbox.component.d.ts +3 -0
- package/lib/datetime/datetime.component.d.ts +4 -0
- package/lib/filter/filter.component.d.ts +3 -0
- package/lib/geolocation/geolocation.component.d.ts +4 -0
- package/lib/geolocation/geolocation.service.d.ts +3 -0
- package/lib/geolocation/openlayer-loader.service.d.ts +3 -0
- package/lib/helperFns.d.ts +2 -0
- package/lib/input/input.component.d.ts +15 -0
- package/lib/input/regexp.service.d.ts +3 -0
- package/lib/lux.module.d.ts +26 -0
- package/lib/map/map.component.d.ts +3 -0
- package/lib/modal/modal-backdrop.d.ts +3 -0
- package/lib/modal/modal-config.d.ts +3 -0
- package/lib/modal/modal-stack.d.ts +3 -0
- package/lib/modal/modal-window.d.ts +3 -0
- package/lib/modal/modal.service.d.ts +3 -0
- package/lib/pagination/pagination.component.d.ts +3 -0
- package/lib/radiogroup/radiogroup.component.d.ts +3 -0
- package/lib/select/select.component.d.ts +3 -0
- package/lib/tooltip/tooltip.component.d.ts +3 -0
- package/lib/tooltip/tooltip.directive.d.ts +3 -0
- package/lib/tooltip/tooltip.service.d.ts +3 -0
- package/lib/voice-recognition/voice-recognition.directive.d.ts +3 -0
- package/metadev-lux.d.ts +1 -16
- package/package.json +23 -11
- package/public-api.d.ts +12 -7
- package/bundles/metadev-lux.umd.js +0 -4647
- package/bundles/metadev-lux.umd.js.map +0 -1
- package/esm2015/lib/autocomplete/autocomplete.component.js +0 -455
- package/esm2015/lib/autocomplete-list/autocomplete-list.component.js +0 -230
- package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -77
- package/esm2015/lib/checkbox/checkbox.component.js +0 -142
- package/esm2015/lib/datetime/datetime.component.js +0 -275
- package/esm2015/lib/filter/filter.component.js +0 -140
- package/esm2015/lib/geolocation/geolocation.component.js +0 -371
- package/esm2015/lib/geolocation/openlayer-loader.service.js +0 -63
- package/esm2015/lib/helperFns.js +0 -93
- package/esm2015/lib/input/input.component.js +0 -371
- package/esm2015/lib/lux.module.js +0 -83
- package/esm2015/lib/map/map.component.js +0 -261
- package/esm2015/lib/modal/modal-backdrop.js +0 -19
- package/esm2015/lib/modal/modal-config.js +0 -12
- package/esm2015/lib/modal/modal-stack.js +0 -182
- package/esm2015/lib/modal/modal-window.js +0 -92
- package/esm2015/lib/modal/modal.service.js +0 -28
- package/esm2015/lib/pagination/pagination.component.js +0 -134
- package/esm2015/lib/radiogroup/radiogroup.component.js +0 -114
- package/esm2015/lib/select/select.component.js +0 -131
- package/esm2015/lib/tooltip/tooltip.component.js +0 -19
- package/esm2015/lib/tooltip/tooltip.directive.js +0 -52
- package/esm2015/lib/voice-recognition/voice-recognition.directive.js +0 -76
- package/esm2015/metadev-lux.js +0 -21
- package/esm2015/public-api.js +0 -16
- package/fesm2015/metadev-lux.js +0 -4025
- package/fesm2015/metadev-lux.js.map +0 -1
- package/metadev-lux.metadata.json +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { RouterModule } from '@angular/router';
|
|
6
|
+
import { AngularResizeEventModule } from 'angular-resize-event';
|
|
7
|
+
import { AutocompleteListComponent } from './autocomplete-list/autocomplete-list.component';
|
|
8
|
+
import { AutocompleteComponent } from './autocomplete/autocomplete.component';
|
|
9
|
+
import { LuxBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
|
|
10
|
+
import { CheckboxComponent } from './checkbox/checkbox.component';
|
|
11
|
+
import { DatetimeComponent } from './datetime/datetime.component';
|
|
12
|
+
import { FilterComponent } from './filter/filter.component';
|
|
13
|
+
import { GeolocationComponent } from './geolocation/geolocation.component';
|
|
14
|
+
import { InputComponent } from './input/input.component';
|
|
15
|
+
import { MapComponent } from './map/map.component';
|
|
16
|
+
import { LuxModalBackdropComponent } from './modal/modal-backdrop';
|
|
17
|
+
import { LuxModalWindowComponent } from './modal/modal-window';
|
|
18
|
+
import { ModalService } from './modal/modal.service';
|
|
19
|
+
import { PaginationComponent } from './pagination/pagination.component';
|
|
20
|
+
import { RadiogroupComponent } from './radiogroup/radiogroup.component';
|
|
21
|
+
import { SelectComponent } from './select/select.component';
|
|
22
|
+
import { TooltipComponent } from './tooltip/tooltip.component';
|
|
23
|
+
import { LuxTooltipDirective } from './tooltip/tooltip.directive';
|
|
24
|
+
import { TooltipService } from './tooltip/tooltip.service';
|
|
25
|
+
import { VoiceRecognitionDirective } from './voice-recognition/voice-recognition.directive';
|
|
26
|
+
import { WINDOW_PROVIDERS } from './window/window.service';
|
|
27
|
+
import * as i0 from "@angular/core";
|
|
28
|
+
export class LuxModule {
|
|
29
|
+
}
|
|
30
|
+
LuxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
LuxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModule, declarations: [AutocompleteComponent,
|
|
32
|
+
AutocompleteListComponent,
|
|
33
|
+
FilterComponent,
|
|
34
|
+
CheckboxComponent,
|
|
35
|
+
DatetimeComponent,
|
|
36
|
+
InputComponent,
|
|
37
|
+
GeolocationComponent,
|
|
38
|
+
LuxTooltipDirective,
|
|
39
|
+
LuxModalWindowComponent,
|
|
40
|
+
LuxModalBackdropComponent,
|
|
41
|
+
LuxBreadcrumbComponent,
|
|
42
|
+
MapComponent,
|
|
43
|
+
SelectComponent,
|
|
44
|
+
TooltipComponent,
|
|
45
|
+
PaginationComponent,
|
|
46
|
+
RadiogroupComponent,
|
|
47
|
+
VoiceRecognitionDirective], imports: [AngularResizeEventModule,
|
|
48
|
+
FormsModule,
|
|
49
|
+
HttpClientModule,
|
|
50
|
+
ReactiveFormsModule,
|
|
51
|
+
RouterModule,
|
|
52
|
+
CommonModule], exports: [AutocompleteComponent,
|
|
53
|
+
AutocompleteListComponent,
|
|
54
|
+
FilterComponent,
|
|
55
|
+
CheckboxComponent,
|
|
56
|
+
DatetimeComponent,
|
|
57
|
+
InputComponent,
|
|
58
|
+
GeolocationComponent,
|
|
59
|
+
LuxTooltipDirective,
|
|
60
|
+
LuxBreadcrumbComponent,
|
|
61
|
+
LuxBreadcrumbComponent,
|
|
62
|
+
MapComponent,
|
|
63
|
+
SelectComponent,
|
|
64
|
+
PaginationComponent,
|
|
65
|
+
RadiogroupComponent,
|
|
66
|
+
VoiceRecognitionDirective] });
|
|
67
|
+
LuxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModule, providers: [ModalService, TooltipService, WINDOW_PROVIDERS], imports: [[
|
|
68
|
+
AngularResizeEventModule,
|
|
69
|
+
FormsModule,
|
|
70
|
+
HttpClientModule,
|
|
71
|
+
ReactiveFormsModule,
|
|
72
|
+
RouterModule,
|
|
73
|
+
CommonModule
|
|
74
|
+
]] });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModule, decorators: [{
|
|
76
|
+
type: NgModule,
|
|
77
|
+
args: [{
|
|
78
|
+
declarations: [
|
|
79
|
+
AutocompleteComponent,
|
|
80
|
+
AutocompleteListComponent,
|
|
81
|
+
FilterComponent,
|
|
82
|
+
CheckboxComponent,
|
|
83
|
+
DatetimeComponent,
|
|
84
|
+
InputComponent,
|
|
85
|
+
GeolocationComponent,
|
|
86
|
+
LuxTooltipDirective,
|
|
87
|
+
LuxModalWindowComponent,
|
|
88
|
+
LuxModalBackdropComponent,
|
|
89
|
+
LuxBreadcrumbComponent,
|
|
90
|
+
MapComponent,
|
|
91
|
+
SelectComponent,
|
|
92
|
+
TooltipComponent,
|
|
93
|
+
PaginationComponent,
|
|
94
|
+
RadiogroupComponent,
|
|
95
|
+
VoiceRecognitionDirective
|
|
96
|
+
],
|
|
97
|
+
entryComponents: [
|
|
98
|
+
LuxModalWindowComponent,
|
|
99
|
+
LuxModalBackdropComponent,
|
|
100
|
+
TooltipComponent
|
|
101
|
+
],
|
|
102
|
+
providers: [ModalService, TooltipService, WINDOW_PROVIDERS],
|
|
103
|
+
imports: [
|
|
104
|
+
AngularResizeEventModule,
|
|
105
|
+
FormsModule,
|
|
106
|
+
HttpClientModule,
|
|
107
|
+
ReactiveFormsModule,
|
|
108
|
+
RouterModule,
|
|
109
|
+
CommonModule
|
|
110
|
+
],
|
|
111
|
+
exports: [
|
|
112
|
+
AutocompleteComponent,
|
|
113
|
+
AutocompleteListComponent,
|
|
114
|
+
FilterComponent,
|
|
115
|
+
CheckboxComponent,
|
|
116
|
+
DatetimeComponent,
|
|
117
|
+
InputComponent,
|
|
118
|
+
GeolocationComponent,
|
|
119
|
+
LuxTooltipDirective,
|
|
120
|
+
LuxBreadcrumbComponent,
|
|
121
|
+
LuxBreadcrumbComponent,
|
|
122
|
+
MapComponent,
|
|
123
|
+
SelectComponent,
|
|
124
|
+
PaginationComponent,
|
|
125
|
+
RadiogroupComponent,
|
|
126
|
+
VoiceRecognitionDirective
|
|
127
|
+
]
|
|
128
|
+
}]
|
|
129
|
+
}] });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL2x1eC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFzRDNELE1BQU0sT0FBTyxTQUFTOztzR0FBVCxTQUFTO3VHQUFULFNBQVMsaUJBbERsQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsc0JBQXNCO1FBQ3RCLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIseUJBQXlCLGFBU3pCLHdCQUF3QjtRQUN4QixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osWUFBWSxhQUdaLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixZQUFZO1FBQ1osZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIseUJBQXlCO3VHQUdoQixTQUFTLGFBM0JULENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxZQUNsRDtZQUNQLHdCQUF3QjtZQUN4QixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osWUFBWTtTQUNiOzJGQW1CVSxTQUFTO2tCQXBEckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO29CQUNELGVBQWUsRUFBRTt3QkFDZix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDO29CQUMzRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIseUJBQXlCO3dCQUN6QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQW5ndWxhclJlc2l6ZUV2ZW50TW9kdWxlIH0gZnJvbSAnYW5ndWxhci1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLWxpc3QvYXV0b2NvbXBsZXRlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHV4QnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IERhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZS9kYXRldGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9sb2NhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZ2VvbG9jYXRpb24vZ2VvbG9jYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAvbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMdXhNb2RhbEJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC9tb2RhbC1iYWNrZHJvcCc7XG5pbXBvcnQgeyBMdXhNb2RhbFdpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwvbW9kYWwtd2luZG93JztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4vbW9kYWwvbW9kYWwuc2VydmljZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvZ3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3JhZGlvZ3JvdXAvcmFkaW9ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEx1eFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcbmltcG9ydCB7IFZvaWNlUmVjb2duaXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3ZvaWNlLXJlY29nbml0aW9uL3ZvaWNlLXJlY29nbml0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXSU5ET1dfUFJPVklERVJTIH0gZnJvbSAnLi93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlTGlzdENvbXBvbmVudCxcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRGF0ZXRpbWVDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgR2VvbG9jYXRpb25Db21wb25lbnQsXG4gICAgTHV4VG9vbHRpcERpcmVjdGl2ZSxcbiAgICBMdXhNb2RhbFdpbmRvd0NvbXBvbmVudCxcbiAgICBMdXhNb2RhbEJhY2tkcm9wQ29tcG9uZW50LFxuICAgIEx1eEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgTWFwQ29tcG9uZW50LFxuICAgIFNlbGVjdENvbXBvbmVudCxcbiAgICBUb29sdGlwQ29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgUmFkaW9ncm91cENvbXBvbmVudCxcbiAgICBWb2ljZVJlY29nbml0aW9uRGlyZWN0aXZlXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIEx1eE1vZGFsV2luZG93Q29tcG9uZW50LFxuICAgIEx1eE1vZGFsQmFja2Ryb3BDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtNb2RhbFNlcnZpY2UsIFRvb2x0aXBTZXJ2aWNlLCBXSU5ET1dfUFJPVklERVJTXSxcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJSZXNpemVFdmVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUxpc3RDb21wb25lbnQsXG4gICAgRmlsdGVyQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIERhdGV0aW1lQ29tcG9uZW50LFxuICAgIElucHV0Q29tcG9uZW50LFxuICAgIEdlb2xvY2F0aW9uQ29tcG9uZW50LFxuICAgIEx1eFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgTHV4QnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBMdXhCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIE1hcENvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBSYWRpb2dyb3VwQ29tcG9uZW50LFxuICAgIFZvaWNlUmVjb2duaXRpb25EaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMdXhNb2R1bGUge31cbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { OpenLayerLoaderService } from '../geolocation/openlayer-loader.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../geolocation/openlayer-loader.service";
|
|
6
|
+
import * as i2 from "angular-resize-event";
|
|
7
|
+
export class MapComponent {
|
|
8
|
+
constructor(olLoader) {
|
|
9
|
+
this.loaded$ = new BehaviorSubject(false);
|
|
10
|
+
this.valueChange = new EventEmitter();
|
|
11
|
+
olLoader.load().subscribe((_) => {
|
|
12
|
+
// Initialize
|
|
13
|
+
this._markerSource = new ol.source.Vector();
|
|
14
|
+
this._markerStyle = new ol.style.Style({
|
|
15
|
+
image: new ol.style.Icon({
|
|
16
|
+
anchor: [0.5, 1],
|
|
17
|
+
scale: 0.25,
|
|
18
|
+
src: '/assets/img/marker.png'
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
this.loaded$.next(true);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
set zoom(zoom) {
|
|
25
|
+
if (!isNaN(zoom)) {
|
|
26
|
+
this._zoom = zoom;
|
|
27
|
+
if (this._map) {
|
|
28
|
+
this._map.getView().setZoom(zoom);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get zoom() {
|
|
33
|
+
return this._zoom;
|
|
34
|
+
}
|
|
35
|
+
set center(center) {
|
|
36
|
+
if (center && center.coordinates && center.coordinates.length === 2) {
|
|
37
|
+
this._center = center;
|
|
38
|
+
if (this._map) {
|
|
39
|
+
this._map.getView().setCenter(ol.proj.fromLonLat(center.coordinates));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get center() {
|
|
44
|
+
return this._center;
|
|
45
|
+
}
|
|
46
|
+
set readonly(readonly) {
|
|
47
|
+
if (!readonly) {
|
|
48
|
+
if (this._map) {
|
|
49
|
+
this._map.on('click', (args) => {
|
|
50
|
+
// args.coordinate is in EPSG:3857 (meters), we transform it into EPSG:4326 (degrees)
|
|
51
|
+
const coordinates = ol.proj.toLonLat(args.coordinate);
|
|
52
|
+
// alternatively: const lonLat = ol.proj.transform(args.coordinate,'EPSG:3857','EPSG:4326');
|
|
53
|
+
this.addMarkerAtCoordinates(coordinates);
|
|
54
|
+
});
|
|
55
|
+
this._map.on('pointermove', (event) => {
|
|
56
|
+
const pixel = this._map.getEventPixel(event.originalEvent);
|
|
57
|
+
const hit = this._map.hasFeatureAtPixel(pixel);
|
|
58
|
+
this._map.getViewport().style.cursor = hit ? 'move' : 'grab';
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
if (this._map) {
|
|
64
|
+
this._map.on('click', (args) => { });
|
|
65
|
+
this._map.on('pointermove', (event) => { });
|
|
66
|
+
this._map.getViewport().style.cursor = 'grab';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
this._readonly = readonly;
|
|
70
|
+
// reset marker coordinates so marker interactions can be created or recreated accordingly
|
|
71
|
+
// to the changes to readonly
|
|
72
|
+
this.markerCoordinates = this.markerCoordinates;
|
|
73
|
+
}
|
|
74
|
+
get readonly() {
|
|
75
|
+
return this._readonly;
|
|
76
|
+
}
|
|
77
|
+
set markerCoordinates(markerCoordinates) {
|
|
78
|
+
if (markerCoordinates && markerCoordinates.length === 2) {
|
|
79
|
+
this._markerCoordinates = markerCoordinates;
|
|
80
|
+
if (this._map) {
|
|
81
|
+
this.addMarkerAtCoordinates(markerCoordinates);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this._markerCoordinates = undefined;
|
|
86
|
+
if (this._map) {
|
|
87
|
+
this.removeMarker();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
get markerCoordinates() {
|
|
92
|
+
return this._markerCoordinates;
|
|
93
|
+
}
|
|
94
|
+
set markerPoint(markerPoint) {
|
|
95
|
+
if (!markerPoint ||
|
|
96
|
+
!(markerPoint.coordinates && markerPoint.coordinates.length === 2)) {
|
|
97
|
+
this.markerCoordinates = undefined;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.markerCoordinates = [
|
|
101
|
+
+markerPoint.coordinates[0],
|
|
102
|
+
+markerPoint.coordinates[1]
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
this.valueChange.emit(markerPoint);
|
|
106
|
+
}
|
|
107
|
+
get markerPoint() {
|
|
108
|
+
return {
|
|
109
|
+
type: 'Point',
|
|
110
|
+
coordinates: this.markerCoordinates
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
ngOnInit() {
|
|
114
|
+
this.mapId = this.mapId ? this.mapId : 'map' + MapComponent.idCounter++;
|
|
115
|
+
}
|
|
116
|
+
ngAfterViewInit() {
|
|
117
|
+
this.loaded$.subscribe((loaded) => {
|
|
118
|
+
if (loaded) {
|
|
119
|
+
this.initMap();
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
initMap() {
|
|
124
|
+
this._map = new ol.Map({
|
|
125
|
+
target: this.mapId,
|
|
126
|
+
controls: ol.control.defaults({ attribution: false }),
|
|
127
|
+
layers: [
|
|
128
|
+
new ol.layer.Tile({
|
|
129
|
+
source: new ol.source.OSM()
|
|
130
|
+
}),
|
|
131
|
+
new ol.layer.Vector({
|
|
132
|
+
source: this._markerSource,
|
|
133
|
+
style: this._markerStyle
|
|
134
|
+
})
|
|
135
|
+
],
|
|
136
|
+
view: new ol.View({
|
|
137
|
+
center: ol.proj.fromLonLat(this.center !== undefined ? this.center.coordinates : [0, 0]),
|
|
138
|
+
zoom: this.zoom
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
if (this.center === undefined || this.center === null) {
|
|
142
|
+
// if the center is not set, we set its default value
|
|
143
|
+
if ('geolocation' in navigator) {
|
|
144
|
+
navigator.geolocation.getCurrentPosition((position) => {
|
|
145
|
+
this.center = {
|
|
146
|
+
type: 'Point',
|
|
147
|
+
coordinates: [position.coords.longitude, position.coords.latitude]
|
|
148
|
+
};
|
|
149
|
+
}, (error) => {
|
|
150
|
+
this.center = {
|
|
151
|
+
type: 'Point',
|
|
152
|
+
coordinates: [0, 0]
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.center = {
|
|
158
|
+
type: 'Point',
|
|
159
|
+
coordinates: [0, 0]
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// the center needs the map to be properly set, so if it was set before the map was initialized,
|
|
165
|
+
// we set the center again to perform necessary adjustements
|
|
166
|
+
this.center = this.center;
|
|
167
|
+
}
|
|
168
|
+
if (this.zoom === undefined || this.zoom === null) {
|
|
169
|
+
// if the zoom is not set, we set its default value
|
|
170
|
+
this.zoom = 18;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
// the zoom needs the map to be properly set, so if it was set before the map was initialized,
|
|
174
|
+
// we set the zoom again to perform necessary adjustements
|
|
175
|
+
this.zoom = this.zoom;
|
|
176
|
+
}
|
|
177
|
+
if (this.readonly === undefined || this.readonly === null) {
|
|
178
|
+
// if readonly is not set, we set its default value
|
|
179
|
+
this.readonly = false;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// readonly needs the map to be properly set, so if it was set before the map was initialized,
|
|
183
|
+
// we set readonly again to perform necessary adjustements
|
|
184
|
+
this.readonly = this.readonly;
|
|
185
|
+
}
|
|
186
|
+
if (this.markerCoordinates !== undefined &&
|
|
187
|
+
this.markerCoordinates !== null) {
|
|
188
|
+
// the marker coordinates need the map to be properly set, so if they were set before the map was initialized,
|
|
189
|
+
// we set the marker coordinates again to perform necessary adjustements
|
|
190
|
+
this.markerCoordinates = this.markerCoordinates;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
addMarkerAtCoordinates(coordinates) {
|
|
194
|
+
if (coordinates && coordinates.length === 2) {
|
|
195
|
+
if (this._marker !== undefined) {
|
|
196
|
+
this.removeMarker();
|
|
197
|
+
}
|
|
198
|
+
this._marker = new ol.Feature({
|
|
199
|
+
geometry: new ol.geom.Point(
|
|
200
|
+
// [lon, lat] is in EPSG:4326 (degrees), we transform it into EPSG:3857 (meters)
|
|
201
|
+
ol.proj.transform(coordinates, 'EPSG:4326', 'EPSG:3857'))
|
|
202
|
+
});
|
|
203
|
+
this._markerSource.addFeature(this._marker);
|
|
204
|
+
this._markerCoordinates = this.getMarkerCoordinates();
|
|
205
|
+
if (!this.readonly) {
|
|
206
|
+
const dragInteraction = new ol.interaction.Modify({
|
|
207
|
+
features: new ol.Collection([this._marker]),
|
|
208
|
+
style: this._markerStyle,
|
|
209
|
+
pixelTolerance: 50,
|
|
210
|
+
hitDetection: true
|
|
211
|
+
});
|
|
212
|
+
this._markerInteraction = dragInteraction;
|
|
213
|
+
this._map.addInteraction(dragInteraction);
|
|
214
|
+
}
|
|
215
|
+
this._marker.on('change', () => {
|
|
216
|
+
this._markerCoordinates = this.getMarkerCoordinates();
|
|
217
|
+
}, this._marker);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
removeMarker() {
|
|
221
|
+
if (this._marker !== undefined) {
|
|
222
|
+
this._markerSource.removeFeature(this._marker);
|
|
223
|
+
this._marker = undefined;
|
|
224
|
+
}
|
|
225
|
+
if (this._markerInteraction !== undefined) {
|
|
226
|
+
this._map.getInteractions().pop();
|
|
227
|
+
this._markerInteraction = undefined;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
getMarkerCoordinates() {
|
|
231
|
+
if (this._marker === undefined || this._marker == null) {
|
|
232
|
+
return this._marker;
|
|
233
|
+
}
|
|
234
|
+
const coordinates = this._marker.getGeometry().getCoordinates();
|
|
235
|
+
// coordinates is in EPSG:3857 (meters), we transform it into EPSG:4326 (degrees)
|
|
236
|
+
return ol.proj.transform(coordinates, 'EPSG:3857', 'EPSG:4326');
|
|
237
|
+
}
|
|
238
|
+
onResize() {
|
|
239
|
+
if (this._map) {
|
|
240
|
+
this._map.updateSize();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
MapComponent.idCounter = 0;
|
|
245
|
+
MapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MapComponent, deps: [{ token: i1.OpenLayerLoaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
246
|
+
MapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: MapComponent, selector: "lux-map", inputs: { mapId: "mapId", zoom: "zoom", center: "center", readonly: "readonly", markerCoordinates: "markerCoordinates", markerPoint: "markerPoint" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div [id]=\"mapId\" class=\"map\" (resized)=\"onResize()\"></div>\n", styles: [".map{min-height:100px;height:100%;min-width:160px;width:100%}\n"], directives: [{ type: i2.ResizedDirective, selector: "[resized]", outputs: ["resized"] }] });
|
|
247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MapComponent, decorators: [{
|
|
248
|
+
type: Component,
|
|
249
|
+
args: [{ selector: 'lux-map', template: "<div [id]=\"mapId\" class=\"map\" (resized)=\"onResize()\"></div>\n", styles: [".map{min-height:100px;height:100%;min-width:160px;width:100%}\n"] }]
|
|
250
|
+
}], ctorParameters: function () { return [{ type: i1.OpenLayerLoaderService }]; }, propDecorators: { mapId: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], zoom: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], center: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], readonly: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], markerCoordinates: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], markerPoint: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], valueChange: [{
|
|
263
|
+
type: Output
|
|
264
|
+
}] } });
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2x1eC9zcmMvbGliL21hcC9tYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvbWFwL21hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFZakYsTUFBTSxPQUFPLFlBQVk7SUFvSHZCLFlBQVksUUFBZ0M7UUFqSHBDLFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUE0RzdELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQU1uRCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUIsYUFBYTtZQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDckMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQ2hCLEtBQUssRUFBRSxJQUFJO29CQUNYLEdBQUcsRUFBRSx3QkFBd0I7aUJBQzlCLENBQUM7YUFDSCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENB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QUFDO1NBQ3JCO1FBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoRSxpRkFBaUY7UUFDakYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7O0FBdFJNLHNCQUFTLEdBQUcsQ0FBQyxDQUFDO3lHQURWLFlBQVk7NkZBQVosWUFBWSw4T0NyQnpCLHFFQUNBOzJGRG9CYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLFNBQVM7NkdBV1YsS0FBSztzQkFBYixLQUFLO2dCQUlGLElBQUk7c0JBRFAsS0FBSztnQkFlRixNQUFNO3NCQURULEtBQUs7Z0JBZUYsUUFBUTtzQkFEWCxLQUFLO2dCQW9DTSxpQkFBaUI7c0JBRDVCLEtBQUs7Z0JBa0JGLFdBQVc7c0JBRGQsS0FBSztnQkFxQkksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wZW5MYXllckxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9nZW9sb2NhdGlvbi9vcGVubGF5ZXItbG9hZGVyLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBHZW9Qb2ludCB9IGZyb20gJy4vZ2VvcG9pbnQnO1xuXG4vLyBAZHluYW1pY1xuZGVjbGFyZSBjb25zdCBvbDogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsdXgtbWFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHN0YXRpYyBpZENvdW50ZXIgPSAwO1xuXG4gIHByaXZhdGUgbG9hZGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XG5cbiAgQElucHV0KCkgbWFwSWQ7XG5cbiAgX3pvb206IG51bWJlcjtcbiAgQElucHV0KClcbiAgc2V0IHpvb20oem9vbTogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tKSkge1xuICAgICAgdGhpcy5fem9vbSA9IHpvb207XG4gICAgICBpZiAodGhpcy5fbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcC5nZXRWaWV3KCkuc2V0Wm9vbSh6b29tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IHpvb20oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fem9vbTtcbiAgfVxuXG4gIF9jZW50ZXI6IEdlb1BvaW50O1xuICBASW5wdXQoKVxuICBzZXQgY2VudGVyKGNlbnRlcjogR2VvUG9pbnQpIHtcbiAgICBpZiAoY2VudGVyICYmIGNlbnRlci5jb29yZGluYXRlcyAmJiBjZW50ZXIuY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLl9jZW50ZXIgPSBjZW50ZXI7XG4gICAgICBpZiAodGhpcy5fbWFwKSB7XG4gICAgICAgIHRoaXMuX21hcC5nZXRWaWV3KCkuc2V0Q2VudGVyKG9sLnByb2ouZnJvbUxvbkxhdChjZW50ZXIuY29vcmRpbmF0ZXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IGNlbnRlcigpOiBHZW9Qb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2NlbnRlcjtcbiAgfVxuXG4gIF9yZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2V0IHJlYWRvbmx5KHJlYWRvbmx5OiBib29sZWFuKSB7XG4gICAgaWYgKCFyZWFkb25seSkge1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLl9tYXAub24oJ2NsaWNrJywgKGFyZ3M6IGFueSkgPT4ge1xuICAgICAgICAgIC8vIGFyZ3MuY29vcmRpbmF0ZSBpcyBpbiBFUFNHOjM4NTcgKG1ldGVycyksIHdlIHRyYW5zZm9ybSBpdCBpbnRvIEVQU0c6NDMyNiAoZGVncmVlcylcbiAgICAgICAgICBjb25zdCBjb29yZGluYXRlcyA9IG9sLnByb2oudG9Mb25MYXQoYXJncy5jb29yZGluYXRlKTtcbiAgICAgICAgICAvLyBhbHRlcm5hdGl2ZWx5OiBjb25zdCBsb25MYXQgPSBvbC5wcm9qLnRyYW5zZm9ybShhcmdzLmNvb3JkaW5hdGUsJ0VQU0c6Mzg1NycsJ0VQU0c6NDMyNicpO1xuICAgICAgICAgIHRoaXMuYWRkTWFya2VyQXRDb29yZGluYXRlcyhjb29yZGluYXRlcyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9tYXAub24oJ3BvaW50ZXJtb3ZlJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBwaXhlbCA9IHRoaXMuX21hcC5nZXRFdmVudFBpeGVsKGV2ZW50Lm9yaWdpbmFsRXZlbnQpO1xuICAgICAgICAgIGNvbnN0IGhpdCA9IHRoaXMuX21hcC5oYXNGZWF0dXJlQXRQaXhlbChwaXhlbCk7XG4gICAgICAgICAgdGhpcy5fbWFwLmdldFZpZXdwb3J0KCkuc3R5bGUuY3Vyc29yID0gaGl0ID8gJ21vdmUnIDogJ2dyYWInO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLl9tYXAub24oJ2NsaWNrJywgKGFyZ3M6IGFueSkgPT4ge30pO1xuICAgICAgICB0aGlzLl9tYXAub24oJ3BvaW50ZXJtb3ZlJywgKGV2ZW50OiBhbnkpID0+IHt9KTtcbiAgICAgICAgdGhpcy5fbWFwLmdldFZpZXdwb3J0KCkuc3R5bGUuY3Vyc29yID0gJ2dyYWInO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9yZWFkb25seSA9IHJlYWRvbmx5O1xuICAgIC8vIHJlc2V0IG1hcmtlciBjb29yZGluYXRlcyBzbyBtYXJrZXIgaW50ZXJhY3Rpb25zIGNhbiBiZSBjcmVhdGVkIG9yIHJlY3JlYXRlZCBhY2NvcmRpbmdseVxuICAgIC8vIHRvIHRoZSBjaGFuZ2VzIHRvIHJlYWRvbmx5XG4gICAgdGhpcy5tYXJrZXJDb29yZGluYXRlcyA9IHRoaXMubWFya2VyQ29vcmRpbmF0ZXM7XG4gIH1cbiAgZ2V0IHJlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIHByaXZhdGUgX21hcmtlcjogYW55O1xuICBwcml2YXRlIF9tYXJrZXJJbnRlcmFjdGlvbjogYW55O1xuICBwcml2YXRlIF9tYXJrZXJDb29yZGluYXRlczogbnVtYmVyW107XG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgc2V0IG1hcmtlckNvb3JkaW5hdGVzKG1hcmtlckNvb3JkaW5hdGVzOiBudW1iZXJbXSkge1xuICAgIGlmIChtYXJrZXJDb29yZGluYXRlcyAmJiBtYXJrZXJDb29yZGluYXRlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMuX21hcmtlckNvb3JkaW5hdGVzID0gbWFya2VyQ29vcmRpbmF0ZXM7XG4gICAgICBpZiAodGhpcy5fbWFwKSB7XG4gICAgICAgIHRoaXMuYWRkTWFya2VyQXRDb29yZGluYXRlcyhtYXJrZXJDb29yZGluYXRlcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX21hcmtlckNvb3JkaW5hdGVzID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKHRoaXMuX21hcCkge1xuICAgICAgICB0aGlzLnJlbW92ZU1hcmtlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBtYXJrZXJDb29yZGluYXRlcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtlckNvb3JkaW5hdGVzO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBtYXJrZXJQb2ludChtYXJrZXJQb2ludDogR2VvUG9pbnQpIHtcbiAgICBpZiAoXG4gICAgICAhbWFya2VyUG9pbnQgfHxcbiAgICAgICEobWFya2VyUG9pbnQuY29vcmRpbmF0ZXMgJiYgbWFya2VyUG9pbnQuY29vcmRpbmF0ZXMubGVuZ3RoID09PSAyKVxuICAgICkge1xuICAgICAgdGhpcy5tYXJrZXJDb29yZGluYXRlcyA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXJrZXJDb29yZGluYXRlcyA9IFtcbiAgICAgICAgK21hcmtlclBvaW50LmNvb3JkaW5hdGVzWzBdLFxuICAgICAgICArbWFya2VyUG9pbnQuY29vcmRpbmF0ZXNbMV1cbiAgICAgIF07XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChtYXJrZXJQb2ludCk7XG4gIH1cbiAgZ2V0IG1hcmtlclBvaW50KCk6IEdlb1BvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIGNvb3JkaW5hdGVzOiB0aGlzLm1hcmtlckNvb3JkaW5hdGVzXG4gICAgfTtcbiAgfVxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEdlb1BvaW50PigpO1xuXG4gIHByaXZhdGUgX21hcmtlclNvdXJjZTogYW55O1xuICBwcml2YXRlIF9tYXJrZXJTdHlsZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9sTG9hZGVyOiBPcGVuTGF5ZXJMb2FkZXJTZXJ2aWNlKSB7XG4gICAgb2xMb2FkZXIubG9hZCgpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgLy8gSW5pdGlhbGl6ZVxuICAgICAgdGhpcy5fbWFya2VyU291cmNlID0gbmV3IG9sLnNvdXJjZS5WZWN0b3IoKTtcbiAgICAgIHRoaXMuX21hcmtlclN0eWxlID0gbmV3IG9sLnN0eWxlLlN0eWxlKHtcbiAgICAgICAgaW1hZ2U6IG5ldyBvbC5zdHlsZS5JY29uKHtcbiAgICAgICAgICBhbmNob3I6IFswLjUsIDFdLFxuICAgICAgICAgIHNjYWxlOiAwLjI1LFxuICAgICAgICAgIHNyYzogJy9hc3NldHMvaW1nL21hcmtlci5wbmcnXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICAgIHRoaXMubG9hZGVkJC5uZXh0KHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXBJZCA9IHRoaXMubWFwSWQgPyB0aGlzLm1hcElkIDogJ21hcCcgKyBNYXBDb21wb25lbnQuaWRDb3VudGVyKys7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkZWQkLnN1YnNjcmliZSgobG9hZGVkKSA9PiB7XG4gICAgICBpZiAobG9hZGVkKSB7XG4gICAgICAgIHRoaXMuaW5pdE1hcCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgaW5pdE1hcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAgPSBuZXcgb2wuTWFwKHtcbiAgICAgIHRhcmdldDogdGhpcy5tYXBJZCxcbiAgICAgIGNvbnRyb2xzOiBvbC5jb250cm9sLmRlZmF1bHRzKHsgYXR0cmlidXRpb246IGZhbHNlIH0pLFxuICAgICAgbGF5ZXJzOiBbXG4gICAgICAgIG5ldyBvbC5sYXllci5UaWxlKHtcbiAgICAgICAgICBzb3VyY2U6IG5ldyBvbC5zb3VyY2UuT1NNKClcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBvbC5sYXllci5WZWN0b3Ioe1xuICAgICAgICAgIHNvdXJjZTogdGhpcy5fbWFya2VyU291cmNlLFxuICAgICAgICAgIHN0eWxlOiB0aGlzLl9tYXJrZXJTdHlsZVxuICAgICAgICB9KVxuICAgICAgXSxcbiAgICAgIHZpZXc6IG5ldyBvbC5WaWV3KHtcbiAgICAgICAgY2VudGVyOiBvbC5wcm9qLmZyb21Mb25MYXQoXG4gICAgICAgICAgdGhpcy5jZW50ZXIgIT09IHVuZGVmaW5lZCA/IHRoaXMuY2VudGVyLmNvb3JkaW5hdGVzIDogWzAsIDBdXG4gICAgICAgICksXG4gICAgICAgIHpvb206IHRoaXMuem9vbVxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNlbnRlciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuY2VudGVyID09PSBudWxsKSB7XG4gICAgICAvLyBpZiB0aGUgY2VudGVyIGlzIG5vdCBzZXQsIHdlIHNldCBpdHMgZGVmYXVsdCB2YWx1ZVxuICAgICAgaWYgKCdnZW9sb2NhdGlvbicgaW4gbmF2aWdhdG9yKSB7XG4gICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oXG4gICAgICAgICAgKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNlbnRlciA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgICAgICAgY29vcmRpbmF0ZXM6IFtwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLCBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGVdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNlbnRlciA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgICAgICAgICAgY29vcmRpbmF0ZXM6IFswLCAwXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNlbnRlciA9IHtcbiAgICAgICAgICB0eXBlOiAnUG9pbnQnLFxuICAgICAgICAgIGNvb3JkaW5hdGVzOiBbMCwgMF1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhlIGNlbnRlciBuZWVkcyB0aGUgbWFwIHRvIGJlIHByb3Blcmx5IHNldCwgc28gaWYgaXQgd2FzIHNldCBiZWZvcmUgdGhlIG1hcCB3YXMgaW5pdGlhbGl6ZWQsXG4gICAgICAvLyB3ZSBzZXQgdGhlIGNlbnRlciBhZ2FpbiB0byBwZXJmb3JtIG5lY2Vzc2FyeSBhZGp1c3RlbWVudHNcbiAgICAgIHRoaXMuY2VudGVyID0gdGhpcy5jZW50ZXI7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuem9vbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuem9vbSA9PT0gbnVsbCkge1xuICAgICAgLy8gaWYgdGhlIHpvb20gaXMgbm90IHNldCwgd2Ugc2V0IGl0cyBkZWZhdWx0IHZhbHVlXG4gICAgICB0aGlzLnpvb20gPSAxODtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGhlIHpvb20gbmVlZHMgdGhlIG1hcCB0byBiZSBwcm9wZXJseSBzZXQsIHNvIGlmIGl0IHdhcyBzZXQgYmVmb3JlIHRoZSBtYXAgd2FzIGluaXRpYWxpemVkLFxuICAgICAgLy8gd2Ugc2V0IHRoZSB6b29tIGFnYWluIHRvIHBlcmZvcm0gbmVjZXNzYXJ5IGFkanVzdGVtZW50c1xuICAgICAgdGhpcy56b29tID0gdGhpcy56b29tO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlYWRvbmx5ID09PSB1bmRlZmluZWQgfHwgdGhpcy5yZWFkb25seSA9PT0gbnVsbCkge1xuICAgICAgLy8gaWYgcmVhZG9ubHkgaXMgbm90IHNldCwgd2Ugc2V0IGl0cyBkZWZhdWx0IHZhbHVlXG4gICAgICB0aGlzLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJlYWRvbmx5IG5lZWRzIHRoZSBtYXAgdG8gYmUgcHJvcGVybHkgc2V0LCBzbyBpZiBpdCB3YXMgc2V0IGJlZm9yZSB0aGUgbWFwIHdhcyBpbml0aWFsaXplZCxcbiAgICAgIC8vIHdlIHNldCByZWFkb25seSBhZ2FpbiB0byBwZXJmb3JtIG5lY2Vzc2FyeSBhZGp1c3RlbWVudHNcbiAgICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMubWFya2VyQ29vcmRpbmF0ZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5tYXJrZXJDb29yZGluYXRlcyAhPT0gbnVsbFxuICAgICkge1xuICAgICAgLy8gdGhlIG1hcmtlciBjb29yZGluYXRlcyBuZWVkIHRoZSBtYXAgdG8gYmUgcHJvcGVybHkgc2V0LCBzbyBpZiB0aGV5IHdlcmUgc2V0IGJlZm9yZSB0aGUgbWFwIHdhcyBpbml0aWFsaXplZCxcbiAgICAgIC8vIHdlIHNldCB0aGUgbWFya2VyIGNvb3JkaW5hdGVzIGFnYWluIHRvIHBlcmZvcm0gbmVjZXNzYXJ5IGFkanVzdGVtZW50c1xuICAgICAgdGhpcy5tYXJrZXJDb29yZGluYXRlcyA9IHRoaXMubWFya2VyQ29vcmRpbmF0ZXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYXJrZXJBdENvb3JkaW5hdGVzKGNvb3JkaW5hdGVzOiBudW1iZXJbXSk6IHZvaWQge1xuICAgIGlmIChjb29yZGluYXRlcyAmJiBjb29yZGluYXRlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIGlmICh0aGlzLl9tYXJrZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbW92ZU1hcmtlcigpO1xuICAgICAgfVxuICAgICAgdGhpcy5fbWFya2VyID0gbmV3IG9sLkZlYXR1cmUoe1xuICAgICAgICBnZW9tZXRyeTogbmV3IG9sLmdlb20uUG9pbnQoXG4gICAgICAgICAgLy8gW2xvbiwgbGF0XSBpcyBpbiBFUFNHOjQzMjYgKGRlZ3JlZXMpLCB3ZSB0cmFuc2Zvcm0gaXQgaW50byBFUFNHOjM4NTcgKG1ldGVycylcbiAgICAgICAgICBvbC5wcm9qLnRyYW5zZm9ybShjb29yZGluYXRlcywgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKVxuICAgICAgICApXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX21hcmtlclNvdXJjZS5hZGRGZWF0dXJlKHRoaXMuX21hcmtlcik7XG4gICAgICB0aGlzLl9tYXJrZXJDb29yZGluYXRlcyA9IHRoaXMuZ2V0TWFya2VyQ29vcmRpbmF0ZXMoKTtcblxuICAgICAgaWYgKCF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgIGNvbnN0IGRyYWdJbnRlcmFjdGlvbiA9IG5ldyBvbC5pbnRlcmFjdGlvbi5Nb2RpZnkoe1xuICAgICAgICAgIGZlYXR1cmVzOiBuZXcgb2wuQ29sbGVjdGlvbihbdGhpcy5fbWFya2VyXSksXG4gICAgICAgICAgc3R5bGU6IHRoaXMuX21hcmtlclN0eWxlLFxuICAgICAgICAgIHBpeGVsVG9sZXJhbmNlOiA1MCxcbiAgICAgICAgICBoaXREZXRlY3Rpb246IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX21hcmtlckludGVyYWN0aW9uID0gZHJhZ0ludGVyYWN0aW9uO1xuICAgICAgICB0aGlzLl9tYXAuYWRkSW50ZXJhY3Rpb24oZHJhZ0ludGVyYWN0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fbWFya2VyLm9uKFxuICAgICAgICAnY2hhbmdlJyxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX21hcmtlckNvb3JkaW5hdGVzID0gdGhpcy5nZXRNYXJrZXJDb29yZGluYXRlcygpO1xuICAgICAgICB9LFxuICAgICAgICB0aGlzLl9tYXJrZXJcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVNYXJrZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hcmtlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9tYXJrZXJTb3VyY2UucmVtb3ZlRmVhdHVyZSh0aGlzLl9tYXJrZXIpO1xuICAgICAgdGhpcy5fbWFya2VyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5fbWFya2VySW50ZXJhY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fbWFwLmdldEludGVyYWN0aW9ucygpLnBvcCgpO1xuICAgICAgdGhpcy5fbWFya2VySW50ZXJhY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJDb29yZGluYXRlcygpOiBudW1iZXJbXSB8IG51bGwge1xuICAgIGlmICh0aGlzLl9tYXJrZXIgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9tYXJrZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX21hcmtlcjtcbiAgICB9XG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0aGlzLl9tYXJrZXIuZ2V0R2VvbWV0cnkoKS5nZXRDb29yZGluYXRlcygpO1xuICAgIC8vIGNvb3JkaW5hdGVzIGlzIGluIEVQU0c6Mzg1NyAobWV0ZXJzKSwgd2UgdHJhbnNmb3JtIGl0IGludG8gRVBTRzo0MzI2IChkZWdyZWVzKVxuICAgIHJldHVybiBvbC5wcm9qLnRyYW5zZm9ybShjb29yZGluYXRlcywgJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKTtcbiAgfVxuXG4gIG9uUmVzaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYXApIHtcbiAgICAgIHRoaXMuX21hcC51cGRhdGVTaXplKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtpZF09XCJtYXBJZFwiIGNsYXNzPVwibWFwXCIgKHJlc2l6ZWQpPVwib25SZXNpemUoKVwiPjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LuxModalBackdropComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.class = 'modal-backdrop fade show';
|
|
6
|
+
this.style = 'z-index: 1050';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
LuxModalBackdropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModalBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
LuxModalBackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: LuxModalBackdropComponent, selector: "lux-modal-backdrop", inputs: { backdropClass: "backdropClass" }, host: { properties: { "class": "this.class", "style": "this.style" } }, ngImport: i0, template: '', isInline: true });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModalBackdropComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'lux-modal-backdrop',
|
|
15
|
+
template: ''
|
|
16
|
+
}]
|
|
17
|
+
}], propDecorators: { backdropClass: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], class: [{
|
|
20
|
+
type: HostBinding,
|
|
21
|
+
args: ['class']
|
|
22
|
+
}], style: [{
|
|
23
|
+
type: HostBinding,
|
|
24
|
+
args: ['style']
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYmFja2Ryb3AuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sdXgvc3JjL2xpYi9tb2RhbC9tb2RhbC1iYWNrZHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTTVELE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFPd0IsVUFBSyxHQUFHLDBCQUEwQixDQUFDO1FBQ25DLFVBQUssR0FBRyxlQUFlLENBQUM7S0FDL0M7O3NIQUxZLHlCQUF5QjswR0FBekIseUJBQXlCLDhLQUYxQixFQUFFOzJGQUVELHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFFVSxhQUFhO3NCQUFyQixLQUFLO2dCQUVnQixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBQ0UsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZ30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x1eC1tb2RhbC1iYWNrZHJvcCcsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBMdXhNb2RhbEJhY2tkcm9wQ29tcG9uZW50IHtcbiAgQElucHV0KCkgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdtb2RhbC1iYWNrZHJvcCBmYWRlIHNob3cnO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGUgPSAnei1pbmRleDogMTA1MCc7XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LuxModalConfig {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.backdrop = true;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
LuxModalConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModalConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9
|
+
LuxModalConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModalConfig, providedIn: 'root' });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: LuxModalConfig, decorators: [{
|
|
11
|
+
type: Injectable,
|
|
12
|
+
args: [{ providedIn: 'root' }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbHV4L3NyYy9saWIvbW9kYWwvbW9kYWwtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRUUsYUFBUSxHQUFHLElBQUksQ0FBQztLQUNqQjs7MkdBRlksY0FBYzsrR0FBZCxjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTHV4TW9kYWxPcHRpb25zIHtcbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgYmFja2Ryb3A/OiBib29sZWFuO1xuICBrZXlib2FyZD86IGJvb2xlYW47XG4gIHdpbmRvd0NsYXNzPzogc3RyaW5nO1xuICBiYWNrZHJvcENsYXNzPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEx1eE1vZGFsQ29uZmlnIGltcGxlbWVudHMgTHV4TW9kYWxPcHRpb25zIHtcbiAgYmFja2Ryb3AgPSB0cnVlO1xufVxuIl19
|
package/{esm2015/lib/modal/modal-dismiss-reasons.js → esm2020/lib/modal/modal-dismiss-reasons.mjs}
RENAMED
|
File without changes
|
|
File without changes
|