@ts-core/angular 15.0.2 → 15.0.4
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/VIModule.d.ts +53 -0
- package/application/ApplicationComponent.d.ts +1 -3
- package/esm2020/VIModule.mjs +175 -0
- package/esm2020/application/ApplicationComponent.mjs +2 -3
- package/esm2020/application/MessageBaseComponent.mjs +1 -1
- package/esm2020/language/LanguageModule.mjs +1 -8
- package/esm2020/pipe/CamelCasePipe.mjs +4 -12
- package/esm2020/pipe/StartCasePipe.mjs +4 -5
- package/esm2020/pipe/TimePipe.mjs +3 -2
- package/esm2020/pipe/TruncatePipe.mjs +3 -5
- package/esm2020/public-api.mjs +2 -69
- package/esm2020/service/PipeBaseService.mjs +1 -1
- package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
- package/fesm2015/ts-core-angular.mjs +3023 -7419
- package/fesm2015/ts-core-angular.mjs.map +1 -1
- package/fesm2020/ts-core-angular.mjs +3005 -7399
- package/fesm2020/ts-core-angular.mjs.map +1 -1
- package/package.json +3 -9
- package/pipe/CamelCasePipe.d.ts +0 -1
- package/public-api.d.ts +1 -61
- package/style/_core.scss +120 -0
- package/style/_text.scss +9 -1
- package/VICommonModule.d.ts +0 -56
- package/application/ShellBaseComponent.d.ts +0 -20
- package/bottomSheet/BottomSheetImpl.d.ts +0 -66
- package/bottomSheet/BottomSheetModule.d.ts +0 -13
- package/bottomSheet/BottomSheetService.d.ts +0 -31
- package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -8
- package/component/VIComponentModule.d.ts +0 -33
- package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
- package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
- package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
- package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
- package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
- package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
- package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
- package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
- package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
- package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
- package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
- package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
- package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
- package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
- package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
- package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
- package/component/language/language-selector/language-selector.component.d.ts +0 -19
- package/component/menu-list/menu-list.component.d.ts +0 -9
- package/component/select-list/select-list.component.d.ts +0 -9
- package/component/tab-group/tab-group.component.d.ts +0 -18
- package/directive/MenuTriggerForDirective.d.ts +0 -11
- package/error/WindowClosedError.d.ts +0 -6
- package/esm2020/VICommonModule.mjs +0 -185
- package/esm2020/application/ShellBaseComponent.mjs +0 -78
- package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -228
- package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
- package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
- package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -44
- package/esm2020/component/VIComponentModule.mjs +0 -117
- package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
- package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
- package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
- package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
- package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
- package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
- package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
- package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
- package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
- package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
- package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
- package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
- package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
- package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
- package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
- package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
- package/esm2020/component/select-list/select-list.component.mjs +0 -16
- package/esm2020/component/tab-group/tab-group.component.mjs +0 -82
- package/esm2020/directive/MenuTriggerForDirective.mjs +0 -55
- package/esm2020/error/WindowClosedError.mjs +0 -19
- package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -60
- package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
- package/esm2020/notification/INotification.mjs +0 -7
- package/esm2020/notification/INotificationContent.mjs +0 -132
- package/esm2020/notification/NotificationConfig.mjs +0 -16
- package/esm2020/notification/NotificationFactory.mjs +0 -19
- package/esm2020/notification/NotificationImpl.mjs +0 -139
- package/esm2020/notification/NotificationModule.mjs +0 -53
- package/esm2020/notification/NotificationProperties.mjs +0 -2
- package/esm2020/notification/NotificationService.mjs +0 -239
- package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
- package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
- package/esm2020/notification/component/notification/notification.component.mjs +0 -61
- package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
- package/esm2020/window/IWindow.mjs +0 -33
- package/esm2020/window/IWindowContent.mjs +0 -132
- package/esm2020/window/WindowBase.mjs +0 -168
- package/esm2020/window/WindowConfig.mjs +0 -232
- package/esm2020/window/WindowFactory.mjs +0 -27
- package/esm2020/window/WindowImpl.mjs +0 -354
- package/esm2020/window/WindowModule.mjs +0 -58
- package/esm2020/window/WindowProperties.mjs +0 -2
- package/esm2020/window/WindowService.mjs +0 -366
- package/esm2020/window/WindowServiceEvent.mjs +0 -9
- package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
- package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
- package/esm2020/window/component/WindowDragable.mjs +0 -69
- package/esm2020/window/component/WindowElement.mjs +0 -95
- package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
- package/esm2020/window/component/WindowResizeable.mjs +0 -88
- package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
- package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
- package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
- package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
- package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
- package/language/LanguageMatPaginatorIntl.d.ts +0 -20
- package/language/LanguageMomentDateAdapter.d.ts +0 -5
- package/notification/INotification.d.ts +0 -26
- package/notification/INotificationContent.d.ts +0 -31
- package/notification/NotificationConfig.d.ts +0 -13
- package/notification/NotificationFactory.d.ts +0 -11
- package/notification/NotificationImpl.d.ts +0 -38
- package/notification/NotificationModule.d.ts +0 -18
- package/notification/NotificationProperties.d.ts +0 -9
- package/notification/NotificationService.d.ts +0 -56
- package/notification/component/NotificationBaseComponent.d.ts +0 -3
- package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
- package/notification/component/notification/notification.component.d.ts +0 -14
- package/service/BootstrapBreakpointService.d.ts +0 -45
- package/style/mat/_core.scss +0 -317
- package/style/mat/_index.scss +0 -169
- package/style/mat/_variables.scss +0 -1
- package/style/mat/bootstrap/_background.scss +0 -28
- package/style/mat/bootstrap/_border.scss +0 -202
- package/style/mat/bootstrap/_index.scss +0 -27
- package/style/mat/bootstrap/_text.scss +0 -47
- package/style/mat/helper/_theme.scss +0 -96
- package/style/mat/helper/_typography.scss +0 -15
- package/window/IWindow.d.ts +0 -42
- package/window/IWindowContent.d.ts +0 -34
- package/window/WindowBase.d.ts +0 -33
- package/window/WindowConfig.d.ts +0 -64
- package/window/WindowFactory.d.ts +0 -12
- package/window/WindowImpl.d.ts +0 -88
- package/window/WindowModule.d.ts +0 -20
- package/window/WindowProperties.d.ts +0 -9
- package/window/WindowService.d.ts +0 -71
- package/window/WindowServiceEvent.d.ts +0 -7
- package/window/component/WindowBaseComponent.d.ts +0 -20
- package/window/component/WindowDragAreaDirective.d.ts +0 -19
- package/window/component/WindowDragable.d.ts +0 -13
- package/window/component/WindowElement.d.ts +0 -22
- package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
- package/window/component/WindowResizeable.d.ts +0 -10
- package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
- package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
- package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
- package/window/component/window-question/window-question.component.d.ts +0 -12
- package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { MatDialogConfig } from '@angular/material/dialog';
|
|
2
|
-
import * as _ from 'lodash';
|
|
3
|
-
import { IDestroyable } from '@ts-core/common';
|
|
4
|
-
import { ViewUtil } from '../util/ViewUtil';
|
|
5
|
-
export class WindowConfig extends MatDialogConfig {
|
|
6
|
-
// --------------------------------------------------------------------------
|
|
7
|
-
//
|
|
8
|
-
// Constructor
|
|
9
|
-
//
|
|
10
|
-
// --------------------------------------------------------------------------
|
|
11
|
-
constructor(isModal = false, isResizeable = false, width = NaN, height = NaN) {
|
|
12
|
-
super();
|
|
13
|
-
this.isExpandable = false;
|
|
14
|
-
this.isResizeable = false;
|
|
15
|
-
this.isMinimizable = false;
|
|
16
|
-
this.isContentDragable = true;
|
|
17
|
-
this.x = NaN;
|
|
18
|
-
this.y = NaN;
|
|
19
|
-
this.defaultWidth = NaN;
|
|
20
|
-
this.defaultMinWidth = NaN;
|
|
21
|
-
this.defaultMaxWidth = NaN;
|
|
22
|
-
this.defaultHeight = NaN;
|
|
23
|
-
this.defaultMinHeight = NaN;
|
|
24
|
-
this.defaultMaxHeight = NaN;
|
|
25
|
-
this.paddingTop = NaN;
|
|
26
|
-
this.paddingLeft = NaN;
|
|
27
|
-
this.paddingRight = NaN;
|
|
28
|
-
this.paddingBottom = NaN;
|
|
29
|
-
this._isModal = false;
|
|
30
|
-
this._elementMaxX = NaN;
|
|
31
|
-
this._elementMinX = NaN;
|
|
32
|
-
this._elementMaxY = NaN;
|
|
33
|
-
this._elementMinY = NaN;
|
|
34
|
-
this._elementMinWidth = NaN;
|
|
35
|
-
this._elementMaxWidth = NaN;
|
|
36
|
-
this._elementMinHeight = NaN;
|
|
37
|
-
this._elementMaxHeight = NaN;
|
|
38
|
-
this.isModal = this.hasBackdrop = isModal;
|
|
39
|
-
this.isResizeable = isResizeable;
|
|
40
|
-
if (!_.isNaN(width)) {
|
|
41
|
-
this.defaultWidth = width;
|
|
42
|
-
}
|
|
43
|
-
if (!_.isNaN(height)) {
|
|
44
|
-
this.defaultHeight = height;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// --------------------------------------------------------------------------
|
|
48
|
-
//
|
|
49
|
-
// Public Methods
|
|
50
|
-
//
|
|
51
|
-
// --------------------------------------------------------------------------
|
|
52
|
-
setDefaultProperties() {
|
|
53
|
-
this.width = this.elementWidth;
|
|
54
|
-
this.maxWidth = this.elementMaxWidth;
|
|
55
|
-
this.minWidth = this.elementMinWidth;
|
|
56
|
-
this.height = this.elementHeight;
|
|
57
|
-
this.maxHeight = this.elementMaxHeight;
|
|
58
|
-
this.minHeight = this.elementMinHeight;
|
|
59
|
-
}
|
|
60
|
-
parseX(value) {
|
|
61
|
-
value = Math.max(value, this.elementMinX);
|
|
62
|
-
value = Math.min(value, this.elementMaxX);
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
parseY(value) {
|
|
66
|
-
value = Math.max(value, this.elementMinY);
|
|
67
|
-
value = Math.min(value, this.elementMaxY);
|
|
68
|
-
return value;
|
|
69
|
-
}
|
|
70
|
-
parseWidth(value) {
|
|
71
|
-
value = Math.max(value, this.elementMinWidth);
|
|
72
|
-
value = Math.min(value, this.elementMaxWidth);
|
|
73
|
-
return value;
|
|
74
|
-
}
|
|
75
|
-
parseHeight(value) {
|
|
76
|
-
value = Math.max(value, this.elementMinHeight);
|
|
77
|
-
value = Math.min(value, this.elementMaxHeight);
|
|
78
|
-
return value;
|
|
79
|
-
}
|
|
80
|
-
destroy() {
|
|
81
|
-
IDestroyable.destroy(this.data);
|
|
82
|
-
this.data = null;
|
|
83
|
-
}
|
|
84
|
-
// --------------------------------------------------------------------------
|
|
85
|
-
//
|
|
86
|
-
// Public Properties
|
|
87
|
-
//
|
|
88
|
-
// --------------------------------------------------------------------------
|
|
89
|
-
get isModal() {
|
|
90
|
-
return this._isModal;
|
|
91
|
-
}
|
|
92
|
-
set isModal(value) {
|
|
93
|
-
if (value === this._isModal) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
this._isModal = value;
|
|
97
|
-
this.hasBackdrop = value;
|
|
98
|
-
}
|
|
99
|
-
get elementMinY() {
|
|
100
|
-
if (!_.isNaN(this._elementMinY)) {
|
|
101
|
-
return this._elementMinY;
|
|
102
|
-
}
|
|
103
|
-
this._elementMinY = 0 - ViewUtil.getStageHeight();
|
|
104
|
-
if (!_.isNaN(this.paddingTop)) {
|
|
105
|
-
this._elementMinY += this.paddingTop;
|
|
106
|
-
}
|
|
107
|
-
return this._elementMinY;
|
|
108
|
-
}
|
|
109
|
-
get elementMaxY() {
|
|
110
|
-
if (!_.isNaN(this._elementMaxY)) {
|
|
111
|
-
return this._elementMaxY;
|
|
112
|
-
}
|
|
113
|
-
this._elementMaxY = ViewUtil.getStageHeight();
|
|
114
|
-
if (!_.isNaN(this.paddingBottom)) {
|
|
115
|
-
this._elementMaxY -= this.paddingBottom;
|
|
116
|
-
}
|
|
117
|
-
return this._elementMaxY;
|
|
118
|
-
}
|
|
119
|
-
get elementMinX() {
|
|
120
|
-
if (!_.isNaN(this._elementMinX)) {
|
|
121
|
-
return this._elementMinX;
|
|
122
|
-
}
|
|
123
|
-
this._elementMinX = -ViewUtil.getStageWidth();
|
|
124
|
-
if (!_.isNaN(this.paddingLeft)) {
|
|
125
|
-
this._elementMinX += this.paddingLeft;
|
|
126
|
-
}
|
|
127
|
-
return this._elementMinX;
|
|
128
|
-
}
|
|
129
|
-
get elementMaxX() {
|
|
130
|
-
if (!_.isNaN(this._elementMaxX)) {
|
|
131
|
-
return this._elementMaxX;
|
|
132
|
-
}
|
|
133
|
-
this._elementMaxX = ViewUtil.getStageWidth();
|
|
134
|
-
if (!_.isNaN(this.paddingRight)) {
|
|
135
|
-
this._elementMaxX -= this.paddingRight;
|
|
136
|
-
}
|
|
137
|
-
return this._elementMaxX;
|
|
138
|
-
}
|
|
139
|
-
get elementWidth() {
|
|
140
|
-
if (this._elementWidth) {
|
|
141
|
-
return this._elementWidth;
|
|
142
|
-
}
|
|
143
|
-
this._elementWidth = 'auto';
|
|
144
|
-
if (this.defaultWidth) {
|
|
145
|
-
this._elementWidth = this.defaultWidth + 'px';
|
|
146
|
-
}
|
|
147
|
-
return this._elementWidth;
|
|
148
|
-
}
|
|
149
|
-
get elementMinWidth() {
|
|
150
|
-
if (!_.isNaN(this._elementMinWidth)) {
|
|
151
|
-
return this._elementMinWidth;
|
|
152
|
-
}
|
|
153
|
-
this._elementMinWidth = 0;
|
|
154
|
-
if (!_.isNaN(this.defaultMinWidth)) {
|
|
155
|
-
let value = ViewUtil.getStageWidth();
|
|
156
|
-
if (!_.isNaN(this.paddingLeft)) {
|
|
157
|
-
value -= this.paddingLeft;
|
|
158
|
-
}
|
|
159
|
-
if (!_.isNaN(this.paddingRight)) {
|
|
160
|
-
value -= this.paddingRight;
|
|
161
|
-
}
|
|
162
|
-
this._elementMinWidth = Math.min(this.defaultMinWidth, value);
|
|
163
|
-
}
|
|
164
|
-
return this._elementMinWidth;
|
|
165
|
-
}
|
|
166
|
-
get elementMaxWidth() {
|
|
167
|
-
if (!_.isNaN(this._elementMaxWidth)) {
|
|
168
|
-
return this._elementMaxWidth;
|
|
169
|
-
}
|
|
170
|
-
this._elementMaxWidth = ViewUtil.getStageWidth();
|
|
171
|
-
if (!_.isNaN(this.paddingLeft)) {
|
|
172
|
-
this._elementMaxWidth -= this.paddingLeft;
|
|
173
|
-
}
|
|
174
|
-
if (!_.isNaN(this.paddingRight)) {
|
|
175
|
-
this._elementMaxWidth -= this.paddingRight;
|
|
176
|
-
}
|
|
177
|
-
if (!_.isNaN(this.defaultMaxWidth)) {
|
|
178
|
-
this._elementMaxWidth = Math.min(this.defaultMaxWidth, this._elementMaxWidth);
|
|
179
|
-
}
|
|
180
|
-
return this._elementMaxWidth;
|
|
181
|
-
}
|
|
182
|
-
get elementHeight() {
|
|
183
|
-
if (this._elementHeight) {
|
|
184
|
-
return this._elementHeight;
|
|
185
|
-
}
|
|
186
|
-
this._elementHeight = 'auto';
|
|
187
|
-
if (this.defaultHeight) {
|
|
188
|
-
this._elementHeight = this.defaultHeight + 'px';
|
|
189
|
-
}
|
|
190
|
-
return this._elementHeight;
|
|
191
|
-
}
|
|
192
|
-
get elementMinHeight() {
|
|
193
|
-
if (!_.isNaN(this._elementMinHeight)) {
|
|
194
|
-
return this._elementMinHeight;
|
|
195
|
-
}
|
|
196
|
-
this._elementMinHeight = 0;
|
|
197
|
-
if (!_.isNaN(this.defaultMinHeight)) {
|
|
198
|
-
let value = ViewUtil.getStageHeight();
|
|
199
|
-
if (!_.isNaN(this.paddingTop)) {
|
|
200
|
-
value -= this.paddingTop;
|
|
201
|
-
}
|
|
202
|
-
if (!_.isNaN(this.paddingBottom)) {
|
|
203
|
-
value -= this.paddingBottom;
|
|
204
|
-
}
|
|
205
|
-
this._elementMinHeight = Math.min(this.defaultMinHeight, value);
|
|
206
|
-
}
|
|
207
|
-
return this._elementMinHeight;
|
|
208
|
-
}
|
|
209
|
-
get elementMaxHeight() {
|
|
210
|
-
if (!_.isNaN(this._elementMaxHeight)) {
|
|
211
|
-
return this._elementMaxHeight;
|
|
212
|
-
}
|
|
213
|
-
this._elementMaxHeight = ViewUtil.getStageHeight();
|
|
214
|
-
if (!_.isNaN(this.paddingTop)) {
|
|
215
|
-
this._elementMaxHeight -= this.paddingTop;
|
|
216
|
-
}
|
|
217
|
-
if (!_.isNaN(this.paddingBottom)) {
|
|
218
|
-
this._elementMaxHeight -= this.paddingBottom;
|
|
219
|
-
}
|
|
220
|
-
if (!_.isNaN(this.defaultMaxHeight)) {
|
|
221
|
-
this._elementMaxHeight = Math.min(this.defaultMaxHeight, this._elementMaxHeight);
|
|
222
|
-
}
|
|
223
|
-
return this._elementMaxHeight;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
export var WindowAlign;
|
|
227
|
-
(function (WindowAlign) {
|
|
228
|
-
WindowAlign["START"] = "START";
|
|
229
|
-
WindowAlign["CENTER"] = "CENTER";
|
|
230
|
-
WindowAlign["END"] = "END";
|
|
231
|
-
})(WindowAlign || (WindowAlign = {}));
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsTUFBTSxPQUFPLFlBQXNCLFNBQVEsZUFBa0I7SUFxRHpELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUFtQixLQUFLLEVBQUUsZUFBd0IsS0FBSyxFQUFFLFFBQWdCLEdBQUcsRUFBRSxTQUFpQixHQUFHO1FBQzFHLEtBQUssRUFBRSxDQUFDO1FBcERMLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQU9sQyxNQUFDLEdBQVcsR0FBRyxDQUFDO1FBQ2hCLE1BQUMsR0FBVyxHQUFHLENBQUM7UUFFaEIsaUJBQVksR0FBVyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFDOUIsb0JBQWUsR0FBVyxHQUFHLENBQUM7UUFFOUIsa0JBQWEsR0FBVyxHQUFHLENBQUM7UUFDNUIscUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBQy9CLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUUvQixlQUFVLEdBQVcsR0FBRyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQzFCLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGtCQUFhLEdBQVcsR0FBRyxD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LFdBQVksV0FBVztJQUNuQiw4QkFBZSxDQUFBO0lBQ2YsZ0NBQWlCLENBQUE7SUFDakIsMEJBQVcsQ0FBQTtBQUNmLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldENvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRGVzdHJveWFibGUgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcblxuZXhwb3J0IGNsYXNzIFdpbmRvd0NvbmZpZzxUID0gYW55PiBleHRlbmRzIE1hdERpYWxvZ0NvbmZpZzxUPiBpbXBsZW1lbnRzIE1hdEJvdHRvbVNoZWV0Q29uZmlnPFQ+LCBJRGVzdHJveWFibGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzUmVzaXplYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc01pbmltaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29udGVudERyYWdhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBwcm9wZXJ0aWVzSWQ6IHN0cmluZztcblxuICAgIC8vIE5lZWQgZm9yIG1hdGNoIE1hdERpYWxvZ0NvbmZpZyBhbmQgTWF0Qm90dG9tU2hlZXRDb25maWdcbiAgICBwdWJsaWMgYmFja2Ryb3BDbGFzczogc3RyaW5nO1xuXG4gICAgcHVibGljIHg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgeTogbnVtYmVyID0gTmFOO1xuXG4gICAgcHVibGljIGRlZmF1bHRXaWR0aDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluV2lkdGg6IG51bWJlciA9IE5hTjtcbiAgICBwdWJsaWMgZGVmYXVsdE1heFdpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgZGVmYXVsdEhlaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBkZWZhdWx0TWluSGVpZ2h0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIGRlZmF1bHRNYXhIZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIHB1YmxpYyBwYWRkaW5nVG9wOiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSBOYU47XG4gICAgcHVibGljIHBhZGRpbmdSaWdodDogbnVtYmVyID0gTmFOO1xuICAgIHB1YmxpYyBwYWRkaW5nQm90dG9tOiBudW1iZXIgPSBOYU47XG5cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbjogV2luZG93QWxpZ247XG4gICAgcHVibGljIGhvcml6b250YWxBbGlnbjogV2luZG93QWxpZ247XG5cbiAgICBwcm90ZWN0ZWQgX2lzTW9kYWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heFg6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5YOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhZOiBudW1iZXIgPSBOYU47XG4gICAgcHJvdGVjdGVkIF9lbGVtZW50TWluWTogbnVtYmVyID0gTmFOO1xuXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50V2lkdGg6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5XaWR0aDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfZWxlbWVudE1heFdpZHRoOiBudW1iZXIgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRIZWlnaHQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNaW5IZWlnaHQ6IG51bWJlciA9IE5hTjtcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRNYXhIZWlnaHQ6IG51bWJlciA9IE5hTjtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoaXNNb2RhbDogYm9vbGVhbiA9IGZhbHNlLCBpc1Jlc2l6ZWFibGU6IGJvb2xlYW4gPSBmYWxzZSwgd2lkdGg6IG51bWJlciA9IE5hTiwgaGVpZ2h0OiBudW1iZXIgPSBOYU4pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmlzTW9kYWwgPSB0aGlzLmhhc0JhY2tkcm9wID0gaXNNb2RhbDtcbiAgICAgICAgdGhpcy5pc1Jlc2l6ZWFibGUgPSBpc1Jlc2l6ZWFibGU7XG5cbiAgICAgICAgaWYgKCFfLmlzTmFOKHdpZHRoKSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0V2lkdGggPSB3aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghXy5pc05hTihoZWlnaHQpKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRIZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzZXREZWZhdWx0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuZWxlbWVudFdpZHRoO1xuICAgICAgICB0aGlzLm1heFdpZHRoID0gdGhpcy5lbGVtZW50TWF4V2lkdGg7XG4gICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLmVsZW1lbnRNaW5XaWR0aDtcblxuICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMuZWxlbWVudEhlaWdodDtcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSB0aGlzLmVsZW1lbnRNYXhIZWlnaHQ7XG4gICAgICAgIHRoaXMubWluSGVpZ2h0ID0gdGhpcy5lbGVtZW50TWluSGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVgodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMuZWxlbWVudE1pblgpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCB0aGlzLmVsZW1lbnRNYXhYKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVkodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5tYXgodmFsdWUsIHRoaXMuZWxlbWVudE1pblkpO1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWluKHZhbHVlLCB0aGlzLmVsZW1lbnRNYXhZKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZVdpZHRoKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB2YWx1ZSA9IE1hdGgubWF4KHZhbHVlLCB0aGlzLmVsZW1lbnRNaW5XaWR0aCk7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4odmFsdWUsIHRoaXMuZWxlbWVudE1heFdpZHRoKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZUhlaWdodCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heCh2YWx1ZSwgdGhpcy5lbGVtZW50TWluSGVpZ2h0KTtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1pbih2YWx1ZSwgdGhpcy5lbGVtZW50TWF4SGVpZ2h0KTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBJRGVzdHJveWFibGUuZGVzdHJveSh0aGlzLmRhdGEpO1xuICAgICAgICB0aGlzLmRhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBpc01vZGFsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNNb2RhbDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpc01vZGFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNNb2RhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzTW9kYWwgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYXNCYWNrZHJvcCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pblkoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5ZKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5ZO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5ZID0gMCAtIFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluWSArPSB0aGlzLnBhZGRpbmdUb3A7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5ZO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRNYXhZKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4WSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbGVtZW50TWF4WSA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdCb3R0b20pKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4WSAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhZO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pblgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5YKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5YO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5YID0gLVZpZXdVdGlsLmdldFN0YWdlV2lkdGgoKTtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluWCArPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluWDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4WCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1heFgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heFggPSBWaWV3VXRpbC5nZXRTdGFnZVdpZHRoKCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhYIC09IHRoaXMucGFkZGluZ1JpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4WDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVsZW1lbnRXaWR0aCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRXaWR0aCA9ICdhdXRvJztcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50V2lkdGggPSB0aGlzLmRlZmF1bHRXaWR0aCArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRXaWR0aDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWluV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNaW5XaWR0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1pbldpZHRoID0gMDtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1pbldpZHRoKSkge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0xlZnQpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nTGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNaW5XaWR0aCA9IE1hdGgubWluKHRoaXMuZGVmYXVsdE1pbldpZHRoLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5XaWR0aDtcbiAgICB9XG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX2VsZW1lbnRNYXhXaWR0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4V2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heFdpZHRoID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nTGVmdCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCAtPSB0aGlzLnBhZGRpbmdMZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhXaWR0aCAtPSB0aGlzLnBhZGRpbmdSaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWF4V2lkdGgpKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4V2lkdGggPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNYXhXaWR0aCwgdGhpcy5fZWxlbWVudE1heFdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudE1heFdpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWxlbWVudEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5fZWxlbWVudEhlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudEhlaWdodCA9ICdhdXRvJztcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudEhlaWdodCA9IHRoaXMuZGVmYXVsdEhlaWdodCArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRIZWlnaHQ7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZWxlbWVudE1pbkhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5fZWxlbWVudE1pbkhlaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWluSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQgPSAwO1xuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5kZWZhdWx0TWluSGVpZ2h0KSkge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKTtcbiAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nVG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWluSGVpZ2h0ID0gTWF0aC5taW4odGhpcy5kZWZhdWx0TWluSGVpZ2h0LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNaW5IZWlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50TWF4SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl9lbGVtZW50TWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCA9IFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdUb3ApKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0IC09IHRoaXMucGFkZGluZ1RvcDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNOYU4odGhpcy5wYWRkaW5nQm90dG9tKSkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudE1heEhlaWdodCAtPSB0aGlzLnBhZGRpbmdCb3R0b207XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuZGVmYXVsdE1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQgPSBNYXRoLm1pbih0aGlzLmRlZmF1bHRNYXhIZWlnaHQsIHRoaXMuX2VsZW1lbnRNYXhIZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50TWF4SGVpZ2h0O1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gV2luZG93QWxpZ24ge1xuICAgIFNUQVJUID0gJ1NUQVJUJyxcbiAgICBDRU5URVIgPSAnQ0VOVEVSJyxcbiAgICBFTkQgPSAnRU5EJ1xufVxuXG5leHBvcnQgdHlwZSBXaW5kb3dDb25maWdPcHRpb25zPFQgPSBhbnk+ID0geyBbUCBpbiBrZXlvZiBXaW5kb3dDb25maWc8VD5dPzogYW55IH07XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import * as _ from 'lodash';
|
|
2
|
-
export class WindowFactory {
|
|
3
|
-
// --------------------------------------------------------------------------
|
|
4
|
-
//
|
|
5
|
-
// Constructor
|
|
6
|
-
//
|
|
7
|
-
// --------------------------------------------------------------------------
|
|
8
|
-
constructor(defaultType) {
|
|
9
|
-
this.defaultType = defaultType;
|
|
10
|
-
}
|
|
11
|
-
// --------------------------------------------------------------------------
|
|
12
|
-
//
|
|
13
|
-
// Public Methods
|
|
14
|
-
//
|
|
15
|
-
// --------------------------------------------------------------------------
|
|
16
|
-
create(properties) {
|
|
17
|
-
let item = null;
|
|
18
|
-
if (!_.isNil(this.createFunction)) {
|
|
19
|
-
item = this.createFunction(properties);
|
|
20
|
-
}
|
|
21
|
-
if (_.isNil(item)) {
|
|
22
|
-
item = new this.defaultType(properties);
|
|
23
|
-
}
|
|
24
|
-
return item;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93RmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93RmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLE9BQU8sYUFBYTtJQVN0Qiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNkVBQTZFO0lBRTdFLFlBQXNCLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBQUcsQ0FBQztJQUVwRCw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxVQUE0QjtRQUN0QyxJQUFJLElBQUksR0FBTSxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2YsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElXaW5kb3cgfSBmcm9tICcuL0lXaW5kb3cnO1xuaW1wb3J0IHsgV2luZG93UHJvcGVydGllcyB9IGZyb20gJy4vV2luZG93UHJvcGVydGllcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjbGFzcyBXaW5kb3dGYWN0b3J5PFUgZXh0ZW5kcyBJV2luZG93PiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBjcmVhdGVGdW5jdGlvbjogQ3JlYXRlRnVuY3Rpb247XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkZWZhdWx0VHlwZTogV2luZG93VHlwZTxVPikge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGNyZWF0ZShwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVSB7XG4gICAgICAgIGxldCBpdGVtOiBVID0gbnVsbDtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY3JlYXRlRnVuY3Rpb24pKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5jcmVhdGVGdW5jdGlvbihwcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXy5pc05pbChpdGVtKSkge1xuICAgICAgICAgICAgaXRlbSA9IG5ldyB0aGlzLmRlZmF1bHRUeXBlKHByb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVuY3Rpb24gPSA8VSBleHRlbmRzIElXaW5kb3c+KHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXMpID0+IFU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2luZG93VHlwZTxUPiB7XG4gICAgbmV3IChwcm9wZXJ0aWVzOiBXaW5kb3dQcm9wZXJ0aWVzKTogVDtcbn1cbiJdfQ==
|