@magic-xpa/angular 4.1200.0-dev4120.5 → 4.1200.0-dev4120.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/fesm2022/magic-xpa-angular.mjs +1783 -192
  2. package/fesm2022/magic-xpa-angular.mjs.map +1 -1
  3. package/index.d.ts +3 -0
  4. package/package.json +6 -8
  5. package/src/controls.metadata.model.d.ts +16 -0
  6. package/src/interfaces/sub-form-definition.iterface.d.ts +6 -0
  7. package/src/magic.core.module.d.ts +5 -3
  8. package/src/services/OverlayWindowService.d.ts +19 -0
  9. package/src/services/StylesMapManager.d.ts +3 -0
  10. package/src/services/accessor.magic.service.d.ts +243 -3
  11. package/src/services/commands-collector.magic.service.d.ts +3 -0
  12. package/src/services/component-list.magic.service.d.ts +27 -0
  13. package/src/services/confirmation.components.magic.provider.d.ts +16 -0
  14. package/src/services/engine.magic.service.d.ts +3 -0
  15. package/src/services/exit.magic.service.d.ts +6 -0
  16. package/src/services/magic-color.service.d.ts +6 -0
  17. package/src/services/magic.providers.d.ts +3 -0
  18. package/src/services/magic.services.d.ts +6 -0
  19. package/src/services/router-commands.magic.service.d.ts +6 -0
  20. package/src/services/subform.magic.service.d.ts +28 -0
  21. package/src/services/table.magic.service.d.ts +56 -0
  22. package/src/services/task.magics.service.d.ts +300 -0
  23. package/src/services/title.magic.service.d.ts +11 -0
  24. package/src/ui/GuiInteractiveExecutor.d.ts +3 -0
  25. package/src/ui/components/base-magic-alert.component.d.ts +16 -0
  26. package/src/ui/components/base-magic-confirm.component.d.ts +18 -0
  27. package/src/ui/components/magic-alert.component.d.ts +3 -0
  28. package/src/ui/components/magic-confirmation-box.component.d.ts +3 -0
  29. package/src/ui/directives/NonMagicControlDirective.d.ts +41 -0
  30. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +6 -0
  31. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +12 -0
  32. package/src/ui/directives/magic/combobox.magic.directive.d.ts +9 -0
  33. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +6 -0
  34. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +13 -0
  35. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +6 -0
  36. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +6 -0
  37. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +3 -0
  38. package/src/ui/directives/magic/row.magic.directive.d.ts +15 -0
  39. package/src/ui/directives/magic-focus.directive.d.ts +3 -0
  40. package/src/ui/directives/magic.directive.d.ts +82 -0
  41. package/src/ui/directives/magicViewContainerRef.directive.d.ts +3 -0
  42. package/src/ui/directives/mgformat.magic.directive.d.ts +44 -0
  43. package/src/ui/directives/range-validator.magic.directive.d.ts +16 -0
  44. package/src/ui/magic-confirmationBox.d.ts +19 -0
  45. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +9 -0
  46. package/src/ui/magic-modal/magic-modal-form.d.ts +3 -0
  47. package/src/ui/magic-modal/magic-modal-interface.d.ts +27 -0
  48. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +20 -0
  49. package/src/ui/magic-modal/magic-overlay-container.d.ts +51 -0
  50. package/src/ui/magic-root.component.d.ts +42 -0
  51. package/src/ui/mgerror.magic.component.d.ts +19 -0
  52. package/src/ui/pipes/date.magic.pipe.d.ts +6 -0
  53. package/src/ui/pipes/time.magic.pipe.d.ts +3 -0
  54. package/src/ui/router-container.magic.component.d.ts +19 -0
  55. package/src/ui/subform.magic.component.d.ts +21 -0
  56. package/src/ui/task-base.magic.component.d.ts +78 -0
  57. package/src/ui/utils.d.ts +3 -0
  58. package/esm2022/index.mjs +0 -59
  59. package/esm2022/magic-xpa-angular.mjs +0 -2
  60. package/esm2022/src/controls.metadata.model.mjs +0 -183
  61. package/esm2022/src/interfaces/sub-form-definition.iterface.mjs +0 -2
  62. package/esm2022/src/magic.core.module.mjs +0 -159
  63. package/esm2022/src/services/ISubformMagicService.mjs +0 -2
  64. package/esm2022/src/services/OverlayWindowService.mjs +0 -245
  65. package/esm2022/src/services/StylesMapManager.mjs +0 -28
  66. package/esm2022/src/services/accessor.magic.service.mjs +0 -358
  67. package/esm2022/src/services/commands-collector.magic.service.mjs +0 -47
  68. package/esm2022/src/services/component-list.magic.service.mjs +0 -45
  69. package/esm2022/src/services/confirmation.components.magic.provider.mjs +0 -21
  70. package/esm2022/src/services/engine.magic.service.mjs +0 -80
  71. package/esm2022/src/services/exit.magic.service.mjs +0 -13
  72. package/esm2022/src/services/magic-color.service.mjs +0 -101
  73. package/esm2022/src/services/magic.lazy.loader.service.mjs +0 -16
  74. package/esm2022/src/services/magic.providers.mjs +0 -25
  75. package/esm2022/src/services/magic.services.mjs +0 -36
  76. package/esm2022/src/services/mg-date-adapter.mjs +0 -108
  77. package/esm2022/src/services/overlay.conainer.magic.provider.mjs +0 -14
  78. package/esm2022/src/services/router-commands.magic.service.mjs +0 -31
  79. package/esm2022/src/services/subform.magic.service.mjs +0 -195
  80. package/esm2022/src/services/table.magic.service.mjs +0 -81
  81. package/esm2022/src/services/task.magics.service.mjs +0 -648
  82. package/esm2022/src/services/title.magic.service.mjs +0 -19
  83. package/esm2022/src/ui/GuiInteractiveExecutor.mjs +0 -114
  84. package/esm2022/src/ui/components/base-magic-alert.component.mjs +0 -24
  85. package/esm2022/src/ui/components/base-magic-confirm.component.mjs +0 -24
  86. package/esm2022/src/ui/components/magic-alert.component.mjs +0 -36
  87. package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +0 -42
  88. package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +0 -58
  89. package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -29
  90. package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -100
  91. package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +0 -37
  92. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
  93. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -85
  94. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
  95. package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -28
  96. package/esm2022/src/ui/directives/magic/nocontrol.magic.directive.mjs +0 -193
  97. package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +0 -62
  98. package/esm2022/src/ui/directives/magic-focus.directive.mjs +0 -20
  99. package/esm2022/src/ui/directives/magic.directive.mjs +0 -232
  100. package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +0 -20
  101. package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +0 -579
  102. package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +0 -60
  103. package/esm2022/src/ui/magic-confirmationBox.mjs +0 -42
  104. package/esm2022/src/ui/magic-modal/base-magic-overlay-container.mjs +0 -22
  105. package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +0 -6
  106. package/esm2022/src/ui/magic-modal/magic-modal-interface.mjs +0 -2
  107. package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -125
  108. package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +0 -162
  109. package/esm2022/src/ui/magic-root.component.mjs +0 -236
  110. package/esm2022/src/ui/mgerror.magic.component.mjs +0 -125
  111. package/esm2022/src/ui/pipes/date.magic.pipe.mjs +0 -106
  112. package/esm2022/src/ui/pipes/time.magic.pipe.mjs +0 -52
  113. package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +0 -35
  114. package/esm2022/src/ui/router-container.magic.component.mjs +0 -115
  115. package/esm2022/src/ui/subform.magic.component.mjs +0 -56
  116. package/esm2022/src/ui/task-base.magic.component.mjs +0 -91
  117. package/esm2022/src/ui/utils.mjs +0 -54
@@ -1,159 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { DynamicModule } from 'ng-dynamic-component';
6
- import { NoControlMagicDirective } from './ui/directives/magic/nocontrol.magic.directive';
7
- import { MagicOverlayContainer } from './ui/magic-modal/magic-overlay-container';
8
- import { RouterContainerMagicComponent } from './ui/router-container.magic.component';
9
- import { MgformatMagicDirective } from './ui/directives/mgformat.magic.directive';
10
- import { DateMagicPipe } from './ui/pipes/date.magic.pipe';
11
- import { TimeMagicPipe } from './ui/pipes/time.magic.pipe';
12
- import { RangeValidatorMagicDirective } from './ui/directives/range-validator.magic.directive';
13
- import { SubformMagicComponent } from './ui/subform.magic.component';
14
- import { ErrorMagicComponent } from './ui/mgerror.magic.component';
15
- import { CheckboxMagicDirective } from './ui/directives/magic/checkbox.magic.directive';
16
- import { ComboboxMagicDirective } from './ui/directives/magic/combobox.magic.directive';
17
- import { MagicShellComponent } from './ui/magic-root.component';
18
- import { MagicCheckboxControlValueAccessor } from './ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive';
19
- import { MagicDefaultValueAccessor } from './ui/directives/magic/form-controls/control-value-accessors/default.cva.directive';
20
- import { MagicDirective } from './ui/directives/magic.directive';
21
- import { TaskBaseMagicComponent } from './ui/task-base.magic.component';
22
- import { RowMagicDirective } from './ui/directives/magic/row.magic.directive';
23
- import { CheckboxNoFormControlMagicDirective } from './ui/directives/magic/checkbox-noformcontrol.magic.directive';
24
- import { InputNoFormControlMagicDirective } from './ui/directives/magic/input.noformcontrol.magic.directive';
25
- import { DateValueAccessor } from './ui/directives/magic/form-controls/control-value-accessors/date.cva.directive';
26
- import { OverlayContainerMagicProvider } from './services/overlay.conainer.magic.provider';
27
- import { MagicOverlayContainerWrapper } from './ui/magic-modal/magic-overlay-container-wrapper';
28
- import { HttpClientModule } from '@angular/common/http';
29
- import { NonMagicControlDirective } from './ui/directives/NonMagicControlDirective';
30
- import { MagicAlertComponent } from './ui/components/magic-alert.component';
31
- import { ConfirmationComponentsMagicProvider } from './services/confirmation.components.magic.provider';
32
- import { MagicConfirmationBoxComponent } from './ui/components/magic-confirmation-box.component';
33
- import { MagicFocusDirective } from './ui/directives/magic-focus.directive';
34
- import { BaseMagicAlertComponent } from './ui/components/base-magic-alert.component';
35
- import { BaseMagicConfirmComponent } from './ui/components/base-magic-confirm.component';
36
- import { MagicViewContainerRef } from './ui/directives/magicViewContainerRef.directive';
37
- import { MaskitoModule } from "@maskito/angular";
38
- import { Time24MagicPipe } from "./ui/pipes/time24.magic.pipe";
39
- import * as i0 from "@angular/core";
40
- const decs = [
41
- MagicDirective,
42
- CheckboxMagicDirective,
43
- CheckboxNoFormControlMagicDirective,
44
- InputNoFormControlMagicDirective,
45
- ComboboxMagicDirective,
46
- RowMagicDirective,
47
- MagicCheckboxControlValueAccessor,
48
- MagicDefaultValueAccessor,
49
- DateValueAccessor,
50
- TaskBaseMagicComponent,
51
- MagicOverlayContainer,
52
- MagicAlertComponent,
53
- MagicConfirmationBoxComponent,
54
- BaseMagicAlertComponent,
55
- BaseMagicConfirmComponent,
56
- MagicOverlayContainerWrapper,
57
- RouterContainerMagicComponent,
58
- MagicShellComponent,
59
- SubformMagicComponent,
60
- ErrorMagicComponent,
61
- NoControlMagicDirective,
62
- MgformatMagicDirective,
63
- DateMagicPipe,
64
- TimeMagicPipe,
65
- RangeValidatorMagicDirective,
66
- NonMagicControlDirective,
67
- MagicFocusDirective,
68
- MagicViewContainerRef,
69
- Time24MagicPipe
70
- ];
71
- export class MagicModule {
72
- static ɵfac = function MagicModule_Factory(t) { return new (t || MagicModule)(); };
73
- static ɵmod = i0.ɵɵdefineNgModule({ type: MagicModule });
74
- static ɵinj = i0.ɵɵdefineInjector({ providers: [ConfirmationComponentsMagicProvider, OverlayContainerMagicProvider], imports: [CommonModule,
75
- FormsModule,
76
- ReactiveFormsModule,
77
- RouterModule,
78
- DynamicModule,
79
- HttpClientModule, MaskitoModule] });
80
- }
81
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicModule, [{
82
- type: NgModule,
83
- args: [{
84
- declarations: [...decs],
85
- exports: [...decs, MaskitoModule],
86
- imports: [
87
- CommonModule,
88
- FormsModule,
89
- ReactiveFormsModule,
90
- RouterModule,
91
- DynamicModule,
92
- HttpClientModule
93
- ],
94
- providers: [ConfirmationComponentsMagicProvider, OverlayContainerMagicProvider]
95
- }]
96
- }], null, null); })();
97
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MagicModule, { declarations: [MagicDirective,
98
- CheckboxMagicDirective,
99
- CheckboxNoFormControlMagicDirective,
100
- InputNoFormControlMagicDirective,
101
- ComboboxMagicDirective,
102
- RowMagicDirective,
103
- MagicCheckboxControlValueAccessor,
104
- MagicDefaultValueAccessor,
105
- DateValueAccessor,
106
- TaskBaseMagicComponent,
107
- MagicOverlayContainer,
108
- MagicAlertComponent,
109
- MagicConfirmationBoxComponent,
110
- BaseMagicAlertComponent,
111
- BaseMagicConfirmComponent,
112
- MagicOverlayContainerWrapper,
113
- RouterContainerMagicComponent,
114
- MagicShellComponent,
115
- SubformMagicComponent,
116
- ErrorMagicComponent,
117
- NoControlMagicDirective,
118
- MgformatMagicDirective,
119
- DateMagicPipe,
120
- TimeMagicPipe,
121
- RangeValidatorMagicDirective,
122
- NonMagicControlDirective,
123
- MagicFocusDirective,
124
- MagicViewContainerRef,
125
- Time24MagicPipe], imports: [CommonModule,
126
- FormsModule,
127
- ReactiveFormsModule,
128
- RouterModule,
129
- DynamicModule,
130
- HttpClientModule], exports: [MagicDirective,
131
- CheckboxMagicDirective,
132
- CheckboxNoFormControlMagicDirective,
133
- InputNoFormControlMagicDirective,
134
- ComboboxMagicDirective,
135
- RowMagicDirective,
136
- MagicCheckboxControlValueAccessor,
137
- MagicDefaultValueAccessor,
138
- DateValueAccessor,
139
- TaskBaseMagicComponent,
140
- MagicOverlayContainer,
141
- MagicAlertComponent,
142
- MagicConfirmationBoxComponent,
143
- BaseMagicAlertComponent,
144
- BaseMagicConfirmComponent,
145
- MagicOverlayContainerWrapper,
146
- RouterContainerMagicComponent,
147
- MagicShellComponent,
148
- SubformMagicComponent,
149
- ErrorMagicComponent,
150
- NoControlMagicDirective,
151
- MgformatMagicDirective,
152
- DateMagicPipe,
153
- TimeMagicPipe,
154
- RangeValidatorMagicDirective,
155
- NonMagicControlDirective,
156
- MagicFocusDirective,
157
- MagicViewContainerRef,
158
- Time24MagicPipe, MaskitoModule] }); })();
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMuY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9tYWdpYy5jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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QUN0QixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFFakIsaUNBQWlDO1FBQ2pDLHlCQUF5QjtRQUN6QixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNkJBQTZCO1FBQzdCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFFdkIsc0JBQXNCO1FBQ3RCLGFBQWE7UUFDYixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGVBQWUsYUFZYixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osYUFBYTtRQUNiLGdCQUFnQixhQS9DbEIsY0FBYztRQUNkLHNCQUFzQjtRQUN0QixtQ0FBbUM7UUFDbkMsZ0NBQWdDO1FBQ2hDLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFFakIsaUNBQWlDO1FBQ2pDLHlCQUF5QjtRQUN6QixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNkJBQTZCO1FBQzdCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFFdkIsc0JBQXNCO1FBQ3RCLGFBQWE7UUFDYixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGVBQWUsRUFVUSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGUgfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5vQ29udHJvbE1hZ2ljRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljL25vY29udHJvbC5tYWdpYy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYWdpY092ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyJztcclxuaW1wb3J0IHsgUm91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQgfSBmcm9tICcuL3VpL3JvdXRlci1jb250YWluZXIubWFnaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWdmb3JtYXRNYWdpY0RpcmVjdGl2ZSB9IGZyb20gJy4vdWkvZGlyZWN0aXZlcy9tZ2Zvcm1hdC5tYWdpYy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEYXRlTWFnaWNQaXBlIH0gZnJvbSAnLi91aS9waXBlcy9kYXRlLm1hZ2ljLnBpcGUnO1xyXG5pbXBvcnQgeyBUaW1lTWFnaWNQaXBlIH0gZnJvbSAnLi91aS9waXBlcy90aW1lLm1hZ2ljLnBpcGUnO1xyXG5pbXBvcnQgeyBSYW5nZVZhbGlkYXRvck1hZ2ljRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL3JhbmdlLXZhbGlkYXRvci5tYWdpYy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNDb21wb25lbnQgfSBmcm9tICcuL3VpL3N1YmZvcm0ubWFnaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3JNYWdpY0NvbXBvbmVudCB9IGZyb20gJy4vdWkvbWdlcnJvci5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveE1hZ2ljRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljL2NoZWNrYm94Lm1hZ2ljLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbWJvYm94TWFnaWNEaXJlY3RpdmUgfSBmcm9tICcuL3VpL2RpcmVjdGl2ZXMvbWFnaWMvY29tYm9ib3gubWFnaWMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWFnaWNTaGVsbENvbXBvbmVudCB9IGZyb20gJy4vdWkvbWFnaWMtcm9vdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYWdpY0NoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL3VpL2RpcmVjdGl2ZXMvbWFnaWMvZm9ybS1jb250cm9scy9jb250cm9sLXZhbHVlLWFjY2Vzc29ycy9jaGVja2JveC5jdmEuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWFnaWNEZWZhdWx0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vdWkvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3JzL2RlZmF1bHQuY3ZhLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hZ2ljRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgfSBmcm9tICcuL3VpL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3dNYWdpY0RpcmVjdGl2ZSB9IGZyb20gJy4vdWkvZGlyZWN0aXZlcy9tYWdpYy9yb3cubWFnaWMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hOb0Zvcm1Db250cm9sTWFnaWNEaXJlY3RpdmUgfSBmcm9tICcuL3VpL2RpcmVjdGl2ZXMvbWFnaWMvY2hlY2tib3gtbm9mb3JtY29udHJvbC5tYWdpYy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbnB1dE5vRm9ybUNvbnRyb2xNYWdpY0RpcmVjdGl2ZSB9IGZyb20gJy4vdWkvZGlyZWN0aXZlcy9tYWdpYy9pbnB1dC5ub2Zvcm1jb250cm9sLm1hZ2ljLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERhdGVWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvY29udHJvbC12YWx1ZS1hY2Nlc3NvcnMvZGF0ZS5jdmEuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIgfSBmcm9tICcuL3NlcnZpY2VzL292ZXJsYXkuY29uYWluZXIubWFnaWMucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBNYWdpY092ZXJsYXlDb250YWluZXJXcmFwcGVyIH0gZnJvbSAnLi91aS9tYWdpYy1tb2RhbC9tYWdpYy1vdmVybGF5LWNvbnRhaW5lci13cmFwcGVyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTm9uTWFnaWNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL05vbk1hZ2ljQ29udHJvbERpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hZ2ljQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL3VpL2NvbXBvbmVudHMvbWFnaWMtYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIgfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5jb21wb25lbnRzLm1hZ2ljLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgTWFnaWNDb25maXJtYXRpb25Cb3hDb21wb25lbnQgfSBmcm9tICcuL3VpL2NvbXBvbmVudHMvbWFnaWMtY29uZmlybWF0aW9uLWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYWdpY0ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljLWZvY3VzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhc2VNYWdpY0FsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS9jb21wb25lbnRzL2Jhc2UtbWFnaWMtYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFzZU1hZ2ljQ29uZmlybUNvbXBvbmVudCB9IGZyb20gJy4vdWkvY29tcG9uZW50cy9iYXNlLW1hZ2ljLWNvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFnaWNWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnLi91aS9kaXJlY3RpdmVzL21hZ2ljVmlld0NvbnRhaW5lclJlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXNraXRvTW9kdWxlIH0gZnJvbSBcIkBtYXNraXRvL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHsgVGltZTI0TWFnaWNQaXBlIH0gZnJvbSBcIi4vdWkvcGlwZXMvdGltZTI0Lm1hZ2ljLnBpcGVcIjtcclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmNvbnN0IGRlY3MgPSBbXHJcbiAgTWFnaWNEaXJlY3RpdmUsXHJcbiAgQ2hlY2tib3hNYWdpY0RpcmVjdGl2ZSxcclxuICBDaGVja2JveE5vRm9ybUNvbnRyb2xNYWdpY0RpcmVjdGl2ZSxcclxuICBJbnB1dE5vRm9ybUNvbnRyb2xNYWdpY0RpcmVjdGl2ZSxcclxuICBDb21ib2JveE1hZ2ljRGlyZWN0aXZlLFxyXG4gIFJvd01hZ2ljRGlyZWN0aXZlLFxyXG5cclxuICBNYWdpY0NoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTWFnaWNEZWZhdWx0VmFsdWVBY2Nlc3NvcixcclxuICBEYXRlVmFsdWVBY2Nlc3NvcixcclxuICBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50LFxyXG4gIE1hZ2ljT3ZlcmxheUNvbnRhaW5lcixcclxuICBNYWdpY0FsZXJ0Q29tcG9uZW50LFxyXG4gIE1hZ2ljQ29uZmlybWF0aW9uQm94Q29tcG9uZW50LFxyXG4gIEJhc2VNYWdpY0FsZXJ0Q29tcG9uZW50LFxyXG4gIEJhc2VNYWdpY0NvbmZpcm1Db21wb25lbnQsXHJcbiAgTWFnaWNPdmVybGF5Q29udGFpbmVyV3JhcHBlcixcclxuICBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCxcclxuICBNYWdpY1NoZWxsQ29tcG9uZW50LFxyXG4gIFN1YmZvcm1NYWdpY0NvbXBvbmVudCxcclxuICBFcnJvck1hZ2ljQ29tcG9uZW50LFxyXG4gIE5vQ29udHJvbE1hZ2ljRGlyZWN0aXZlLFxyXG5cclxuICBNZ2Zvcm1hdE1hZ2ljRGlyZWN0aXZlLFxyXG4gIERhdGVNYWdpY1BpcGUsXHJcbiAgVGltZU1hZ2ljUGlwZSxcclxuICBSYW5nZVZhbGlkYXRvck1hZ2ljRGlyZWN0aXZlLFxyXG4gIE5vbk1hZ2ljQ29udHJvbERpcmVjdGl2ZSxcclxuICBNYWdpY0ZvY3VzRGlyZWN0aXZlLFxyXG4gIE1hZ2ljVmlld0NvbnRhaW5lclJlZixcclxuICBUaW1lMjRNYWdpY1BpcGVcclxuXHJcblxyXG5dO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uZGVjc10sXHJcbiAgZXhwb3J0cyAgICAgOiBbLi4uZGVjcyxNYXNraXRvTW9kdWxlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBEeW5hbWljTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZVxyXG4gIF0sXHJcbiAgLy9DdXN0b21pemFibGUgcHJvdmlkZXJzXHJcbiAgcHJvdmlkZXJzOltDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlciwgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY01vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN1YmZvcm1NYWdpY1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9JU3ViZm9ybU1hZ2ljU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVDb21tYW5kIH0gZnJvbSBcIi4vcm91dGVyLWNvbW1hbmRzLm1hZ2ljLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVN1YmZvcm1NYWdpY1NlcnZpY2V7XHJcbiAgRXhlY3V0ZVJvdXRlQ29tbWFuZChyb3V0ZUNvbW1hbmQ6IFJvdXRlQ29tbWFuZCk7XHJcbn1cclxuIl19
@@ -1,245 +0,0 @@
1
- import { Injectable, Injector, Compiler } 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, Styles } from "@magic-xpa/gui";
9
- import { confirmationBox } from "../ui/magic-confirmationBox";
10
- import { isNullOrUndefined } from "@magic-xpa/mscorelib";
11
- import { MagicLazyLoaderService } from "./magic.lazy.loader.service";
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "./component-list.magic.service";
14
- import * as i2 from "./engine.magic.service";
15
- import * as i3 from "./magic.lazy.loader.service";
16
- import * as i4 from "./overlay.conainer.magic.provider";
17
- import * as i5 from "./confirmation.components.magic.provider";
18
- export class OverlayWindowService {
19
- componentList;
20
- engineMagicService;
21
- magicLazyModuleLoader;
22
- injector;
23
- compiler;
24
- overlayContainerMagicProvider;
25
- confirmationComponentsMagicProvider;
26
- constructor(componentList, engineMagicService, magicLazyModuleLoader, injector, compiler, overlayContainerMagicProvider, confirmationComponentsMagicProvider) {
27
- this.componentList = componentList;
28
- this.engineMagicService = engineMagicService;
29
- this.magicLazyModuleLoader = magicLazyModuleLoader;
30
- this.injector = injector;
31
- this.compiler = compiler;
32
- this.overlayContainerMagicProvider = overlayContainerMagicProvider;
33
- this.confirmationComponentsMagicProvider = confirmationComponentsMagicProvider;
34
- }
35
- overlayWindowsContainerViewRef;
36
- overlayWindowFocusManager = null;
37
- changeDetectorRef = null;
38
- init(overlayWindowsContainerViewRef, rootMagicElement, changeDetectorRef) {
39
- this.overlayWindowsContainerViewRef = overlayWindowsContainerViewRef;
40
- this.overlayWindowFocusManager = new OverlayWindowFocusManager(rootMagicElement);
41
- this.changeDetectorRef = changeDetectorRef;
42
- }
43
- loadAndOpenModule(formName, taskId, taskDescription) {
44
- let moduleRef = this.componentList.getModuleRef(formName);
45
- if (moduleRef == null) {
46
- let lazyLoadModule = this.componentList.getLazyLoadModuleData(formName);
47
- if (lazyLoadModule != null) {
48
- const Magic = 'Magic';
49
- const Module = 'Module';
50
- const moduleName = lazyLoadModule.moduleName.slice(Magic.length, -Module.length);
51
- this.magicLazyModuleLoader.Load(moduleName).then(m => {
52
- const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
53
- moduleRef = compiled.ngModuleFactory.create(this.injector);
54
- this.open(formName, taskId, taskDescription);
55
- this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
56
- });
57
- }
58
- }
59
- else {
60
- this.open(formName, taskId, taskDescription);
61
- this.finishConfirmation(Styles.MSGBOX_BUTTON_OK, true);
62
- }
63
- }
64
- open(formName, taskId, taskDescription) {
65
- let comp = this.componentList.lazyLoadModulesMap != null && this.componentList.lazyLoadModulesMap.hasOwnProperty(formName) ? null : this.componentList.getComponent(formName);
66
- let parameters = { taskIdParam: taskId, taskDescription: taskDescription };
67
- let componentRef = this.createModalComponent({ MagicFormName: formName, ModalComp: comp, ModalCompParameters: parameters }, this.overlayContainerMagicProvider.getComponent(), OverlayType.Overlay);
68
- componentRef.instance.onClose.subscribe(() => {
69
- let guiEvent = getGuiEventObj("close", null, 0);
70
- guiEvent.TaskID = taskId;
71
- this.engineMagicService.insertEvent(guiEvent);
72
- });
73
- this.changeDetectorRef.detectChanges();
74
- }
75
- close(commandStr) {
76
- this.overlayWindowsContainerViewRef.remove();
77
- this.overlayWindowFocusManager.popDialog();
78
- let guiEvent1 = getGuiEventObj("dispose", null, 0);
79
- guiEvent1.TaskID = commandStr;
80
- this.engineMagicService.insertEvent(guiEvent1);
81
- }
82
- openConfirmationBox(title, msg, style) {
83
- if (this.confirmationComponentsMagicProvider.showDefaultConfirmations()) {
84
- let res = confirmationBox.showConfirmationBox(title, msg, style);
85
- this.finishConfirmation(style, res);
86
- }
87
- else {
88
- let comp = confirmationBox.isConfirmBox(style) ? this.confirmationComponentsMagicProvider.getConfirmtionComponent() : this.confirmationComponentsMagicProvider.getAlertComponent();
89
- let overlayType = confirmationBox.isConfirmBox(style) ? OverlayType.ConfirmationBox : OverlayType.Alert;
90
- let componentRef = this.createModalComponent({ title: title, message: msg }, comp, overlayType);
91
- componentRef.instance.onClose.subscribe((res) => {
92
- this.overlayWindowsContainerViewRef.remove();
93
- this.overlayWindowFocusManager.popDialog();
94
- this.finishConfirmation(style, res);
95
- });
96
- }
97
- }
98
- finishConfirmation(style, result) {
99
- let guiEvent = getGuiEventObj("confirmationClosed", null, 0);
100
- guiEvent.keyCode = confirmationBox.convertToExcpectedResultBox(style, result);
101
- this.engineMagicService.insertEvent(guiEvent);
102
- }
103
- createModalComponent(parameters, component, overlayType) {
104
- let componentRef;
105
- let magicModalContainerParameters = {
106
- Component: component,
107
- Parameters: parameters,
108
- OverlayTypeParam: overlayType
109
- };
110
- let viewCRef = this.overlayWindowsContainerViewRef;
111
- componentRef = viewCRef.createComponent(MagicOverlayContainerWrapper);
112
- Object.assign(componentRef.instance, magicModalContainerParameters);
113
- this.overlayWindowFocusManager.pushDialog(componentRef.instance.GetRootElement());
114
- componentRef.instance.DetectChanges();
115
- return componentRef;
116
- }
117
- static ɵfac = function OverlayWindowService_Factory(t) { return new (t || OverlayWindowService)(i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.EngineMagicService), i0.ɵɵinject(i3.MagicLazyLoaderService), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.Compiler), i0.ɵɵinject(i4.OverlayContainerMagicProvider), i0.ɵɵinject(i5.ConfirmationComponentsMagicProvider)); };
118
- static ɵprov = i0.ɵɵdefineInjectable({ token: OverlayWindowService, factory: OverlayWindowService.ɵfac, providedIn: 'root' });
119
- }
120
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OverlayWindowService, [{
121
- type: Injectable,
122
- args: [{
123
- providedIn: 'root'
124
- }]
125
- }], () => [{ type: i1.ComponentListMagicService }, { type: i2.EngineMagicService }, { type: i3.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }, { type: i4.OverlayContainerMagicProvider }, { type: i5.ConfirmationComponentsMagicProvider }], null); })();
126
- class OverlayWindowFocusManager {
127
- rootMagicElement = null;
128
- openDialogList = new Array(0);
129
- ignoreUtilFocusChanges = false;
130
- lastFocus = null;
131
- focusListener = null;
132
- constructor(rootMagicElement) {
133
- this.rootMagicElement = rootMagicElement;
134
- }
135
- pushDialog(rootElement) {
136
- if (this.openDialogList.length === 0) {
137
- this.focusListener = this.trapFocus.bind(this);
138
- document.addEventListener('focus', this.focusListener, true);
139
- }
140
- this.openDialogList.push(new DialogInfo(rootElement, (document.activeElement instanceof HTMLElement ? document.activeElement : null)));
141
- }
142
- popDialog() {
143
- const dialogInfo = this.openDialogList.pop();
144
- this.attemptFocus(dialogInfo.FocusElementOnClose);
145
- if (this.openDialogList.length === 0) {
146
- document.removeEventListener('focus', this.focusListener, true);
147
- this.focusListener = null;
148
- }
149
- }
150
- trapFocus(event) {
151
- if (this.ignoreUtilFocusChanges) {
152
- return;
153
- }
154
- if (this.openDialogList.length > 0) {
155
- var currentDialog = this.openDialogList[this.openDialogList.length - 1].RootElement;
156
- if (currentDialog.contains(event.target)) {
157
- this.lastFocus = event.target;
158
- }
159
- else {
160
- if (this.rootMagicElement.contains(event.target)) {
161
- this.focusFirstDescendant(currentDialog);
162
- if (this.lastFocus == document.activeElement) {
163
- this.focusLastDescendant(currentDialog);
164
- }
165
- }
166
- this.lastFocus = document.activeElement;
167
- }
168
- }
169
- }
170
- focusFirstDescendant(element) {
171
- for (var i = 0; i < element.childNodes.length; i++) {
172
- var child = element.childNodes[i];
173
- if (this.attemptFocus(child) ||
174
- this.focusFirstDescendant(child)) {
175
- return true;
176
- }
177
- }
178
- return false;
179
- }
180
- ;
181
- focusLastDescendant(element) {
182
- for (var i = element.childNodes.length - 1; i >= 0; i--) {
183
- var child = element.childNodes[i];
184
- if (this.attemptFocus(child) ||
185
- this.focusLastDescendant(child)) {
186
- return true;
187
- }
188
- }
189
- return false;
190
- }
191
- ;
192
- attemptFocus(element) {
193
- if (!this.isFocusable(element)) {
194
- return false;
195
- }
196
- this.ignoreUtilFocusChanges = true;
197
- try {
198
- element.focus();
199
- }
200
- catch (e) {
201
- }
202
- this.ignoreUtilFocusChanges = false;
203
- return (document.activeElement === element);
204
- }
205
- ;
206
- isFocusable(element) {
207
- if (isNullOrUndefined(element))
208
- return false;
209
- if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {
210
- return true;
211
- }
212
- else if (element.tabIndex < 0)
213
- return false;
214
- if (element.disabled) {
215
- return false;
216
- }
217
- switch (element.nodeName) {
218
- case 'A':
219
- return !!element.href && element.rel != 'ignore';
220
- case 'INPUT':
221
- return element.type != 'hidden' && element.type != 'file';
222
- case 'BUTTON':
223
- case 'SELECT':
224
- case 'TEXTAREA':
225
- return true;
226
- default:
227
- return false;
228
- }
229
- }
230
- }
231
- class DialogInfo {
232
- rootElement;
233
- focusElementOnClose;
234
- constructor(rootElement, focusElementOnClose) {
235
- this.rootElement = rootElement;
236
- this.focusElementOnClose = focusElementOnClose;
237
- }
238
- get RootElement() {
239
- return this.rootElement;
240
- }
241
- get FocusElementOnClose() {
242
- return this.focusElementOnClose;
243
- }
244
- }
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3ZlcmxheVdpbmRvd1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9zZXJ2aWNlcy9PdmVybGF5V2luZG93U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFVBQVUsRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFHbEYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFDckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFZLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBV25FLE1BQU0sT0FBTyxvQkFBb0I7SUFHVDtJQUNBO0lBQ0Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVBwQixZQUNzQixhQUF1QyxFQUN2QyxrQkFBc0MsRUFDeEMscUJBQTZDLEVBQzdDLFFBQWtCLEVBQ2xCLFFBQWtCLEVBQ2xCLDZCQUE0RCxFQUM1RCxtQ0FBd0U7UUFOdEUsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLHVCQUFrQixHQUFsQixrQkFBa0Is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QUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDO1lBQ2Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVU7SUFFTixXQUFXLENBQWM7SUFDekIsbUJBQW1CLENBQWM7SUFFekMsWUFBWSxXQUF3QixFQUFFLG1CQUFnQztRQUNwRSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcGlsZXIsXHJcbiAgTmdNb2R1bGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSwgTW9kdWxlRGF0YX0gZnJvbSBcIi4vY29tcG9uZW50LWxpc3QubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQge0VuZ2luZU1hZ2ljU2VydmljZX0gZnJvbSBcIi4vZW5naW5lLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnQsIGdldEd1aUV2ZW50T2JqfSBmcm9tIFwiQG1hZ2ljLXhwYS9lbmdpbmVcIjtcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXIgfSBmcm9tIFwiLi9vdmVybGF5LmNvbmFpbmVyLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIgfSBmcm9tIFwiLi4vdWkvbWFnaWMtbW9kYWwvbWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlclwiO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlciB9IGZyb20gXCIuL2NvbmZpcm1hdGlvbi5jb21wb25lbnRzLm1hZ2ljLnByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IE92ZXJsYXlUeXBlLCBTdHlsZXMgfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHsgY29uZmlybWF0aW9uQm94IH0gZnJvbSBcIi4uL3VpL21hZ2ljLWNvbmZpcm1hdGlvbkJveFwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge01hZ2ljTGF6eUxvYWRlclNlcnZpY2V9IGZyb20gXCIuL21hZ2ljLmxhenkubG9hZGVyLnNlcnZpY2VcIjtcclxuXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIG1hbmFnaW5nIG92ZXJsYXkgd2luZG93c1xyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46J3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPdmVybGF5V2luZG93U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBjb21wb25lbnRMaXN0OkNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGVuZ2luZU1hZ2ljU2VydmljZTogRW5naW5lTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbWFnaWNMYXp5TW9kdWxlTG9hZGVyOiBNYWdpY0xhenlMb2FkZXJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lck1hZ2ljUHJvdmlkZXI6IE92ZXJsYXlDb250YWluZXJNYWdpY1Byb3ZpZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXI6IENvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyKSB7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdmlldyByZWZlcmVuY2Ugb2YgY29udGFpbmVyIG9mIG92ZXJsYXkgd2luZG93XHJcbiAgcHJpdmF0ZSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcjogT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlciA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gbnVsbDtcclxuXHJcbiAgaW5pdChvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsIHJvb3RNYWdpY0VsZW1lbnQ6IEVsZW1lbnQsIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYgPSBvdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICB0aGlzLm92ZXJsYXlXaW5kb3dGb2N1c01hbmFnZXIgPSBuZXcgT3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlcihyb290TWFnaWNFbGVtZW50KTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYgPSBjaGFuZ2VEZXRlY3RvclJlZjtcclxuICB9XHJcblxyXG4gIGxvYWRBbmRPcGVuTW9kdWxlIChmb3JtTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3QuZ2V0TW9kdWxlUmVmKGZvcm1OYW1lKTtcclxuXHJcbiAgICBpZiAobW9kdWxlUmVmID09IG51bGwpIHtcclxuICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0LmdldExhenlMb2FkTW9kdWxlRGF0YShmb3JtTmFtZSk7XHJcblxyXG4gICAgICBpZiAobGF6eUxvYWRNb2R1bGUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc3QgTWFnaWM6IHN0cmluZyA9ICdNYWdpYyc7XHJcbiAgICAgICAgICBjb25zdCBNb2R1bGU6IHN0cmluZyA9ICdNb2R1bGUnO1xyXG5cclxuICAgICAgICAgIC8vIGV4dHJhY3QgbmFtZSBvZiBtb2R1bGUoWFgpIGZyb20gJ01hZ2ljWFhNb2R1bGUnXHJcbiAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZS5zbGljZShNYWdpYy5sZW5ndGgsIC1Nb2R1bGUubGVuZ3RoKTtcclxuICAgICAgICAgIHRoaXMubWFnaWNMYXp5TW9kdWxlTG9hZGVyLkxvYWQobW9kdWxlTmFtZSkudGhlbihtID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29tcGlsZWQgPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBbmRBbGxDb21wb25lbnRzU3luYyg8YW55Pm1bbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZV0pO1xyXG4gICAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgICAgICB0aGlzLm9wZW4oZm9ybU5hbWUsIHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uKTtcclxuICAgICAgICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oU3R5bGVzLk1TR0JPWF9CVVRUT05fT0ssIHRydWUpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW4oZm9ybU5hbWUsIHRhc2tJZCwgdGFza0Rlc2NyaXB0aW9uKTtcclxuICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oU3R5bGVzLk1TR0JPWF9CVVRUT05fT0ssIHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbihmb3JtTmFtZTogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcpIHtcclxuXHJcbiAgICAvLyBmb3Igb3ZlcmxheSB3aGljaCBhcmUgbGF6eSBsb2FkZWQgZG9uJ3QgZmluZCBkYXRhIGluIGNvbXBvbmVudC1saXN0XHJcbiAgICBsZXQgY29tcCA9ICB0aGlzLmNvbXBvbmVudExpc3QubGF6eUxvYWRNb2R1bGVzTWFwICE9IG51bGwgJiYgdGhpcy5jb21wb25lbnRMaXN0LmxhenlMb2FkTW9kdWxlc01hcC5oYXNPd25Qcm9wZXJ0eShmb3JtTmFtZSkgPyBudWxsIDp0aGlzLmNvbXBvbmVudExpc3QuZ2V0Q29tcG9uZW50KGZvcm1OYW1lKTtcclxuICAgIGxldCBwYXJhbWV0ZXJzID0geyB0YXNrSWRQYXJhbTogdGFza0lkLCB0YXNrRGVzY3JpcHRpb246IHRhc2tEZXNjcmlwdGlvbiB9O1xyXG5cclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZU1vZGFsQ29tcG9uZW50KHsgTWFnaWNGb3JtTmFtZTogZm9ybU5hbWUsIE1vZGFsQ29tcDogY29tcCwgTW9kYWxDb21wUGFyYW1ldGVyczogcGFyYW1ldGVyc30sIDxDb21wb25lbnQ+dGhpcy5vdmVybGF5Q29udGFpbmVyTWFnaWNQcm92aWRlci5nZXRDb21wb25lbnQoKSwgT3ZlcmxheVR5cGUuT3ZlcmxheSk7XHJcblxyXG4gICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQ2xvc2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImNsb3NlXCIsIG51bGwsIDApO1xyXG4gICAgICBndWlFdmVudC5UYXNrSUQgPSB0YXNrSWQ7XHJcbiAgICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vdXNpbmcgdGhlIHNhbWUgY2hhbmdlRGV0ZWN0b3JSZWYgZnJvbSByb290LWNvbXBvbmVudFxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZShjb21tYW5kU3RyOiBzdHJpbmcpIHtcclxuICAgIC8vIENsb3NlIHRoZSBvdmVybGF5IGJ5IHJlbW92aW5nIHRoZSBvdmVybGF5IHdpbmRvdyBmcm9tIGl0cyBjb250YWluZXJcclxuICAgIHRoaXMub3ZlcmxheVdpbmRvd3NDb250YWluZXJWaWV3UmVmLnJlbW92ZSgpO1xyXG4gICAgdGhpcy5vdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyLnBvcERpYWxvZygpO1xyXG5cclxuICAgIGxldCBndWlFdmVudDE6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwiZGlzcG9zZVwiLCBudWxsLCAwKTtcclxuICAgIGd1aUV2ZW50MS5UYXNrSUQgPSBjb21tYW5kU3RyO1xyXG4gICAgdGhpcy5lbmdpbmVNYWdpY1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQxKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBPcGVuIENvbmZpcm1hdGlvbiBib3hcclxuICAgKiBAcGFyYW0gdGl0bGUgdGl0bGUgb2YgdGhlIGJveFxyXG4gICAqIEBwYXJhbSBtc2cgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBzdHlsZSBNYWdpYyBzdHlsZVxyXG4gICAqL1xyXG4gICBvcGVuQ29uZmlybWF0aW9uQm94KCB0aXRsZTogc3RyaW5nLCBtc2c6IHN0cmluZywgc3R5bGU6IFN0eWxlcykge1xyXG5cclxuICAgICAvL3Nob3cgZGVmYXVsdCBjb25maXJtYXRpb25zXHJcbiAgICBpZiAodGhpcy5jb25maXJtYXRpb25Db21wb25lbnRzTWFnaWNQcm92aWRlci5zaG93RGVmYXVsdENvbmZpcm1hdGlvbnMoKSlcclxuICAgIHtcclxuICAgICAgbGV0IHJlcyA9IGNvbmZpcm1hdGlvbkJveC5zaG93Q29uZmlybWF0aW9uQm94KHRpdGxlLCBtc2csIHN0eWxlKTtcclxuICAgICAgdGhpcy5maW5pc2hDb25maXJtYXRpb24oIHN0eWxlLCByZXMpO1xyXG5cclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgIHtcclxuICAgICAgLy9zaG93IGN1c3RvbSBjb25maXJtYXRpb25zXHJcbiAgICAgIGxldCBjb21wID0gY29uZmlybWF0aW9uQm94LmlzQ29uZmlybUJveChzdHlsZSkgPyB0aGlzLmNvbmZpcm1hdGlvbkNvbXBvbmVudHNNYWdpY1Byb3ZpZGVyLmdldENvbmZpcm10aW9uQ29tcG9uZW50KCkgOnRoaXMuY29uZmlybWF0aW9uQ29tcG9uZW50c01hZ2ljUHJvdmlkZXIuZ2V0QWxlcnRDb21wb25lbnQoKSAgO1xyXG4gICAgICBsZXQgb3ZlcmxheVR5cGUgPSBjb25maXJtYXRpb25Cb3guaXNDb25maXJtQm94KHN0eWxlKT8gT3ZlcmxheVR5cGUuQ29uZmlybWF0aW9uQm94IDogT3ZlcmxheVR5cGUuQWxlcnQ7XHJcbiAgICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZU1vZGFsQ29tcG9uZW50KHsgdGl0bGU6IHRpdGxlLCBtZXNzYWdlOiBtc2cgfSwgY29tcCwgb3ZlcmxheVR5cGUpO1xyXG5cclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQ2xvc2Uuc3Vic2NyaWJlKChyZXMgOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWYucmVtb3ZlKCk7XHJcbiAgICAgICAgdGhpcy5vdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyLnBvcERpYWxvZygpO1xyXG4gICAgICAgIHRoaXMuZmluaXNoQ29uZmlybWF0aW9uKCBzdHlsZSwgcmVzKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbiBjbG9zZSBvZiB0aGUgY29uZmlybWF0aW9uXHJcbiAgICogQHBhcmFtIHN0eWxlIE1hZ2ljIHN0eWxlXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIGZpbmlzaENvbmZpcm1hdGlvbihzdHlsZTogU3R5bGVzLCByZXN1bHQ6IGJvb2xlYW4gKSB7XHJcbiAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwiY29uZmlybWF0aW9uQ2xvc2VkXCIsIG51bGwsIDApO1xyXG4gICAgZ3VpRXZlbnQua2V5Q29kZSA9IDxudW1iZXI+Y29uZmlybWF0aW9uQm94LmNvbnZlcnRUb0V4Y3BlY3RlZFJlc3VsdEJveChzdHlsZSwgcmVzdWx0KTtcclxuICAgIHRoaXMuZW5naW5lTWFnaWNTZXJ2aWNlLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNyZWF0ZXMgYSBtb2RhbCBjb21wb25lbnQuIENhbiBiZSB1c2VkIGZvciBvdmVybGF5LCBtZXNzYWdlIGJveCBvciBjb25maXJtYXRpb24gYm94XHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgY29tcG9uZW50J3MgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnQgY29tcG9uZW50cyB0byBjcmVhdGVcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZU1vZGFsQ29tcG9uZW50KHBhcmFtZXRlcnM6IGFueSwgY29tcG9uZW50OiBDb21wb25lbnQsIG92ZXJsYXlUeXBlOiBPdmVybGF5VHlwZSk6IENvbXBvbmVudFJlZjxhbnk+IHtcclxuICAgIGxldCBjb21wb25lbnRSZWY7XHJcbiAgICBsZXQgbWFnaWNNb2RhbENvbnRhaW5lclBhcmFtZXRlcnMgPSB7XHJcbiAgICAgIENvbXBvbmVudDogY29tcG9uZW50LFxyXG4gICAgICBQYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzLFxyXG4gICAgICBPdmVybGF5VHlwZVBhcmFtOiBvdmVybGF5VHlwZVxyXG5cclxuICAgIH07XHJcblxyXG4gICAgLy8gQ3JlYXRlIHRoZSBVSSBjb21wb25lbnQgb2YgbW9kYWwgd2luZG93XHJcbiAgICBsZXQgdmlld0NSZWYgOiBWaWV3Q29udGFpbmVyUmVmID0gPFZpZXdDb250YWluZXJSZWY+dGhpcy5vdmVybGF5V2luZG93c0NvbnRhaW5lclZpZXdSZWY7XHJcbiAgICBjb21wb25lbnRSZWYgPSB2aWV3Q1JlZi5jcmVhdGVDb21wb25lbnQoTWFnaWNPdmVybGF5Q29udGFpbmVyV3JhcHBlcik7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBkYXRhIHRvIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgbWFnaWNNb2RhbENvbnRhaW5lclBhcmFtZXRlcnMpO1xyXG5cclxuICAgIHRoaXMub3ZlcmxheVdpbmRvd0ZvY3VzTWFuYWdlci5wdXNoRGlhbG9nKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5HZXRSb290RWxlbWVudCgpKTtcclxuXHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuRGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG59XHJcblxyXG5jbGFzcyBPdmVybGF5V2luZG93Rm9jdXNNYW5hZ2VyXHJcbntcclxuICBwcml2YXRlIHJvb3RNYWdpY0VsZW1lbnQ6IEVsZW1lbnQgPSBudWxsO1xyXG4gIHByaXZhdGUgb3BlbkRpYWxvZ0xpc3Q6IEFycmF5PERpYWxvZ0luZm8+ID0gbmV3IEFycmF5KDApO1xyXG4gIHByaXZhdGUgaWdub3JlVXRpbEZvY3VzQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbGFzdEZvY3VzID0gbnVsbDtcclxuICBwcml2YXRlIGZvY3VzTGlzdGVuZXIgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvciAocm9vdE1hZ2ljRWxlbWVudDogRWxlbWVudCkge1xyXG4gICAgdGhpcy5yb290TWFnaWNFbGVtZW50ID0gcm9vdE1hZ2ljRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHB1c2hEaWFsb2cocm9vdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5mb2N1c0xpc3RlbmVyID0gdGhpcy50cmFwRm9jdXMuYmluZCh0aGlzKTtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmZvY3VzTGlzdGVuZXIsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3BlbkRpYWxvZ0xpc3QucHVzaChuZXcgRGlhbG9nSW5mbyhyb290RWxlbWVudCwgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IDxIVE1MRWxlbWVudD5kb2N1bWVudC5hY3RpdmVFbGVtZW50IDogbnVsbCkpKTtcclxuICB9XHJcblxyXG4gIHBvcERpYWxvZygpIHtcclxuICAgIGNvbnN0IGRpYWxvZ0luZm8gPSB0aGlzLm9wZW5EaWFsb2dMaXN0LnBvcCgpO1xyXG4gICAgdGhpcy5hdHRlbXB0Rm9jdXMoZGlhbG9nSW5mby5Gb2N1c0VsZW1lbnRPbkNsb3NlKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLmZvY3VzTGlzdGVuZXIsIHRydWUpO1xyXG4gICAgICB0aGlzLmZvY3VzTGlzdGVuZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdHJhcEZvY3VzIChldmVudCkge1xyXG4gICAgaWYgKHRoaXMuaWdub3JlVXRpbEZvY3VzQ2hhbmdlcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMub3BlbkRpYWxvZ0xpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICB2YXIgY3VycmVudERpYWxvZyA9IHRoaXMub3BlbkRpYWxvZ0xpc3RbdGhpcy5vcGVuRGlhbG9nTGlzdC5sZW5ndGggLSAxXS5Sb290RWxlbWVudDtcclxuICAgICAgaWYgKGN1cnJlbnREaWFsb2cuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgIHRoaXMubGFzdEZvY3VzID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLnJvb3RNYWdpY0VsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICAgICAgdGhpcy5mb2N1c0ZpcnN0RGVzY2VuZGFudChjdXJyZW50RGlhbG9nKTtcclxuICAgICAgICAgIGlmICh0aGlzLmxhc3RGb2N1cyA9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0RGVzY2VuZGFudChjdXJyZW50RGlhbG9nKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sYXN0Rm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzRmlyc3REZXNjZW5kYW50IChlbGVtZW50KSB7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB2YXIgY2hpbGQgPSBlbGVtZW50LmNoaWxkTm9kZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmF0dGVtcHRGb2N1cyhjaGlsZCkgfHxcclxuICAgICAgICB0aGlzLmZvY3VzRmlyc3REZXNjZW5kYW50KGNoaWxkKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBmb2N1c0xhc3REZXNjZW5kYW50IChlbGVtZW50KSB7XHJcbiAgICBmb3IgKHZhciBpID0gZWxlbWVudC5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIHZhciBjaGlsZCA9IGVsZW1lbnQuY2hpbGROb2Rlc1tpXTtcclxuICAgICAgaWYgKHRoaXMuYXR0ZW1wdEZvY3VzKGNoaWxkKSB8fFxyXG4gICAgICAgIHRoaXMuZm9jdXNMYXN0RGVzY2VuZGFudChjaGlsZCkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgYXR0ZW1wdEZvY3VzIChlbGVtZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2FibGUoZWxlbWVudCkpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaWdub3JlVXRpbEZvY3VzQ2hhbmdlcyA9IHRydWU7XHJcbiAgICB0cnkge1xyXG4gICAgICBlbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZSkge1xyXG4gICAgfVxyXG4gICAgdGhpcy5pZ25vcmVVdGlsRm9jdXNDaGFuZ2VzID0gZmFsc2U7XHJcbiAgICByZXR1cm4gKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaXNGb2N1c2FibGUgKGVsZW1lbnQpIHtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChlbGVtZW50KSlcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChlbGVtZW50LnRhYkluZGV4ID4gMCB8fCAoZWxlbWVudC50YWJJbmRleCA9PT0gMCAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZSgndGFiSW5kZXgnKSAhPT0gbnVsbCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlbGVtZW50LnRhYkluZGV4IDwgMClcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChlbGVtZW50LmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKGVsZW1lbnQubm9kZU5hbWUpIHtcclxuICAgICAgY2FzZSAnQSc6XHJcbiAgICAgICAgcmV0dXJuICEhZWxlbWVudC5ocmVmICYmIGVsZW1lbnQucmVsICE9ICdpZ25vcmUnO1xyXG4gICAgICBjYXNlICdJTlBVVCc6XHJcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQudHlwZSAhPSAnaGlkZGVuJyAmJiBlbGVtZW50LnR5cGUgIT0gJ2ZpbGUnO1xyXG4gICAgICBjYXNlICdCVVRUT04nOlxyXG4gICAgICBjYXNlICdTRUxFQ1QnOlxyXG4gICAgICBjYXNlICdURVhUQVJFQSc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuY2xhc3MgRGlhbG9nSW5mb1xyXG57XHJcbiAgcHJpdmF0ZSByb290RWxlbWVudDogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBmb2N1c0VsZW1lbnRPbkNsb3NlOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgY29uc3RydWN0b3Iocm9vdEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmb2N1c0VsZW1lbnRPbkNsb3NlOiBIVE1MRWxlbWVudCkge1xyXG4gICAgdGhpcy5yb290RWxlbWVudCA9IHJvb3RFbGVtZW50O1xyXG4gICAgdGhpcy5mb2N1c0VsZW1lbnRPbkNsb3NlID0gZm9jdXNFbGVtZW50T25DbG9zZTtcclxuICB9XHJcblxyXG4gIGdldCBSb290RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5yb290RWxlbWVudDtcclxuICB9XHJcblxyXG4gIGdldCBGb2N1c0VsZW1lbnRPbkNsb3NlKCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzRWxlbWVudE9uQ2xvc2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
@@ -1,28 +0,0 @@
1
- import { MagicProperties } from "@magic-xpa/utils";
2
- import { NString, isNullOrUndefined } from "@magic-xpa/mscorelib";
3
- export class StylesMapManager {
4
- static StylesMap = new Map([
5
- [MagicProperties.LineDivider, new Map([[true, "solid"], [false, "hidden"]])],
6
- [MagicProperties.ImageFile, "url('\{0}\')"],
7
- [MagicProperties.Wallpaper, "url('\{0}\')"]
8
- ]);
9
- static MagicPropertyToHtmlAttributeMap = new Map([
10
- [MagicProperties.LineDivider, "border-bottom-style"],
11
- [MagicProperties.ImageFile, "background-image"],
12
- [MagicProperties.Wallpaper, "background-image"]
13
- ]);
14
- static magicValueGetStyle(styleName, magicValue) {
15
- let style = "";
16
- if (!isNullOrUndefined(magicValue)) {
17
- let value = StylesMapManager.StylesMap.get(styleName);
18
- if (value.constructor === Map) {
19
- style = value.get(magicValue);
20
- }
21
- else if (value.constructor === String) {
22
- style = NString.Format(value.toString(), magicValue);
23
- }
24
- }
25
- return style;
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVzTWFwTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL1N0eWxlc01hcE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQTtBQUsvRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxTQUFTLEdBQXFCLElBQUksR0FBRyxDQUMxQztRQUNFLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLEdBQUcsQ0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO1FBQzNDLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUM7S0FDNUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxDQUFDLCtCQUErQixHQUF3QixJQUFJLEdBQUcsQ0FDbkU7UUFDRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLENBQUM7UUFDcEQsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDO1FBQy9DLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQztLQUNoRCxDQUNGLENBQUM7SUFFRixNQUFNLENBQUMsa0JBQWtCLENBQUMsU0FBaUIsRUFBRSxVQUFlO1FBQzFELElBQUksS0FBSyxHQUFXLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssR0FBRyxFQUFFO2dCQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMvQjtpQkFDSSxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssTUFBTSxFQUFFO2dCQUNyQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDdEQ7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWFnaWNQcm9wZXJ0aWVzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiXHJcbmltcG9ydCB7TlN0cmluZywgaXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiXHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFN0eWxlc01hcE1hbmFnZXIge1xyXG4gIHN0YXRpYyBTdHlsZXNNYXA6IE1hcDxzdHJpbmcsIGFueT4gPSBuZXcgTWFwPHN0cmluZywgYW55PihcclxuICAgIFtcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5MaW5lRGl2aWRlciwgbmV3IE1hcDxhbnksIGFueT4oW1t0cnVlLCBcInNvbGlkXCJdLCBbZmFsc2UsIFwiaGlkZGVuXCJdXSldLFxyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLkltYWdlRmlsZSwgXCJ1cmwoJ1xcezB9XFwnKVwiXSxcclxuICAgICAgW01hZ2ljUHJvcGVydGllcy5XYWxscGFwZXIsIFwidXJsKCdcXHswfVxcJylcIl1cclxuICAgIF1cclxuICApO1xyXG5cclxuICBzdGF0aWMgTWFnaWNQcm9wZXJ0eVRvSHRtbEF0dHJpYnV0ZU1hcDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KFxyXG4gICAgW1xyXG4gICAgICBbTWFnaWNQcm9wZXJ0aWVzLkxpbmVEaXZpZGVyLCBcImJvcmRlci1ib3R0b20tc3R5bGVcIl0sXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuSW1hZ2VGaWxlLCBcImJhY2tncm91bmQtaW1hZ2VcIl0sXHJcbiAgICAgIFtNYWdpY1Byb3BlcnRpZXMuV2FsbHBhcGVyLCBcImJhY2tncm91bmQtaW1hZ2VcIl1cclxuICAgIF1cclxuICApO1xyXG5cclxuICBzdGF0aWMgbWFnaWNWYWx1ZUdldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCBtYWdpY1ZhbHVlOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0eWxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobWFnaWNWYWx1ZSkpIHtcclxuICAgICAgbGV0IHZhbHVlID0gU3R5bGVzTWFwTWFuYWdlci5TdHlsZXNNYXAuZ2V0KHN0eWxlTmFtZSk7XHJcbiAgICAgIGlmICh2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gTWFwKSB7XHJcbiAgICAgICAgc3R5bGUgPSB2YWx1ZS5nZXQobWFnaWNWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodmFsdWUuY29uc3RydWN0b3IgPT09IFN0cmluZykge1xyXG4gICAgICAgIHN0eWxlID0gTlN0cmluZy5Gb3JtYXQodmFsdWUudG9TdHJpbmcoKSwgbWFnaWNWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG59XHJcbiJdfQ==