@magic-xpa/angular 4.1200.0-dev4120.4 → 4.1200.0-dev4120.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/magic-xpa-angular.mjs +1783 -192
- package/fesm2022/magic-xpa-angular.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/package.json +6 -8
- package/src/controls.metadata.model.d.ts +16 -0
- package/src/interfaces/sub-form-definition.iterface.d.ts +6 -0
- package/src/magic.core.module.d.ts +5 -3
- package/src/services/OverlayWindowService.d.ts +19 -0
- package/src/services/StylesMapManager.d.ts +3 -0
- package/src/services/accessor.magic.service.d.ts +243 -3
- package/src/services/commands-collector.magic.service.d.ts +3 -0
- package/src/services/component-list.magic.service.d.ts +27 -0
- package/src/services/confirmation.components.magic.provider.d.ts +16 -0
- package/src/services/engine.magic.service.d.ts +3 -0
- package/src/services/exit.magic.service.d.ts +6 -0
- package/src/services/magic-color.service.d.ts +6 -0
- package/src/services/magic.providers.d.ts +3 -0
- package/src/services/magic.services.d.ts +6 -0
- package/src/services/router-commands.magic.service.d.ts +6 -0
- package/src/services/subform.magic.service.d.ts +28 -0
- package/src/services/table.magic.service.d.ts +56 -0
- package/src/services/task.magics.service.d.ts +300 -0
- package/src/services/title.magic.service.d.ts +11 -0
- package/src/ui/GuiInteractiveExecutor.d.ts +3 -0
- package/src/ui/components/base-magic-alert.component.d.ts +16 -0
- package/src/ui/components/base-magic-confirm.component.d.ts +18 -0
- package/src/ui/components/magic-alert.component.d.ts +3 -0
- package/src/ui/components/magic-confirmation-box.component.d.ts +3 -0
- package/src/ui/directives/NonMagicControlDirective.d.ts +41 -0
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +6 -0
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +12 -0
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +9 -0
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +6 -0
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +13 -0
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +6 -0
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +6 -0
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +3 -0
- package/src/ui/directives/magic/row.magic.directive.d.ts +15 -0
- package/src/ui/directives/magic-focus.directive.d.ts +3 -0
- package/src/ui/directives/magic.directive.d.ts +82 -0
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +3 -0
- package/src/ui/directives/mgformat.magic.directive.d.ts +44 -0
- package/src/ui/directives/range-validator.magic.directive.d.ts +16 -0
- package/src/ui/magic-confirmationBox.d.ts +19 -0
- package/src/ui/magic-modal/base-magic-overlay-container.d.ts +9 -0
- package/src/ui/magic-modal/magic-modal-form.d.ts +3 -0
- package/src/ui/magic-modal/magic-modal-interface.d.ts +27 -0
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +20 -0
- package/src/ui/magic-modal/magic-overlay-container.d.ts +51 -0
- package/src/ui/magic-root.component.d.ts +42 -0
- package/src/ui/mgerror.magic.component.d.ts +19 -0
- package/src/ui/pipes/date.magic.pipe.d.ts +6 -0
- package/src/ui/pipes/time.magic.pipe.d.ts +3 -0
- package/src/ui/router-container.magic.component.d.ts +19 -0
- package/src/ui/subform.magic.component.d.ts +21 -0
- package/src/ui/task-base.magic.component.d.ts +78 -0
- package/src/ui/utils.d.ts +3 -0
- package/esm2022/index.mjs +0 -59
- package/esm2022/magic-xpa-angular.mjs +0 -2
- package/esm2022/src/controls.metadata.model.mjs +0 -183
- package/esm2022/src/interfaces/sub-form-definition.iterface.mjs +0 -2
- package/esm2022/src/magic.core.module.mjs +0 -159
- package/esm2022/src/services/ISubformMagicService.mjs +0 -2
- package/esm2022/src/services/OverlayWindowService.mjs +0 -245
- package/esm2022/src/services/StylesMapManager.mjs +0 -28
- package/esm2022/src/services/accessor.magic.service.mjs +0 -358
- package/esm2022/src/services/commands-collector.magic.service.mjs +0 -47
- package/esm2022/src/services/component-list.magic.service.mjs +0 -45
- package/esm2022/src/services/confirmation.components.magic.provider.mjs +0 -21
- package/esm2022/src/services/engine.magic.service.mjs +0 -80
- package/esm2022/src/services/exit.magic.service.mjs +0 -13
- package/esm2022/src/services/magic-color.service.mjs +0 -101
- package/esm2022/src/services/magic.lazy.loader.service.mjs +0 -16
- package/esm2022/src/services/magic.providers.mjs +0 -25
- package/esm2022/src/services/magic.services.mjs +0 -36
- package/esm2022/src/services/mg-date-adapter.mjs +0 -108
- package/esm2022/src/services/overlay.conainer.magic.provider.mjs +0 -14
- package/esm2022/src/services/router-commands.magic.service.mjs +0 -31
- package/esm2022/src/services/subform.magic.service.mjs +0 -195
- package/esm2022/src/services/table.magic.service.mjs +0 -81
- package/esm2022/src/services/task.magics.service.mjs +0 -648
- package/esm2022/src/services/title.magic.service.mjs +0 -19
- package/esm2022/src/ui/GuiInteractiveExecutor.mjs +0 -114
- package/esm2022/src/ui/components/base-magic-alert.component.mjs +0 -24
- package/esm2022/src/ui/components/base-magic-confirm.component.mjs +0 -24
- package/esm2022/src/ui/components/magic-alert.component.mjs +0 -36
- package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +0 -42
- package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +0 -58
- package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -29
- package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -100
- package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +0 -37
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -85
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
- package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -28
- package/esm2022/src/ui/directives/magic/nocontrol.magic.directive.mjs +0 -193
- package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +0 -62
- package/esm2022/src/ui/directives/magic-focus.directive.mjs +0 -20
- package/esm2022/src/ui/directives/magic.directive.mjs +0 -232
- package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +0 -20
- package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +0 -579
- package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +0 -60
- package/esm2022/src/ui/magic-confirmationBox.mjs +0 -42
- package/esm2022/src/ui/magic-modal/base-magic-overlay-container.mjs +0 -22
- package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +0 -6
- package/esm2022/src/ui/magic-modal/magic-modal-interface.mjs +0 -2
- package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -125
- package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +0 -162
- package/esm2022/src/ui/magic-root.component.mjs +0 -236
- package/esm2022/src/ui/mgerror.magic.component.mjs +0 -125
- package/esm2022/src/ui/pipes/date.magic.pipe.mjs +0 -106
- package/esm2022/src/ui/pipes/time.magic.pipe.mjs +0 -52
- package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +0 -35
- package/esm2022/src/ui/router-container.magic.component.mjs +0 -115
- package/esm2022/src/ui/subform.magic.component.mjs +0 -56
- package/esm2022/src/ui/task-base.magic.component.mjs +0 -91
- package/esm2022/src/ui/utils.mjs +0 -54
@@ -1,358 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { TaskMagicService } from './task.magics.service';
|
3
|
-
import { GuiEnvironment, HtmlProperties, PIC } from '@magic-xpa/gui';
|
4
|
-
import { isNullOrUndefined, StringBuilder } from '@magic-xpa/mscorelib';
|
5
|
-
import { getGuiEventObj, CookieService } from '@magic-xpa/engine';
|
6
|
-
import { Logger, PICInterface, StorageAttribute } from '@magic-xpa/utils';
|
7
|
-
import { MagicColorService } from './magic-color.service';
|
8
|
-
import { maskitoTimeOptionsGenerator } from "@maskito/kit";
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "./task.magics.service";
|
11
|
-
import * as i2 from "./magic-color.service";
|
12
|
-
export class AccessorMagicService {
|
13
|
-
task;
|
14
|
-
magicColor;
|
15
|
-
Logger = null;
|
16
|
-
hhmm = maskitoTimeOptionsGenerator({ mode: 'HH:MM' });
|
17
|
-
hhmmss = maskitoTimeOptionsGenerator({ mode: 'HH:MM:SS' });
|
18
|
-
constructor(task, magicColor) {
|
19
|
-
this.task = task;
|
20
|
-
this.magicColor = magicColor;
|
21
|
-
this.Logger = Logger.Instance;
|
22
|
-
}
|
23
|
-
checkIsReadOnly(controlId) {
|
24
|
-
let properties;
|
25
|
-
properties = this.task.Records.list[0].getControlMetadata(controlId);
|
26
|
-
if (properties.properties.get(HtmlProperties.ReadOnly) !== null && properties.properties.get(HtmlProperties.ReadOnly) === true)
|
27
|
-
return true;
|
28
|
-
else
|
29
|
-
return false;
|
30
|
-
}
|
31
|
-
getText(controlId, rowId) {
|
32
|
-
return this.task.getProperty(controlId, HtmlProperties.Text, rowId);
|
33
|
-
}
|
34
|
-
getTabpageText(controlId, layer) {
|
35
|
-
const items = this.task.getProperty(controlId, HtmlProperties.ItemsList);
|
36
|
-
if (typeof items !== "undefined")
|
37
|
-
return items[layer].displayValue;
|
38
|
-
return "";
|
39
|
-
}
|
40
|
-
getImage(controlId, rowId) {
|
41
|
-
let result = this.task.getProperty(controlId, HtmlProperties.Image, rowId);
|
42
|
-
return result;
|
43
|
-
}
|
44
|
-
isImageExists(controlId, rowId) {
|
45
|
-
let result = this.task.getProperty(controlId, HtmlProperties.Image, rowId);
|
46
|
-
return !isNullOrUndefined(result);
|
47
|
-
}
|
48
|
-
getClasses(controlId, rowId) {
|
49
|
-
return this.task.getClasses(controlId, rowId);
|
50
|
-
}
|
51
|
-
getStyle(controlId, styleName, rowId) {
|
52
|
-
let style = this.task.getStyle(controlId, styleName, rowId);
|
53
|
-
return style;
|
54
|
-
}
|
55
|
-
getVisible(controlId, rowId) {
|
56
|
-
let vis = this.getProperty(controlId, HtmlProperties.Visible, rowId);
|
57
|
-
return vis ? 'visible' : 'hidden';
|
58
|
-
}
|
59
|
-
getAlphaMask(controlId, rowId) {
|
60
|
-
if (isNullOrUndefined(controlId))
|
61
|
-
return null;
|
62
|
-
let pic = this.task.GetControlPictureMask(controlId);
|
63
|
-
let mask = pic.getMask();
|
64
|
-
let valueStr = new StringBuilder();
|
65
|
-
for (let i = 0; i < mask.length; i++) {
|
66
|
-
switch (mask.charCodeAt(i)) {
|
67
|
-
case PICInterface.PIC_N:
|
68
|
-
valueStr.Append("0");
|
69
|
-
break;
|
70
|
-
case PICInterface.PIC_U:
|
71
|
-
case PICInterface.PIC_L:
|
72
|
-
case PICInterface.PIC_X:
|
73
|
-
valueStr.Append("A");
|
74
|
-
break;
|
75
|
-
default:
|
76
|
-
valueStr.Append(mask.charAt(i));
|
77
|
-
break;
|
78
|
-
}
|
79
|
-
}
|
80
|
-
return (pic != null) ? valueStr.toString() : null;
|
81
|
-
}
|
82
|
-
getNumericPicture(picture) {
|
83
|
-
var obj = {};
|
84
|
-
if (isNullOrUndefined(picture))
|
85
|
-
return obj;
|
86
|
-
let pic = new PIC(picture, StorageAttribute.NUMERIC, 0);
|
87
|
-
obj['prefix'] = "";
|
88
|
-
if (pic.getPosPref_().length > 0 && pic.getNegPref_().length > 0) {
|
89
|
-
let pref = '-' + pic.getPosPref_();
|
90
|
-
if (pref == pic.getNegPref_())
|
91
|
-
obj['prefix'] = pic.getPosPref_();
|
92
|
-
}
|
93
|
-
if (pic.getPosSuff_().length > 0)
|
94
|
-
obj['suffix'] = pic.getPosSuff_();
|
95
|
-
else
|
96
|
-
obj['suffix'] = "";
|
97
|
-
if (pic.isNegative())
|
98
|
-
obj['allowNegative'] = true;
|
99
|
-
else
|
100
|
-
obj['allowNegative'] = false;
|
101
|
-
if (pic.getDec() >= 0)
|
102
|
-
obj['precision'] = pic.getDec();
|
103
|
-
if (pic.isLeft())
|
104
|
-
obj['align'] = "left";
|
105
|
-
obj['decimal'] = GuiEnvironment.Environment.GetDecimal();
|
106
|
-
if (pic.withComa())
|
107
|
-
obj['thousands'] = GuiEnvironment.Environment.GetThousands();
|
108
|
-
else
|
109
|
-
obj['thousands'] = "";
|
110
|
-
if (pic.getWholes())
|
111
|
-
obj['wholes'] = pic.getWholes();
|
112
|
-
return obj;
|
113
|
-
}
|
114
|
-
getMustInput(controlId, rowId) {
|
115
|
-
let vis = this.getProperty(controlId, HtmlProperties.MustInput, rowId);
|
116
|
-
return vis ? 'true' : 'false';
|
117
|
-
}
|
118
|
-
isDisabled(controlId, rowId) {
|
119
|
-
let result = this.getProperty(controlId, HtmlProperties.Enabled, rowId);
|
120
|
-
return result === true ? null : true;
|
121
|
-
}
|
122
|
-
getProperty(controlId, prop, rowId) {
|
123
|
-
return this.task.getProperty(controlId, prop, rowId);
|
124
|
-
}
|
125
|
-
getTitle(controlId, rowId) {
|
126
|
-
return this.task.getProperty(controlId, HtmlProperties.Tooltip, rowId);
|
127
|
-
}
|
128
|
-
getZoomButtonTitle(controlId, rowId) {
|
129
|
-
return this.task.getProperty(controlId, HtmlProperties.ZoomButtonTooltip, rowId);
|
130
|
-
}
|
131
|
-
getSelectedValue(controlId, rowId) {
|
132
|
-
return this.task.getProperty(controlId, HtmlProperties.SelectedValue, rowId);
|
133
|
-
}
|
134
|
-
getPlaceholder(controlId, rowId) {
|
135
|
-
return this.task.getProperty(controlId, HtmlProperties.PlaceHolder, rowId);
|
136
|
-
}
|
137
|
-
getType(controlId, rowId) {
|
138
|
-
let result = this.task.getProperty(controlId, HtmlProperties.Password, rowId);
|
139
|
-
return result ? "password" : "text";
|
140
|
-
}
|
141
|
-
getTabIndex(controlId, rowId) {
|
142
|
-
return this.task.getProperty(controlId, HtmlProperties.TabIndex, rowId);
|
143
|
-
}
|
144
|
-
getValue(controlId, rowId) {
|
145
|
-
let val = this.task.getValue(controlId, rowId);
|
146
|
-
return val;
|
147
|
-
}
|
148
|
-
getFormattedValue(controlId, rowId) {
|
149
|
-
let val = this.task.getValue(controlId, rowId);
|
150
|
-
val = this.task.getFormattedValue(controlId, val, rowId);
|
151
|
-
return val;
|
152
|
-
}
|
153
|
-
getPicture(controlId, rowId) {
|
154
|
-
if (isNullOrUndefined(controlId))
|
155
|
-
return null;
|
156
|
-
let pic = this.task.GetControlPictureMask(controlId);
|
157
|
-
return (pic != null) ? pic.getFormat().toString() : null;
|
158
|
-
}
|
159
|
-
getCustomProperty(controlId, propertyNameOrRowID, rowId) {
|
160
|
-
if (controlId.indexOf('~') == -1)
|
161
|
-
return this.getCustomProperty_1(controlId, propertyNameOrRowID, rowId);
|
162
|
-
else {
|
163
|
-
let cid = controlId.split('~')[0];
|
164
|
-
let propName = controlId.split('~')[1];
|
165
|
-
return this.getCustomProperty_1(cid, propName, propertyNameOrRowID);
|
166
|
-
}
|
167
|
-
}
|
168
|
-
getCustomProperty_1(controlId, propertyName, rowId) {
|
169
|
-
let userProperties;
|
170
|
-
if (isNullOrUndefined(rowId))
|
171
|
-
rowId = '0';
|
172
|
-
let rec = this.task.Records.list[rowId];
|
173
|
-
if (isNullOrUndefined(rec))
|
174
|
-
debugger;
|
175
|
-
else {
|
176
|
-
const controlMetadata = rec.getControlMetadata(controlId);
|
177
|
-
if (controlMetadata.userProperties.has(propertyName)) {
|
178
|
-
userProperties = controlMetadata.userProperties.get(propertyName);
|
179
|
-
}
|
180
|
-
}
|
181
|
-
return userProperties;
|
182
|
-
}
|
183
|
-
getItemListValues(id, rowId) {
|
184
|
-
return this.getProperty(id, HtmlProperties.ItemsList, rowId);
|
185
|
-
}
|
186
|
-
getFilteredList(controlId, rowId) {
|
187
|
-
if (isNullOrUndefined(rowId))
|
188
|
-
rowId = '0';
|
189
|
-
let items = this.getItemListValues(controlId, rowId);
|
190
|
-
let value = this.task.getFormControl(rowId, controlId).value;
|
191
|
-
if (value !== null && value !== "" && items instanceof Array) {
|
192
|
-
value = value.toLowerCase();
|
193
|
-
return items.filter(option => option.displayValue.toLowerCase().includes(value));
|
194
|
-
}
|
195
|
-
else
|
196
|
-
return items;
|
197
|
-
}
|
198
|
-
getDisplayValue(id, rowId) {
|
199
|
-
let displayValue = "";
|
200
|
-
let o = this.getProperty(id, HtmlProperties.ItemsList, rowId);
|
201
|
-
let value = this.task.getValue(id, rowId);
|
202
|
-
if (value >= 0 && value < o.length && !isNullOrUndefined(o[value]))
|
203
|
-
displayValue = o[value].displayValue;
|
204
|
-
return displayValue;
|
205
|
-
}
|
206
|
-
isOptionSelected(index, controlId) {
|
207
|
-
let val = this.task.getValue(controlId, "0");
|
208
|
-
for (let item of val) {
|
209
|
-
if (item === index)
|
210
|
-
return true;
|
211
|
-
}
|
212
|
-
return false;
|
213
|
-
}
|
214
|
-
isTabPageSelected(controlId, layer) {
|
215
|
-
let val = this.task.getProperty(controlId, HtmlProperties.SelectedValue);
|
216
|
-
return val == (layer - 1);
|
217
|
-
}
|
218
|
-
isTabPageLayerSelected(controlId, layer) {
|
219
|
-
let val = this.task.getProperty(controlId, HtmlProperties.SelectedLayer);
|
220
|
-
return val == (layer - 1);
|
221
|
-
}
|
222
|
-
getTabSelectedIndex(controlId) {
|
223
|
-
let val = this.task.getProperty(controlId, HtmlProperties.SelectedValue);
|
224
|
-
return val;
|
225
|
-
}
|
226
|
-
ifRowCreated(row) {
|
227
|
-
if (row == null)
|
228
|
-
return false;
|
229
|
-
let rowId = typeof row == "number" ? row.toString() : row.rowId;
|
230
|
-
let result = this.getFormGroupByRow(rowId);
|
231
|
-
return !isNullOrUndefined(result);
|
232
|
-
}
|
233
|
-
getFormGroupByRow(id) {
|
234
|
-
return this.task.formGroups[id];
|
235
|
-
}
|
236
|
-
isRowSelected(controlId, rowId) {
|
237
|
-
const selectedRow = this.task.getProperty(controlId, HtmlProperties.SelectedRow, "0");
|
238
|
-
return selectedRow == rowId;
|
239
|
-
}
|
240
|
-
isRowInRowEditing(row) {
|
241
|
-
let guiRowId = '0';
|
242
|
-
guiRowId = typeof row == "number" ? row.toString() : row.rowId;
|
243
|
-
return this.task.isRowInRowEditing(guiRowId);
|
244
|
-
}
|
245
|
-
isCurrentInRowEditing() {
|
246
|
-
let row = this.task.tableService.getSelectedRow();
|
247
|
-
return this.task.isRowInRowEditing(row);
|
248
|
-
}
|
249
|
-
guiTopIndex() {
|
250
|
-
return this.task.tableService.getTableTopIndex();
|
251
|
-
}
|
252
|
-
getErrMsg(id, rowId) {
|
253
|
-
let c = this.task.getFormControl(rowId, id);
|
254
|
-
if (c.hasError('required'))
|
255
|
-
return 'Control must be updated.';
|
256
|
-
if (c.hasError('pattern')) {
|
257
|
-
if (c.errors.pattern.actualValue < 0 && !c.errors.pattern.requiredPattern.includes('-'))
|
258
|
-
return 'Value must be non-negative';
|
259
|
-
if (c.errors.pattern.requiredPattern.includes('.')) {
|
260
|
-
const numericFormat = Math.abs(c.errors.pattern.actualValue).toString().split('.')[0];
|
261
|
-
const decimalFormat = Math.abs(c.errors.pattern.actualValue).toString().split('.')[1];
|
262
|
-
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
263
|
-
const actualDecimalLimit = c.errors.pattern.requiredPattern.match(/(?:[^,]+,){2}(\d+)/)[1];
|
264
|
-
if (numericFormat.length > actualNumericLimit || decimalFormat.length > actualDecimalLimit) {
|
265
|
-
return "Numeric format is limited to " + actualNumericLimit + "." + actualDecimalLimit + " digits";
|
266
|
-
}
|
267
|
-
}
|
268
|
-
else if (!c.errors.pattern.requiredPattern.includes('.') && !Number.isInteger(c.errors.pattern.actualValue)) {
|
269
|
-
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
270
|
-
return "Numeric format is limited to " + actualNumericLimit + "." + 0 + " digits";
|
271
|
-
}
|
272
|
-
else {
|
273
|
-
const numericFormat = Math.abs(c.errors.pattern.actualValue).toString();
|
274
|
-
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
275
|
-
if (numericFormat.length > actualNumericLimit) {
|
276
|
-
return "Numeric format is limited to " + actualNumericLimit + "." + 0 + " digits";
|
277
|
-
}
|
278
|
-
}
|
279
|
-
}
|
280
|
-
if (c.hasError('rangevalidator'))
|
281
|
-
return c.errors.rangevalidator.errorMsg;
|
282
|
-
if (c.hasError('maxlength'))
|
283
|
-
return 'Max length allowed is : ' + c.errors.maxlength.requiredLength;
|
284
|
-
if (c.hasError('max'))
|
285
|
-
return 'Max value allowed is : ' + c.errors.max.max;
|
286
|
-
let controlMetadata = this.task.Records.list[rowId].getControlMetadata(id);
|
287
|
-
for (let key of controlMetadata.customValidators.keys()) {
|
288
|
-
if (c.hasError(key)) {
|
289
|
-
let customValidator = controlMetadata.customValidators.get(key);
|
290
|
-
return customValidator.getErrMessage();
|
291
|
-
}
|
292
|
-
}
|
293
|
-
return 'unknown error';
|
294
|
-
}
|
295
|
-
setValueToControl(controlName, value, refreshDisplay) {
|
296
|
-
if (typeof refreshDisplay === "undefined")
|
297
|
-
refreshDisplay = true;
|
298
|
-
let guiEvent = getGuiEventObj("setexternalvalue", controlName, 0);
|
299
|
-
guiEvent.externalValue = value;
|
300
|
-
guiEvent.param = refreshDisplay;
|
301
|
-
this.task.insertEvent(guiEvent);
|
302
|
-
}
|
303
|
-
isDataviewEmpty() {
|
304
|
-
return this.task.Records.isEmptyDataView;
|
305
|
-
}
|
306
|
-
simulateClick(controlName, rowId) {
|
307
|
-
if (typeof rowId === "undefined")
|
308
|
-
rowId = 0;
|
309
|
-
this.task.insertEvent(getGuiEventObj('click', controlName, rowId));
|
310
|
-
}
|
311
|
-
isLoggedIn() {
|
312
|
-
return this.task.getIsLoggenIn();
|
313
|
-
}
|
314
|
-
GetFormRecords() {
|
315
|
-
let rowId = 0;
|
316
|
-
let recArray;
|
317
|
-
if (!isNullOrUndefined(this.task.Records) && this.task.Records.list.length > 0) {
|
318
|
-
let recList = this.task.Records.list;
|
319
|
-
let tableControls = new Array();
|
320
|
-
for (const key in this.task.template) {
|
321
|
-
if (this.task.template[key] == '1')
|
322
|
-
tableControls.push(key);
|
323
|
-
}
|
324
|
-
recArray = new Array();
|
325
|
-
if (tableControls.length > 0) {
|
326
|
-
recList.forEach((ctrlMetaData) => {
|
327
|
-
if (this.task.Records.isRowCreated(rowId)) {
|
328
|
-
var formRecord = {};
|
329
|
-
formRecord['rowId'] = rowId;
|
330
|
-
tableControls.forEach((ctrlId) => {
|
331
|
-
formRecord[ctrlId] = ctrlMetaData.values[ctrlId];
|
332
|
-
});
|
333
|
-
recArray.push(formRecord);
|
334
|
-
}
|
335
|
-
});
|
336
|
-
}
|
337
|
-
}
|
338
|
-
return recArray;
|
339
|
-
}
|
340
|
-
SetCookie(name, value, expires, path, domain, secure, sameSite) {
|
341
|
-
CookieService.setCookie(name, value, expires, path, domain, secure, sameSite);
|
342
|
-
}
|
343
|
-
GetCookie(name) {
|
344
|
-
return CookieService.getCookie(name);
|
345
|
-
}
|
346
|
-
DeleteCookie(name) {
|
347
|
-
return CookieService.deleteCookie(name);
|
348
|
-
}
|
349
|
-
getColor(colorNumber, colorType) {
|
350
|
-
return this.magicColor.getColor(colorNumber, colorType);
|
351
|
-
}
|
352
|
-
static ɵfac = function AccessorMagicService_Factory(t) { return new (t || AccessorMagicService)(i0.ɵɵinject(i1.TaskMagicService), i0.ɵɵinject(i2.MagicColorService)); };
|
353
|
-
static ɵprov = i0.ɵɵdefineInjectable({ token: AccessorMagicService, factory: AccessorMagicService.ɵfac });
|
354
|
-
}
|
355
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AccessorMagicService, [{
|
356
|
-
type: Injectable
|
357
|
-
}], () => [{ type: i1.TaskMagicService }, { type: i2.MagicColorService }], null); })();
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3IubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQW1CLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFHLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxjQUFjLEVBQWEsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFLM0QsTUFBTSxPQUFPLG9CQUFvQjtJQVNUO0lBQWtDO0lBUnhELE1BQU0sR0FBUSxJQUFJLENBQUM7SUFFSCxJQUFJLEdBQW1CLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDcEUsTUFBTSxHQUFtQiwyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBS3pGLFlBQXNCLElBQXNCLEVBQVksVUFBNkI7UUFBL0QsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFBWSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUNuRixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENB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QUM7SUFDMUMsQ0FBQztJQUtNLFFBQVEsQ0FBQyxXQUFtQixFQUFFLFNBQVM7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4RUE5cUJVLG9CQUFvQjtrREFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQjs7aUZBQXBCLG9CQUFvQjtjQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udHJvbE1ldGFkYXRhLCBDb250cm9sc01ldGFkYXRhIH0gZnJvbSAnLi4vY29udHJvbHMubWV0YWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBDdXN0b21WYWxpZGF0b3IsIEd1aUVudmlyb25tZW50LCBIdG1sUHJvcGVydGllcywgUElDIH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCAsIFN0cmluZ0J1aWxkZXJ9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBnZXRHdWlFdmVudE9iaiwgSUd1aUV2ZW50LCBDb29raWVTZXJ2aWNlfSBmcm9tICdAbWFnaWMteHBhL2VuZ2luZSc7XHJcbmltcG9ydCB7IExvZ2dlciwgUElDSW50ZXJmYWNlLCBTdG9yYWdlQXR0cmlidXRlIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IE1hZ2ljQ29sb3JTZXJ2aWNlIH0gZnJvbSAnLi9tYWdpYy1jb2xvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFza2l0b09wdGlvbnMgfSBmcm9tIFwiQG1hc2tpdG8vY29yZVwiO1xyXG5pbXBvcnQgeyBtYXNraXRvVGltZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tIFwiQG1hc2tpdG8va2l0XCI7XHJcbi8qKlxyXG4gKiBQcm92aWRlcyB0aGUgVUkgd2l0aCB2YWx1ZXMgY2FsY3VsYXRlZCBieSB0aGUgTWFnaWMgV2ViQ2xpZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBY2Nlc3Nvck1hZ2ljU2VydmljZSB7XHJcbiAgTG9nZ2VyOiBhbnkgPSBudWxsO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaGhtbTogTWFza2l0b09wdGlvbnMgPSBtYXNraXRvVGltZU9wdGlvbnNHZW5lcmF0b3Ioe21vZGU6ICdISDpNTSd9KTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaGhtbXNzOiBNYXNraXRvT3B0aW9ucyA9IG1hc2tpdG9UaW1lT3B0aW9uc0dlbmVyYXRvcih7bW9kZTogJ0hIOk1NOlNTJ30pO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRhc2s6IFRhc2tNYWdpY1NlcnZpY2UscHJvdGVjdGVkICBtYWdpY0NvbG9yOiBNYWdpY0NvbG9yU2VydmljZSkge1xyXG4gICAgdGhpcy5Mb2dnZXIgPSBMb2dnZXIuSW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgdGhlIGNvbnRyb2wgaXMgcmVhZC1vbmx5XHJcbiAgICogQHBhcmFtIGNvbnRyb2xJZCBJZCBvZiBjb250cm9sXHJcbiAgICogQHJldHVybnMgSXMgdGhlIGNvbnRyb2wgbm90IHJlYWQtb25seVxyXG4gICAqL1xyXG4gIC8vIENoZWNrUmVhZE9ubHlcclxuICBjaGVja0lzUmVhZE9ubHkoY29udHJvbElkOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGxldCBwcm9wZXJ0aWVzOiBDb250cm9sTWV0YWRhdGE7XHJcbiAgICBwcm9wZXJ0aWVzID0gdGhpcy50YXNrLlJlY29yZHMubGlzdFswXS5nZXRDb250cm9sTWV0YWRhdGEoY29udHJvbElkKTtcclxuICAgIGlmIChwcm9wZXJ0aWVzLnByb3BlcnRpZXMuZ2V0KEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5KSAhPT0gbnVsbCAmJiBwcm9wZXJ0aWVzLnByb3BlcnRpZXMuZ2V0KEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5KSA9PT0gdHJ1ZSlcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHRleHQgb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnMgVGhlIHRleHQgb2YgdGhlIGNvbnRyb2xcclxuICAgKi9cclxuICAvLyBtZ0dldFRleHRcclxuICBnZXRUZXh0KGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuVGV4dCwgcm93SWQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB0ZXh0IG9mIHRoZSB0YWIgcGFnZVxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSBsYXllciBJZCBvZiB0YWJwYWdlXHJcbiAgICogQHJldHVybnMgVGV4dCBvZiB0YWJwYWdlXHJcbiAgICovXHJcbiAgLy8gbWdHZXRUYWJwYWdlVGV4dFxyXG4gIGdldFRhYnBhZ2VUZXh0KGNvbnRyb2xJZDogc3RyaW5nLCBsYXllcjogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuSXRlbXNMaXN0KTtcclxuICAgIGlmICh0eXBlb2YgaXRlbXMgIT09IFwidW5kZWZpbmVkXCIpXHJcbiAgICAgIHJldHVybiBpdGVtc1tsYXllcl0uZGlzcGxheVZhbHVlO1xyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBpbWFnZSBkZWZpbmVkIGZvciB0aGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJucyBJbWFnZSBzZXQgb24gY29udHJvbFxyXG4gICAqL1xyXG4gIC8vIG1nR2V0SW1hZ2VcclxuICBnZXRJbWFnZShjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMudGFzay5nZXRQcm9wZXJ0eShjb250cm9sSWQsIEh0bWxQcm9wZXJ0aWVzLkltYWdlLCByb3dJZCk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciBhbiBpbWFnZSBpcyBzZXQgZm9yIHRoaXMgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJucyByZXR1cm5zIHRydWUgaWYgY29udHJvbCBoYXMgYW4gaW1hZ2Ugc2V0IG9uIGl0XHJcbiAgICovXHJcbiAgLy8gbWdJc0ltYWdlRXhpc3RzXHJcbiAgaXNJbWFnZUV4aXN0cyhjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5JbWFnZSwgcm93SWQpO1xyXG4gICAgcmV0dXJuICFpc051bGxPclVuZGVmaW5lZChyZXN1bHQpO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIENTUyBjbGFzc2VzIHNldCBvbiB0aGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJucyBUaGUgY2xhc3NlcyBmb3IgdGhpcyBjb250cm9sXHJcbiAgICovXHJcbiAgLy8gbWdHZXRDbGFzc2VzXHJcbiAgZ2V0Q2xhc3Nlcyhjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpIDpzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay5nZXRDbGFzc2VzKGNvbnRyb2xJZCwgcm93SWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgQ1NTIHN0eWxlcyBzZXQgb24gdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gc3R5bGVOYW1lIE5BbWUgb2Ygc3R5bGUgcmVxdWVzdGVkXHJcbiAgICogQHBhcmFtIHJvd0lkIElkIG9mIHJvdywgaWYgYXBwbGljYWJsZVxyXG4gICAqIEByZXR1cm5zIFRoZSBzdHlsZSBzZXQgb24gdGhlIGNvbnRyb2xcclxuICAgKi9cclxuICAvLyBtZ0dldFN0eWxlXHJcbiAgZ2V0U3R5bGUoY29udHJvbElkOiBzdHJpbmcsIHN0eWxlTmFtZTogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3R5bGUgPSB0aGlzLnRhc2suZ2V0U3R5bGUoY29udHJvbElkLCBzdHlsZU5hbWUsIHJvd0lkKVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIGEgY29udHJvbCBpcyB2aXNpYmxlIG9yIG5vdFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJucyBJcyB0aGUgY29udHJvbCB2aXNpYmxlIG9yIGhpZGRlblxyXG4gICAqL1xyXG4gIC8vIG1nR2V0VmlzaWJsZVxyXG4gIGdldFZpc2libGUoY29udHJvbElkOiBzdHJpbmcsIHJvd0lkPzogc3RyaW5nKSA6IHN0cmluZyB7XHJcbiAgICBsZXQgdmlzOiBCb29sZWFuID0gdGhpcy5nZXRQcm9wZXJ0eShjb250cm9sSWQsIEh0bWxQcm9wZXJ0aWVzLlZpc2libGUsIHJvd0lkKTtcclxuICAgIHJldHVybiB2aXMgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxwaGEgbWFzayBvZiBhIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnMgYWxwaGEgbWFzayBvZiB0aGUgY29udHJvbFxyXG4gICAqL1xyXG4gIC8vIGdldEFscGhhTWFza1xyXG4gIGdldEFscGhhTWFzayhjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOnN0cmluZ3tcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChjb250cm9sSWQpKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIGxldCBwaWM6IFBJQyA9IHRoaXMudGFzay5HZXRDb250cm9sUGljdHVyZU1hc2soY29udHJvbElkKTtcclxuICAgIGxldCBtYXNrOiBzdHJpbmcgPSBwaWMuZ2V0TWFzaygpO1xyXG4gICAgbGV0IHZhbHVlU3RyOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xyXG4gICAgICBzd2l0Y2ggKG1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19OOlxyXG4gICAgICAgICAgdmFsdWVTdHIuQXBwZW5kKFwiMFwiKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19VOlxyXG4gICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19MOlxyXG4gICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19YOlxyXG4gICAgICAgICAgdmFsdWVTdHIuQXBwZW5kKFwiQVwiKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdmFsdWVTdHIuQXBwZW5kKG1hc2suY2hhckF0KGkpKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICAocGljICE9IG51bGwpID8gdmFsdWVTdHIudG9TdHJpbmcoKSA6IG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgb2JqZWN0IHJlcHJlc2VudGluZyBudW1lcmljIHBpY3R1cmVcclxuICAgKiBAcGFyYW0gcGljdHVyZSBzdHJpbmcgd2hpY2ggaXMgZGVmaW5lZCBpbiBtYWdpY1xyXG4gICAqIEByZXR1cm5zIG9iamVjdCByZXByZXNlbnRpbmcgbnVtZXJpYyBwaWN0dXJlXHJcbiAgICovXHJcbiAgLy8gbWdHZXROdW1lcmljUGljdHVyZVxyXG4gIGdldE51bWVyaWNQaWN0dXJlKHBpY3R1cmU6IHN0cmluZykgOiBhbnkge1xyXG4gICB2YXIgb2JqID0ge307XHJcbiAgIGlmIChpc051bGxPclVuZGVmaW5lZChwaWN0dXJlKSlcclxuICAgICAgcmV0dXJuIG9iajtcclxuXHJcbiAgIGxldCBwaWM6IFBJQyA9IG5ldyBQSUMocGljdHVyZSwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKTtcclxuXHJcblxyXG5cclxuICAgb2JqWydwcmVmaXgnXSA9IFwiXCJcclxuICAgaWYgKHBpYy5nZXRQb3NQcmVmXygpLmxlbmd0aCA+IDAgJiYgcGljLmdldE5lZ1ByZWZfKCkubGVuZ3RoID4gMCkge1xyXG4gICAgIGxldCBwcmVmID0gJy0nK3BpYy5nZXRQb3NQcmVmXygpO1xyXG4gICAgIGlmIChwcmVmID09IHBpYy5nZXROZWdQcmVmXygpKVxyXG4gICAgICBvYmpbJ3ByZWZpeCddID0gcGljLmdldFBvc1ByZWZfKCk7XHJcbiAgIH1cclxuICAgaWYocGljLmdldFBvc1N1ZmZfKCkubGVuZ3RoID4gMClcclxuICAgICBvYmpbJ3N1ZmZpeCddID0gcGljLmdldFBvc1N1ZmZfKCk7XHJcbiAgIGVsc2VcclxuICAgICBvYmpbJ3N1ZmZpeCddID0gXCJcIjtcclxuXHJcbiAgIGlmKHBpYy5pc05lZ2F0aXZlKCkpXHJcbiAgICAgb2JqWydhbGxvd05lZ2F0aXZlJ10gPSB0cnVlO1xyXG4gICBlbHNlXHJcbiAgICAgb2JqWydhbGxvd05lZ2F0aXZlJ10gPSBmYWxzZTtcclxuICAgaWYocGljLmdldERlYygpPj0gMClcclxuICAgICAgb2JqWydwcmVjaXNpb24nXSA9IHBpYy5nZXREZWMoKTtcclxuXHJcbiAgIGlmKHBpYy5pc0xlZnQoKSlcclxuICAgICAgb2JqWydhbGlnbiddPVwibGVmdFwiO1xyXG5cclxuICAgb2JqWydkZWNpbWFsJ10gPSBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXREZWNpbWFsKCk7XHJcbiAgIGlmKHBpYy53aXRoQ29tYSgpKVxyXG4gICAgICBvYmpbJ3Rob3VzYW5kcyddPUd1aUVudmlyb25tZW50LkVudmlyb25tZW50LkdldFRob3VzYW5kcygpO1xyXG4gICBlbHNlXHJcbiAgICAgb2JqWyd0aG91c2FuZHMnXT1cIlwiO1xyXG5cclxuICAgIGlmKHBpYy5nZXRXaG9sZXMoKSlcclxuICAgICAgb2JqWyd3aG9sZXMnXT1waWMuZ2V0V2hvbGVzKCk7XHJcblxyXG4gICAgcmV0dXJuICAgb2JqO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIGEgY29udHJvbCBzaG91bGQgaGF2ZSB0aGUgXCJyZXF1aXJlZFwiIGF0dHJpYnV0ZSBzZXQgb24gaXRcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBtZ0dldE11c3RJbnB1dFxyXG4gIGdldE11c3RJbnB1dChjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpIDogc3RyaW5nIHtcclxuICAgIGxldCB2aXM6IEJvb2xlYW4gPSB0aGlzLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuTXVzdElucHV0LCByb3dJZCk7XHJcbiAgICByZXR1cm4gdmlzID8gJ3RydWUnIDogJ2ZhbHNlJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciBhIGNvbnRyb2wgaXMgZGlzYWJsZWRcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBtZ0lzRGlzYWJsZWRcclxuICBpc0Rpc2FibGVkKGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IGFueXtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuRW5hYmxlZCwgcm93SWQpO1xyXG4gICAgcmV0dXJuIHJlc3VsdCA9PT0gdHJ1ZSA/IG51bGwgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIC8vIGdldFByb3BlcnR5IChub3QgY2hhbmdlZClcclxuICBnZXRQcm9wZXJ0eShjb250cm9sSWQ6IHN0cmluZywgcHJvcDogSHRtbFByb3BlcnRpZXMsIHJvd0lkPzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgcHJvcCwgcm93SWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgdGl0bGUgKHRvb2x0aXApIHRleHQgb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBtZ0dldFRpdGxlXHJcbiAgZ2V0VGl0bGUoY29udHJvbElkOiBzdHJpbmcsIHJvd0lkPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5Ub29sdGlwLCByb3dJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0aXRsZSAodG9vbHRpcCkgdGV4dCBvZiB0aGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIC8vIG1nR2V0VGl0bGUgZm9yIHpvb20gYnV0dG9uXHJcbiAgZ2V0Wm9vbUJ1dHRvblRpdGxlKGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuWm9vbUJ1dHRvblRvb2x0aXAsIHJvd0lkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHNlbGVjdGlvbiBjb250cm9sJ3Mgc2VsZWN0ZWQgdmFsdWVcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBnZXRTZWxlY3RlZFZhbHVlXHJcbiAgZ2V0U2VsZWN0ZWRWYWx1ZShjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay5nZXRQcm9wZXJ0eShjb250cm9sSWQsIEh0bWxQcm9wZXJ0aWVzLlNlbGVjdGVkVmFsdWUsIHJvd0lkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHBsYWNlLWhvbGRlciB0ZXh0IG9mIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xJZCBJZCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHJvd0lkIElkIG9mIHJvdywgaWYgYXBwbGljYWJsZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgLy8gbWdHZXRQbGFjZWhvbGRlclxyXG4gIGdldFBsYWNlaG9sZGVyKGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuUGxhY2VIb2xkZXIsIHJvd0lkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSB0eXBlIGZvciBpbnB1dCBjb250cm9scyAtIHNob3VsZCB0aGUgY29udHJvbCBiZSBhIHNpbXBsZSB0ZXh0IG9yIGEgcGFzc3dvcmQgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIC8vIG1nR2V0VHlwZVxyXG4gIGdldFR5cGUoY29udHJvbElkOiBzdHJpbmcsIHJvd0lkPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5QYXNzd29yZCwgcm93SWQpO1xyXG4gICAgcmV0dXJuIHJlc3VsdCA/IFwicGFzc3dvcmRcIiA6IFwidGV4dFwiXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0YWItaW5kZXggb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBtZ0dldFRhYkluZGV4XHJcbiAgZ2V0VGFiSW5kZXgoY29udHJvbElkOiBzdHJpbmcsIHJvd0lkPzogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5UYWJJbmRleCwgcm93SWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLy8gbWdHZXRWYWx1ZSAtLT5cclxuICBnZXRWYWx1ZShjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgbGV0IHZhbCA9IHRoaXMudGFzay5nZXRWYWx1ZShjb250cm9sSWQsIHJvd0lkKTtcclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBmb3JtYXR0ZWQgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLy8gbWdHZXRWYWx1ZSAtLT5cclxuICBnZXRGb3JtYXR0ZWRWYWx1ZShjb250cm9sSWQ6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHZhbCA9IHRoaXMudGFzay5nZXRWYWx1ZShjb250cm9sSWQsIHJvd0lkKTtcclxuICAgIHZhbCA9IHRoaXMudGFzay5nZXRGb3JtYXR0ZWRWYWx1ZShjb250cm9sSWQsIHZhbCwgcm93SWQpO1xyXG4gICAgcmV0dXJuIHZhbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIFBpY3R1cmUgb2YgdGhlIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLy8gZ2V0UGljdHVyZSAtLT5cclxuICBnZXRQaWN0dXJlKGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IHN0cmluZyB7XHJcblxyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKGNvbnRyb2xJZCkpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgbGV0IHBpYzogUElDID0gdGhpcy50YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayhjb250cm9sSWQpO1xyXG4gICAgcmV0dXJuICAocGljICE9IG51bGwpID8gcGljLmdldEZvcm1hdCgpLnRvU3RyaW5nKCkgOiBudWxsO1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGN1c3RvbSAodXNlcikgcHJvcGVydGllcyBvZiB0aGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgTmFtZSBvZiByZXF1ZXN0ZWQgcHJvcGVydHlcclxuICAgKiBAcGFyYW0gcm93SWQgSWQgb2Ygcm93LCBpZiBhcHBsaWNhYmxlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICAvLyBtZ0dldEN1c3RvbVByb3BlcnR5XHJcbiAgZ2V0Q3VzdG9tUHJvcGVydHkoY29udHJvbElkOiBzdHJpbmcsIHByb3BlcnR5TmFtZU9yUm93SUQ/OiBzdHJpbmcsIHJvd0lkPzogc3RyaW5nKSA6IGFueVxyXG4gIHtcclxuICAgIGlmKGNvbnRyb2xJZC5pbmRleE9mKCd+Jyk9PSAtMSlcclxuICAgIHJldHVybiB0aGlzLmdldEN1c3RvbVByb3BlcnR5XzEoY29udHJvbElkLCBwcm9wZXJ0eU5hbWVPclJvd0lELCByb3dJZCk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0ICBjaWQ6IHN0cmluZyA9IGNvbnRyb2xJZC5zcGxpdCgnficpWzBdO1xyXG4gICAgICBsZXQgIHByb3BOYW1lOiBzdHJpbmcgPSBjb250cm9sSWQuc3BsaXQoJ34nKVsxXTtcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmdldEN1c3RvbVByb3BlcnR5XzEoY2lkLCBwcm9wTmFtZSwgcHJvcGVydHlOYW1lT3JSb3dJRCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDdXN0b21Qcm9wZXJ0eV8xKGNvbnRyb2xJZDogc3RyaW5nLCBwcm9wZXJ0eU5hbWU6IHN0cmluZywgcm93SWQ/OiBzdHJpbmcpXHJcbiAge1xyXG4gICAgbGV0IHVzZXJQcm9wZXJ0aWVzO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHJvd0lkKSlcclxuICAgICAgcm93SWQgPSAnMCc7XHJcbiAgICBsZXQgcmVjID0gdGhpcy50YXNrLlJlY29yZHMubGlzdFtyb3dJZF07XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQocmVjKSlcclxuICAgICAgZGVidWdnZXI7XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgY29udHJvbE1ldGFkYXRhID0gcmVjLmdldENvbnRyb2xNZXRhZGF0YShjb250cm9sSWQpO1xyXG5cclxuICAgICAgaWYgKGNvbnRyb2xNZXRhZGF0YS51c2VyUHJvcGVydGllcy5oYXMocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIHVzZXJQcm9wZXJ0aWVzID0gY29udHJvbE1ldGFkYXRhLnVzZXJQcm9wZXJ0aWVzLmdldChwcm9wZXJ0eU5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlclByb3BlcnRpZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB2YWx1ZXMgb2YgdGhlIGl0ZW1zIG9mIGEgc2VsZWN0aW9uIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gaWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIC8vIG1nR2V0SXRlbUxpc3RWYWx1ZXNcclxuICBnZXRJdGVtTGlzdFZhbHVlcyhpZDogc3RyaW5nLCByb3dJZD86IHN0cmluZykgOiBBcnJheTx7aW5kZXg6IG51bWJlciwgZGlzcGxheVZhbHVlOiBzdHJpbmd9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShpZCwgSHRtbFByb3BlcnRpZXMuSXRlbXNMaXN0LCByb3dJZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBmaWx0ZXJlZCBpdGVtcyBsaXN0IGJhc2VkIG9uIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjb250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xJZCBJZCBvZiBjb250cm9sXHJcbiAgICogQHBhcmFtIHJvd0lkIElkIG9mIHJvdywgaWYgYXBwbGljYWJsZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0RmlsdGVyZWRMaXN0KGNvbnRyb2xJZDogc3RyaW5nLCByb3dJZD86IHN0cmluZyk6IEFycmF5PHtpbmRleDogbnVtYmVyLCBkaXNwbGF5VmFsdWU6IHN0cmluZ30+IHtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChyb3dJZCkpXHJcbiAgICAgIHJvd0lkID0gJzAnO1xyXG5cclxuICAgIGxldCBpdGVtcyA9IHRoaXMuZ2V0SXRlbUxpc3RWYWx1ZXMoY29udHJvbElkLCByb3dJZCk7XHJcbiAgICBsZXQgdmFsdWU6IHN0cmluZyA9IHRoaXMudGFzay5nZXRGb3JtQ29udHJvbChyb3dJZCwgY29udHJvbElkKS52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gXCJcIiAmJiBpdGVtcyBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLmRpc3BsYXlWYWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBpdGVtcztcclxuICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogR2V0cyB0aGUgZGlzcGxheSB2YWx1ZSBvZiB0aGUgaXRlbSBmcm9tIGl0ZW1zIG9mIGEgc2VsZWN0aW9uIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gaWQgSWQgb2YgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dJZCBJZCBvZiByb3csIGlmIGFwcGxpY2FibGVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldERpc3BsYXlWYWx1ZShpZCwgcm93SWQ/KSB7XHJcbiAgICBsZXQgZGlzcGxheVZhbHVlOnN0cmluZyA9XCJcIlxyXG5cclxuICAgIGxldCBvID0gIHRoaXMuZ2V0UHJvcGVydHkoaWQsIEh0bWxQcm9wZXJ0aWVzLkl0ZW1zTGlzdCwgcm93SWQpO1xyXG4gICAgbGV0IHZhbHVlID0gdGhpcy50YXNrLmdldFZhbHVlKGlkLCByb3dJZClcclxuICAgIGlmICh2YWx1ZSA+PTAgJiYgdmFsdWUgPG8ubGVuZ3RoICAmJiAhaXNOdWxsT3JVbmRlZmluZWQob1t2YWx1ZV0pKVxyXG4gICAgICBkaXNwbGF5VmFsdWUgPSBvW3ZhbHVlXS5kaXNwbGF5VmFsdWU7XHJcbiAgICByZXR1cm4gZGlzcGxheVZhbHVlXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHdoZXRoZXIgYSB0YWIgcGFnZSBpcyBzZWxlY3RlZCBvciBub3RcclxuICAgKiBAcGFyYW0gIGluZGV4IG9mIGN1cnJlbnQgb3B0aW9uIGluIGl0ZXJhcm90clxyXG4gICAqIEBwYXJhbSBjb250cm9sIElkIG9mIGxpc3QgY29udHJvbFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovIC8vIGlzT3B0aW9uU2VsZWN0ZWRcclxuICBpc09wdGlvblNlbGVjdGVkKGluZGV4LCBjb250cm9sSWQpIHtcclxuICAgIGxldCB2YWwgPSB0aGlzLnRhc2suZ2V0VmFsdWUoY29udHJvbElkLCBcIjBcIik7XHJcbiAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdmFsKSB7XHJcbiAgICAgICAgICAgaWYgKGl0ZW0gPT09IGluZGV4KVxyXG4gICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgYSB0YWIgcGFnZSBpcyBzZWxlY3RlZCBvciBub3QgLSB1c2VkIGZvciB0aGUgdGFiIGJ1dHRvbnNcclxuICAgICAqIEBwYXJhbSBjb250cm9sSWQgSWQgb2YgY29udHJvbFxyXG4gICAgICogQHBhcmFtICBsYXllciBJZCBvZiB0aGUgdGFiIHBhZ2VcclxuICAgICAqIEByZXR1cm5zXHJcbiAgICAgKi8gLy8gbWdJc1RhYlBhZ2VTZWxlY3RlZFxyXG4gIGlzVGFiUGFnZVNlbGVjdGVkKGNvbnRyb2xJZDogc3RyaW5nLCBsYXllcjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdmFsID0gdGhpcy50YXNrLmdldFByb3BlcnR5KGNvbnRyb2xJZCwgSHRtbFByb3BlcnRpZXMuU2VsZWN0ZWRWYWx1ZSk7XHJcbiAgICByZXR1cm4gdmFsID09IChsYXllciAtIDEpOyAvLyBjb21wYXJpbmcgc3RyaW5nIHRvIG51bWJlciFcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgd2hldGhlciBhIHRhYiBwYWdlIGxheWVyIGlzIHNlbGVjdGVkIG9yIG5vdCAtIHVzZWQgZm9yIHRoZSBkaXYgd2hpY2ggcmVwcmVzZW50cyB0aGUgdGFiIHBhZ2VcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gIGxheWVyIElkIG9mIHRoZSB0YWIgcGFnZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovIC8vIG1nSXNUYWJMYXllclNlbGVjdGVkXHJcbiAgaXNUYWJQYWdlTGF5ZXJTZWxlY3RlZChjb250cm9sSWQ6IHN0cmluZywgbGF5ZXI6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHZhbCA9IHRoaXMudGFzay5nZXRQcm9wZXJ0eShjb250cm9sSWQsIEh0bWxQcm9wZXJ0aWVzLlNlbGVjdGVkTGF5ZXIpO1xyXG4gICAgcmV0dXJuIHZhbCA9PSAobGF5ZXIgLSAxKTsgLy8gY29tcGFyaW5nIHN0cmluZyB0byBudW1iZXIhXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgc2VsZWN0ZWQgdGFiIHBhZ2VcclxuICAgKiBAcGFyYW0gY29udHJvbElkIElkIG9mIGNvbnRyb2xcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldFRhYlNlbGVjdGVkSW5kZXgoY29udHJvbElkOiBzdHJpbmcpIHtcclxuICAgIGxldCB2YWwgPSB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5TZWxlY3RlZFZhbHVlKTtcclxuICAgIHJldHVybiB2YWw7IC8vIGNvbXBhcmluZyBzdHJpbmcgdG8gbnVtYmVyIVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIHByaXZhdGUgbWV0aG9kZXNcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8gbWdJZlJvd0NyZWF0ZWRcclxuICBpZlJvd0NyZWF0ZWQocm93KTogYm9vbGVhbiB7XHJcbiAgICBpZiAocm93ID09IG51bGwpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIGxldCByb3dJZCA9IHR5cGVvZiByb3cgPT0gXCJudW1iZXJcIiA/IHJvdy50b1N0cmluZygpIDogcm93LnJvd0lkO1xyXG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuZ2V0Rm9ybUdyb3VwQnlSb3cocm93SWQpO1xyXG4gICAgcmV0dXJuICFpc051bGxPclVuZGVmaW5lZChyZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIC8vIG1nR2V0Rm9ybUdyb3VwQnlSb3dcclxuICBnZXRGb3JtR3JvdXBCeVJvdyhpZDogc3RyaW5nKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLnRhc2suZm9ybUdyb3Vwc1tpZF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8gaXNSb3dTZWxlY3RlZCAobm90IGNoYW5nZWQpXHJcbiAgaXNSb3dTZWxlY3RlZChjb250cm9sSWQsIHJvd0lkPykge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRSb3cgPSB0aGlzLnRhc2suZ2V0UHJvcGVydHkoY29udHJvbElkLCBIdG1sUHJvcGVydGllcy5TZWxlY3RlZFJvdywgXCIwXCIpO1xyXG4gICAgcmV0dXJuIHNlbGVjdGVkUm93ID09IHJvd0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIGEgcm93IGlzIGluIGVkaXQgc3RhdGVcclxuICAgKiBAcGFyYW0gcm93XHJcbiAgICovXHJcbiAgaXNSb3dJblJvd0VkaXRpbmcocm93PzogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgZ3VpUm93SWQgOiBzdHJpbmcgPSAnMCc7XHJcbiAgICBndWlSb3dJZD0gdHlwZW9mIHJvdyA9PSBcIm51bWJlclwiID8gcm93LnRvU3RyaW5nKCkgOiByb3cucm93SWQ7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmlzUm93SW5Sb3dFZGl0aW5nKGd1aVJvd0lkKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIGEgcm93IGlzIGluIGVkaXQgc3RhdGUsIHVzZSB0aGlzIG1ldGhvZCB3aGlsZSBjb250cm9sIG91dHNpZGUgdGFibGUgY29udHJvbFxyXG4gICAqIEBwYXJhbSByb3dcclxuICAgKi9cclxuICBpc0N1cnJlbnRJblJvd0VkaXRpbmcoKTogYm9vbGVhbiB7XHJcblxyXG4gICAgbGV0IHJvdyAgPSB0aGlzLnRhc2sudGFibGVTZXJ2aWNlLmdldFNlbGVjdGVkUm93KCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudGFzay5pc1Jvd0luUm93RWRpdGluZyhyb3cpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8gR2V0R3VpVG9wSW5kZXhcclxuICBndWlUb3BJbmRleCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay50YWJsZVNlcnZpY2UuZ2V0VGFibGVUb3BJbmRleCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldEVyck1zZyhpZDogc3RyaW5nLHJvd0lkOiBzdHJpbmcpOiBzdHJpbmdcclxuICB7XHJcbiAgICBsZXQgYyA9IHRoaXMudGFzay5nZXRGb3JtQ29udHJvbChyb3dJZCwgaWQpO1xyXG4gICAgaWYgKGMuaGFzRXJyb3IoJ3JlcXVpcmVkJykpXHJcbiAgICAgIHJldHVybiAnQ29udHJvbCBtdXN0IGJlIHVwZGF0ZWQuJztcclxuICAgIGlmIChjLmhhc0Vycm9yKCdwYXR0ZXJuJykpe1xyXG4gICAgICAvL1RvIGNoZWNrIHdoZXRoZXIgdGhlIG51bWVyaWMgZmllbGQgYWxsb3dlZCBvbmx5IHBvc2l0aXZlIHZhbHVlcyBvciBub3QuXHJcbiAgICAgIGlmKGMuZXJyb3JzLnBhdHRlcm4uYWN0dWFsVmFsdWUgPCAwICYmICFjLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybi5pbmNsdWRlcygnLScpKVxyXG4gICAgICAgIHJldHVybiAnVmFsdWUgbXVzdCBiZSBub24tbmVnYXRpdmUnO1xyXG4gICAgICBpZihjLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybi5pbmNsdWRlcygnLicpKXtcclxuICAgICAgICBjb25zdCBudW1lcmljRm9ybWF0ID0gTWF0aC5hYnMoYy5lcnJvcnMucGF0dGVybi5hY3R1YWxWYWx1ZSkudG9TdHJpbmcoKS5zcGxpdCgnLicpWzBdO1xyXG4gICAgICAgIGNvbnN0IGRlY2ltYWxGb3JtYXQgPSBNYXRoLmFicyhjLmVycm9ycy5wYXR0ZXJuLmFjdHVhbFZhbHVlKS50b1N0cmluZygpLnNwbGl0KCcuJylbMV07XHJcbiAgICAgICAgY29uc3QgYWN0dWFsTnVtZXJpY0xpbWl0ID0gYy5lcnJvcnMucGF0dGVybi5yZXF1aXJlZFBhdHRlcm4ubWF0Y2goLywoXFxkKykvKVsxXTtcclxuICAgICAgICBjb25zdCBhY3R1YWxEZWNpbWFsTGltaXQgPSBjLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybi5tYXRjaCgvKD86W14sXSssKXsyfShcXGQrKS8pWzFdO1xyXG4gICAgICAgIGlmKG51bWVyaWNGb3JtYXQubGVuZ3RoID4gYWN0dWFsTnVtZXJpY0xpbWl0IHx8IGRlY2ltYWxGb3JtYXQubGVuZ3RoID4gYWN0dWFsRGVjaW1hbExpbWl0KXtcclxuICAgICAgICAgIHJldHVybiBcIk51bWVyaWMgZm9ybWF0IGlzIGxpbWl0ZWQgdG8gXCIgKyBhY3R1YWxOdW1lcmljTGltaXQgKyBcIi5cIisgYWN0dWFsRGVjaW1hbExpbWl0ICsgXCIgZGlnaXRzXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNlIGlmKCFjLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybi5pbmNsdWRlcygnLicpICYmICFOdW1iZXIuaXNJbnRlZ2VyKGMuZXJyb3JzLnBhdHRlcm4uYWN0dWFsVmFsdWUpKXtcclxuICAgICAgICBjb25zdCBhY3R1YWxOdW1lcmljTGltaXQgPSBjLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybi5tYXRjaCgvLChcXGQrKS8pWzFdO1xyXG4gICAgICAgIHJldHVybiBcIk51bWVyaWMgZm9ybWF0IGlzIGxpbWl0ZWQgdG8gXCIgKyBhY3R1YWxOdW1lcmljTGltaXQgKyBcIi5cIisgMCArIFwiIGRpZ2l0c1wiXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGNvbnN0IG51bWVyaWNGb3JtYXQgPSBNYXRoLmFicyhjLmVycm9ycy5wYXR0ZXJuLmFjdHVhbFZhbHVlKS50b1N0cmluZygpO1xyXG4gICAgICAgIGNvbnN0IGFjdHVhbE51bWVyaWNMaW1pdCA9IGMuZXJyb3JzLnBhdHRlcm4ucmVxdWlyZWRQYXR0ZXJuLm1hdGNoKC8sKFxcZCspLylbMV07XHJcbiAgICAgICAgaWYobnVtZXJpY0Zvcm1hdC5sZW5ndGggPiBhY3R1YWxOdW1lcmljTGltaXQpe1xyXG4gICAgICAgICAgcmV0dXJuIFwiTnVtZXJpYyBmb3JtYXQgaXMgbGltaXRlZCB0byBcIiArIGFjdHVhbE51bWVyaWNMaW1pdCArIFwiLlwiKyAwICsgXCIgZGlnaXRzXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChjLmhhc0Vycm9yKCdyYW5nZXZhbGlkYXRvcicpKVxyXG4gICAgICByZXR1cm4gYy5lcnJvcnMucmFuZ2V2YWxpZGF0b3IuZXJyb3JNc2c7XHJcbiAgICBpZiAoYy5oYXNFcnJvcignbWF4bGVuZ3RoJykpXHJcbiAgICAgIHJldHVybiAnTWF4IGxlbmd0aCBhbGxvd2VkIGlzIDogJyArIGMuZXJyb3JzLm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aDtcclxuICAgIGlmIChjLmhhc0Vycm9yKCdtYXgnKSlcclxuICAgICAgcmV0dXJuICdNYXggdmFsdWUgYWxsb3dlZCBpcyA6ICcgKyBjLmVycm9ycy5tYXgubWF4O1xyXG5cclxuICAgIGxldCBjb250cm9sTWV0YWRhdGEgPSB0aGlzLnRhc2suUmVjb3Jkcy5saXN0W3Jvd0lkXS5nZXRDb250cm9sTWV0YWRhdGEoaWQpO1xyXG4gICAgZm9yIChsZXQga2V5IG9mIGNvbnRyb2xNZXRhZGF0YS5jdXN0b21WYWxpZGF0b3JzLmtleXMoKSlcclxuICAgIHtcclxuICAgICAgaWYgKGMuaGFzRXJyb3Ioa2V5KSkge1xyXG4gICAgICAgIGxldCBjdXN0b21WYWxpZGF0b3I6IEN1c3RvbVZhbGlkYXRvciAgPSBjb250cm9sTWV0YWRhdGEuY3VzdG9tVmFsaWRhdG9ycy5nZXQoa2V5KTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tVmFsaWRhdG9yLmdldEVyck1lc3NhZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAndW5rbm93biBlcnJvcic7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGEgdXNlci1zdXBwbGllZCB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWVcclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKiBAcGFyYW0gcmVmcmVzaERpc3BsYXlcclxuICAgKi9cclxuICBzZXRWYWx1ZVRvQ29udHJvbChjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCByZWZyZXNoRGlzcGxheT86IGJvb2xlYW4pe1xyXG4gICAgaWYodHlwZW9mIHJlZnJlc2hEaXNwbGF5ID09PSBcInVuZGVmaW5lZFwiKVxyXG4gICAgICByZWZyZXNoRGlzcGxheSA9IHRydWU7XHJcbiAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwic2V0ZXh0ZXJuYWx2YWx1ZVwiLCBjb250cm9sTmFtZSwgMCk7XHJcbiAgICBndWlFdmVudC5leHRlcm5hbFZhbHVlID0gdmFsdWU7XHJcbiAgICBndWlFdmVudC5wYXJhbSA9IHJlZnJlc2hEaXNwbGF5O1xyXG4gICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG4gIGlzRGF0YXZpZXdFbXB0eSgpIDogYm9vbGVhbiB7XHJcbiAgICAgcmV0dXJuIHRoaXMudGFzay5SZWNvcmRzLmlzRW1wdHlEYXRhVmlldztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHNpbXVsYXRlcyBhIGNsaWNrIGV2ZW50IG9uIHRoZSBzcGVjaWZpZWQgY29udHJvbCwgZm9yIHRoZSBNYWdpYyBlbmdpbmVcclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWVcclxuICAgKiBAcGFyYW0gcm93SWRcclxuICAgKi9cclxuICBzaW11bGF0ZUNsaWNrKGNvbnRyb2xOYW1lOiBzdHJpbmcsIHJvd0lkPzogbnVtYmVyKXtcclxuICAgIGlmICh0eXBlb2Ygcm93SWQgPT09IFwidW5kZWZpbmVkXCIpXHJcbiAgICAgIHJvd0lkID0gMDtcclxuICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChnZXRHdWlFdmVudE9iaignY2xpY2snLCBjb250cm9sTmFtZSwgcm93SWQpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBCb29sZWFuIFRSVUUgaWYgdXNlciBsb2dnZWQgaW4gRWxzZSBpdCB3aWxsIHJldHVybiBGQUxTRVxyXG4gICAqL1xyXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLmdldElzTG9nZ2VuSW4oKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgSlMgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlY29yZHMgd2l0aCBhbGwgdGFibGUgZmllbGRzLlxyXG4gICAqL1xyXG4gIEdldEZvcm1SZWNvcmRzKCk6IGFueSB7XHJcbiAgICBsZXQgcm93SWQ6IG51bWJlciA9IDA7XHJcbiAgICBsZXQgcmVjQXJyYXk6IGFueTtcclxuXHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudGFzay5SZWNvcmRzKSAmJiB0aGlzLnRhc2suUmVjb3Jkcy5saXN0Lmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgIGxldCByZWNMaXN0OiBDb250cm9sc01ldGFkYXRhW10gPSB0aGlzLnRhc2suUmVjb3Jkcy5saXN0O1xyXG4gICAgICBsZXQgdGFibGVDb250cm9sczogc3RyaW5nW10gPSBuZXcgQXJyYXkoKTtcclxuXHJcbiAgICAgIC8vR2VuZXJhdGUgbGlzdCBvZiB0YWJsZSBmaWVsZHMgbmFtZXNcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy50YXNrLnRlbXBsYXRlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGFzay50ZW1wbGF0ZVtrZXldID09ICcxJylcclxuICAgICAgICAgIHRhYmxlQ29udHJvbHMucHVzaChrZXkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZWNBcnJheSA9IG5ldyBBcnJheSgpO1xyXG5cclxuICAgICAgLy9VcGRhdGUgdGhlIHJlY29yZHMgYXMgbGlzdCBvZiBvYmplY3RzIHdpdGggdmFsdWVzIGZvciB0YWJsZSBmaWVsZHMuXHJcbiAgICAgIGlmICh0YWJsZUNvbnRyb2xzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZWNMaXN0LmZvckVhY2goKGN0cmxNZXRhRGF0YTogQ29udHJvbHNNZXRhZGF0YSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMudGFzay5SZWNvcmRzLmlzUm93Q3JlYXRlZChyb3dJZCkpIHtcclxuICAgICAgICAgICAgdmFyIGZvcm1SZWNvcmQgPSB7fTtcclxuICAgICAgICAgICAgZm9ybVJlY29yZFsncm93SWQnXSA9IHJvd0lkO1xyXG4gICAgICAgICAgICB0YWJsZUNvbnRyb2xzLmZvckVhY2goKGN0cmxJZDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgZm9ybVJlY29yZFtjdHJsSWRdID0gY3RybE1ldGFEYXRhLnZhbHVlc1tjdHJsSWRdO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJlY0FycmF5LnB1c2goZm9ybVJlY29yZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZWNBcnJheTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldENvb2tpZSA6IHNldCB0aGUgY29va2llIHdpdGggc3BlY2lmaWVkIG5hbWUgYW5kIHZhbHVlICBpbiBicm93c2VyXHJcbiAgICogZXhwaXJlcyAtIGV4cGlyYXRpb24gdGltZVxyXG4gICAqIHBhdGggLSBwYXRoIHdoaWNoIG11Y2ggZXhpc3RzIGluIG9yZGVyIHNvIHRoYXQgY29va2llIGlzIHNlbnQgYXMgaGVhZGVyXHJcbiAgICogZG9tYWluIC0gc3BlY2lmaWVzIHdoaWNoIGhvc3RzIGFyZSBhbGxvd2VkIHRvIHJlY2VpdmUgdGhlIGNvb2tpZVxyXG4gICAqIHNlY3VyZSAtIHNwZWNpZmllcyBpZiBjb29raWUgaXMgc2VjdXJlICggd29ya3Mgb25seSB3aXRoIEhUVFBTKVxyXG4gICAqIHNhbWVTaXRlIC0gbGV0cyBzZXJ2ZXJzIHNwZWNpZnkgd2hldGhlci93aGVuIGNvb2tpZXMgYXJlIHNlbnQgd2l0aCBjcm9zcy1zaXRlIHJlcXVlc3RzXHJcbiAgICovXHJcbiAgU2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgZXhwaXJlcz86IERhdGUsIHBhdGg/ICwgZG9tYWluPyAsIHNlY3VyZT8sIHNhbWVTaXRlID8pIHtcclxuICAgIENvb2tpZVNlcnZpY2Uuc2V0Q29va2llKG5hbWUsIHZhbHVlLCBleHBpcmVzLCBwYXRoLCBkb21haW4sIHNlY3VyZSwgc2FtZVNpdGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0Q29va2llIDogZ2V0IHRoZSBjb29raWUgd2l0aCBzcGVjaWZpZWQgbmFtZSBhbmQgdmFsdWUgIGluIGJyb3dzZXJcclxuICAgKi9cclxuICBHZXRDb29raWUobmFtZTogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBDb29raWVTZXJ2aWNlLmdldENvb2tpZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZUNvb2tpZSA6IGRlbGV0ZXMgdGhlIGNvb2tpZVxyXG4gICAqL1xyXG4gIERlbGV0ZUNvb2tpZShuYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgcmV0dXJuIENvb2tpZVNlcnZpY2UuZGVsZXRlQ29va2llKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgIC8qKlxyXG4gICAqIGdldCBSR0JBIGNvbG9yIGZyb20gY29sb3IgZmlsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDb2xvcihjb2xvck51bWJlcjogbnVtYmVyLCBjb2xvclR5cGUpIHtcclxuICAgIHJldHVybiB0aGlzLm1hZ2ljQ29sb3IuZ2V0Q29sb3IoY29sb3JOdW1iZXIsIGNvbG9yVHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,47 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { EngineMagicService } from './engine.magic.service';
|
3
|
-
import { List } from '@magic-xpa/mscorelib';
|
4
|
-
import { Logger } from '@magic-xpa/utils';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "./engine.magic.service";
|
7
|
-
export class CommandsCollectorMagicService {
|
8
|
-
magic;
|
9
|
-
count = 0;
|
10
|
-
commands = new List();
|
11
|
-
subscription = null;
|
12
|
-
constructor(magic) {
|
13
|
-
this.magic = magic;
|
14
|
-
}
|
15
|
-
startCollecting() {
|
16
|
-
this.count++;
|
17
|
-
Logger.Instance.WriteDevToLog("CommandsCollectorMagicService.startCollecting() --- " + this.count);
|
18
|
-
if (this.subscription === null) {
|
19
|
-
this.subscription = this.magic.refreshDom
|
20
|
-
.subscribe(command => {
|
21
|
-
this.commands.push(command);
|
22
|
-
});
|
23
|
-
}
|
24
|
-
}
|
25
|
-
stopCollecting() {
|
26
|
-
this.count--;
|
27
|
-
Logger.Instance.WriteDevToLog("CommandsCollectorMagicService.stopCollecting() --- " + this.count);
|
28
|
-
if (this.count === 0) {
|
29
|
-
this.subscription.unsubscribe();
|
30
|
-
this.subscription = null;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
GetCommands(taskId) {
|
34
|
-
const commands = this.commands.filter((command) => command.TaskTag === taskId);
|
35
|
-
commands.forEach(command => { this.commands.Remove(command); });
|
36
|
-
return commands;
|
37
|
-
}
|
38
|
-
static ɵfac = function CommandsCollectorMagicService_Factory(t) { return new (t || CommandsCollectorMagicService)(i0.ɵɵinject(i1.EngineMagicService)); };
|
39
|
-
static ɵprov = i0.ɵɵdefineInjectable({ token: CommandsCollectorMagicService, factory: CommandsCollectorMagicService.ɵfac, providedIn: 'root' });
|
40
|
-
}
|
41
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommandsCollectorMagicService, [{
|
42
|
-
type: Injectable,
|
43
|
-
args: [{
|
44
|
-
providedIn: 'root'
|
45
|
-
}]
|
46
|
-
}], () => [{ type: i1.EngineMagicService }], null); })();
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZHMtY29sbGVjdG9yLm1hZ2ljLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVMxQyxNQUFNLE9BQU8sNkJBQTZCO0lBS2xCO0lBSmQsS0FBSyxHQUFXLENBQUMsQ0FBQztJQUNsQixRQUFRLEdBQXFCLElBQUksSUFBSSxFQUFjLENBQUM7SUFDcEQsWUFBWSxHQUFpQixJQUFJLENBQUM7SUFFMUMsWUFBc0IsS0FBeUI7UUFBekIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzREFBc0QsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkcsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRTtZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtpQkFDdEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxREFBcUQsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEcsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sUUFBUSxHQUFpQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBRSxDQUFDLE9BQW1CLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDMUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEUsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzt1RkFuQ1UsNkJBQTZCO2tEQUE3Qiw2QkFBNkIsV0FBN0IsNkJBQTZCLG1CQUY1QixNQUFNOztpRkFFUCw2QkFBNkI7Y0FIekMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbmdpbmVNYWdpY1NlcnZpY2UgfSBmcm9tICcuL2VuZ2luZS5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3VpQ29tbWFuZCB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgTGlzdCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvdW50OiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgY29tbWFuZHM6IExpc3Q8R3VpQ29tbWFuZD4gPSBuZXcgTGlzdDxHdWlDb21tYW5kPigpO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbWFnaWM6IEVuZ2luZU1hZ2ljU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgc3RhcnRDb2xsZWN0aW5nKCkge1xyXG4gICAgdGhpcy5jb3VudCsrO1xyXG4gICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2coXCJDb21tYW5kc0NvbGxlY3Rvck1hZ2ljU2VydmljZS5zdGFydENvbGxlY3RpbmcoKSAtLS0gXCIgKyB0aGlzLmNvdW50KTtcclxuXHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24gPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm1hZ2ljLnJlZnJlc2hEb21cclxuICAgICAgICAuc3Vic2NyaWJlKGNvbW1hbmQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21tYW5kcy5wdXNoKGNvbW1hbmQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcENvbGxlY3RpbmcoKSB7XHJcbiAgICB0aGlzLmNvdW50LS07XHJcbiAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVEZXZUb0xvZyhcIkNvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlLnN0b3BDb2xsZWN0aW5nKCkgLS0tIFwiICsgdGhpcy5jb3VudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY291bnQgPT09IDApIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgR2V0Q29tbWFuZHModGFza0lkOiBzdHJpbmcpOiBHdWlDb21tYW5kW10ge1xyXG4gICAgY29uc3QgY29tbWFuZHM6IEd1aUNvbW1hbmRbXSA9IHRoaXMuY29tbWFuZHMuZmlsdGVyKCAoY29tbWFuZDogR3VpQ29tbWFuZCkgPT4gY29tbWFuZC5UYXNrVGFnID09PSB0YXNrSWQpO1xyXG4gICAgY29tbWFuZHMuZm9yRWFjaChjb21tYW5kID0+IHsgdGhpcy5jb21tYW5kcy5SZW1vdmUoY29tbWFuZCk7IH0pO1xyXG5cclxuICAgIHJldHVybiBjb21tYW5kcztcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class ComponentListMagicService {
|
4
|
-
components = new Map();
|
5
|
-
dialogs = new Map();
|
6
|
-
lazyLoadModulesMap = null;
|
7
|
-
getData(name, mustHaveData) {
|
8
|
-
let data = null;
|
9
|
-
let haveData = this.components.has(name);
|
10
|
-
if (!haveData && mustHaveData) {
|
11
|
-
console.log("Error: Component: " + name + " does not exist in components map");
|
12
|
-
}
|
13
|
-
if (haveData)
|
14
|
-
data = this.components.get(name);
|
15
|
-
return data;
|
16
|
-
}
|
17
|
-
getComponent(name, mustHaveData = true) {
|
18
|
-
let data = this.getData(name, mustHaveData);
|
19
|
-
return data ? data.component : null;
|
20
|
-
}
|
21
|
-
addComponents(componentList, modulRef) {
|
22
|
-
for (let key in componentList) {
|
23
|
-
let data = { moduleRef: modulRef, component: componentList[key] };
|
24
|
-
this.components.set(key, data);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
getModuleRef(name) {
|
28
|
-
let data = this.getData(name, false);
|
29
|
-
return data ? data.moduleRef : null;
|
30
|
-
;
|
31
|
-
}
|
32
|
-
getLazyLoadModuleData(name) {
|
33
|
-
return (this.lazyLoadModulesMap != null && this.lazyLoadModulesMap.hasOwnProperty(name)) ? this.lazyLoadModulesMap[name] : null;
|
34
|
-
}
|
35
|
-
title;
|
36
|
-
static ɵfac = function ComponentListMagicService_Factory(t) { return new (t || ComponentListMagicService)(); };
|
37
|
-
static ɵprov = i0.ɵɵdefineInjectable({ token: ComponentListMagicService, factory: ComponentListMagicService.ɵfac, providedIn: 'root' });
|
38
|
-
}
|
39
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComponentListMagicService, [{
|
40
|
-
type: Injectable,
|
41
|
-
args: [{
|
42
|
-
providedIn: 'root'
|
43
|
-
}]
|
44
|
-
}], null, null); })();
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFtQnhELE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsVUFBVSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0lBSTdDLE9BQU8sR0FBTSxJQUFJLEdBQUcsRUFBYyxDQUFDO0lBRW5DLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUUxQixPQUFPLENBQUMsSUFBVyxFQUFHLFlBQXFCO1FBQ3pDLElBQUksSUFBSSxHQUFpQixJQUFJLENBQUM7UUFFOUIsSUFBSSxRQUFRLEdBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsbUNBQW1DLENBQUMsQ0FBQztTQUNoRjtRQUVELElBQUksUUFBUTtZQUNWLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFRRCxZQUFZLENBQUMsSUFBVyxFQUFFLGVBQXVCLElBQUk7UUFDbkQsSUFBSSxJQUFJLEdBQWtCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBQzFELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxhQUFpQixFQUFHLFFBQTBCO1FBQzNELEtBQUksSUFBSSxHQUFHLElBQUksYUFBYSxFQUFDO1lBQzNCLElBQUksSUFBSSxHQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFPRCxZQUFZLENBQUUsSUFBVztRQUN2QixJQUFJLElBQUksR0FBa0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbkQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUFBLENBQUM7SUFDdkMsQ0FBQztJQU9ELHFCQUFxQixDQUFFLElBQVc7UUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsSSxDQUFDO0lBS0QsS0FBSyxDQUFVO21GQW5FSix5QkFBeUI7a0RBQXpCLHlCQUF5QixXQUF6Qix5QkFBeUIsbUJBRnhCLE1BQU07O2lGQUVQLHlCQUF5QjtjQUhyQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50RGF0YSB7XHJcbiAgY29tcG9uZW50OmFueTtcclxuICBtb2R1bGVSZWY6TmdNb2R1bGVSZWY8YW55PjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVEYXRhIHtcclxuICBtb2R1bGVOYW1lOiBzdHJpbmc7XHJcbiAgbW9kdWxlUGF0aDogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogTWFuYWdlcyB0aGUgbGlzdCBvZiBjb21wb25lbnRzIGluIGEgcHJvamVjdCwgYW5kIHRoZSBwcm9qZWN0IHRpdGxlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNle1xyXG5cclxuICAvKipcclxuICAgKiBNYXAgb2YgcHJvamVjdCBjb21wb25lbnRzXHJcbiAgICovXHJcbiAgY29tcG9uZW50cyA9IG5ldyBNYXA8c3RyaW5nLENvbXBvbmVudERhdGE+KCk7XHJcbiAgLyoqXHJcbiAgICogTWFwIG9mIHByb2plY3QgZGlhbG9nc1xyXG4gICAqL1xyXG4gIGRpYWxvZ3MgICAgPSBuZXcgTWFwPHN0cmluZyxhbnk+KCk7XHJcblxyXG4gIGxhenlMb2FkTW9kdWxlc01hcCA9IG51bGw7XHJcblxyXG4gIGdldERhdGEobmFtZTpzdHJpbmcsICBtdXN0SGF2ZURhdGE6IGJvb2xlYW4pe1xyXG4gICAgbGV0IGRhdGEgOkNvbXBvbmVudERhdGE9IG51bGw7XHJcblxyXG4gICAgbGV0IGhhdmVEYXRhOiBib29sZWFuICA9dGhpcy5jb21wb25lbnRzLmhhcyhuYW1lKTtcclxuICAgIGlmICghaGF2ZURhdGEgJiYgbXVzdEhhdmVEYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRXJyb3I6IENvbXBvbmVudDogXCIgKyBuYW1lICsgXCIgZG9lcyBub3QgZXhpc3QgaW4gY29tcG9uZW50cyBtYXBcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGhhdmVEYXRhKVxyXG4gICAgICBkYXRhID0gdGhpcy5jb21wb25lbnRzLmdldChuYW1lKVxyXG5cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhIGNvbXBvbmVudCBhY2NvcmRpbmcgdG8gbmFtZVxyXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgcmVxdWVzdGVkIGNvbXBvbmVudFxyXG4gICAqIEByZXR1cm5zIFRoZSByZXF1ZXN0ZWQgY29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0Q29tcG9uZW50KG5hbWU6c3RyaW5nLCBtdXN0SGF2ZURhdGE6Ym9vbGVhbiA9IHRydWUpe1xyXG4gICAgbGV0IGRhdGE6IENvbXBvbmVudERhdGEgPSB0aGlzLmdldERhdGEobmFtZSwgbXVzdEhhdmVEYXRhKVxyXG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLmNvbXBvbmVudCA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBhZGRDb21wb25lbnRzKGNvbXBvbmVudExpc3Q6YW55ICwgbW9kdWxSZWY/Ok5nTW9kdWxlUmVmPGFueT4pe1xyXG4gICBmb3IobGV0IGtleSBpbiBjb21wb25lbnRMaXN0KXtcclxuICAgICBsZXQgZGF0YSA6Q29tcG9uZW50RGF0YSA9IHttb2R1bGVSZWY6bW9kdWxSZWYsIGNvbXBvbmVudDpjb21wb25lbnRMaXN0W2tleV19O1xyXG4gICAgIHRoaXMuY29tcG9uZW50cy5zZXQoa2V5LGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBSZXR1cm4gYSBjb21wb25lbnQgYWNjb3JkaW5nIHRvIG5hbWVcclxuICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgcmVxdWVzdGVkIGNvbXBvbmVudFxyXG4gICogQHJldHVybnMgVGhlIHJlcXVlc3RlZCBjb21wb25lbnRcclxuICAqL1xyXG4gIGdldE1vZHVsZVJlZiAobmFtZTpzdHJpbmcpe1xyXG4gICAgbGV0IGRhdGE6IENvbXBvbmVudERhdGEgPSB0aGlzLmdldERhdGEobmFtZSwgZmFsc2UpXHJcbiAgICByZXR1cm4gZGF0YSA/IGRhdGEubW9kdWxlUmVmIDogbnVsbDs7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdGhlIGxhenkgbG9hZCBtb2R1bGUgZGV0YWlscyBvZiB0aGUgc3BlY2lmaWVkIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBuYW1lOiBOYW1lIG9mIHJlcXVlc3RlZCBjb21wb25lbnRcclxuICAgKiBAcmV0dXJuczogbGF6eSBsb2FkIG1vZHVsZSBkZXRhaWxzXHJcbiAgICovXHJcbiAgZ2V0TGF6eUxvYWRNb2R1bGVEYXRhIChuYW1lOnN0cmluZyk6IE1vZHVsZURhdGEge1xyXG4gICAgcmV0dXJuICh0aGlzLmxhenlMb2FkTW9kdWxlc01hcCAhPSBudWxsICYmIHRoaXMubGF6eUxvYWRNb2R1bGVzTWFwLmhhc093blByb3BlcnR5KG5hbWUpKSA/IHRoaXMubGF6eUxvYWRNb2R1bGVzTWFwW25hbWVdIDogbnVsbDtcclxuICB9XHJcblxyXG4vKipcclxuICAgKiBQcm9qZWN0IHRpdGxlXHJcbiAgICovXHJcbiAgdGl0bGUgOiBzdHJpbmc7XHJcbn1cclxuIl19
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { Injectable } from "@angular/core";
|
2
|
-
import { MagicAlertComponent } from '../ui/components/magic-alert.component';
|
3
|
-
import { MagicConfirmationBoxComponent } from "../ui/components/magic-confirmation-box.component";
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
export class ConfirmationComponentsMagicProvider {
|
6
|
-
showDefaultConfirmations() {
|
7
|
-
return true;
|
8
|
-
}
|
9
|
-
getAlertComponent() {
|
10
|
-
return MagicAlertComponent;
|
11
|
-
}
|
12
|
-
getConfirmtionComponent() {
|
13
|
-
return MagicConfirmationBoxComponent;
|
14
|
-
}
|
15
|
-
static ɵfac = function ConfirmationComponentsMagicProvider_Factory(t) { return new (t || ConfirmationComponentsMagicProvider)(); };
|
16
|
-
static ɵprov = i0.ɵɵdefineInjectable({ token: ConfirmationComponentsMagicProvider, factory: ConfirmationComponentsMagicProvider.ɵfac });
|
17
|
-
}
|
18
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmationComponentsMagicProvider, [{
|
19
|
-
type: Injectable
|
20
|
-
}], null, null); })();
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmNvbXBvbmVudHMubWFnaWMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9jb25maXJtYXRpb24uY29tcG9uZW50cy5tYWdpYy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQU9sRyxNQUFNLE9BQU8sbUNBQW1DO0lBTTlDLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFNRCxpQkFBaUI7UUFDZixPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFNRCx1QkFBdUI7UUFDckIsT0FBTyw2QkFBNkIsQ0FBQztJQUN2QyxDQUFDOzZGQXhCVSxtQ0FBbUM7a0RBQW5DLG1DQUFtQyxXQUFuQyxtQ0FBbUM7O2lGQUFuQyxtQ0FBbUM7Y0FEL0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTZXJ2aWNlIG1hbmFnaW5nIG92ZXJsYXkgd2luZG93c1xyXG4gKiBUaGlzIGlzIE1hZ2ljJ3MgZGVmYXVsdCBwcm92aWRlclxyXG4gKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hZ2ljQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi91aS9jb21wb25lbnRzL21hZ2ljLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hZ2ljQ29uZmlybWF0aW9uQm94Q29tcG9uZW50IH0gZnJvbSBcIi4uL3VpL2NvbXBvbmVudHMvbWFnaWMtY29uZmlybWF0aW9uLWJveC5jb21wb25lbnRcIjtcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIG1hbmFnaW5nIGFsZXJ0IGFuZCBjb25maXJtYXRpb24gd2luZG93c1xyXG4gKiBUaGlzIGlzIE1hZ2ljJ3MgZGVmYXVsdCBwcm92aWRlclxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gdHJ1ZSB3aGVuIHVzZSBkZWZhdWx0IGphdmFzY3JpcHQgYWxlcnQgYW5kIGNvbmZpcm1hdGlvbiBvciByZXR1cm4gZmFsc2UgdG8gcHJvdmlkZSBjdXN0b20gY29tcG9uZW50c1xyXG4gICAqICBAcmV0dXJucyB0cnVlIGlzIHdlIHdhbnQgdG8gdXNlIGRlZmF1bHQgamF2YXNjcmlwdCBhbGVydCBhbmQgY29uZmlybWF0aW9uXHJcbiAgICovXHJcbiAgc2hvd0RlZmF1bHRDb25maXJtYXRpb25zKCk6Ym9vbGVhbntcclxuICAgIHJldHVybiB0cnVlOyBcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgY29tcG9uZW50IHRoYXQgd2lsbCByZXBsYWNlIGphdmFzY3JpcHQgYWxlcnQuIFRoZSBjb21wb25lbnQgd2lsbCBiZSB1c2VkIG9ubHkgaWYgc2hvd0RlZmF1bHRDb25maXJtYXRpb25zID0gZmFsc2VcclxuICAgKiAgQHJldHVybnMgY29tcG9uZW50IHRoYXQgd2lsbCByZXBsYWNlIGphdmFzY3JpcHQgQWxlcnRcclxuICAgKi9cclxuICBnZXRBbGVydENvbXBvbmVudCgpIDogYW55IHtcclxuICAgIHJldHVybiBNYWdpY0FsZXJ0Q29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBjb21wb25lbnQgdGhhdCB3aWxsIHJlcGxhY2UgamF2YXNjcmlwdCBjb25maXJtYXRpb24gYm94LiBUaGUgY29tcG9uZW50IHdpbGwgYmUgdXNlZCBvbmx5IGlmIHNob3dEZWZhdWx0Q29uZmlybWF0aW9ucyA9IGZhbHNlXHJcbiAgICogIEByZXR1cm5zIGNvbXBvbmVudCB0aGF0IHdpbGwgcmVwbGFjZSBqYXZhc2NyaXB0IGNvbmZpcm1hdGlvbiBib3hcclxuICAgKi9cclxuICBnZXRDb25maXJtdGlvbkNvbXBvbmVudCgpIDogYW55IHtcclxuICAgIHJldHVybiBNYWdpY0NvbmZpcm1hdGlvbkJveENvbXBvbmVudDtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIl19
|