@magic-xpa/angular 4.1100.0-dev4110.26 → 4.1100.0-dev4110.260

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 (169) hide show
  1. package/{esm2020 → esm2022}/index.mjs +59 -59
  2. package/{esm2020 → esm2022}/magic-xpa-angular.mjs +1 -1
  3. package/esm2022/src/controls.metadata.model.mjs +183 -0
  4. package/{esm2020 → esm2022}/src/interfaces/sub-form-definition.iterface.mjs +1 -1
  5. package/{esm2020 → esm2022}/src/magic.core.module.mjs +159 -160
  6. package/{esm2020 → esm2022}/src/services/ISubformMagicService.mjs +1 -1
  7. package/esm2022/src/services/OverlayWindowService.mjs +244 -0
  8. package/esm2022/src/services/StylesMapManager.mjs +28 -0
  9. package/esm2022/src/services/accessor.magic.service.mjs +358 -0
  10. package/esm2022/src/services/commands-collector.magic.service.mjs +47 -0
  11. package/esm2022/src/services/component-list.magic.service.mjs +45 -0
  12. package/{esm2020 → esm2022}/src/services/confirmation.components.magic.provider.mjs +21 -21
  13. package/esm2022/src/services/engine.magic.service.mjs +80 -0
  14. package/{esm2020 → esm2022}/src/services/exit.magic.service.mjs +13 -13
  15. package/esm2022/src/services/magic-color.service.mjs +101 -0
  16. package/{esm2020 → esm2022}/src/services/magic.lazy.loader.service.mjs +16 -16
  17. package/{esm2020 → esm2022}/src/services/magic.providers.mjs +24 -24
  18. package/esm2022/src/services/magic.services.mjs +36 -0
  19. package/esm2022/src/services/mg-date-adapter.mjs +108 -0
  20. package/{esm2020 → esm2022}/src/services/overlay.conainer.magic.provider.mjs +14 -14
  21. package/esm2022/src/services/router-commands.magic.service.mjs +31 -0
  22. package/esm2022/src/services/subform.magic.service.mjs +194 -0
  23. package/esm2022/src/services/table.magic.service.mjs +81 -0
  24. package/esm2022/src/services/task.magics.service.mjs +637 -0
  25. package/esm2022/src/services/title.magic.service.mjs +19 -0
  26. package/esm2022/src/ui/GuiInteractiveExecutor.mjs +109 -0
  27. package/esm2022/src/ui/components/base-magic-alert.component.mjs +24 -0
  28. package/esm2022/src/ui/components/base-magic-confirm.component.mjs +24 -0
  29. package/esm2022/src/ui/components/magic-alert.component.mjs +36 -0
  30. package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +42 -0
  31. package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +58 -0
  32. package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +29 -0
  33. package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +29 -0
  34. package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +37 -0
  35. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +27 -0
  36. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +85 -0
  37. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +32 -0
  38. package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +28 -0
  39. package/{esm2020 → esm2022}/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -193
  40. package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +62 -0
  41. package/esm2022/src/ui/directives/magic-focus.directive.mjs +20 -0
  42. package/esm2022/src/ui/directives/magic.directive.mjs +232 -0
  43. package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
  44. package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +579 -0
  45. package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +60 -0
  46. package/{esm2020 → esm2022}/src/ui/magic-confirmationBox.mjs +41 -41
  47. package/{esm2020 → esm2022}/src/ui/magic-modal/base-magic-overlay-container.mjs +22 -22
  48. package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +6 -0
  49. package/{esm2020 → esm2022}/src/ui/magic-modal/magic-modal-interface.mjs +1 -1
  50. package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +124 -0
  51. package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +162 -0
  52. package/esm2022/src/ui/magic-root.component.mjs +236 -0
  53. package/esm2022/src/ui/mgerror.magic.component.mjs +125 -0
  54. package/esm2022/src/ui/pipes/date.magic.pipe.mjs +106 -0
  55. package/esm2022/src/ui/pipes/time.magic.pipe.mjs +52 -0
  56. package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +35 -0
  57. package/esm2022/src/ui/router-container.magic.component.mjs +115 -0
  58. package/{esm2020 → esm2022}/src/ui/subform.magic.component.mjs +50 -46
  59. package/esm2022/src/ui/task-base.magic.component.mjs +91 -0
  60. package/{esm2020 → esm2022}/src/ui/utils.mjs +53 -53
  61. package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4830 -4444
  62. package/fesm2022/magic-xpa-angular.mjs.map +1 -0
  63. package/index.d.ts +58 -58
  64. package/package.json +10 -16
  65. package/src/controls.metadata.model.d.ts +62 -62
  66. package/src/interfaces/sub-form-definition.iterface.d.ts +12 -12
  67. package/src/magic.core.module.d.ts +41 -41
  68. package/src/services/ISubformMagicService.d.ts +4 -4
  69. package/src/services/OverlayWindowService.d.ts +30 -25
  70. package/src/services/StylesMapManager.d.ts +5 -5
  71. package/src/services/accessor.magic.service.d.ts +69 -69
  72. package/src/services/commands-collector.magic.service.d.ts +15 -15
  73. package/src/services/component-list.magic.service.d.ts +23 -23
  74. package/src/services/confirmation.components.magic.provider.d.ts +8 -8
  75. package/src/services/engine.magic.service.d.ts +27 -27
  76. package/src/services/exit.magic.service.d.ts +6 -6
  77. package/src/services/magic-color.service.d.ts +19 -19
  78. package/src/services/magic.lazy.loader.service.d.ts +6 -6
  79. package/src/services/magic.providers.d.ts +107 -107
  80. package/src/services/magic.services.d.ts +16 -16
  81. package/src/services/mg-date-adapter.d.ts +38 -40
  82. package/src/services/overlay.conainer.magic.provider.d.ts +7 -7
  83. package/src/services/router-commands.magic.service.d.ts +17 -17
  84. package/src/services/subform.magic.service.d.ts +43 -43
  85. package/src/services/table.magic.service.d.ts +30 -30
  86. package/src/services/task.magics.service.d.ts +100 -100
  87. package/src/services/title.magic.service.d.ts +9 -9
  88. package/src/ui/GuiInteractiveExecutor.d.ts +22 -21
  89. package/src/ui/components/base-magic-alert.component.d.ts +10 -10
  90. package/src/ui/components/base-magic-confirm.component.d.ts +10 -10
  91. package/src/ui/components/magic-alert.component.d.ts +6 -6
  92. package/src/ui/components/magic-confirmation-box.component.d.ts +6 -6
  93. package/src/ui/directives/NonMagicControlDirective.d.ts +26 -26
  94. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +9 -9
  95. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +9 -9
  96. package/src/ui/directives/magic/combobox.magic.directive.d.ts +10 -10
  97. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +7 -7
  98. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +23 -17
  99. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +7 -7
  100. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +9 -9
  101. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +18 -18
  102. package/src/ui/directives/magic/row.magic.directive.d.ts +17 -17
  103. package/src/ui/directives/magic-focus.directive.d.ts +9 -9
  104. package/src/ui/directives/magic.directive.d.ts +45 -44
  105. package/src/ui/directives/magicViewContainerRef.directive.d.ts +8 -8
  106. package/src/ui/directives/mgformat.magic.directive.d.ts +38 -31
  107. package/src/ui/directives/range-validator.magic.directive.d.ts +17 -17
  108. package/src/ui/magic-confirmationBox.d.ts +6 -6
  109. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +5 -5
  110. package/src/ui/magic-modal/magic-modal-form.d.ts +5 -5
  111. package/src/ui/magic-modal/magic-modal-interface.d.ts +10 -10
  112. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +30 -31
  113. package/src/ui/magic-modal/magic-overlay-container.d.ts +24 -25
  114. package/src/ui/magic-root.component.d.ts +43 -40
  115. package/src/ui/mgerror.magic.component.d.ts +20 -20
  116. package/src/ui/pipes/date.magic.pipe.d.ts +17 -17
  117. package/src/ui/pipes/time.magic.pipe.d.ts +11 -11
  118. package/src/ui/pipes/time24.magic.pipe.d.ts +10 -10
  119. package/src/ui/router-container.magic.component.d.ts +29 -30
  120. package/src/ui/subform.magic.component.d.ts +16 -16
  121. package/src/ui/task-base.magic.component.d.ts +34 -34
  122. package/src/ui/utils.d.ts +9 -9
  123. package/esm2020/src/controls.metadata.model.mjs +0 -180
  124. package/esm2020/src/services/OverlayWindowService.mjs +0 -208
  125. package/esm2020/src/services/StylesMapManager.mjs +0 -28
  126. package/esm2020/src/services/accessor.magic.service.mjs +0 -356
  127. package/esm2020/src/services/commands-collector.magic.service.mjs +0 -46
  128. package/esm2020/src/services/component-list.magic.service.mjs +0 -46
  129. package/esm2020/src/services/engine.magic.service.mjs +0 -82
  130. package/esm2020/src/services/magic-color.service.mjs +0 -99
  131. package/esm2020/src/services/magic.services.mjs +0 -31
  132. package/esm2020/src/services/mg-date-adapter.mjs +0 -109
  133. package/esm2020/src/services/router-commands.magic.service.mjs +0 -28
  134. package/esm2020/src/services/subform.magic.service.mjs +0 -184
  135. package/esm2020/src/services/table.magic.service.mjs +0 -77
  136. package/esm2020/src/services/task.magics.service.mjs +0 -624
  137. package/esm2020/src/services/title.magic.service.mjs +0 -18
  138. package/esm2020/src/ui/GuiInteractiveExecutor.mjs +0 -98
  139. package/esm2020/src/ui/components/base-magic-alert.component.mjs +0 -23
  140. package/esm2020/src/ui/components/base-magic-confirm.component.mjs +0 -23
  141. package/esm2020/src/ui/components/magic-alert.component.mjs +0 -35
  142. package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +0 -41
  143. package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +0 -49
  144. package/esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -28
  145. package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -28
  146. package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +0 -36
  147. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
  148. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -52
  149. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
  150. package/esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -27
  151. package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
  152. package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
  153. package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
  154. package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
  155. package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
  156. package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
  157. package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
  158. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
  159. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
  160. package/esm2020/src/ui/magic-root.component.mjs +0 -203
  161. package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
  162. package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
  163. package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
  164. package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
  165. package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
  166. package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
  167. package/fesm2015/magic-xpa-angular.mjs +0 -4832
  168. package/fesm2015/magic-xpa-angular.mjs.map +0 -1
  169. package/fesm2020/magic-xpa-angular.mjs.map +0 -1
@@ -1,180 +0,0 @@
1
- import { isNullOrUndefined } from "@magic-xpa/mscorelib";
2
- export class ControlMetadata {
3
- constructor() {
4
- this.properties = new Map();
5
- this.classesMap = new Map();
6
- this.stylesMap = new Map();
7
- this.userProperties = new Map();
8
- this.customValidators = new Map();
9
- }
10
- setClass(key, value) {
11
- if (this.classesMap.has(key)) {
12
- this.removedClass = this.classesMap.get(key);
13
- }
14
- this.classesMap.set(key, value);
15
- let result = '';
16
- for (let value of this.classesMap) {
17
- result += value + ' ';
18
- }
19
- this.classes = result;
20
- }
21
- setStyle(key, value) {
22
- this.stylesMap.set(key, value);
23
- }
24
- }
25
- export class ControlsMetadata {
26
- constructor() {
27
- this.values = new Map();
28
- this.ControlsProperties = new Map();
29
- this.isCreated = false;
30
- this.isEditing = false;
31
- }
32
- get Values() {
33
- return this.values;
34
- }
35
- getControlMetadata(controlId) {
36
- if (!this.ControlsProperties.has(controlId))
37
- this.ControlsProperties.set(controlId, new ControlMetadata());
38
- return this.ControlsProperties.get(controlId);
39
- }
40
- update(obj) {
41
- let props = obj.ControlsMetaData;
42
- for (let controlName in props) {
43
- if (!this.ControlsProperties.has(controlName))
44
- this.ControlsProperties.set(controlName, new ControlMetadata());
45
- let controlMetaData = this.ControlsProperties.get(controlName);
46
- for (let property in obj.ControlsMetaData[controlName].Properties)
47
- controlMetaData[property] = obj.ControlsMetaData[controlName].Properties[property];
48
- controlMetaData.controlType = obj.ControlsMetaData[controlName].Type;
49
- }
50
- for (let controlName in obj.ControlsValues) {
51
- this.setValue(controlName, obj.ControlsValues[controlName]);
52
- }
53
- }
54
- setValue(controlName, value) {
55
- this.values.set(controlName, value);
56
- }
57
- getProperty(controlId, prop) {
58
- if (this.ControlsProperties.has(controlId)) {
59
- if (this.ControlsProperties.get(controlId).properties.has(prop)) {
60
- return this.ControlsProperties.get(controlId).properties.get(prop);
61
- }
62
- }
63
- return "";
64
- }
65
- getValue(controlName) {
66
- return this.values.get(controlName);
67
- }
68
- }
69
- export class Records {
70
- constructor() {
71
- this.data = new Map();
72
- this.list = [];
73
- this.recordsBeforeCurrentView = 0;
74
- this.isEmptyDataView = false;
75
- this.sizeUpdated = false;
76
- }
77
- getRow(dvRowId) {
78
- return this.list[dvRowId + this.recordsBeforeCurrentView];
79
- }
80
- markRowAsCreated(guiRowId) {
81
- if (guiRowId < this.list.length) {
82
- this.addRow(guiRowId);
83
- this.data.get(guiRowId).isCreated = true;
84
- }
85
- }
86
- markRowAsNotCreated(guiRowId) {
87
- if (guiRowId < this.list.length)
88
- this.data.get(guiRowId).isCreated = false;
89
- }
90
- isRowCreated(guiRowId) {
91
- if (guiRowId < this.list.length) {
92
- if (!this.data.has(guiRowId) || isNullOrUndefined(this.data.get(guiRowId)))
93
- return false;
94
- else
95
- return this.data.get(guiRowId).isCreated;
96
- }
97
- return false;
98
- }
99
- startRowEditing(guiRowId) {
100
- if (guiRowId < this.list.length && this.data.has(guiRowId))
101
- this.data.get(guiRowId).isEditing = true;
102
- }
103
- stopRowEditing(guiRowId) {
104
- if (guiRowId < this.list.length && this.data.has(guiRowId))
105
- this.data.get(guiRowId).isEditing = false;
106
- }
107
- isRowInRowEditing(guiRowId) {
108
- if (+guiRowId < this.list.length) {
109
- if (!this.data.has(+guiRowId) || isNullOrUndefined(this.data.get(+guiRowId)))
110
- return false;
111
- else
112
- return this.data.get(+guiRowId).isEditing;
113
- }
114
- return false;
115
- }
116
- update(obj) {
117
- if (obj.fullRefresh && obj.rows.length != this.list.length) {
118
- this.data = new Map();
119
- this.list = new Array();
120
- }
121
- for (let rowId in obj.rows) {
122
- if (!this.data.has(+rowId) || this.data.get(+rowId) === null)
123
- this.data.set(+rowId, new ControlsMetadata());
124
- let controlsData = this.data.get(+rowId);
125
- controlsData.update(obj.rows[rowId]);
126
- controlsData.rowId = rowId;
127
- }
128
- for (var [key, value] of this.data) {
129
- this.list[key] = value;
130
- }
131
- }
132
- updateSize(len) {
133
- if (this.list.length != len) {
134
- if (len < this.list.length) {
135
- for (let i = len; i < this.list.length; i++) {
136
- this.data.delete(i);
137
- }
138
- }
139
- this.list.length = len;
140
- this.sizeUpdated = true;
141
- }
142
- }
143
- clearFirstTableRecord(template) {
144
- if (this.list.length >= 1) {
145
- for (const key in template) {
146
- if (template[key] == '1' && this.list[0].ControlsProperties.has(key)) {
147
- this.list[0].ControlsProperties.get(key).properties = new Map();
148
- }
149
- }
150
- }
151
- }
152
- addRow(guiRowId) {
153
- if (guiRowId !== 0 || !this.data.has(guiRowId) || isNullOrUndefined(this.data.get(guiRowId))) {
154
- this.data.set(guiRowId, new ControlsMetadata());
155
- this.data.get(guiRowId).rowId = "" + guiRowId;
156
- this.list[guiRowId] = this.data.get(guiRowId);
157
- }
158
- }
159
- createFirst() {
160
- this.addRow(0);
161
- }
162
- fromJson(data) {
163
- var obj = JSON.parse(data);
164
- this.update(obj);
165
- }
166
- setGuiTopIndex(topIndex) {
167
- this.guiTopIndex = topIndex;
168
- }
169
- getGuiTopIndex() {
170
- return this.guiTopIndex;
171
- }
172
- }
173
- export var HtmlClasses;
174
- (function (HtmlClasses) {
175
- HtmlClasses["Color"] = "color";
176
- HtmlClasses["font"] = "font";
177
- HtmlClasses["FocusColor"] = "focuscolor";
178
- HtmlClasses["HintColor"] = "hintcolor";
179
- })(HtmlClasses || (HtmlClasses = {}));
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMubWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9jb250cm9scy5tZXRhZGF0YS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU16RCxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUdFLGVBQVUsR0FBNkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqRCxlQUFVLEdBQTBCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUMsY0FBUyxHQUEwQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBTTdDLG1CQUFjLEdBQXFCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFN0MscUJBQWdCLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUM7SUFzQjdELENBQUM7SUFwQkMsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBRWpCLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFaEIsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFFeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUs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QUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FFRjtBQUtELE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLDRCQUFhLENBQUE7SUFDYix3Q0FBdUIsQ0FBQTtJQUN2QixzQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGV9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SHRtbFByb3BlcnRpZXMsIEN1c3RvbVZhbGlkYXRvcn0gZnJvbSAgXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb250cm9sTWV0YWRhdGEge1xyXG4gIGNvbnRyb2xUeXBlOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGU7XHJcbiAgcHJvcGVydGllczogTWFwPEh0bWxQcm9wZXJ0aWVzLCBhbnk+ID0gbmV3IE1hcCgpO1xyXG4gIGNsYXNzZXNNYXA6IE1hcDxIdG1sQ2xhc3NlcywgYW55PiA9IG5ldyBNYXAoKTtcclxuICBzdHlsZXNNYXA6IE1hcDxIdG1sQ2xhc3NlcywgYW55PiA9IG5ldyBNYXAoKTtcclxuICByZW1vdmVkQ2xhc3M6IHN0cmluZztcclxuICBjbGFzc2VzOiBzdHJpbmcgIDtcclxuICByYW5nZVZhbGlkYXRvcjogYm9vbGVhbjtcclxuXHJcbiAgLy8gdXNlciBwcm9wZXJ0aWVzXHJcbiAgdXNlclByb3BlcnRpZXM6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIGN1c3RvbVZhbGlkYXRvcnM6IE1hcDxzdHJpbmcsIEN1c3RvbVZhbGlkYXRvcj4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIHNldENsYXNzKGtleSwgdmFsdWUpIHtcclxuICAgIC8vIGZvciBuby1jb250cm9sIC0gaG9sZCB0aGUgbmFtZSBvZiB0aGUgY2xhc3MgdG8gYmUgcmVtb3ZlZCBsYXRlclxyXG4gICAgaWYodGhpcy5jbGFzc2VzTWFwLmhhcyhrZXkpKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlZENsYXNzID0gdGhpcy5jbGFzc2VzTWFwLmdldChrZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xhc3Nlc01hcC5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG4gICAgZm9yIChsZXQgdmFsdWUgb2YgdGhpcy5jbGFzc2VzTWFwKSB7XHJcbiAgICAgIHJlc3VsdCArPSB2YWx1ZSArICcgJztcclxuICAgIH1cclxuICAgIHRoaXMuY2xhc3NlcyA9IHJlc3VsdDtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZShrZXksIHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0eWxlc01hcC5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb250cm9sc01ldGFkYXRhIHtcclxuXHJcbiAgLy92YWx1ZXMgb2YgY29udHJvbFxyXG4gIHZhbHVlczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcclxuICAvLyBkaWN0aW9uYXJ5IG9mIGNvbnRyb2xzIHdpdGggdGhlcmUgcHJvcGVydGllc1xyXG4gIENvbnRyb2xzUHJvcGVydGllczogTWFwPHN0cmluZywgQ29udHJvbE1ldGFkYXRhPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgcm93SWQ6IHN0cmluZztcclxuICBpc0NyZWF0ZWQgPSBmYWxzZTtcclxuICBpc0VkaXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IFZhbHVlcygpe1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udHJvbE1ldGFkYXRhKGNvbnRyb2xJZDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMuQ29udHJvbHNQcm9wZXJ0aWVzLmhhcyhjb250cm9sSWQpKVxyXG4gICAgICB0aGlzLkNvbnRyb2xzUHJvcGVydGllcy5zZXQoY29udHJvbElkLCBuZXcgQ29udHJvbE1ldGFkYXRhKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuQ29udHJvbHNQcm9wZXJ0aWVzLmdldChjb250cm9sSWQpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICB1cGRhdGUob2JqOmFueSkge1xyXG4gICAgLy9zaG91bGQgd2Uga2VlcCB0aGUgdmFsdWVzIGhlcmUgP1xyXG4gICAgLy90aGlzLnZhbHVlcyA9IG9iai5Db250cm9sc1ZhbHVlcztcclxuICAgIGxldCBwcm9wczogeyBbaWQ6IHN0cmluZ106IHsgW2lkOiBzdHJpbmddOiBzdHJpbmc7IH0gfSA9IG9iai5Db250cm9sc01ldGFEYXRhO1xyXG4gICAgZm9yIChsZXQgY29udHJvbE5hbWUgaW4gcHJvcHMpIHtcclxuICAgICAgaWYgKCF0aGlzLkNvbnRyb2xzUHJvcGVydGllcy5oYXMoY29udHJvbE5hbWUpKVxyXG4gICAgICAgIHRoaXMuQ29udHJvbHNQcm9wZXJ0aWVzLnNldChjb250cm9sTmFtZSwgbmV3IENvbnRyb2xNZXRhZGF0YSgpKTtcclxuICAgICAgbGV0IGNvbnRyb2xNZXRhRGF0YTogQ29udHJvbE1ldGFkYXRhID0gdGhpcy5Db250cm9sc1Byb3BlcnRpZXMuZ2V0KGNvbnRyb2xOYW1lKTtcclxuICAgICAgZm9yIChsZXQgcHJvcGVydHkgaW4gb2JqLkNvbnRyb2xzTWV0YURhdGFbY29udHJvbE5hbWVdLlByb3BlcnRpZXMpXHJcbiAgICAgICAgY29udHJvbE1ldGFEYXRhW3Byb3BlcnR5XSA9IG9iai5Db250cm9sc01ldGFEYXRhW2NvbnRyb2xOYW1lXS5Qcm9wZXJ0aWVzW3Byb3BlcnR5XTtcclxuICAgICAgY29udHJvbE1ldGFEYXRhLmNvbnRyb2xUeXBlID0gb2JqLkNvbnRyb2xzTWV0YURhdGFbY29udHJvbE5hbWVdLlR5cGU7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBjb250cm9sTmFtZSBpbiBvYmouQ29udHJvbHNWYWx1ZXMpIHtcclxuICAgICAgdGhpcy5zZXRWYWx1ZShjb250cm9sTmFtZSwgb2JqLkNvbnRyb2xzVmFsdWVzW2NvbnRyb2xOYW1lXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZShjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCAge1xyXG4gICAgdGhpcy52YWx1ZXMuc2V0KGNvbnRyb2xOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9wZXJ0eShjb250cm9sSWQ6IHN0cmluZywgcHJvcDogSHRtbFByb3BlcnRpZXMpIHtcclxuICAgIGlmICh0aGlzLkNvbnRyb2xzUHJvcGVydGllcy5oYXMoY29udHJvbElkKSkge1xyXG4gICAgICBpZiAodGhpcy5Db250cm9sc1Byb3BlcnRpZXMuZ2V0KGNvbnRyb2xJZCkucHJvcGVydGllcy5oYXMocHJvcCkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5Db250cm9sc1Byb3BlcnRpZXMuZ2V0KGNvbnRyb2xJZCkucHJvcGVydGllcy5nZXQocHJvcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFZhbHVlKGNvbnRyb2xOYW1lOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmdldChjb250cm9sTmFtZSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgUmVjb3JkcyB7XHJcbiAgZGF0YTogTWFwPG51bWJlciwgQ29udHJvbHNNZXRhZGF0YT4gPSBuZXcgTWFwKCk7XHJcbiAgbGlzdDogQ29udHJvbHNNZXRhZGF0YVtdID0gW107IC8vdXNlZCBmb3Igc2VxdWVudGlhbCBhY2Nlc3MgaW4gdGFibGVcclxuICBpbmNsdWRlc0ZpcnN0OiBib29sZWFuO1xyXG4gIGluY2x1ZGVzTGFzdDogYm9vbGVhbjtcclxuICBndWlUb3BJbmRleDogbnVtYmVyO1xyXG4gIHJlY29yZHNCZWZvcmVDdXJyZW50VmlldzogbnVtYmVyID0gMDtcclxuICBpc0VtcHR5RGF0YVZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaXplVXBkYXRlZDogYm9vbGVhbiA9IGZhbHNlOyAvL3VzZWQgZm9yIGV2YWx1YXRpbmcgdGhlIFJlY29yZHNTaXplQ2hhbmdlLlxyXG5cclxuICBnZXRSb3coZHZSb3dJZDogbnVtYmVyKTogQ29udHJvbHNNZXRhZGF0YSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0W2R2Um93SWQgKyB0aGlzLnJlY29yZHNCZWZvcmVDdXJyZW50Vmlld107XHJcbiAgfVxyXG5cclxuICBtYXJrUm93QXNDcmVhdGVkKGd1aVJvd0lkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChndWlSb3dJZCA8IHRoaXMubGlzdC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5hZGRSb3coZ3VpUm93SWQpO1xyXG4gICAgICB0aGlzLmRhdGEuZ2V0KGd1aVJvd0lkKS5pc0NyZWF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFya1Jvd0FzTm90Q3JlYXRlZChndWlSb3dJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoZ3VpUm93SWQgPCB0aGlzLmxpc3QubGVuZ3RoKVxyXG4gICAgICB0aGlzLmRhdGEuZ2V0KGd1aVJvd0lkKS5pc0NyZWF0ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG5cclxuICBpc1Jvd0NyZWF0ZWQoZ3VpUm93SWQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGd1aVJvd0lkIDwgdGhpcy5saXN0Lmxlbmd0aCkge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YS5oYXMoZ3VpUm93SWQpIHx8IGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuZGF0YS5nZXQoZ3VpUm93SWQpKSlcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChndWlSb3dJZCkuaXNDcmVhdGVkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAqIGZvciByb3cgZWRpdGluZ1xyXG4gICogKi9cclxuICBzdGFydFJvd0VkaXRpbmcoZ3VpUm93SWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGd1aVJvd0lkIDwgdGhpcy5saXN0Lmxlbmd0aCAmJiB0aGlzLmRhdGEuaGFzKGd1aVJvd0lkKSlcclxuICAgICAgdGhpcy5kYXRhLmdldChndWlSb3dJZCkuaXNFZGl0aW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgKiBzdG9wIHJvdyBlZGl0aW5nIG9uIHJvdyBJZFxyXG4gICogKi9cclxuICBzdG9wUm93RWRpdGluZyhndWlSb3dJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoZ3VpUm93SWQgPCB0aGlzLmxpc3QubGVuZ3RoICYmIHRoaXMuZGF0YS5oYXMoZ3VpUm93SWQpKVxyXG4gICAgICB0aGlzLmRhdGEuZ2V0KGd1aVJvd0lkKS5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgKiByZXR1cm4gaWYgcm93IGlzIGluIGVkaXRpbmdcclxuICAqIENhbGxlZCBieSB0aGUgSFRNTCBjb2RlLCBzbyBwYXJhbWV0ZXIgaXMgYSBzdHJpbmcsIG5vdCBhIG51bWViclxyXG4gICogKi9cclxuICBpc1Jvd0luUm93RWRpdGluZyhndWlSb3dJZDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoK2d1aVJvd0lkIDwgdGhpcy5saXN0Lmxlbmd0aCkge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YS5oYXMoK2d1aVJvd0lkKSB8fCBpc051bGxPclVuZGVmaW5lZCh0aGlzLmRhdGEuZ2V0KCtndWlSb3dJZCkpKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ2V0KCtndWlSb3dJZCkuaXNFZGl0aW5nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKG9iaikge1xyXG5cclxuICAgIGlmIChvYmouZnVsbFJlZnJlc2ggJiYgb2JqLnJvd3MubGVuZ3RoICE9IHRoaXMubGlzdC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5kYXRhID0gbmV3IE1hcCgpO1xyXG4gICAgICB0aGlzLmxpc3QgPSBuZXcgQXJyYXk8Q29udHJvbHNNZXRhZGF0YT4oKTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IHJvd0lkIGluIG9iai5yb3dzKSB7XHJcbiAgICAgIGlmICghdGhpcy5kYXRhLmhhcygrcm93SWQpIHx8IHRoaXMuZGF0YS5nZXQoK3Jvd0lkKSA9PT0gbnVsbClcclxuICAgICAgICB0aGlzLmRhdGEuc2V0KCtyb3dJZCwgbmV3IENvbnRyb2xzTWV0YWRhdGEoKSk7XHJcbiAgICAgIGxldCBjb250cm9sc0RhdGE6IENvbnRyb2xzTWV0YWRhdGEgPSB0aGlzLmRhdGEuZ2V0KCtyb3dJZCk7XHJcbiAgICAgIGNvbnRyb2xzRGF0YS51cGRhdGUob2JqLnJvd3Nbcm93SWRdKTtcclxuICAgICAgY29udHJvbHNEYXRhLnJvd0lkID0gcm93SWQ7XHJcbiAgICB9XHJcbiAgICBmb3IgKHZhciBba2V5LCB2YWx1ZV0gb2YgdGhpcy5kYXRhKSB7XHJcbiAgICAgIHRoaXMubGlzdFtrZXldID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU2l6ZShsZW46IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMubGlzdC5sZW5ndGggIT0gbGVuKSB7XHJcbiAgICAgIGlmIChsZW4gPCB0aGlzLmxpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgLy9yZW1vdmUgcm93c1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBsZW47IGkgPCB0aGlzLmxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMuZGF0YS5kZWxldGUoaSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmxpc3QubGVuZ3RoID0gbGVuO1xyXG4gICAgICB0aGlzLnNpemVVcGRhdGVkID0gdHJ1ZTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogY3JlYXJzIGRhdGEgZm9yIHRoZSBmaXJzdCByZWNvcmRcclxuICAgKiBAcGFyYW0gdGVtcGxhdGVcclxuICAgKi9cclxuICBjbGVhckZpcnN0VGFibGVSZWNvcmQodGVtcGxhdGU6IHsgW2lkOiBzdHJpbmddOiBzdHJpbmc7IH0pIHtcclxuICAgIGlmICh0aGlzLmxpc3QubGVuZ3RoID49IDEpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGVtcGxhdGUpIHtcclxuICAgICAgICBpZiAodGVtcGxhdGVba2V5XSA9PSAnMScgJiYgdGhpcy5saXN0WzBdLkNvbnRyb2xzUHJvcGVydGllcy5oYXMoa2V5KSkge1xyXG4gICAgICAgICAgdGhpcy5saXN0WzBdLkNvbnRyb2xzUHJvcGVydGllcy5nZXQoa2V5KS5wcm9wZXJ0aWVzID0gIG5ldyBNYXAoKSA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRSb3coZ3VpUm93SWQ6IG51bWJlcikge1xyXG4gICAgaWYgKGd1aVJvd0lkICE9PSAwIHx8ICF0aGlzLmRhdGEuaGFzKGd1aVJvd0lkKSB8fCBpc051bGxPclVuZGVmaW5lZCh0aGlzLmRhdGEuZ2V0KGd1aVJvd0lkKSkpIHtcclxuICAgICAgdGhpcy5kYXRhLnNldChndWlSb3dJZCwgbmV3IENvbnRyb2xzTWV0YWRhdGEoKSk7XHJcbiAgICAgIHRoaXMuZGF0YS5nZXQoZ3VpUm93SWQpLnJvd0lkID0gXCJcIitndWlSb3dJZDtcclxuICAgICAgdGhpcy5saXN0W2d1aVJvd0lkXSA9IHRoaXMuZGF0YS5nZXQoZ3VpUm93SWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlRmlyc3QoKSB7XHJcbiAgICB0aGlzLmFkZFJvdygwKTtcclxuICB9XHJcblxyXG4gIGZyb21Kc29uKGRhdGE6IHN0cmluZykge1xyXG4gICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoZGF0YSk7XHJcbiAgICB0aGlzLnVwZGF0ZShvYmopO1xyXG4gIH1cclxuXHJcbiAgc2V0R3VpVG9wSW5kZXgodG9wSW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5ndWlUb3BJbmRleCA9IHRvcEluZGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0R3VpVG9wSW5kZXgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmd1aVRvcEluZGV4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG5leHBvcnQgZW51bSBIdG1sQ2xhc3NlcyB7XHJcbiAgQ29sb3IgPSBcImNvbG9yXCIsXHJcbiAgZm9udCA9IFwiZm9udFwiLFxyXG4gIEZvY3VzQ29sb3I9XCJmb2N1c2NvbG9yXCIsXHJcbiAgSGludENvbG9yPVwiaGludGNvbG9yXCIsXHJcbn1cclxuIl19
@@ -1,208 +0,0 @@
1
- import { ComponentFactoryResolver, Injectable } from "@angular/core";
2
- import { ComponentListMagicService } from "./component-list.magic.service";
3
- import { EngineMagicService } from "./engine.magic.service";
4
- import { getGuiEventObj } from "@magic-xpa/engine";
5
- import { OverlayContainerMagicProvider } from "./overlay.conainer.magic.provider";
6
- import { MagicOverlayContainerWrapper } from "../ui/magic-modal/magic-overlay-container-wrapper";
7
- import { ConfirmationComponentsMagicProvider } from "./confirmation.components.magic.provider";
8
- import { OverlayType } from "@magic-xpa/gui";
9
- import { confirmationBox } from "../ui/magic-confirmationBox";
10
- import { isNullOrUndefined } from "@magic-xpa/mscorelib";
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./component-list.magic.service";
13
- import * as i2 from "./engine.magic.service";
14
- import * as i3 from "./overlay.conainer.magic.provider";
15
- import * as i4 from "./confirmation.components.magic.provider";
16
- export class OverlayWindowService {
17
- constructor(componentFactoryResolver, componentList, engineMagicService, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
18
- this.componentFactoryResolver = componentFactoryResolver;
19
- this.componentList = componentList;
20
- this.engineMagicService = engineMagicService;
21
- this.overlayContainerMagicProvider = overlayContainerMagicProvider;
22
- this.confirmationComponentsMagicProvider = confirmationComponentsMagicProvider;
23
- this.overlayWindowFocusManager = null;
24
- }
25
- init(overlayWindowsContainerViewRef, rootMagicElement) {
26
- this.overlayWindowsContainerViewRef = overlayWindowsContainerViewRef;
27
- this.overlayWindowFocusManager = new OverlayWindowFocusManager(rootMagicElement);
28
- }
29
- open(formName, taskId, taskDescription) {
30
- let comp = this.componentList.lazyLoadModulesMap != null && this.componentList.lazyLoadModulesMap.hasOwnProperty(formName) ? null : this.componentList.getComponent(formName);
31
- let parameters = { taskIdParam: taskId, taskDescription: taskDescription };
32
- let componentRef = this.createModalComponent({ MagicFormName: formName, ModalComp: comp, ModalCompParameters: parameters }, this.overlayContainerMagicProvider.getComponent(), OverlayType.Overlay);
33
- componentRef.instance.onClose.subscribe(() => {
34
- let guiEvent = getGuiEventObj("close", null, 0);
35
- guiEvent.TaskID = taskId;
36
- this.engineMagicService.insertEvent(guiEvent);
37
- });
38
- }
39
- close(commandStr) {
40
- this.overlayWindowsContainerViewRef.remove();
41
- this.overlayWindowFocusManager.popDialog();
42
- let guiEvent1 = getGuiEventObj("dispose", null, 0);
43
- guiEvent1.TaskID = commandStr;
44
- this.engineMagicService.insertEvent(guiEvent1);
45
- }
46
- openConfirmationBox(title, msg, style) {
47
- if (this.confirmationComponentsMagicProvider.showDefaultConfirmations()) {
48
- let res = confirmationBox.showConfirmationBox(title, msg, style);
49
- this.finishConfirmation(style, res);
50
- }
51
- else {
52
- let comp = confirmationBox.isConfirmBox(style) ? this.confirmationComponentsMagicProvider.getConfirmtionComponent() : this.confirmationComponentsMagicProvider.getAlertComponent();
53
- let overlayType = confirmationBox.isConfirmBox(style) ? OverlayType.ConfirmationBox : OverlayType.Alert;
54
- let componentRef = this.createModalComponent({ title: title, message: msg }, comp, overlayType);
55
- componentRef.instance.onClose.subscribe((res) => {
56
- this.overlayWindowsContainerViewRef.remove();
57
- this.overlayWindowFocusManager.popDialog();
58
- this.finishConfirmation(style, res);
59
- });
60
- }
61
- }
62
- finishConfirmation(style, result) {
63
- let guiEvent = getGuiEventObj("confirmationClosed", null, 0);
64
- guiEvent.keyCode = confirmationBox.convertToExcpectedResultBox(style, result);
65
- this.engineMagicService.insertEvent(guiEvent);
66
- }
67
- createModalComponent(parameters, component, overlayType) {
68
- let componentRef;
69
- let magicModalContainerParameters = {
70
- Component: component,
71
- Parameters: parameters,
72
- OverlayTypeParam: overlayType
73
- };
74
- const factory = this.componentFactoryResolver.resolveComponentFactory(MagicOverlayContainerWrapper);
75
- let viewCRef = this.overlayWindowsContainerViewRef;
76
- componentRef = viewCRef.createComponent(factory);
77
- Object.assign(componentRef.instance, magicModalContainerParameters);
78
- this.overlayWindowFocusManager.pushDialog(componentRef.instance.GetRootElement());
79
- componentRef.instance.DetectChanges();
80
- return componentRef;
81
- }
82
- }
83
- OverlayWindowService.ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.EngineMagicService), i0.ɵɵinject(i3.OverlayContainerMagicProvider), i0.ɵɵinject(i4.ConfirmationComponentsMagicProvider)); };
84
- OverlayWindowService.ɵprov = i0.ɵɵdefineInjectable({ token: OverlayWindowService, factory: OverlayWindowService.ɵfac, providedIn: 'root' });
85
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayWindowService, [{
86
- type: Injectable,
87
- args: [{
88
- providedIn: 'root'
89
- }]
90
- }], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.ComponentListMagicService }, { type: i2.EngineMagicService }, { type: i3.OverlayContainerMagicProvider }, { type: i4.ConfirmationComponentsMagicProvider }]; }, null); })();
91
- class OverlayWindowFocusManager {
92
- constructor(rootMagicElement) {
93
- this.rootMagicElement = null;
94
- this.openDialogList = new Array(0);
95
- this.ignoreUtilFocusChanges = false;
96
- this.lastFocus = null;
97
- this.focusListener = null;
98
- this.rootMagicElement = rootMagicElement;
99
- }
100
- pushDialog(rootElement) {
101
- if (this.openDialogList.length === 0) {
102
- this.focusListener = this.trapFocus.bind(this);
103
- document.addEventListener('focus', this.focusListener, true);
104
- }
105
- this.openDialogList.push(new DialogInfo(rootElement, (document.activeElement instanceof HTMLElement ? document.activeElement : null)));
106
- }
107
- popDialog() {
108
- const dialogInfo = this.openDialogList.pop();
109
- this.attemptFocus(dialogInfo.FocusElementOnClose);
110
- if (this.openDialogList.length === 0) {
111
- document.removeEventListener('focus', this.focusListener, true);
112
- this.focusListener = null;
113
- }
114
- }
115
- trapFocus(event) {
116
- if (this.ignoreUtilFocusChanges) {
117
- return;
118
- }
119
- if (this.openDialogList.length > 0) {
120
- var currentDialog = this.openDialogList[this.openDialogList.length - 1].RootElement;
121
- if (currentDialog.contains(event.target)) {
122
- this.lastFocus = event.target;
123
- }
124
- else {
125
- if (this.rootMagicElement.contains(event.target)) {
126
- this.focusFirstDescendant(currentDialog);
127
- if (this.lastFocus == document.activeElement) {
128
- this.focusLastDescendant(currentDialog);
129
- }
130
- }
131
- this.lastFocus = document.activeElement;
132
- }
133
- }
134
- }
135
- focusFirstDescendant(element) {
136
- for (var i = 0; i < element.childNodes.length; i++) {
137
- var child = element.childNodes[i];
138
- if (this.attemptFocus(child) ||
139
- this.focusFirstDescendant(child)) {
140
- return true;
141
- }
142
- }
143
- return false;
144
- }
145
- ;
146
- focusLastDescendant(element) {
147
- for (var i = element.childNodes.length - 1; i >= 0; i--) {
148
- var child = element.childNodes[i];
149
- if (this.attemptFocus(child) ||
150
- this.focusLastDescendant(child)) {
151
- return true;
152
- }
153
- }
154
- return false;
155
- }
156
- ;
157
- attemptFocus(element) {
158
- if (!this.isFocusable(element)) {
159
- return false;
160
- }
161
- this.ignoreUtilFocusChanges = true;
162
- try {
163
- element.focus();
164
- }
165
- catch (e) {
166
- }
167
- this.ignoreUtilFocusChanges = false;
168
- return (document.activeElement === element);
169
- }
170
- ;
171
- isFocusable(element) {
172
- if (isNullOrUndefined(element))
173
- return false;
174
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {
175
- return true;
176
- }
177
- else if (element.tabIndex < 0)
178
- return false;
179
- if (element.disabled) {
180
- return false;
181
- }
182
- switch (element.nodeName) {
183
- case 'A':
184
- return !!element.href && element.rel != 'ignore';
185
- case 'INPUT':
186
- return element.type != 'hidden' && element.type != 'file';
187
- case 'BUTTON':
188
- case 'SELECT':
189
- case 'TEXTAREA':
190
- return true;
191
- default:
192
- return false;
193
- }
194
- }
195
- }
196
- class DialogInfo {
197
- constructor(rootElement, focusElementOnClose) {
198
- this.rootElement = rootElement;
199
- this.focusElementOnClose = focusElementOnClose;
200
- }
201
- get RootElement() {
202
- return this.rootElement;
203
- }
204
- get FocusElementOnClose() {
205
- return this.focusElementOnClose;
206
- }
207
- }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheVdpbmRvd1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9PdmVybGF5V2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsd0JBQXdCLEVBQWdCLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVd6RCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQW9CLHdCQUFrRCxFQUNoRCxhQUF1QyxFQUN2QyxrQkFBc0MsRUFDeEMsNkJBQTRELEVBQzVELG1DQUF3RTtRQUp4RSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3hDLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQU1wRiw4QkFBeUIsR0FBOEIsSUFB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RUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZX0gZnJvbSBcIi4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQge0VuZ2luZU1hZ2ljU2VydmljZX0gZnJvbSBcIi4vZW5naW5lLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnQsIGdldEd1aUV2ZW50T2JqfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIgfSBmcm9tIFwiLi9vdmVybGF5LmNvbmFpbmVyLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIgfSBmcm9tIFwiLi4vdWkvbWFnaWMtbW9kYWwvbWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlclwiO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlciB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi5jb21wb25lbnRzLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlUeXBlLCBTdHlsZXMgfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHsgY29uZmlybWF0aW9uQm94IH0gZnJvbSBcIi4uL3VpL21hZ2ljLWNvbmZpcm1hdGlvbkJveFwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgbWFuYWdpbmcgb3ZlcmxheSB3aW5kb3dzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjoncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlXaW5kb3dTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDpDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbmdpbmVNYWdpY1NlcnZpY2U6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyOiBPdmVybGF5Q29udGFpbmVyTWFnaWNQcm92aWRlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyOiBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlcikge1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHZpZXcgcmVmZXJlbmNlIG9mIGNvbnRhaW5lciBvZiBvdmVybGF5IHdpbmRvd1xyXG4gIHByaXZhdGUgb3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBwcml2YXRlIG92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXI6IE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBudWxsO1xyXG5cclxuICBpbml0KG92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjogVmlld0NvbnRhaW5lclJlZiwgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCkge1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBuZXcgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcihyb290TWFnaWNFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIG9wZW4oZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nKSB7XHJcblxyXG4gICAgLy8gZm9yIG92ZXJsYXkgd2hpY2ggYXJlIGxhenkgbG9hZGVkIGRvbid0IGZpbmQgZGF0YSBpbiBjb21wb25lbnQtbGlzdFxyXG4gICAgbGV0IGNvbXAgPSAgdGhpcy5jb21wb25lbnRMaXN0LmxhenlMb2FkTW9kdWxlc01hcCAhPSBudWxsICYmIHRoaXMuY29tcG9uZW50TGlzdC5sYXp5TG9hZE1vZHVsZXNNYXAuaGFzT3duUHJvcGVydHkoZm9ybU5hbWUpID8gbnVsbCA6dGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XHJcbiAgICBsZXQgcGFyYW1ldGVycyA9IHsgdGFza0lkUGFyYW06IHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uOiB0YXNrRGVzY3JpcHRpb24gfTtcclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVNb2RhbENvbXBvbmVudCh7IE1hZ2ljRm9ybU5hbWU6IGZvcm1OYW1lLCBNb2RhbENvbXA6IGNvbXAsIE1vZGFsQ29tcFBhcmFtZXRlcnM6IHBhcmFtZXRlcnN9LCA8Q29tcG9uZW50PnRoaXMub3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIuZ2V0Q29tcG9uZW50KCksIE92ZXJsYXlUeXBlLk92ZXJsYXkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjbG9zZVwiLCBudWxsLCAwKTtcclxuICAgICAgZ3VpRXZlbnQuVGFza0lEID0gdGFza0lkO1xyXG4gICAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKGNvbW1hbmRTdHI6IHN0cmluZykge1xyXG4gICAgLy8gQ2xvc2UgdGhlIG92ZXJsYXkgYnkgcmVtb3ZpbmcgdGhlIG92ZXJsYXkgd2luZG93IGZyb20gaXRzIGNvbnRhaW5lclxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYucmVtb3ZlKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcblxyXG4gICAgbGV0IGd1aUV2ZW50MTogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJkaXNwb3NlXCIsIG51bGwsIDApO1xyXG4gICAgZ3VpRXZlbnQxLlRhc2tJRCA9IGNvbW1hbmRTdHI7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudDEpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gQ29uZmlybWF0aW9uIGJveFxyXG4gICAqIEBwYXJhbSB0aXRsZSB0aXRsZSBvZiB0aGUgYm94XHJcbiAgICogQHBhcmFtIG1zZyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHN0eWxlIE1hZ2ljIHN0eWxlXHJcbiAgICovXHJcbiAgIG9wZW5Db25maXJtYXRpb25Cb3goIHRpdGxlOiBzdHJpbmcsIG1zZzogc3RyaW5nLCBzdHlsZTogU3R5bGVzKSB7XHJcblxyXG4gICAgIC8vc2hvdyBkZWZhdWx0IGNvbmZpcm1hdGlvbnNcclxuICAgIGlmICh0aGlzLmNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyLnNob3dEZWZhdWx0Q29uZmlybWF0aW9ucygpKVxyXG4gICAge1xyXG4gICAgICBsZXQgcmVzID0gY29uZmlybWF0aW9uQm94LnNob3dDb25maXJtYXRpb25Cb3godGl0bGUsIG1zZywgc3R5bGUpO1xyXG4gICAgICB0aGlzLmZpbmlzaENvbmZpcm1hdGlvbiggc3R5bGUsIHJlcyk7XHJcblxyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICAvL3Nob3cgY3VzdG9tIGNvbmZpcm1hdGlvbnNcclxuICAgICAgbGV0IGNvbXAgPSBjb25maXJtYXRpb25Cb3guaXNDb25maXJtQm94KHN0eWxlKSA/IHRoaXMuY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIuZ2V0Q29uZmlybXRpb25Db21wb25lbnQoKSA6dGhpcy5jb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlci5nZXRBbGVydENvbXBvbmVudCgpICA7XHJcbiAgICAgIGxldCBvdmVybGF5VHlwZSA9IGNvbmZpcm1hdGlvbkJveC5pc0NvbmZpcm1Cb3goc3R5bGUpPyBPdmVybGF5VHlwZS5Db25maXJtYXRpb25Cb3ggOiBPdmVybGF5VHlwZS5BbGVydDtcclxuICAgICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlTW9kYWxDb21wb25lbnQoeyB0aXRsZTogdGl0bGUsIG1lc3NhZ2U6IG1zZyB9LCBjb21wLCBvdmVybGF5VHlwZSk7XHJcblxyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub25DbG9zZS5zdWJzY3JpYmUoKHJlcyA6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZi5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcbiAgICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oIHN0eWxlLCByZXMpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIGNsb3NlIG9mIHRoZSBjb25maXJtYXRpb25cclxuICAgKiBAcGFyYW0gc3R5bGUgTWFnaWMgc3R5bGVcclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgZmluaXNoQ29uZmlybWF0aW9uKHN0eWxlOiBTdHlsZXMsIHJlc3VsdDogYm9vbGVhbiApIHtcclxuICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjb25maXJtYXRpb25DbG9zZWRcIiwgbnVsbCwgMCk7XHJcbiAgICBndWlFdmVudC5rZXlDb2RlID0gPG51bWJlcj5jb25maXJtYXRpb25Cb3guY29udmVydFRvRXhjcGVjdGVkUmVzdWx0Qm94KHN0eWxlLCByZXN1bHQpO1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY3JlYXRlcyBhIG1vZGFsIGNvbXBvbmVudC4gQ2FuIGJlIHVzZWQgZm9yIG92ZXJsYXksIG1lc3NhZ2UgYm94IG9yIGNvbmZpcm1hdGlvbiBib3hcclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBjb21wb25lbnQncyBwYXJhbWV0ZXJzXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCBjb21wb25lbnRzIHRvIGNyZWF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxDb21wb25lbnQocGFyYW1ldGVyczogYW55LCBjb21wb25lbnQ6IENvbXBvbmVudCwgb3ZlcmxheVR5cGU6IE92ZXJsYXlUeXBlKTogQ29tcG9uZW50UmVmPGFueT4ge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZjtcclxuICAgIGxldCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyA9IHtcclxuICAgICAgQ29tcG9uZW50OiBjb21wb25lbnQsXHJcbiAgICAgIFBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXHJcbiAgICAgIE92ZXJsYXlUeXBlUGFyYW06IG92ZXJsYXlUeXBlXHJcblxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIFVJIGNvbXBvbmVudCBvZiBtb2RhbCB3aW5kb3dcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyKTtcclxuICAgIGxldCB2aWV3Q1JlZiA6IFZpZXdDb250YWluZXJSZWYgPSA8Vmlld0NvbnRhaW5lclJlZj50aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjtcclxuICAgIGNvbXBvbmVudFJlZiA9IHZpZXdDUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuXHJcbiAgICAvLyBTZXQgdGhlIGRhdGEgdG8gbmV3bHkgY3JlYXRlZCBjb21wb25lbnRcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyk7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyLnB1c2hEaWFsb2coY29tcG9uZW50UmVmLmluc3RhbmNlLkdldFJvb3RFbGVtZW50KCkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5EZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXJcclxue1xyXG4gIHByaXZhdGUgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nTGlzdDogQXJyYXk8RGlhbG9nSW5mbz4gPSBuZXcgQXJyYXkoMCk7XHJcbiAgcHJpdmF0ZSBpZ25vcmVVdGlsRm9jdXNDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsYXN0Rm9jdXMgPSBudWxsO1xyXG4gIHByaXZhdGUgZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yIChyb290TWFnaWNFbGVtZW50OiBFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RNYWdpY0VsZW1lbnQgPSByb290TWFnaWNFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHVzaERpYWxvZyhyb290RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmZvY3VzTGlzdGVuZXIgPSB0aGlzLnRyYXBGb2N1cy5iaW5kKHRoaXMpO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcGVuRGlhbG9nTGlzdC5wdXNoKG5ldyBEaWFsb2dJbmZvKHJvb3RFbGVtZW50LCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gPEhUTUxFbGVtZW50PmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBudWxsKSkpO1xyXG4gIH1cclxuXHJcbiAgcG9wRGlhbG9nKCkge1xyXG4gICAgY29uc3QgZGlhbG9nSW5mbyA9IHRoaXMub3BlbkRpYWxvZ0xpc3QucG9wKCk7XHJcbiAgICB0aGlzLmF0dGVtcHRGb2N1cyhkaWFsb2dJbmZvLkZvY3VzRWxlbWVudE9uQ2xvc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFwRm9jdXMgKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBjdXJyZW50RGlhbG9nID0gdGhpcy5vcGVuRGlhbG9nTGlzdFt0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCAtIDFdLlJvb3RFbGVtZW50O1xyXG4gICAgICBpZiAoY3VycmVudERpYWxvZy5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jdXMgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdE1hZ2ljRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzRmlyc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgaWYgKHRoaXMubGFzdEZvY3VzID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RGb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNGaXJzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZhciBjaGlsZCA9IGVsZW1lbnQuY2hpbGROb2Rlc1tpXTtcclxuICAgICAgaWYgKHRoaXMuYXR0ZW1wdEZvY3VzKGNoaWxkKSB8fFxyXG4gICAgICAgIHRoaXMuZm9jdXNGaXJzdERlc2NlbmRhbnQoY2hpbGQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGZvY3VzTGFzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSBlbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdmFyIGNoaWxkID0gZWxlbWVudC5jaGlsZE5vZGVzW2ldO1xyXG4gICAgICBpZiAodGhpcy5hdHRlbXB0Rm9jdXMoY2hpbGQpIHx8XHJcbiAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGNoaWxkKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhdHRlbXB0Rm9jdXMgKGVsZW1lbnQpIHtcclxuICAgIGlmICghdGhpcy5pc0ZvY3VzYWJsZShlbGVtZW50KSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlnbm9yZVV0aWxGb2N1c0NoYW5nZXMgPSBmYWxzZTtcclxuICAgIHJldHVybiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpc0ZvY3VzYWJsZSAoZWxlbWVudCkge1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKGVsZW1lbnQpKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQudGFiSW5kZXggPiAwIHx8IChlbGVtZW50LnRhYkluZGV4ID09PSAwICYmIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJJbmRleCcpICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVsZW1lbnQudGFiSW5kZXggPCAwKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAoZWxlbWVudC5ub2RlTmFtZSkge1xyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gISFlbGVtZW50LmhyZWYgJiYgZWxlbWVudC5yZWwgIT0gJ2lnbm9yZSc7XHJcbiAgICAgIGNhc2UgJ0lOUFVUJzpcclxuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlICE9ICdoaWRkZW4nICYmIGVsZW1lbnQudHlwZSAhPSAnZmlsZSc7XHJcbiAgICAgIGNhc2UgJ0JVVFRPTic6XHJcbiAgICAgIGNhc2UgJ1NFTEVDVCc6XHJcbiAgICAgIGNhc2UgJ1RFWFRBUkVBJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBEaWFsb2dJbmZvXHJcbntcclxuICBwcml2YXRlIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihyb290RWxlbWVudDogSFRNTEVsZW1lbnQsIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gcm9vdEVsZW1lbnQ7XHJcbiAgICB0aGlzLmZvY3VzRWxlbWVudE9uQ2xvc2UgPSBmb2N1c0VsZW1lbnRPbkNsb3NlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLnJvb3RFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0IEZvY3VzRWxlbWVudE9uQ2xvc2UoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNFbGVtZW50T25DbG9zZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -1,28 +0,0 @@
1
- import { MagicProperties } from "@magic-xpa/utils";
2
- import { NString, isNullOrUndefined } from "@magic-xpa/mscorelib";
3
- export class StylesMapManager {
4
- static magicValueGetStyle(styleName, magicValue) {
5
- let style = "";
6
- if (!isNullOrUndefined(magicValue)) {
7
- let value = StylesMapManager.StylesMap.get(styleName);
8
- if (value.constructor === Map) {
9
- style = value.get(magicValue);
10
- }
11
- else if (value.constructor === String) {
12
- style = NString.Format(value.toString(), magicValue);
13
- }
14
- }
15
- return style;
16
- }
17
- }
18
- StylesMapManager.StylesMap = new Map([
19
- [MagicProperties.LineDivider, new Map([[true, "solid"], [false, "hidden"]])],
20
- [MagicProperties.ImageFile, "url('\{0}\')"],
21
- [MagicProperties.Wallpaper, "url('\{0}\')"]
22
- ]);
23
- StylesMapManager.MagicPropertyToHtmlAttributeMap = new Map([
24
- [MagicProperties.LineDivider, "border-bottom-style"],
25
- [MagicProperties.ImageFile, "background-image"],
26
- [MagicProperties.Wallpaper, "background-image"]
27
- ]);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVzTWFwTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL1N0eWxlc01hcE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQTtBQUsvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixNQUFNLENBQUMsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxVQUFlO1FBQzFELElBQUksS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssR0FBRyxFQUFFO2dCQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMvQjtpQkFDSSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO2dCQUNyQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDdEQ7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7QUE5Qk0sMEJBQVMsR0FBcUIsSUFBSSxHQUFHLENBQzFDO0lBQ0UsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUM7SUFDM0MsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQztDQUM1QyxDQUNGLENBQUM7QUFFSyxnREFBK0IsR0FBd0IsSUFBSSxHQUFHLENBQ25FO0lBQ0UsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDO0lBQ3BELENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUM7Q0FDaEQsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYWdpY1Byb3BlcnRpZXN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCJcclxuaW1wb3J0IHtOU3RyaW5nLCBpc051bGxPclVuZGVmaW5lZH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCJcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3R5bGVzTWFwTWFuYWdlciB7XHJcbiAgc3RhdGljIFN0eWxlc01hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFxyXG4gICAgW1xyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLkxpbmVEaXZpZGVyLCBuZXcgTWFwPGFueSwgYW55PihbW3RydWUsIFwic29saWRcIl0sIFtmYWxzZSwgXCJoaWRkZW5cIl1dKV0sXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuSW1hZ2VGaWxlLCBcInVybCgnXFx7MH1cXCcpXCJdLFxyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLldhbGxwYXBlciwgXCJ1cmwoJ1xcezB9XFwnKVwiXVxyXG4gICAgXVxyXG4gICk7XHJcblxyXG4gIHN0YXRpYyBNYWdpY1Byb3BlcnR5VG9IdG1sQXR0cmlidXRlTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oXHJcbiAgICBbXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuTGluZURpdmlkZXIsIFwiYm9yZGVyLWJvdHRvbS1zdHlsZVwiXSxcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5JbWFnZUZpbGUsIFwiYmFja2dyb3VuZC1pbWFnZVwiXSxcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5XYWxscGFwZXIsIFwiYmFja2dyb3VuZC1pbWFnZVwiXVxyXG4gICAgXVxyXG4gICk7XHJcblxyXG4gIHN0YXRpYyBtYWdpY1ZhbHVlR2V0U3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcsIG1hZ2ljVmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3R5bGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChtYWdpY1ZhbHVlKSkge1xyXG4gICAgICBsZXQgdmFsdWUgPSBTdHlsZXNNYXBNYW5hZ2VyLlN0eWxlc01hcC5nZXQoc3R5bGVOYW1lKTtcclxuICAgICAgaWYgKHZhbHVlLmNvbnN0cnVjdG9yID09PSBNYXApIHtcclxuICAgICAgICBzdHlsZSA9IHZhbHVlLmdldChtYWdpY1ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSB7XHJcbiAgICAgICAgc3R5bGUgPSBOU3RyaW5nLkZvcm1hdCh2YWx1ZS50b1N0cmluZygpLCBtYWdpY1ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcbn1cclxuIl19