@magic-xpa/angular 4.800.0 → 4.801.0-dev000.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +57 -0
- package/{esm2015/magic-xpa-angular.js → esm2020/magic-xpa-angular.mjs} +0 -0
- package/esm2020/src/controls.metadata.model.mjs +180 -0
- package/{esm2015/src/interfaces/sub-form-definition.iterface.js → esm2020/src/interfaces/sub-form-definition.iterface.mjs} +1 -0
- package/esm2020/src/magic.core.module.mjs +157 -0
- package/{esm2015/src/services/ISubformMagicService.js → esm2020/src/services/ISubformMagicService.mjs} +1 -0
- package/esm2020/src/services/OverlayWindowService.mjs +208 -0
- package/esm2020/src/services/StylesMapManager.mjs +28 -0
- package/esm2020/src/services/accessor.magic.service.mjs +302 -0
- package/{esm2015/src/services/commands-collector.magic.service.js → esm2020/src/services/commands-collector.magic.service.mjs} +7 -4
- package/esm2020/src/services/component-list.magic.service.mjs +46 -0
- package/{esm2015/src/services/confirmation.components.magic.provider.js → esm2020/src/services/confirmation.components.magic.provider.mjs} +2 -2
- package/esm2020/src/services/engine.magic.service.mjs +82 -0
- package/{esm2015/src/services/exit.magic.service.js → esm2020/src/services/exit.magic.service.mjs} +2 -2
- package/esm2020/src/services/magic.lazy.loader.service.mjs +16 -0
- package/{esm2015/src/services/magic.providers.js → esm2020/src/services/magic.providers.mjs} +0 -0
- package/{esm2015/src/services/magic.services.js → esm2020/src/services/magic.services.mjs} +2 -2
- package/{esm2015/src/services/mg-date-adapter.js → esm2020/src/services/mg-date-adapter.mjs} +2 -2
- package/{esm2015/src/services/overlay.conainer.magic.provider.js → esm2020/src/services/overlay.conainer.magic.provider.mjs} +2 -2
- package/esm2020/src/services/router-commands.magic.service.mjs +28 -0
- package/esm2020/src/services/subform.magic.service.mjs +185 -0
- package/{esm2015/src/services/table.magic.service.js → esm2020/src/services/table.magic.service.mjs} +2 -2
- package/esm2020/src/services/task.magics.service.mjs +611 -0
- package/{esm2015/src/services/title.magic.service.js → esm2020/src/services/title.magic.service.mjs} +2 -2
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +98 -0
- package/{esm2015/src/ui/components/base-magic-alert.component.js → esm2020/src/ui/components/base-magic-alert.component.mjs} +2 -2
- package/{esm2015/src/ui/components/base-magic-confirm.component.js → esm2020/src/ui/components/base-magic-confirm.component.mjs} +2 -2
- package/esm2020/src/ui/components/magic-alert.component.mjs +71 -0
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +82 -0
- package/{esm2015/src/ui/directives/NonMagicControlDirective.js → esm2020/src/ui/directives/NonMagicControlDirective.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/checkbox.magic.directive.js → esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/combobox.magic.directive.js → esm2020/src/ui/directives/magic/combobox.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs} +3 -4
- package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs} +3 -4
- package/{esm2015/src/ui/directives/magic/input.noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/nocontrol.magic.directive.js → esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/row.magic.directive.js → esm2020/src/ui/directives/magic/row.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic-focus.directive.js → esm2020/src/ui/directives/magic-focus.directive.mjs} +2 -2
- package/esm2020/src/ui/directives/magic.directive.mjs +207 -0
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
- package/{esm2015/src/ui/directives/mgformat.magic.directive.js → esm2020/src/ui/directives/mgformat.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/range-validator.magic.directive.js → esm2020/src/ui/directives/range-validator.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/magic-confirmationBox.js → esm2020/src/ui/magic-confirmationBox.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/base-magic-overlay-container.js → esm2020/src/ui/magic-modal/base-magic-overlay-container.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/magic-modal-form.js → esm2020/src/ui/magic-modal/magic-modal-form.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/magic-modal-interface.js → esm2020/src/ui/magic-modal/magic-modal-interface.mjs} +1 -0
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +135 -0
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +165 -0
- package/esm2020/src/ui/magic-root.component.mjs +237 -0
- package/esm2020/src/ui/mgerror.magic.component.mjs +120 -0
- package/esm2020/src/ui/pipes/date.magic.pipe.mjs +105 -0
- package/{esm2015/src/ui/pipes/time.magic.pipe.js → esm2020/src/ui/pipes/time.magic.pipe.mjs} +3 -3
- package/esm2020/src/ui/router-container.magic.component.mjs +109 -0
- package/esm2020/src/ui/subform.magic.component.mjs +52 -0
- package/{esm2015/src/ui/task-base.magic.component.js → esm2020/src/ui/task-base.magic.component.mjs} +2 -2
- package/{esm2015/src/ui/utils.js → esm2020/src/ui/utils.mjs} +0 -0
- package/fesm2015/magic-xpa-angular.mjs +4578 -0
- package/fesm2015/magic-xpa-angular.mjs.map +1 -0
- package/{fesm2015/magic-xpa-angular.js → fesm2020/magic-xpa-angular.mjs} +435 -415
- package/fesm2020/magic-xpa-angular.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +28 -15
- package/src/magic.core.module.d.ts +3 -8
- package/src/services/OverlayWindowService.d.ts +2 -2
- package/src/services/accessor.magic.service.d.ts +2 -2
- package/src/services/commands-collector.magic.service.d.ts +2 -2
- package/src/services/component-list.magic.service.d.ts +3 -0
- package/src/services/confirmation.components.magic.provider.d.ts +2 -2
- package/src/services/engine.magic.service.d.ts +2 -2
- package/src/services/exit.magic.service.d.ts +2 -2
- package/src/services/magic.lazy.loader.service.d.ts +6 -0
- package/src/services/magic.services.d.ts +2 -2
- package/src/services/mg-date-adapter.d.ts +2 -2
- package/src/services/overlay.conainer.magic.provider.d.ts +2 -2
- package/src/services/router-commands.magic.service.d.ts +2 -2
- package/src/services/subform.magic.service.d.ts +6 -4
- package/src/services/table.magic.service.d.ts +2 -2
- package/src/services/task.magics.service.d.ts +2 -2
- package/src/services/title.magic.service.d.ts +2 -2
- package/src/ui/components/base-magic-alert.component.d.ts +2 -2
- package/src/ui/components/base-magic-confirm.component.d.ts +2 -2
- package/src/ui/components/magic-alert.component.d.ts +2 -2
- package/src/ui/components/magic-confirmation-box.component.d.ts +2 -2
- package/src/ui/directives/NonMagicControlDirective.d.ts +2 -2
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/row.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic-focus.directive.d.ts +2 -2
- package/src/ui/directives/magic.directive.d.ts +2 -2
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +2 -2
- package/src/ui/directives/mgformat.magic.directive.d.ts +2 -2
- package/src/ui/directives/range-validator.magic.directive.d.ts +2 -2
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +7 -5
- package/src/ui/magic-modal/magic-overlay-container.d.ts +2 -2
- package/src/ui/magic-root.component.d.ts +2 -2
- package/src/ui/mgerror.magic.component.d.ts +2 -2
- package/src/ui/pipes/date.magic.pipe.d.ts +2 -2
- package/src/ui/pipes/time.magic.pipe.d.ts +2 -2
- package/src/ui/router-container.magic.component.d.ts +2 -2
- package/src/ui/subform.magic.component.d.ts +2 -2
- package/src/ui/task-base.magic.component.d.ts +2 -2
- package/bundles/magic-xpa-angular.umd.js +0 -5028
- package/bundles/magic-xpa-angular.umd.js.map +0 -1
- package/bundles/magic-xpa-angular.umd.min.js +0 -16
- package/bundles/magic-xpa-angular.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -56
- package/esm2015/src/controls.metadata.model.js +0 -180
- package/esm2015/src/magic.core.module.js +0 -173
- package/esm2015/src/services/OverlayWindowService.js +0 -205
- package/esm2015/src/services/StylesMapManager.js +0 -29
- package/esm2015/src/services/accessor.magic.service.js +0 -302
- package/esm2015/src/services/component-list.magic.service.js +0 -36
- package/esm2015/src/services/engine.magic.service.js +0 -82
- package/esm2015/src/services/router-commands.magic.service.js +0 -25
- package/esm2015/src/services/subform.magic.service.js +0 -182
- package/esm2015/src/services/task.magics.service.js +0 -611
- package/esm2015/src/ui/GuiInteractiveExecutor.js +0 -98
- package/esm2015/src/ui/components/magic-alert.component.js +0 -72
- package/esm2015/src/ui/components/magic-confirmation-box.component.js +0 -83
- package/esm2015/src/ui/directives/magic.directive.js +0 -207
- package/esm2015/src/ui/directives/magicViewContainerRef.directive.js +0 -20
- package/esm2015/src/ui/magic-modal/magic-overlay-container-wrapper.js +0 -131
- package/esm2015/src/ui/magic-modal/magic-overlay-container.js +0 -169
- package/esm2015/src/ui/magic-root.component.js +0 -237
- package/esm2015/src/ui/mgerror.magic.component.js +0 -120
- package/esm2015/src/ui/pipes/date.magic.pipe.js +0 -106
- package/esm2015/src/ui/router-container.magic.component.js +0 -109
- package/esm2015/src/ui/subform.magic.component.js +0 -52
- package/fesm2015/magic-xpa-angular.js.map +0 -1
|
@@ -1,205 +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 "util";
|
|
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 });
|
|
85
|
-
(function () { i0.ɵsetClassMetadata(OverlayWindowService, [{
|
|
86
|
-
type: Injectable
|
|
87
|
-
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.ComponentListMagicService }, { type: i2.EngineMagicService }, { type: i3.OverlayContainerMagicProvider }, { type: i4.ConfirmationComponentsMagicProvider }]; }, null); })();
|
|
88
|
-
class OverlayWindowFocusManager {
|
|
89
|
-
constructor(rootMagicElement) {
|
|
90
|
-
this.rootMagicElement = null;
|
|
91
|
-
this.openDialogList = new Array(0);
|
|
92
|
-
this.ignoreUtilFocusChanges = false;
|
|
93
|
-
this.lastFocus = null;
|
|
94
|
-
this.focusListener = null;
|
|
95
|
-
this.rootMagicElement = rootMagicElement;
|
|
96
|
-
}
|
|
97
|
-
pushDialog(rootElement) {
|
|
98
|
-
if (this.openDialogList.length === 0) {
|
|
99
|
-
this.focusListener = this.trapFocus.bind(this);
|
|
100
|
-
document.addEventListener('focus', this.focusListener, true);
|
|
101
|
-
}
|
|
102
|
-
this.openDialogList.push(new DialogInfo(rootElement, (document.activeElement instanceof HTMLElement ? document.activeElement : null)));
|
|
103
|
-
}
|
|
104
|
-
popDialog() {
|
|
105
|
-
const dialogInfo = this.openDialogList.pop();
|
|
106
|
-
this.attemptFocus(dialogInfo.FocusElementOnClose);
|
|
107
|
-
if (this.openDialogList.length === 0) {
|
|
108
|
-
document.removeEventListener('focus', this.focusListener, true);
|
|
109
|
-
this.focusListener = null;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
trapFocus(event) {
|
|
113
|
-
if (this.ignoreUtilFocusChanges) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
if (this.openDialogList.length > 0) {
|
|
117
|
-
var currentDialog = this.openDialogList[this.openDialogList.length - 1].RootElement;
|
|
118
|
-
if (currentDialog.contains(event.target)) {
|
|
119
|
-
this.lastFocus = event.target;
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
if (this.rootMagicElement.contains(event.target)) {
|
|
123
|
-
this.focusFirstDescendant(currentDialog);
|
|
124
|
-
if (this.lastFocus == document.activeElement) {
|
|
125
|
-
this.focusLastDescendant(currentDialog);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
this.lastFocus = document.activeElement;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
focusFirstDescendant(element) {
|
|
133
|
-
for (var i = 0; i < element.childNodes.length; i++) {
|
|
134
|
-
var child = element.childNodes[i];
|
|
135
|
-
if (this.attemptFocus(child) ||
|
|
136
|
-
this.focusFirstDescendant(child)) {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
;
|
|
143
|
-
focusLastDescendant(element) {
|
|
144
|
-
for (var i = element.childNodes.length - 1; i >= 0; i--) {
|
|
145
|
-
var child = element.childNodes[i];
|
|
146
|
-
if (this.attemptFocus(child) ||
|
|
147
|
-
this.focusLastDescendant(child)) {
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
;
|
|
154
|
-
attemptFocus(element) {
|
|
155
|
-
if (!this.isFocusable(element)) {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
this.ignoreUtilFocusChanges = true;
|
|
159
|
-
try {
|
|
160
|
-
element.focus();
|
|
161
|
-
}
|
|
162
|
-
catch (e) {
|
|
163
|
-
}
|
|
164
|
-
this.ignoreUtilFocusChanges = false;
|
|
165
|
-
return (document.activeElement === element);
|
|
166
|
-
}
|
|
167
|
-
;
|
|
168
|
-
isFocusable(element) {
|
|
169
|
-
if (isNullOrUndefined(element))
|
|
170
|
-
return false;
|
|
171
|
-
if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {
|
|
172
|
-
return true;
|
|
173
|
-
}
|
|
174
|
-
else if (element.tabIndex < 0)
|
|
175
|
-
return false;
|
|
176
|
-
if (element.disabled) {
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
switch (element.nodeName) {
|
|
180
|
-
case 'A':
|
|
181
|
-
return !!element.href && element.rel != 'ignore';
|
|
182
|
-
case 'INPUT':
|
|
183
|
-
return element.type != 'hidden' && element.type != 'file';
|
|
184
|
-
case 'BUTTON':
|
|
185
|
-
case 'SELECT':
|
|
186
|
-
case 'TEXTAREA':
|
|
187
|
-
return true;
|
|
188
|
-
default:
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
class DialogInfo {
|
|
194
|
-
constructor(rootElement, focusElementOnClose) {
|
|
195
|
-
this.rootElement = rootElement;
|
|
196
|
-
this.focusElementOnClose = focusElementOnClose;
|
|
197
|
-
}
|
|
198
|
-
get RootElement() {
|
|
199
|
-
return this.rootElement;
|
|
200
|
-
}
|
|
201
|
-
get FocusElementOnClose() {
|
|
202
|
-
return this.focusElementOnClose;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheVdpbmRvd1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9PdmVybGF5V2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsd0JBQXdCLEVBQWdCLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFTekMsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQix3QkFBa0QsRUFDaEQsYUFBdUMsRUFDdkMsa0JBQXNDLEVBQ3hDLDZCQUE0RCxFQUM1RCxtQ0FBd0U7UUFKeEUsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN4QyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELHdDQUFtQyxHQUFuQyxtQ0FBbUMsQ0FBcUM7UUFNcEYsOEJBQXlCLEdBQThCLElBQUks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QUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZX0gZnJvbSBcIi4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQge0VuZ2luZU1hZ2ljU2VydmljZX0gZnJvbSBcIi4vZW5naW5lLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnQsIGdldEd1aUV2ZW50T2JqfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIgfSBmcm9tIFwiLi9vdmVybGF5LmNvbmFpbmVyLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIgfSBmcm9tIFwiLi4vdWkvbWFnaWMtbW9kYWwvbWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlclwiO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlciB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi5jb21wb25lbnRzLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlUeXBlLCBTdHlsZXMgfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHsgY29uZmlybWF0aW9uQm94IH0gZnJvbSBcIi4uL3VpL21hZ2ljLWNvbmZpcm1hdGlvbkJveFwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogU2VydmljZSBtYW5hZ2luZyBvdmVybGF5IHdpbmRvd3NcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlXaW5kb3dTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50TGlzdDpDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBlbmdpbmVNYWdpY1NlcnZpY2U6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyOiBPdmVybGF5Q29udGFpbmVyTWFnaWNQcm92aWRlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyOiBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlcikge1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIHZpZXcgcmVmZXJlbmNlIG9mIGNvbnRhaW5lciBvZiBvdmVybGF5IHdpbmRvd1xyXG4gIHByaXZhdGUgb3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBwcml2YXRlIG92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXI6IE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBudWxsO1xyXG5cclxuICBpbml0KG92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjogVmlld0NvbnRhaW5lclJlZiwgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCkge1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBuZXcgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcihyb290TWFnaWNFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIG9wZW4oZm9ybU5hbWU6IHN0cmluZywgdGFza0lkOiBzdHJpbmcsIHRhc2tEZXNjcmlwdGlvbjogc3RyaW5nKSB7XHJcblxyXG4gICAgLy8gZm9yIG92ZXJsYXkgd2hpY2ggYXJlIGxhenkgbG9hZGVkIGRvbid0IGZpbmQgZGF0YSBpbiBjb21wb25lbnQtbGlzdFxyXG4gICAgbGV0IGNvbXAgPSAgdGhpcy5jb21wb25lbnRMaXN0LmxhenlMb2FkTW9kdWxlc01hcCAhPSBudWxsICYmIHRoaXMuY29tcG9uZW50TGlzdC5sYXp5TG9hZE1vZHVsZXNNYXAuaGFzT3duUHJvcGVydHkoZm9ybU5hbWUpID8gbnVsbCA6dGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChmb3JtTmFtZSk7XHJcbiAgICBsZXQgcGFyYW1ldGVycyA9IHsgdGFza0lkUGFyYW06IHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uOiB0YXNrRGVzY3JpcHRpb24gfTtcclxuXHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVNb2RhbENvbXBvbmVudCh7IE1hZ2ljRm9ybU5hbWU6IGZvcm1OYW1lLCBNb2RhbENvbXA6IGNvbXAsIE1vZGFsQ29tcFBhcmFtZXRlcnM6IHBhcmFtZXRlcnN9LCA8Q29tcG9uZW50PnRoaXMub3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIuZ2V0Q29tcG9uZW50KCksIE92ZXJsYXlUeXBlLk92ZXJsYXkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsb3NlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjbG9zZVwiLCBudWxsLCAwKTtcclxuICAgICAgZ3VpRXZlbnQuVGFza0lEID0gdGFza0lkO1xyXG4gICAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlKGNvbW1hbmRTdHI6IHN0cmluZykge1xyXG4gICAgLy8gQ2xvc2UgdGhlIG92ZXJsYXkgYnkgcmVtb3ZpbmcgdGhlIG92ZXJsYXkgd2luZG93IGZyb20gaXRzIGNvbnRhaW5lclxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYucmVtb3ZlKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcblxyXG4gICAgbGV0IGd1aUV2ZW50MTogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJkaXNwb3NlXCIsIG51bGwsIDApO1xyXG4gICAgZ3VpRXZlbnQxLlRhc2tJRCA9IGNvbW1hbmRTdHI7XHJcbiAgICB0aGlzLmVuZ2luZU1hZ2ljU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudDEpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gQ29uZmlybWF0aW9uIGJveFxyXG4gICAqIEBwYXJhbSB0aXRsZSB0aXRsZSBvZiB0aGUgYm94XHJcbiAgICogQHBhcmFtIG1zZyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHN0eWxlIE1hZ2ljIHN0eWxlXHJcbiAgICovXHJcbiAgIG9wZW5Db25maXJtYXRpb25Cb3goIHRpdGxlOiBzdHJpbmcsIG1zZzogc3RyaW5nLCBzdHlsZTogU3R5bGVzKSB7XHJcblxyXG4gICAgIC8vc2hvdyBkZWZhdWx0IGNvbmZpcm1hdGlvbnNcclxuICAgIGlmICh0aGlzLmNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyLnNob3dEZWZhdWx0Q29uZmlybWF0aW9ucygpKVxyXG4gICAge1xyXG4gICAgICBsZXQgcmVzID0gY29uZmlybWF0aW9uQm94LnNob3dDb25maXJtYXRpb25Cb3godGl0bGUsIG1zZywgc3R5bGUpO1xyXG4gICAgICB0aGlzLmZpbmlzaENvbmZpcm1hdGlvbiggc3R5bGUsIHJlcyk7XHJcblxyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAge1xyXG4gICAgICAvL3Nob3cgY3VzdG9tIGNvbmZpcm1hdGlvbnNcclxuICAgICAgbGV0IGNvbXAgPSBjb25maXJtYXRpb25Cb3guaXNDb25maXJtQm94KHN0eWxlKSA/IHRoaXMuY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIuZ2V0Q29uZmlybXRpb25Db21wb25lbnQoKSA6dGhpcy5jb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlci5nZXRBbGVydENvbXBvbmVudCgpICA7XHJcbiAgICAgIGxldCBvdmVybGF5VHlwZSA9IGNvbmZpcm1hdGlvbkJveC5pc0NvbmZpcm1Cb3goc3R5bGUpPyBPdmVybGF5VHlwZS5Db25maXJtYXRpb25Cb3ggOiBPdmVybGF5VHlwZS5BbGVydDtcclxuICAgICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMuY3JlYXRlTW9kYWxDb21wb25lbnQoeyB0aXRsZTogdGl0bGUsIG1lc3NhZ2U6IG1zZyB9LCBjb21wLCBvdmVybGF5VHlwZSk7XHJcblxyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uub25DbG9zZS5zdWJzY3JpYmUoKHJlcyA6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZi5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIucG9wRGlhbG9nKCk7XHJcbiAgICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oIHN0eWxlLCByZXMpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIG9uIGNsb3NlIG9mIHRoZSBjb25maXJtYXRpb25cclxuICAgKiBAcGFyYW0gc3R5bGUgTWFnaWMgc3R5bGVcclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgZmluaXNoQ29uZmlybWF0aW9uKHN0eWxlOiBTdHlsZXMsIHJlc3VsdDogYm9vbGVhbiApIHtcclxuICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjb25maXJtYXRpb25DbG9zZWRcIiwgbnVsbCwgMCk7XHJcbiAgICBndWlFdmVudC5rZXlDb2RlID0gPG51bWJlcj5jb25maXJtYXRpb25Cb3guY29udmVydFRvRXhjcGVjdGVkUmVzdWx0Qm94KHN0eWxlLCByZXN1bHQpO1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogY3JlYXRlcyBhIG1vZGFsIGNvbXBvbmVudC4gQ2FuIGJlIHVzZWQgZm9yIG92ZXJsYXksIG1lc3NhZ2UgYm94IG9yIGNvbmZpcm1hdGlvbiBib3hcclxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBjb21wb25lbnQncyBwYXJhbWV0ZXJzXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCBjb21wb25lbnRzIHRvIGNyZWF0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY3JlYXRlTW9kYWxDb21wb25lbnQocGFyYW1ldGVyczogYW55LCBjb21wb25lbnQ6IENvbXBvbmVudCwgb3ZlcmxheVR5cGU6IE92ZXJsYXlUeXBlKTogQ29tcG9uZW50UmVmPGFueT4ge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZjtcclxuICAgIGxldCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyA9IHtcclxuICAgICAgQ29tcG9uZW50OiBjb21wb25lbnQsXHJcbiAgICAgIFBhcmFtZXRlcnM6IHBhcmFtZXRlcnMsXHJcbiAgICAgIE92ZXJsYXlUeXBlUGFyYW06IG92ZXJsYXlUeXBlXHJcblxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIFVJIGNvbXBvbmVudCBvZiBtb2RhbCB3aW5kb3dcclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyKTtcclxuICAgIGxldCB2aWV3Q1JlZiA6IFZpZXdDb250YWluZXJSZWYgPSA8Vmlld0NvbnRhaW5lclJlZj50aGlzLm92ZXJsYXlXaW5kb3dzQ29udGFpbmVyVmlld1JlZjtcclxuICAgIGNvbXBvbmVudFJlZiA9IHZpZXdDUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuXHJcbiAgICAvLyBTZXQgdGhlIGRhdGEgdG8gbmV3bHkgY3JlYXRlZCBjb21wb25lbnRcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCBtYWdpY01vZGFsQ29udGFpbmVyUGFyYW1ldGVycyk7XHJcblxyXG4gICAgdGhpcy5vdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyLnB1c2hEaWFsb2coY29tcG9uZW50UmVmLmluc3RhbmNlLkdldFJvb3RFbGVtZW50KCkpO1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5EZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIE92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXJcclxue1xyXG4gIHByaXZhdGUgcm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nTGlzdDogQXJyYXk8RGlhbG9nSW5mbz4gPSBuZXcgQXJyYXkoMCk7XHJcbiAgcHJpdmF0ZSBpZ25vcmVVdGlsRm9jdXNDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBsYXN0Rm9jdXMgPSBudWxsO1xyXG4gIHByaXZhdGUgZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yIChyb290TWFnaWNFbGVtZW50OiBFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RNYWdpY0VsZW1lbnQgPSByb290TWFnaWNFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHVzaERpYWxvZyhyb290RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmZvY3VzTGlzdGVuZXIgPSB0aGlzLnRyYXBGb2N1cy5iaW5kKHRoaXMpO1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcGVuRGlhbG9nTGlzdC5wdXNoKG5ldyBEaWFsb2dJbmZvKHJvb3RFbGVtZW50LCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gPEhUTUxFbGVtZW50PmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBudWxsKSkpO1xyXG4gIH1cclxuXHJcbiAgcG9wRGlhbG9nKCkge1xyXG4gICAgY29uc3QgZGlhbG9nSW5mbyA9IHRoaXMub3BlbkRpYWxvZ0xpc3QucG9wKCk7XHJcbiAgICB0aGlzLmF0dGVtcHRGb2N1cyhkaWFsb2dJbmZvLkZvY3VzRWxlbWVudE9uQ2xvc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuZm9jdXNMaXN0ZW5lciwgdHJ1ZSk7XHJcbiAgICAgIHRoaXMuZm9jdXNMaXN0ZW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0cmFwRm9jdXMgKGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBjdXJyZW50RGlhbG9nID0gdGhpcy5vcGVuRGlhbG9nTGlzdFt0aGlzLm9wZW5EaWFsb2dMaXN0Lmxlbmd0aCAtIDFdLlJvb3RFbGVtZW50O1xyXG4gICAgICBpZiAoY3VycmVudERpYWxvZy5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jdXMgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMucm9vdE1hZ2ljRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzRmlyc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgaWYgKHRoaXMubGFzdEZvY3VzID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGN1cnJlbnREaWFsb2cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RGb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNGaXJzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZhciBjaGlsZCA9IGVsZW1lbnQuY2hpbGROb2Rlc1tpXTtcclxuICAgICAgaWYgKHRoaXMuYXR0ZW1wdEZvY3VzKGNoaWxkKSB8fFxyXG4gICAgICAgIHRoaXMuZm9jdXNGaXJzdERlc2NlbmRhbnQoY2hpbGQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGZvY3VzTGFzdERlc2NlbmRhbnQgKGVsZW1lbnQpIHtcclxuICAgIGZvciAodmFyIGkgPSBlbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgdmFyIGNoaWxkID0gZWxlbWVudC5jaGlsZE5vZGVzW2ldO1xyXG4gICAgICBpZiAodGhpcy5hdHRlbXB0Rm9jdXMoY2hpbGQpIHx8XHJcbiAgICAgICAgdGhpcy5mb2N1c0xhc3REZXNjZW5kYW50KGNoaWxkKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBhdHRlbXB0Rm9jdXMgKGVsZW1lbnQpIHtcclxuICAgIGlmICghdGhpcy5pc0ZvY3VzYWJsZShlbGVtZW50KSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlnbm9yZVV0aWxGb2N1c0NoYW5nZXMgPSBmYWxzZTtcclxuICAgIHJldHVybiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBpc0ZvY3VzYWJsZSAoZWxlbWVudCkge1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKGVsZW1lbnQpKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQudGFiSW5kZXggPiAwIHx8IChlbGVtZW50LnRhYkluZGV4ID09PSAwICYmIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJJbmRleCcpICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVsZW1lbnQudGFiSW5kZXggPCAwKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAoZWxlbWVudC5ub2RlTmFtZSkge1xyXG4gICAgICBjYXNlICdBJzpcclxuICAgICAgICByZXR1cm4gISFlbGVtZW50LmhyZWYgJiYgZWxlbWVudC5yZWwgIT0gJ2lnbm9yZSc7XHJcbiAgICAgIGNhc2UgJ0lOUFVUJzpcclxuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlICE9ICdoaWRkZW4nICYmIGVsZW1lbnQudHlwZSAhPSAnZmlsZSc7XHJcbiAgICAgIGNhc2UgJ0JVVFRPTic6XHJcbiAgICAgIGNhc2UgJ1NFTEVDVCc6XHJcbiAgICAgIGNhc2UgJ1RFWFRBUkVBJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBEaWFsb2dJbmZvXHJcbntcclxuICBwcml2YXRlIHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihyb290RWxlbWVudDogSFRNTEVsZW1lbnQsIGZvY3VzRWxlbWVudE9uQ2xvc2U6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLnJvb3RFbGVtZW50ID0gcm9vdEVsZW1lbnQ7XHJcbiAgICB0aGlzLmZvY3VzRWxlbWVudE9uQ2xvc2UgPSBmb2N1c0VsZW1lbnRPbkNsb3NlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IFJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLnJvb3RFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0IEZvY3VzRWxlbWVudE9uQ2xvc2UoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNFbGVtZW50T25DbG9zZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { MagicProperties } from "@magic-xpa/utils";
|
|
2
|
-
import { isNullOrUndefined } from "util";
|
|
3
|
-
import { NString } from "@magic-xpa/mscorelib";
|
|
4
|
-
export class StylesMapManager {
|
|
5
|
-
static magicValueGetStyle(styleName, magicValue) {
|
|
6
|
-
let style = "";
|
|
7
|
-
if (!isNullOrUndefined(magicValue)) {
|
|
8
|
-
let value = StylesMapManager.StylesMap.get(styleName);
|
|
9
|
-
if (value.constructor === Map) {
|
|
10
|
-
style = value.get(magicValue);
|
|
11
|
-
}
|
|
12
|
-
else if (value.constructor === String) {
|
|
13
|
-
style = NString.Format(value.toString(), magicValue);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return style;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
StylesMapManager.StylesMap = new Map([
|
|
20
|
-
[MagicProperties.LineDivider, new Map([[true, "solid"], [false, "hidden"]])],
|
|
21
|
-
[MagicProperties.ImageFile, "url('\{0}\')"],
|
|
22
|
-
[MagicProperties.Wallpaper, "url('\{0}\')"]
|
|
23
|
-
]);
|
|
24
|
-
StylesMapManager.MagicPropertyToHtmlAttributeMap = new Map([
|
|
25
|
-
[MagicProperties.LineDivider, "border-bottom-style"],
|
|
26
|
-
[MagicProperties.ImageFile, "background-image"],
|
|
27
|
-
[MagicProperties.Wallpaper, "background-image"]
|
|
28
|
-
]);
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVzTWFwTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL1N0eWxlc01hcE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFLNUMsTUFBTSxPQUFPLGdCQUFnQjtJQWlCM0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsVUFBZTtRQUMxRCxJQUFJLEtBQUssR0FBVyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLElBQUksS0FBSyxHQUFHLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLEdBQUcsRUFBRTtnQkFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDL0I7aUJBQ0ksSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRTtnQkFDckMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3REO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0FBOUJNLDBCQUFTLEdBQXFCLElBQUksR0FBRyxDQUMxQztJQUNFLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLEdBQUcsQ0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzNDLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUM7Q0FDNUMsQ0FDRixDQUFDO0FBRUssZ0RBQStCLEdBQXdCLElBQUksR0FBRyxDQUNuRTtJQUNFLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQztJQUNwRCxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUM7SUFDL0MsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDO0NBQ2hELENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWFnaWNQcm9wZXJ0aWVzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiXHJcbmltcG9ydCB7aXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJ1dGlsXCI7XHJcbmltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCJcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3R5bGVzTWFwTWFuYWdlciB7XHJcbiAgc3RhdGljIFN0eWxlc01hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KFxyXG4gICAgW1xyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLkxpbmVEaXZpZGVyLCBuZXcgTWFwPGFueSwgYW55PihbW3RydWUsIFwic29saWRcIl0sIFtmYWxzZSwgXCJoaWRkZW5cIl1dKV0sXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuSW1hZ2VGaWxlLCBcInVybCgnXFx7MH1cXCcpXCJdLFxyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLldhbGxwYXBlciwgXCJ1cmwoJ1xcezB9XFwnKVwiXVxyXG4gICAgXVxyXG4gICk7XHJcblxyXG4gIHN0YXRpYyBNYWdpY1Byb3BlcnR5VG9IdG1sQXR0cmlidXRlTWFwOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oXHJcbiAgICBbXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuTGluZURpdmlkZXIsIFwiYm9yZGVyLWJvdHRvbS1zdHlsZVwiXSxcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5JbWFnZUZpbGUsIFwiYmFja2dyb3VuZC1pbWFnZVwiXSxcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5XYWxscGFwZXIsIFwiYmFja2dyb3VuZC1pbWFnZVwiXVxyXG4gICAgXVxyXG4gICk7XHJcblxyXG4gIHN0YXRpYyBtYWdpY1ZhbHVlR2V0U3R5bGUoc3R5bGVOYW1lOiBzdHJpbmcsIG1hZ2ljVmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3R5bGU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChtYWdpY1ZhbHVlKSkge1xyXG4gICAgICBsZXQgdmFsdWUgPSBTdHlsZXNNYXBNYW5hZ2VyLlN0eWxlc01hcC5nZXQoc3R5bGVOYW1lKTtcclxuICAgICAgaWYgKHZhbHVlLmNvbnN0cnVjdG9yID09PSBNYXApIHtcclxuICAgICAgICBzdHlsZSA9IHZhbHVlLmdldChtYWdpY1ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nKSB7XHJcbiAgICAgICAgc3R5bGUgPSBOU3RyaW5nLkZvcm1hdCh2YWx1ZS50b1N0cmluZygpLCBtYWdpY1ZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcbn1cclxuIl19
|