@ts-core/angular 15.0.2 → 15.0.3

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.
Files changed (161) hide show
  1. package/VICommonModule.d.ts +10 -13
  2. package/application/ApplicationComponent.d.ts +1 -3
  3. package/esm2020/VICommonModule.mjs +4 -14
  4. package/esm2020/application/ApplicationComponent.mjs +2 -3
  5. package/esm2020/application/MessageBaseComponent.mjs +1 -1
  6. package/esm2020/language/LanguageModule.mjs +1 -8
  7. package/esm2020/pipe/CamelCasePipe.mjs +4 -12
  8. package/esm2020/pipe/StartCasePipe.mjs +4 -5
  9. package/esm2020/pipe/TimePipe.mjs +3 -2
  10. package/esm2020/pipe/TruncatePipe.mjs +3 -5
  11. package/esm2020/public-api.mjs +1 -68
  12. package/esm2020/service/PipeBaseService.mjs +1 -1
  13. package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
  14. package/fesm2015/ts-core-angular.mjs +3023 -7419
  15. package/fesm2015/ts-core-angular.mjs.map +1 -1
  16. package/fesm2020/ts-core-angular.mjs +3003 -7397
  17. package/fesm2020/ts-core-angular.mjs.map +1 -1
  18. package/package.json +3 -9
  19. package/pipe/CamelCasePipe.d.ts +0 -1
  20. package/public-api.d.ts +0 -60
  21. package/style/_core.scss +120 -0
  22. package/style/_text.scss +9 -1
  23. package/application/ShellBaseComponent.d.ts +0 -20
  24. package/bottomSheet/BottomSheetImpl.d.ts +0 -66
  25. package/bottomSheet/BottomSheetModule.d.ts +0 -13
  26. package/bottomSheet/BottomSheetService.d.ts +0 -31
  27. package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -8
  28. package/component/VIComponentModule.d.ts +0 -33
  29. package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
  30. package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
  31. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
  32. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
  33. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
  34. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
  35. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
  36. package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
  37. package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
  38. package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
  39. package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
  40. package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
  41. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
  42. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
  43. package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
  44. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
  45. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
  46. package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
  47. package/component/language/language-selector/language-selector.component.d.ts +0 -19
  48. package/component/menu-list/menu-list.component.d.ts +0 -9
  49. package/component/select-list/select-list.component.d.ts +0 -9
  50. package/component/tab-group/tab-group.component.d.ts +0 -18
  51. package/directive/MenuTriggerForDirective.d.ts +0 -11
  52. package/error/WindowClosedError.d.ts +0 -6
  53. package/esm2020/application/ShellBaseComponent.mjs +0 -78
  54. package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -228
  55. package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
  56. package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
  57. package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -44
  58. package/esm2020/component/VIComponentModule.mjs +0 -117
  59. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
  60. package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
  61. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
  62. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
  63. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
  64. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
  65. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
  66. package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
  67. package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
  68. package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
  69. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
  70. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
  71. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
  72. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
  73. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
  74. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
  75. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
  76. package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
  77. package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
  78. package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
  79. package/esm2020/component/select-list/select-list.component.mjs +0 -16
  80. package/esm2020/component/tab-group/tab-group.component.mjs +0 -82
  81. package/esm2020/directive/MenuTriggerForDirective.mjs +0 -55
  82. package/esm2020/error/WindowClosedError.mjs +0 -19
  83. package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -60
  84. package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
  85. package/esm2020/notification/INotification.mjs +0 -7
  86. package/esm2020/notification/INotificationContent.mjs +0 -132
  87. package/esm2020/notification/NotificationConfig.mjs +0 -16
  88. package/esm2020/notification/NotificationFactory.mjs +0 -19
  89. package/esm2020/notification/NotificationImpl.mjs +0 -139
  90. package/esm2020/notification/NotificationModule.mjs +0 -53
  91. package/esm2020/notification/NotificationProperties.mjs +0 -2
  92. package/esm2020/notification/NotificationService.mjs +0 -239
  93. package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
  94. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
  95. package/esm2020/notification/component/notification/notification.component.mjs +0 -61
  96. package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
  97. package/esm2020/window/IWindow.mjs +0 -33
  98. package/esm2020/window/IWindowContent.mjs +0 -132
  99. package/esm2020/window/WindowBase.mjs +0 -168
  100. package/esm2020/window/WindowConfig.mjs +0 -232
  101. package/esm2020/window/WindowFactory.mjs +0 -27
  102. package/esm2020/window/WindowImpl.mjs +0 -354
  103. package/esm2020/window/WindowModule.mjs +0 -58
  104. package/esm2020/window/WindowProperties.mjs +0 -2
  105. package/esm2020/window/WindowService.mjs +0 -366
  106. package/esm2020/window/WindowServiceEvent.mjs +0 -9
  107. package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
  108. package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
  109. package/esm2020/window/component/WindowDragable.mjs +0 -69
  110. package/esm2020/window/component/WindowElement.mjs +0 -95
  111. package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
  112. package/esm2020/window/component/WindowResizeable.mjs +0 -88
  113. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
  114. package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
  115. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
  116. package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
  117. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
  118. package/language/LanguageMatPaginatorIntl.d.ts +0 -20
  119. package/language/LanguageMomentDateAdapter.d.ts +0 -5
  120. package/notification/INotification.d.ts +0 -26
  121. package/notification/INotificationContent.d.ts +0 -31
  122. package/notification/NotificationConfig.d.ts +0 -13
  123. package/notification/NotificationFactory.d.ts +0 -11
  124. package/notification/NotificationImpl.d.ts +0 -38
  125. package/notification/NotificationModule.d.ts +0 -18
  126. package/notification/NotificationProperties.d.ts +0 -9
  127. package/notification/NotificationService.d.ts +0 -56
  128. package/notification/component/NotificationBaseComponent.d.ts +0 -3
  129. package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
  130. package/notification/component/notification/notification.component.d.ts +0 -14
  131. package/service/BootstrapBreakpointService.d.ts +0 -45
  132. package/style/mat/_core.scss +0 -317
  133. package/style/mat/_index.scss +0 -169
  134. package/style/mat/_variables.scss +0 -1
  135. package/style/mat/bootstrap/_background.scss +0 -28
  136. package/style/mat/bootstrap/_border.scss +0 -202
  137. package/style/mat/bootstrap/_index.scss +0 -27
  138. package/style/mat/bootstrap/_text.scss +0 -47
  139. package/style/mat/helper/_theme.scss +0 -96
  140. package/style/mat/helper/_typography.scss +0 -15
  141. package/window/IWindow.d.ts +0 -42
  142. package/window/IWindowContent.d.ts +0 -34
  143. package/window/WindowBase.d.ts +0 -33
  144. package/window/WindowConfig.d.ts +0 -64
  145. package/window/WindowFactory.d.ts +0 -12
  146. package/window/WindowImpl.d.ts +0 -88
  147. package/window/WindowModule.d.ts +0 -20
  148. package/window/WindowProperties.d.ts +0 -9
  149. package/window/WindowService.d.ts +0 -71
  150. package/window/WindowServiceEvent.d.ts +0 -7
  151. package/window/component/WindowBaseComponent.d.ts +0 -20
  152. package/window/component/WindowDragAreaDirective.d.ts +0 -19
  153. package/window/component/WindowDragable.d.ts +0 -13
  154. package/window/component/WindowElement.d.ts +0 -22
  155. package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
  156. package/window/component/WindowResizeable.d.ts +0 -10
  157. package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
  158. package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
  159. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
  160. package/window/component/window-question/window-question.component.d.ts +0 -12
  161. package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
@@ -1,132 +0,0 @@
1
- import { ViewContainerRef, Inject, Optional, Component, InjectionToken, Input } from '@angular/core';
2
- import { DestroyableContainer } from '@ts-core/common';
3
- import { WindowEvent } from './IWindow';
4
- import * as _ from 'lodash';
5
- import * as i0 from "@angular/core";
6
- export class IWindowContent extends DestroyableContainer {
7
- // --------------------------------------------------------------------------
8
- //
9
- // Constructor
10
- //
11
- // --------------------------------------------------------------------------
12
- constructor(container) {
13
- super();
14
- this.container = container;
15
- }
16
- // --------------------------------------------------------------------------
17
- //
18
- // Private Methods
19
- //
20
- // --------------------------------------------------------------------------
21
- commitWindowProperties() {
22
- this.commitConfigProperties();
23
- }
24
- commitConfigProperties() { }
25
- // --------------------------------------------------------------------------
26
- //
27
- // Public Methods
28
- //
29
- // --------------------------------------------------------------------------
30
- ngAfterViewInit() {
31
- this.emit(WindowEvent.CONTENT_READY);
32
- }
33
- ngOnDestroy() {
34
- // do nothing, window will destroy content after closing
35
- }
36
- blink() {
37
- if (!_.isNil(this.window)) {
38
- this.window.blink();
39
- }
40
- }
41
- shake() {
42
- if (!_.isNil(this.window)) {
43
- this.window.shake();
44
- }
45
- }
46
- emit(event) {
47
- if (!_.isNil(this.window)) {
48
- this.window.emit(event);
49
- }
50
- }
51
- close() {
52
- if (!_.isNil(this.window)) {
53
- this.window.close();
54
- }
55
- }
56
- destroy() {
57
- if (this.isDestroyed) {
58
- return;
59
- }
60
- super.destroy();
61
- this.window = null;
62
- this.container = null;
63
- }
64
- // --------------------------------------------------------------------------
65
- //
66
- // Proxy Public Properties
67
- //
68
- // --------------------------------------------------------------------------
69
- get data() {
70
- return !_.isNil(this.config) ? this.config.data : null;
71
- }
72
- get isOnTop() {
73
- return !_.isNil(this.window) ? this.window.isOnTop : false;
74
- }
75
- get isMinimized() {
76
- return !_.isNil(this.window) ? this.window.isMinimized : false;
77
- }
78
- get events() {
79
- return !_.isNil(this.window) ? this.window.events : null;
80
- }
81
- get isDisabled() {
82
- return !_.isNil(this.window) ? this.window.isDisabled : false;
83
- }
84
- set isDisabled(value) {
85
- if (!_.isNil(this.window)) {
86
- this.window.isDisabled = value;
87
- }
88
- }
89
- // --------------------------------------------------------------------------
90
- //
91
- // Public Properties
92
- //
93
- // --------------------------------------------------------------------------
94
- get element() {
95
- if (_.isNil(this.container)) {
96
- return null;
97
- }
98
- return this.container instanceof ViewContainerRef ? this.container.element : this.container;
99
- }
100
- get config() {
101
- return !_.isNil(this.window) ? this.window.config : null;
102
- }
103
- get window() {
104
- return this._window;
105
- }
106
- set window(value) {
107
- if (value === this._window) {
108
- return;
109
- }
110
- this._window = value;
111
- if (!_.isNil(value)) {
112
- this.commitWindowProperties();
113
- }
114
- }
115
- }
116
- IWindowContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IWindowContent, deps: [{ token: WINDOW_CONTENT_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
117
- IWindowContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: IWindowContent, selector: "ng-component", inputs: { isDisabled: "isDisabled", window: "window" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IWindowContent, decorators: [{
119
- type: Component,
120
- args: [{ template: '' }]
121
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
122
- type: Optional
123
- }, {
124
- type: Inject,
125
- args: [WINDOW_CONTENT_CONTAINER]
126
- }] }]; }, propDecorators: { isDisabled: [{
127
- type: Input
128
- }], window: [{
129
- type: Input
130
- }] } });
131
- export const WINDOW_CONTENT_CONTAINER = new InjectionToken('WINDOW_CONTENT_CONTAINER');
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVdpbmRvd0NvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2luZG93L0lXaW5kb3dDb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQVcsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUc1QixNQUFNLE9BQWdCLGNBQXdCLFNBQVEsb0JBQW9CO0lBU3RFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBaUUsU0FBaUM7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEcUQsY0FBUyxHQUFULFNBQVMsQ0FBd0I7SUFFbEcsQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsbUJBQW1CO0lBQ25CLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxzQkFBc0IsS0FBVSxDQUFDO0lBRTNDLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw2RUFBNkU7SUFFdEUsZUFBZTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVztRQUNkLHdEQUF3RDtJQUM1RCxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixJQUFJLENB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LElBQUksQ0FBQyxTQUFTLENBQUM7SUFDaEcsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUNXLE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3hCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQzs7MkdBNUlpQixjQUFjLGtCQWVBLHdCQUF3QjsrRkFmdEMsY0FBYyxtSUFEYixFQUFFOzJGQUNILGNBQWM7a0JBRG5DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzswQkFnQlYsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7NENBMEY3QyxVQUFVO3NCQURwQixLQUFLO2dCQTRCSyxNQUFNO3NCQURoQixLQUFLOztBQWFWLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF5QiwwQkFBMEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0LCBPcHRpb25hbCwgQ29tcG9uZW50LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlQ29udGFpbmVyIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IElXaW5kb3csIFdpbmRvd0V2ZW50IH0gZnJvbSAnLi9JV2luZG93JztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4vV2luZG93Q29uZmlnJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIElXaW5kb3dDb250ZW50PFQgPSBhbnk+IGV4dGVuZHMgRGVzdHJveWFibGVDb250YWluZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByb3BlcnRpZXM9XG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF93aW5kb3c6IElXaW5kb3c8VD47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1dfQ09OVEVOVF9DT05UQUlORVIpIHB1YmxpYyBjb250YWluZXI6IFdpbmRvd0NvbnRlbnRDb250YWluZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFByaXZhdGUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBjb21taXRXaW5kb3dQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbW1pdENvbmZpZ1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0Q29uZmlnUHJvcGVydGllcygpOiB2b2lkIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LkNPTlRFTlRfUkVBRFkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gZG8gbm90aGluZywgd2luZG93IHdpbGwgZGVzdHJveSBjb250ZW50IGFmdGVyIGNsb3NpbmdcbiAgICB9XG5cbiAgICBwdWJsaWMgYmxpbmsoKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLndpbmRvdykpIHtcbiAgICAgICAgICAgIHRoaXMud2luZG93LmJsaW5rKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2hha2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLndpbmRvdykpIHtcbiAgICAgICAgICAgIHRoaXMud2luZG93LnNoYWtlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZW1pdChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh0aGlzLndpbmRvdykpIHtcbiAgICAgICAgICAgIHRoaXMud2luZG93LmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMud2luZG93ID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJveHkgUHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGRhdGEoKTogVCB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLmNvbmZpZykgPyB0aGlzLmNvbmZpZy5kYXRhIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT25Ub3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLndpbmRvdykgPyB0aGlzLndpbmRvdy5pc09uVG9wIDogZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc01pbmltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMud2luZG93KSA/IHRoaXMud2luZG93LmlzTWluaW1pemVkIDogZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMud2luZG93KSA/IHRoaXMud2luZG93LmV2ZW50cyA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy53aW5kb3cpID8gdGhpcy53aW5kb3cuaXNEaXNhYmxlZCA6IGZhbHNlO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy53aW5kb3cpKSB7XG4gICAgICAgICAgICB0aGlzLndpbmRvdy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBlbGVtZW50KCk6IEVsZW1lbnRSZWYge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLmNvbnRhaW5lcikpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lciBpbnN0YW5jZW9mIFZpZXdDb250YWluZXJSZWYgPyB0aGlzLmNvbnRhaW5lci5lbGVtZW50IDogdGhpcy5jb250YWluZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb25maWcoKTogV2luZG93Q29uZmlnPFQ+IHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMud2luZG93KSA/IHRoaXMud2luZG93LmNvbmZpZyA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3aW5kb3coKTogSVdpbmRvdzxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aW5kb3c7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aW5kb3codmFsdWU6IElXaW5kb3c8VD4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl93aW5kb3cpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93aW5kb3cgPSB2YWx1ZTtcbiAgICAgICAgaWYgKCFfLmlzTmlsKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jb21taXRXaW5kb3dQcm9wZXJ0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFdpbmRvd0NvbnRlbnRDb250YWluZXIgPSBFbGVtZW50UmVmIHwgVmlld0NvbnRhaW5lclJlZjtcbmV4cG9ydCBjb25zdCBXSU5ET1dfQ09OVEVOVF9DT05UQUlORVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2luZG93Q29udGVudENvbnRhaW5lcj4oJ1dJTkRPV19DT05URU5UX0NPTlRBSU5FUicpO1xuIl19
@@ -1,168 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { DestroyableContainer } from '@ts-core/common';
3
- import { ViewUtil } from '../util/ViewUtil';
4
- import { WindowAlign } from './WindowConfig';
5
- export class WindowBase extends DestroyableContainer {
6
- // --------------------------------------------------------------------------
7
- //
8
- // Constructor
9
- //
10
- // --------------------------------------------------------------------------
11
- constructor() {
12
- super();
13
- // --------------------------------------------------------------------------
14
- //
15
- // Properties
16
- //
17
- // --------------------------------------------------------------------------
18
- this._x = NaN;
19
- this._width = NaN;
20
- this._y = NaN;
21
- this._height = NaN;
22
- this.updatePosition = () => this.setPosition();
23
- }
24
- setProperties() {
25
- let config = this.getConfig();
26
- if (!_.isNaN(config.defaultWidth)) {
27
- this.width = config.defaultWidth;
28
- }
29
- if (!_.isNaN(config.defaultHeight)) {
30
- this.height = config.defaultHeight;
31
- }
32
- }
33
- setPosition() {
34
- let config = this.getConfig();
35
- switch (config.horizontalAlign) {
36
- case WindowAlign.START:
37
- this.x = !_.isNaN(this.paddingLeft) ? this.paddingLeft : 0;
38
- break;
39
- case WindowAlign.END:
40
- let value = ViewUtil.getStageWidth() - this.calculateWidth();
41
- if (!_.isNaN(this.paddingRight)) {
42
- value -= this.paddingRight;
43
- }
44
- this.x = value;
45
- break;
46
- default:
47
- this.x = (ViewUtil.getStageWidth() - this.calculateWidth()) / 2;
48
- break;
49
- }
50
- switch (config.verticalAlign) {
51
- case WindowAlign.START:
52
- this.y = !_.isNaN(this.paddingTop) ? this.paddingTop : 0;
53
- break;
54
- case WindowAlign.END:
55
- let value = ViewUtil.getStageHeight() - this.calculateHeight();
56
- if (!_.isNaN(this.paddingBottom)) {
57
- value -= this.paddingBottom;
58
- }
59
- this.y = value;
60
- break;
61
- default:
62
- this.y = (ViewUtil.getStageHeight() - this.calculateHeight()) / 2;
63
- break;
64
- }
65
- }
66
- clearSize() {
67
- this._x = NaN;
68
- this._y = NaN;
69
- this._width = NaN;
70
- this._height = NaN;
71
- }
72
- commitSizeProperties() {
73
- let width = !_.isNaN(this.width) ? this.width + 'px' : 'auto';
74
- let height = !_.isNaN(this.height) ? this.height + 'px' : 'auto';
75
- this.getReference().updateSize(width, height);
76
- }
77
- commitPositionProperties() {
78
- if (_.isNaN(this._x) && _.isNaN(this._y)) {
79
- return;
80
- }
81
- let position = {};
82
- if (!_.isNaN(this._y)) {
83
- position.top = this._y + 'px';
84
- }
85
- if (!_.isNaN(this._x)) {
86
- position.left = this._x + 'px';
87
- }
88
- this.getReference().updatePosition(position);
89
- }
90
- // --------------------------------------------------------------------------
91
- //
92
- // Public Methods
93
- //
94
- // --------------------------------------------------------------------------
95
- calculateWidth() {
96
- return !_.isNaN(this.width) ? this.width : ViewUtil.getWidth(this.getContainer());
97
- }
98
- calculateHeight() {
99
- return !_.isNaN(this.height) ? this.height : ViewUtil.getHeight(this.getContainer());
100
- }
101
- // --------------------------------------------------------------------------
102
- //
103
- // Private Properties
104
- //
105
- // --------------------------------------------------------------------------
106
- get width() {
107
- return this._width;
108
- }
109
- set width(value) {
110
- value = this.getConfig().parseWidth(value);
111
- if (value === this._width) {
112
- return;
113
- }
114
- this._width = value;
115
- this.commitSizeProperties();
116
- }
117
- get height() {
118
- return this._height;
119
- }
120
- set height(value) {
121
- value = this.getConfig().parseHeight(value);
122
- if (value === this._height) {
123
- return;
124
- }
125
- this._height = value;
126
- this.commitSizeProperties();
127
- }
128
- // --------------------------------------------------------------------------
129
- //
130
- // Public Properties
131
- //
132
- // --------------------------------------------------------------------------
133
- get x() {
134
- return this._x;
135
- }
136
- set x(value) {
137
- value = this.getConfig().parseX(value);
138
- if (value === this._x) {
139
- return;
140
- }
141
- this._x = value;
142
- this.commitPositionProperties();
143
- }
144
- get y() {
145
- return this._y;
146
- }
147
- set y(value) {
148
- value = this.getConfig().parseY(value);
149
- if (value === this._y) {
150
- return;
151
- }
152
- this._y = value;
153
- this.commitPositionProperties();
154
- }
155
- get paddingTop() {
156
- return this.getConfig().paddingTop;
157
- }
158
- get paddingLeft() {
159
- return this.getConfig().paddingLeft;
160
- }
161
- get paddingRight() {
162
- return this.getConfig().paddingRight;
163
- }
164
- get paddingBottom() {
165
- return this.getConfig().paddingBottom;
166
- }
167
- }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxNQUFNLE9BQWdCLFVBQW9CLFNBQVEsb0JBQW9CO0lBYWxFLDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0U7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQW5CWiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGNBQWM7UUFDZCxFQUFFO1FBQ0YsNkVBQTZFO1FBRW5FLE9BQUUsR0FBVyxHQUFHLENBQUM7UUFDakIsV0FBTSxHQUFXLEdBQUcsQ0FBQztRQUVyQixPQUFFLEdBQVcsR0FBRyxDQUFDO1FBQ2pCLFlBQU8sR0FBVyxHQUFHLENBQUM7UUErRnRCLG1CQUFjLEdBQUcsR0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBckYxRCxDQUFDO0lBWVMsYUFBYTtRQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FB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SUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBVyxDQUFDLENBQUMsS0FBYTtRQUN0QixLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4uL3V0aWwvVmlld1V0aWwnO1xuaW1wb3J0IHsgV2luZG93QWxpZ24sIFdpbmRvd0NvbmZpZyB9IGZyb20gJy4vV2luZG93Q29uZmlnJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdpbmRvd0Jhc2U8VCA9IGFueT4gZXh0ZW5kcyBEZXN0cm95YWJsZUNvbnRhaW5lciB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfeDogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfd2lkdGg6IG51bWJlciA9IE5hTjtcblxuICAgIHByb3RlY3RlZCBfeTogbnVtYmVyID0gTmFOO1xuICAgIHByb3RlY3RlZCBfaGVpZ2h0OiBudW1iZXIgPSBOYU47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbmZpZygpOiBXaW5kb3dDb25maWc8VD47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFJlZmVyZW5jZSgpOiBNYXREaWFsb2dSZWY8YW55PjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyKCk6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuICAgICAgICBpZiAoIV8uaXNOYU4oY29uZmlnLmRlZmF1bHRXaWR0aCkpIHtcbiAgICAgICAgICAgIHRoaXMud2lkdGggPSBjb25maWcuZGVmYXVsdFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghXy5pc05hTihjb25maWcuZGVmYXVsdEhlaWdodCkpIHtcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gY29uZmlnLmRlZmF1bHRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGxldCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuXG4gICAgICAgIHN3aXRjaCAoY29uZmlnLmhvcml6b250YWxBbGlnbikge1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5TVEFSVDpcbiAgICAgICAgICAgICAgICB0aGlzLnggPSAhXy5pc05hTih0aGlzLnBhZGRpbmdMZWZ0KSA/IHRoaXMucGFkZGluZ0xlZnQgOiAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5FTkQ6XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpIC0gdGhpcy5jYWxjdWxhdGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIGlmICghXy5pc05hTih0aGlzLnBhZGRpbmdSaWdodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nUmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMueCA9IHZhbHVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnggPSAoVmlld1V0aWwuZ2V0U3RhZ2VXaWR0aCgpIC0gdGhpcy5jYWxjdWxhdGVXaWR0aCgpKSAvIDI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKGNvbmZpZy52ZXJ0aWNhbEFsaWduKSB7XG4gICAgICAgICAgICBjYXNlIFdpbmRvd0FsaWduLlNUQVJUOlxuICAgICAgICAgICAgICAgIHRoaXMueSA9ICFfLmlzTmFOKHRoaXMucGFkZGluZ1RvcCkgPyB0aGlzLnBhZGRpbmdUb3AgOiAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXaW5kb3dBbGlnbi5FTkQ6XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gVmlld1V0aWwuZ2V0U3RhZ2VIZWlnaHQoKSAtIHRoaXMuY2FsY3VsYXRlSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMucGFkZGluZ0JvdHRvbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgLT0gdGhpcy5wYWRkaW5nQm90dG9tO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy55ID0gKFZpZXdVdGlsLmdldFN0YWdlSGVpZ2h0KCkgLSB0aGlzLmNhbGN1bGF0ZUhlaWdodCgpKSAvIDI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2xlYXJTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl94ID0gTmFOO1xuICAgICAgICB0aGlzLl95ID0gTmFOO1xuICAgICAgICB0aGlzLl93aWR0aCA9IE5hTjtcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gTmFOO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRTaXplUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHdpZHRoID0gIV8uaXNOYU4odGhpcy53aWR0aCkgPyB0aGlzLndpZHRoICsgJ3B4JyA6ICdhdXRvJztcbiAgICAgICAgbGV0IGhlaWdodCA9ICFfLmlzTmFOKHRoaXMuaGVpZ2h0KSA/IHRoaXMuaGVpZ2h0ICsgJ3B4JyA6ICdhdXRvJztcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS51cGRhdGVTaXplKHdpZHRoLCBoZWlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21taXRQb3NpdGlvblByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGlmIChfLmlzTmFOKHRoaXMuX3gpICYmIF8uaXNOYU4odGhpcy5feSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcG9zaXRpb24gPSB7fSBhcyBhbnk7XG4gICAgICAgIGlmICghXy5pc05hTih0aGlzLl95KSkge1xuICAgICAgICAgICAgcG9zaXRpb24udG9wID0gdGhpcy5feSArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFfLmlzTmFOKHRoaXMuX3gpKSB7XG4gICAgICAgICAgICBwb3NpdGlvbi5sZWZ0ID0gdGhpcy5feCArICdweCc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVBvc2l0aW9uID0gKCk6IHZvaWQgPT4gdGhpcy5zZXRQb3NpdGlvbigpO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgY2FsY3VsYXRlV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmFOKHRoaXMud2lkdGgpID8gdGhpcy53aWR0aCA6IFZpZXdVdGlsLmdldFdpZHRoKHRoaXMuZ2V0Q29udGFpbmVyKCkpO1xuICAgIH1cbiAgICBwdWJsaWMgY2FsY3VsYXRlSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAhXy5pc05hTih0aGlzLmhlaWdodCkgPyB0aGlzLmhlaWdodCA6IFZpZXdVdGlsLmdldEhlaWdodCh0aGlzLmdldENvbnRhaW5lcigpKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcml2YXRlIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5nZXRDb25maWcoKS5wYXJzZVdpZHRoKHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl93aWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dpZHRoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHZhbHVlID0gdGhpcy5nZXRDb25maWcoKS5wYXJzZUhlaWdodCh2YWx1ZSk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0U2l6ZVByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQdWJsaWMgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgeCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5feDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0Q29uZmlnKCkucGFyc2VYKHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl94KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5feCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdFBvc2l0aW9uUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgeSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5feTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHkodmFsdWU6IG51bWJlcikge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZ2V0Q29uZmlnKCkucGFyc2VZKHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl95KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5feSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdFBvc2l0aW9uUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFkZGluZ1RvcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nVG9wO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFkZGluZ0xlZnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlnKCkucGFkZGluZ0xlZnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYWRkaW5nUmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlnKCkucGFkZGluZ1JpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGFkZGluZ0JvdHRvbSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb25maWcoKS5wYWRkaW5nQm90dG9tO1xuICAgIH1cbn1cbiJdfQ==
@@ -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==