@magic-xpa/angular 4.1200.0-dev4120.6 → 4.1200.0-dev4120.60

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,115 +0,0 @@
1
- import { Component, ViewContainerRef } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { EngineMagicService } from '../services/engine.magic.service';
4
- import { getGuiEventObj } from '@magic-xpa/engine';
5
- import { List } from '@magic-xpa/mscorelib';
6
- import { StrUtil } from '@magic-xpa/utils';
7
- import { ComponentListMagicService } from '../services/component-list.magic.service';
8
- import { SubformMagicService } from '../services/subform.magic.service';
9
- import { CommandsCollectorMagicService } from '../services/commands-collector.magic.service';
10
- import { RouterCommandsMagicService } from '../services/router-commands.magic.service';
11
- import { TaskMagicService } from '../services/task.magics.service';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/router";
14
- import * as i2 from "../services/engine.magic.service";
15
- import * as i3 from "../services/task.magics.service";
16
- import * as i4 from "../services/component-list.magic.service";
17
- import * as i5 from "../services/commands-collector.magic.service";
18
- import * as i6 from "../services/router-commands.magic.service";
19
- export class RouterContainerMagicComponent {
20
- activatedRoute;
21
- router;
22
- magic;
23
- containerTaskService;
24
- viewContainerRef;
25
- componentList;
26
- pendingCommandsCollector;
27
- routerCommandsMagicService;
28
- componentRef = null;
29
- parentMgSubformService = null;
30
- static lastRoute = "/";
31
- static get LastRoute() {
32
- return RouterContainerMagicComponent.lastRoute;
33
- }
34
- constructor(activatedRoute, router, magic, containerTaskService, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
35
- this.activatedRoute = activatedRoute;
36
- this.router = router;
37
- this.magic = magic;
38
- this.containerTaskService = containerTaskService;
39
- this.viewContainerRef = viewContainerRef;
40
- this.componentList = componentList;
41
- this.pendingCommandsCollector = pendingCommandsCollector;
42
- this.routerCommandsMagicService = routerCommandsMagicService;
43
- }
44
- ngOnInit() {
45
- let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
46
- let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
47
- RouterContainerMagicComponent.lastRoute = this.router.url;
48
- if (subformMagicService == null || subformMagicService.currentRouteDefinition === null) {
49
- this.insertRouteEvent(currentActiveRoute);
50
- SubformMagicService.routerContainers.push(this);
51
- }
52
- else {
53
- this.initializeComponent();
54
- }
55
- }
56
- insertRouteEvent(currentActiveRoute) {
57
- let guiEvent = getGuiEventObj('RouterNavigate', null, 0);
58
- guiEvent.RouterPath = currentActiveRoute.snapshot.routeConfig.path;
59
- if (currentActiveRoute.snapshot.outlet !== 'primary')
60
- guiEvent.RouterOutletName = currentActiveRoute.snapshot.outlet;
61
- let calcRouterPath = currentActiveRoute.routeConfig.path;
62
- if (calcRouterPath.length > 0) {
63
- let routerPath = calcRouterPath;
64
- let tokens = StrUtil.tokenize(routerPath, "/:");
65
- guiEvent.RouterPath = tokens[0];
66
- guiEvent.RouterParams = new List();
67
- for (let i = 1; i < tokens.length; i++) {
68
- guiEvent.RouterParams.push(currentActiveRoute.snapshot.params[tokens[i]]);
69
- }
70
- }
71
- this.containerTaskService.insertEvent(guiEvent);
72
- }
73
- initializeComponent() {
74
- let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
75
- if (subformMagicService.currentRouteDefinition !== null) {
76
- let comp = this.componentList.getComponent(subformMagicService.currentRouteDefinition.formName);
77
- this.componentRef = this.viewContainerRef.createComponent(comp);
78
- Object.assign(this.componentRef.instance, subformMagicService.currentRouteDefinition.parameters);
79
- let myActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
80
- let routeParams = StrUtil.tokenize(myActiveRoute.snapshot.routeConfig.path, "/:");
81
- subformMagicService.routesDict[myActiveRoute.snapshot.outlet] = routeParams[0];
82
- this.parentMgSubformService = subformMagicService;
83
- subformMagicService.currentRouteDefinition = null;
84
- SubformMagicService.currentCallerMgSubformServiceRef = null;
85
- let ignoreParamChange = true;
86
- myActiveRoute.paramMap.subscribe(params => {
87
- if (!ignoreParamChange)
88
- this.insertRouteEvent(myActiveRoute);
89
- ignoreParamChange = false;
90
- });
91
- this.parentMgSubformService.refreshView();
92
- this.routerCommandsMagicService.ExecuteNextCommand();
93
- }
94
- }
95
- ngOnDestroy() {
96
- if (this.componentRef != null) {
97
- this.componentRef.instance.task.close();
98
- let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
99
- this.parentMgSubformService.routesDict[currentActiveRoute.outlet] = "";
100
- RouterContainerMagicComponent.lastRoute = this.router.url;
101
- }
102
- }
103
- static ɵfac = function RouterContainerMagicComponent_Factory(t) { return new (t || RouterContainerMagicComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.EngineMagicService), i0.ɵɵdirectiveInject(i3.TaskMagicService), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i4.ComponentListMagicService), i0.ɵɵdirectiveInject(i5.CommandsCollectorMagicService), i0.ɵɵdirectiveInject(i6.RouterCommandsMagicService)); };
104
- static ɵcmp = i0.ɵɵdefineComponent({ type: RouterContainerMagicComponent, selectors: [["magic-route-outlet"]], decls: 0, vars: 0, template: function RouterContainerMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
105
- }
106
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouterContainerMagicComponent, [{
107
- type: Component,
108
- args: [{
109
- selector: 'magic-route-outlet',
110
- template: `
111
- `
112
- }]
113
- }], () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.EngineMagicService }, { type: i3.TaskMagicService }, { type: i0.ViewContainerRef }, { type: i4.ComponentListMagicService }, { type: i5.CommandsCollectorMagicService }, { type: i6.RouterCommandsMagicService }], null); })();
114
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RouterContainerMagicComponent, { className: "RouterContainerMagicComponent", filePath: "src\\ui\\router-container.magic.component.ts", lineNumber: 22 }); })();
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWNvbnRhaW5lci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9yb3V0ZXItY29udGFpbmVyLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0FBVW5FLE1BQU0sT0FBTyw2QkFBNkI7SUFtQnBCO0lBQ0U7SUFDQTtJQUNGO0lBQ0E7SUFDQTtJQUNFO0lBQ0E7SUF6QmQsWUFBWSxHQUFHLElBQUksQ0FBQztJQUNwQixzQkFBc0IsR0FBd0IsSUFBSSxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxTQUFTLEdBQVcsR0FBRyxDQUFDO0lBRXZDLE1BQU0sS0FBSyxTQUFTO1FBQ2xCLE9BQU8sNkJBQTZCLENBQUMsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFZRCxZQUFvQixjQUE4QixFQUM1QixNQUFjLEVBQ2QsS0FBeUIsRUFDM0Isb0JBQXNDLEVBQ3RDLGdCQUFrQyxFQUNsQyxhQUF3QyxFQUN0Qyx3QkFBdUQsRUFDdkQsMEJBQXNEO1FBUHhELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFDM0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFrQjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtRQUN0Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQStCO1FBQ3ZELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7SUFBRyxDQUFDO0lBS2hGLFFBQVE7UUFDTixJQUFJLG1CQUFtQixHQUF3QixtQkFBbUIsQ0FBQyxnQ0FBZ0MsQ0FBQztRQUVwRyxJQUFJLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVuRiw2QkFBNkIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFFMUQsSUFBSSxtQkFBbUIsSUFBSSxJQUFJLElBQUksbUJBQW1CLENBQUMsc0JBQXNCLEtBQUssSUFBSSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRTFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRDthQUNJO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsa0JBQWtDO1FBQ3pELElBQUksUUFBUSxHQUFjLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsUUFBUSxDQUFDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUVuRSxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUztZQUNsRCxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQU1qRSxJQUFJLGNBQWMsR0FBVyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRWpFLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQzdCO1lBQ0UsSUFBSSxVQUFVLEdBQVcsY0FBYyxDQUFDO1lBQ3hDLElBQUksTUFBTSxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELFFBQVEsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWhDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdEMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNFO1NBQ0Y7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxtQkFBbUI7UUFFakIsSUFBSSxtQkFBbUIsR0FBd0IsbUJBQW1CLENBQUMsZ0NBQWdDLENBQUM7UUFDcEcsSUFBSSxtQkFBbUIsQ0FBQyxzQkFBc0IsS0FBSyxJQUFJLEVBQUU7WUFDdkQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFHakcsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTlFLElBQUksV0FBVyxHQUFhLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVGLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUvRSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsbUJBQW1CLENBQUM7WUFDbEQsbUJBQW1CLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQ2xELG1CQUFtQixDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQztZQUs1RCxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM3QixhQUFhLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLGlCQUFpQjtvQkFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2QyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFMUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDdEQ7SUFDSCxDQUFDO0lBS0QsV0FBVztRQUdULElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQzdCO1lBQzJCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVsRSxJQUFJLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUV2RSw2QkFBNkIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDM0Q7SUFDSCxDQUFDO3VGQTdIVSw2QkFBNkI7K0NBQTdCLDZCQUE2Qjs7aUZBQTdCLDZCQUE2QjtjQUx6QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFO0dBQ1Q7YUFDRjs7a0ZBQ1ksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50IH0gZnJvbSAnLi90YXNrLWJhc2UubWFnaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW5naW5lTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW5naW5lLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXRHdWlFdmVudE9iaiwgSUd1aUV2ZW50IH0gZnJvbSAnQG1hZ2ljLXhwYS9lbmdpbmUnO1xyXG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQgeyBTdHJVdGlsIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViZm9ybU1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbWFuZHMtY29sbGVjdG9yLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIE1vY2sgY29tcG9uZW50LCBpbXBsZW1lbnRzIHJvdXRpbmcgYnkgY29ubmVjdGluZyB0aGUgcmVxdWVzdGVkIFVSTCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBNYWdpYyB0YXNrXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hZ2ljLXJvdXRlLW91dGxldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWYgPSBudWxsO1xyXG4gIHByaXZhdGUgcGFyZW50TWdTdWJmb3JtU2VydmljZTogU3ViZm9ybU1hZ2ljU2VydmljZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbGFzdFJvdXRlOiBzdHJpbmcgPSBcIi9cIjtcclxuXHJcbiAgc3RhdGljIGdldCBMYXN0Um91dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudC5sYXN0Um91dGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBjaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAqIEBwYXJhbSBhY3RpdmF0ZWRSb3V0ZVxyXG4gICAqIEBwYXJhbSBtYWdpY1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lclJlZlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRMaXN0XHJcbiAgICogQHBhcmFtIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgbWFnaWM6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbnRhaW5lclRhc2tTZXJ2aWNlOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudExpc3Q6IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvcjogQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlOiBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6YXRpb25cclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBzdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjtcclxuXHJcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgIFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50Lmxhc3RSb3V0ZSA9IHRoaXMucm91dGVyLnVybDtcclxuXHJcbiAgICBpZiAoc3ViZm9ybU1hZ2ljU2VydmljZSA9PSBudWxsIHx8IHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmluc2VydFJvdXRlRXZlbnQoY3VycmVudEFjdGl2ZVJvdXRlKTtcclxuXHJcbiAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVyQ29udGFpbmVycy5wdXNoKHRoaXMpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbnNlcnRSb3V0ZUV2ZW50KGN1cnJlbnRBY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooJ1JvdXRlck5hdmlnYXRlJywgbnVsbCwgMCk7XHJcbiAgICBndWlFdmVudC5Sb3V0ZXJQYXRoID0gY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGg7XHJcblxyXG4gICAgaWYgKGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5vdXRsZXQgIT09ICdwcmltYXJ5JylcclxuICAgICAgZ3VpRXZlbnQuUm91dGVyT3V0bGV0TmFtZSA9IGN1cnJlbnRBY3RpdmVSb3V0ZS5zbmFwc2hvdC5vdXRsZXQ7XHJcblxyXG5cclxuICAgIC8vIGlmIHRoaXMgaXMgTG9hZE9uRGVtYW5kTW9kdWxlTWFnaWNDb21wb25lbnQgaXQncyBtZWFuIHRoYXQgdGhpcyBpcyBsb2FkIG9uIGRlbWFuZCBtb2R1bGUgYW5kIHdlXHJcbiAgICAvLyBuZWVkIHRvIHRha2UgdGhlIHBhdGggZm9ybSByb3V0ZUNvbmZpZy5wYXRoXHJcblxyXG4gICAgbGV0IGNhbGNSb3V0ZXJQYXRoOiBzdHJpbmcgPSBjdXJyZW50QWN0aXZlUm91dGUucm91dGVDb25maWcucGF0aDtcclxuICAgIC8vIGFkZCB0aGUgUm91dGVyUGF0aCBvbmx5IGlmIGV4aXN0XHJcbiAgICBpZiAoY2FsY1JvdXRlclBhdGgubGVuZ3RoID4gMClcclxuICAgIHtcclxuICAgICAgbGV0IHJvdXRlclBhdGg6IHN0cmluZyA9IGNhbGNSb3V0ZXJQYXRoO1xyXG4gICAgICBsZXQgdG9rZW5zOiBzdHJpbmdbXSA9IFN0clV0aWwudG9rZW5pemUocm91dGVyUGF0aCwgXCIvOlwiKTtcclxuICAgICAgZ3VpRXZlbnQuUm91dGVyUGF0aCA9IHRva2Vuc1swXTtcclxuXHJcbiAgICAgIGd1aUV2ZW50LlJvdXRlclBhcmFtcyA9IG5ldyBMaXN0KCk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgZ3VpRXZlbnQuUm91dGVyUGFyYW1zLnB1c2goY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90LnBhcmFtc1t0b2tlbnNbaV1dKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGFpbmVyVGFza1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUNvbXBvbmVudCgpIHtcclxuICAgIC8vIHJlLWluaXQgc3ViZm9ybU1hZ2ljU2VydmljZSAgc2luY2UgaXQgbWF5IGNoYW5nZSBhZnRlciBleGVjdXRpbmcgXCJSb3V0ZXJOYXZpZ2F0ZVwiIGV2ZW50LlxyXG4gICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xyXG4gICAgaWYgKHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgY29tcCA9IHRoaXMuY29tcG9uZW50TGlzdC5nZXRDb21wb25lbnQoc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uLmZvcm1OYW1lKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXApO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLCBzdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24ucGFyYW1ldGVycyk7XHJcblxyXG5cclxuICAgICAgbGV0IG15QWN0aXZlUm91dGUgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcblxyXG4gICAgICBsZXQgcm91dGVQYXJhbXM6IHN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShteUFjdGl2ZVJvdXRlLnNuYXBzaG90LnJvdXRlQ29uZmlnLnBhdGgsIFwiLzpcIik7XHJcbiAgICAgIHN1YmZvcm1NYWdpY1NlcnZpY2Uucm91dGVzRGljdFtteUFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldF0gPSByb3V0ZVBhcmFtc1swXTtcclxuXHJcbiAgICAgIHRoaXMucGFyZW50TWdTdWJmb3JtU2VydmljZSA9IHN1YmZvcm1NYWdpY1NlcnZpY2U7XHJcbiAgICAgIHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiA9IG51bGw7XHJcbiAgICAgIFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWYgPSBudWxsO1xyXG5cclxuICAgICAgLy9XaGVuIHRoZSBjb21wb25lbnQgaXMgaW5pdGlhbGl6ZWQsIHRoZW4gYWxzbyB3ZSBnZXQgdGhlIG5vdGlmaWNhdGlvbiBmb3IgcGFyYW1NYXAgc3Vic2NyaXB0aW9uLlxyXG4gICAgICAvL0J1dCBpbiB0aGlzIGNhc2UsICB3ZSBkbyBub3QgaGF2ZSB0byByYWlzZSB0aGUgZXZlbnQsIGJlY2F1c2UgbWFnaWMgZW5naW5lIGl0c2VsZiBoYXMgIGluaXRpYXRlZCB0aGUgcm91dGUgd2l0aCB0aGUgc2FtZSBwYXJhbWV0ZXJzLlxyXG4gICAgICAvL1NvLCBjb250cm9sIGl0IHZpYSBpZ25vcmVQYXJhbUNoYW5nZSBmbGFnLlxyXG4gICAgICBsZXQgaWdub3JlUGFyYW1DaGFuZ2UgPSB0cnVlO1xyXG4gICAgICBteUFjdGl2ZVJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgIGlmICghaWdub3JlUGFyYW1DaGFuZ2UpXHJcbiAgICAgICAgICB0aGlzLmluc2VydFJvdXRlRXZlbnQobXlBY3RpdmVSb3V0ZSk7XHJcbiAgICAgICAgaWdub3JlUGFyYW1DaGFuZ2UgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnBhcmVudE1nU3ViZm9ybVNlcnZpY2UucmVmcmVzaFZpZXcoKTtcclxuXHJcbiAgICAgIHRoaXMucm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UuRXhlY3V0ZU5leHRDb21tYW5kKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhbnVwXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyBUT0RPIFJvdXRpbmc6IENhbGwgY2xvc2UoKSBvbmx5IGlmIHRoZSB0YXNrIGlzIG5vdCBhbHJlYWR5IGNsb3NlZC5cclxuICAgIC8vIFRhc2sgY2FuIGJlIGNsb3NlZCB3aGVuIGEgcm91dGVyIGlzIG92ZXJsYXllZCBieSBhbm90aGVyIHRhc2sgdmlhIGNhbGwgb3BlcmF0aW9uLlxyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9IG51bGwpXHJcbiAgICB7XHJcbiAgICAgICg8VGFza0Jhc2VNYWdpY0NvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkudGFzay5jbG9zZSgpO1xyXG5cclxuICAgICAgbGV0IGN1cnJlbnRBY3RpdmVSb3V0ZSA9IFN1YmZvcm1NYWdpY1NlcnZpY2UuZ2V0UmVsYXRpdmVSb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcclxuICAgICAgdGhpcy5wYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlLnJvdXRlc0RpY3RbY3VycmVudEFjdGl2ZVJvdXRlLm91dGxldF0gPSBcIlwiO1xyXG5cclxuICAgICAgUm91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQubGFzdFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,56 +0,0 @@
1
- import { Component, Input, ViewContainerRef } from "@angular/core";
2
- import { SubformMagicService } from "../services/subform.magic.service";
3
- import { isNullOrUndefined } from '@magic-xpa/mscorelib';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/subform.magic.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "ng-dynamic-component";
8
- function SubformMagicComponent_ndc_dynamic_0_Template(rf, ctx) { if (rf & 1) {
9
- i0.ɵɵelement(0, "ndc-dynamic", 1);
10
- } if (rf & 2) {
11
- const ctx_r0 = i0.ɵɵnextContext();
12
- i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.Component)("ndcDynamicInputs", ctx_r0.Parameters);
13
- } }
14
- export class SubformMagicComponent {
15
- vcRef;
16
- mgSub;
17
- id;
18
- set magic(val) { this.id = val; }
19
- ;
20
- component = null;
21
- constructor(vcRef, mgSub) {
22
- this.vcRef = vcRef;
23
- this.mgSub = mgSub;
24
- this.component = (this.vcRef._hostLView).find(v => !isNullOrUndefined(v));
25
- }
26
- get Component() {
27
- return this.mgSub.mgGetComp(this.id);
28
- }
29
- get Parameters() {
30
- return this.mgSub.mgGetParameters(this.id);
31
- }
32
- static ɵfac = function SubformMagicComponent_Factory(t) { return new (t || SubformMagicComponent)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.SubformMagicService)); };
33
- static ɵcmp = i0.ɵɵdefineComponent({ type: SubformMagicComponent, selectors: [["magic-subform"]], inputs: { magic: "magic" }, decls: 1, vars: 1, consts: [[3, "ndcDynamicComponent", "ndcDynamicInputs", 4, "ngIf"], [3, "ndcDynamicComponent", "ndcDynamicInputs"]], template: function SubformMagicComponent_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵtemplate(0, SubformMagicComponent_ndc_dynamic_0_Template, 1, 2, "ndc-dynamic", 0);
35
- } if (rf & 2) {
36
- i0.ɵɵproperty("ngIf", ctx.Component);
37
- } }, dependencies: [i2.NgIf, i3.DynamicIoDirective, i3.DynamicComponent], encapsulation: 2 });
38
- }
39
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicComponent, [{
40
- type: Component,
41
- args: [{
42
- selector: 'magic-subform',
43
- template: `
44
- <ndc-dynamic
45
- *ngIf="Component"
46
- [ndcDynamicComponent]="Component"
47
- [ndcDynamicInputs]="Parameters">
48
- </ndc-dynamic>
49
- `
50
- }]
51
- }], () => [{ type: i0.ViewContainerRef }, { type: i1.SubformMagicService }], { magic: [{
52
- type: Input,
53
- args: ['magic']
54
- }] }); })();
55
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubformMagicComponent, { className: "SubformMagicComponent", filePath: "src\\ui\\subform.magic.component.ts", lineNumber: 20 }); })();
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9zdWJmb3JtLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0lBUXJELGlDQUljOzs7SUFEWixBQURBLHNEQUFpQyx1Q0FDRjs7QUFLckMsTUFBTSxPQUFPLHFCQUFxQjtJQW1CWjtJQUFtQztJQWZ2RCxFQUFFLENBQVU7SUFLWixJQUFvQixLQUFLLENBQUMsR0FBRyxJQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFLakQsU0FBUyxHQUEyQixJQUFJLENBQUM7SUFLekMsWUFBb0IsS0FBdUIsRUFBWSxLQUEwQjtRQUE3RCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUFZLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRS9FLElBQUksQ0FBQyxTQUFTLEdBQUssQ0FBTyxJQUFJLENBQUMsS0FBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUUsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUtELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFLRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOytFQXBDVSxxQkFBcUI7K0NBQXJCLHFCQUFxQjtZQVI5QixzRkFHa0M7O1lBRi9CLG9DQUFlOzs7aUZBT1QscUJBQXFCO2NBWGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFLOzs7Ozs7Q0FNZDthQUFDO21GQVlvQixLQUFLO2tCQUF4QixLQUFLO21CQUFDLE9BQU87O2tGQVRILHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtUYXNrQmFzZU1hZ2ljQ29tcG9uZW50fSBmcm9tIFwiLi90YXNrLWJhc2UubWFnaWMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFN1YmZvcm1NYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBNYWdpYyBzdWJmb3JtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hZ2ljLXN1YmZvcm0nLFxyXG4gIHRlbXBsYXRlOiAgICBgXHJcbiAgICA8bmRjLWR5bmFtaWNcclxuICAgICAgKm5nSWY9XCJDb21wb25lbnRcIiAgXHJcbiAgICAgIFtuZGNEeW5hbWljQ29tcG9uZW50XT1cIkNvbXBvbmVudFwiIFxyXG4gICAgICBbbmRjRHluYW1pY0lucHV0c109XCJQYXJhbWV0ZXJzXCI+XHJcbiAgICA8L25kYy1keW5hbWljPlxyXG5gfSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU3ViZm9ybU1hZ2ljQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgICogQGlnbm9yZVxyXG4gICAgKi9cclxuICBpZCA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgnbWFnaWMnKSBzZXQgbWFnaWModmFsKSB7dGhpcy5pZCA9IHZhbDsgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbXBvbmVudDogVGFza0Jhc2VNYWdpY0NvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgbWdTdWI6IFN1YmZvcm1NYWdpY1NlcnZpY2UpIHtcclxuICAgIC8vIEZvciBhbmd1bGFyIDEzIC0gZmluZCB0aGUgY29tcG9uZW50IGZyb20gX2hvc3RMVmlld1xyXG4gICAgdGhpcy5jb21wb25lbnQgPSAgICgoPGFueT50aGlzLnZjUmVmKS5faG9zdExWaWV3KS5maW5kKHYgPT4gIWlzTnVsbE9yVW5kZWZpbmVkKCh2IGFzIFRhc2tCYXNlTWFnaWNDb21wb25lbnQpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0IENvbXBvbmVudCgpOiBDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMubWdTdWIubWdHZXRDb21wKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldCBQYXJhbWV0ZXJzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZ1N1Yi5tZ0dldFBhcmFtZXRlcnModGhpcy5pZCk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -1,91 +0,0 @@
1
- import { ChangeDetectorRef, Component, Input } from '@angular/core';
2
- import { MagicProperties } from "@magic-xpa/utils";
3
- import { isNullOrUndefined } from "@magic-xpa/mscorelib";
4
- import { TaskMagicService } from "../services/task.magics.service";
5
- import { SubformMagicService } from "../services/subform.magic.service";
6
- import { TableMagicService } from "../services/table.magic.service";
7
- import { MagicServices } from "../services/magic.services";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../services/magic.services";
10
- export class TaskBaseMagicComponent {
11
- ref;
12
- magicServices;
13
- taskIdParam;
14
- taskDescription;
15
- magicProperties = MagicProperties;
16
- constructor(ref, magicServices) {
17
- this.ref = ref;
18
- this.magicServices = magicServices;
19
- }
20
- get task() {
21
- return this.magicServices.task;
22
- }
23
- get mgSub() {
24
- return this.magicServices.subformService;
25
- }
26
- get tableService() {
27
- return this.magicServices.tableService;
28
- }
29
- get mg() {
30
- return this.magicServices.mgAccessorService;
31
- }
32
- get taskId() {
33
- return this.task.taskId;
34
- }
35
- get screenFormGroup() {
36
- return this.task.ScreenModeControls;
37
- }
38
- ngOnInit() {
39
- this.task.detectChanges.pipe().subscribe(c => {
40
- this.ref.detectChanges();
41
- });
42
- this.task.initTask(this.taskIdParam, this.taskDescription);
43
- this.createFormControlsAccessor(this.screenFormGroup);
44
- this.setInputDateFormat();
45
- this.task.customPropertiesSubject.pipe().subscribe(property => {
46
- this.PropertyChanged(property.propertyName, property.rowId, property.value);
47
- });
48
- this.task.recordsCountChangeSubject.pipe().subscribe(value => {
49
- this.RecordsCountChanged(value);
50
- });
51
- this.task.mgLoadSubject.pipe().subscribe(value => {
52
- this.mgOnLoad();
53
- });
54
- }
55
- createFormControlsAccessor(formGroup) { }
56
- setInputDateFormat() { }
57
- PropertyChanged(propertyName, rowId, value) {
58
- }
59
- RecordsCountChanged(recordsCount) {
60
- }
61
- mgOnLoad() {
62
- }
63
- ngAfterViewInit() {
64
- this.mgSub.init();
65
- }
66
- ngAfterContentChecked() {
67
- if (!isNullOrUndefined(this.tableService.getPageSize()) && this.task.oldPageSize != this.tableService.getPageSize()) {
68
- this.task.resize(this.tableService.getPageSize(), 0);
69
- this.task.oldPageSize = this.tableService.getPageSize();
70
- }
71
- }
72
- ngOnDestroy() {
73
- this.task.dispose();
74
- }
75
- static ɵfac = function TaskBaseMagicComponent_Factory(t) { return new (t || TaskBaseMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
76
- static ɵcmp = i0.ɵɵdefineComponent({ type: TaskBaseMagicComponent, selectors: [["task-magic"]], inputs: { taskIdParam: "taskIdParam", taskDescription: "taskDescription" }, features: [i0.ɵɵProvidersFeature([TaskMagicService, SubformMagicService, TableMagicService])], decls: 0, vars: 0, template: function TaskBaseMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
77
- }
78
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskBaseMagicComponent, [{
79
- type: Component,
80
- args: [{
81
- selector: 'task-magic',
82
- providers: [TaskMagicService, SubformMagicService, TableMagicService],
83
- template: ''
84
- }]
85
- }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.MagicServices }], { taskIdParam: [{
86
- type: Input
87
- }], taskDescription: [{
88
- type: Input
89
- }] }); })();
90
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaskBaseMagicComponent, { className: "TaskBaseMagicComponent", filePath: "src\\ui\\task-base.magic.component.ts", lineNumber: 20 }); })();
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFXM0QsTUFBTSxPQUFPLHNCQUFzQjtJQXFCWDtJQUNIO0lBakJWLFdBQVcsQ0FBUztJQUlwQixlQUFlLENBQVM7SUFLakMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQU9sQyxZQUFzQixHQUFzQixFQUN6QixhQUE0QjtRQUR6QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUMxQyxDQUFDO0lBTU4sSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBTUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztJQUMzQyxDQUFDO0lBTUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBTUQsSUFB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QVc7a0JBQW5CLEtBQUs7WUFJRyxlQUFlO2tCQUF2QixLQUFLOztrRkFUSyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hZ2ljUHJvcGVydGllc30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3ViZm9ybU1hZ2ljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zdWJmb3JtLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGFibGVNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvdGFibGUubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNYWdpY1NlcnZpY2VzIH0gZnJvbSBcIi4uL3NlcnZpY2VzL21hZ2ljLnNlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEFjY2Vzc29yTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNvbXBvbmVudCByZXByZXNlbnRpbmcgYSBNYWdpYyB0YXNrXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Rhc2stbWFnaWMnLFxyXG4gIHByb3ZpZGVyczogW1Rhc2tNYWdpY1NlcnZpY2UsIFN1YmZvcm1NYWdpY1NlcnZpY2UsIFRhYmxlTWFnaWNTZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhc2tCYXNlTWFnaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIElkIG9mIHRhc2ssIHVzZWQgZm9yIGluaXRpYWxpemluZyB0aGUgdGFzayBzZXJ2aWNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFza0lkUGFyYW06IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBtYWdpY1Byb3BlcnRpZXMgPSBNYWdpY1Byb3BlcnRpZXM7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHJlZiBjaGFuZ2VzLWRldGVjdG9yIG9iamVjdFxyXG4gICAqIEBwYXJhbSBtYWdpY1NlcnZpY2VzIEFjY2VzcyBwb2ludCBmb3IgYWxsIE1hZ2ljIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHVibGljIG1hZ2ljU2VydmljZXM6IE1hZ2ljU2VydmljZXNcclxuICApIHsgIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgdGFzayBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFzaygpOiBUYXNrTWFnaWNTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLm1hZ2ljU2VydmljZXMudGFzaztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIE1hZ2ljIHN1YmZvcm0gc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IG1nU3ViKCk6IFN1YmZvcm1NYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy5zdWJmb3JtU2VydmljZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIE1hZ2ljIHRhYmxlIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YWJsZVNlcnZpY2UoKTogVGFibGVNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy50YWJsZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBNYWdpYyBhY2Nlc3NvciBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgbWcoKTogQWNjZXNzb3JNYWdpY1NlcnZpY2UgIHtcclxuICAgIHJldHVybiB0aGlzLm1hZ2ljU2VydmljZXMubWdBY2Nlc3NvclNlcnZpY2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgdGFzayBJZFxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhc2tJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRhc2sudGFza0lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgRm9ybUdyb3VwIGZvciBzY3JlZW4tbW9kZSBmb3Jtc1xyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHNjcmVlbkZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay5TY3JlZW5Nb2RlQ29udHJvbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLnRhc2suZGV0ZWN0Q2hhbmdlcy5waXBlKCkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFzay5pbml0VGFzayh0aGlzLnRhc2tJZFBhcmFtLCB0aGlzLnRhc2tEZXNjcmlwdGlvbik7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcih0aGlzLnNjcmVlbkZvcm1Hcm91cCk7XHJcbiAgICB0aGlzLnNldElucHV0RGF0ZUZvcm1hdCgpO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIGN1c3RvbSBwcm9wZXJ0eSBjaGFuZ2VzXHJcbiAgICB0aGlzLnRhc2suY3VzdG9tUHJvcGVydGllc1N1YmplY3QucGlwZSgpLnN1YnNjcmliZShwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5LnByb3BlcnR5TmFtZSwgcHJvcGVydHkucm93SWQsIHByb3BlcnR5LnZhbHVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIHJlY29yZHMgY291bnQgY2hhbmdlc1xyXG4gICAgdGhpcy50YXNrLnJlY29yZHNDb3VudENoYW5nZVN1YmplY3QucGlwZSgpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuUmVjb3Jkc0NvdW50Q2hhbmdlZCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBzdWJjcmliZSB0byBtZ0xvYWQgY2hhbmdlXHJcbiAgICB0aGlzLnRhc2subWdMb2FkU3ViamVjdC5waXBlKCkuc3Vic2NyaWJlKHZhbHVlID0+e1xyXG4gICAgICB0aGlzLm1nT25Mb2FkKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcihmb3JtR3JvdXA6IEZvcm1Hcm91cCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHNldElucHV0RGF0ZUZvcm1hdCAoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgYW55IGN1c3RvbSBwcm9wZXJ0eSBpcyB1cGRhdGVkIGluIE1hZ2ljXHJcbiAgICogcHJvcGVydHlOYW1lIDogbmFtZSBvZiBwcm9wZXJ0eSB3aGljaCBpcyB1cGRhdGVkLiBUaGUgZm9ybWF0IGlzIDxjb250cm9sbmFtZT5+PHByb3BlcnR5bmFtZT5cclxuICAgKiByb3dJZCA6IHJvdyBudW1iZXIgb2YgdGhlIHVwZGF0ZWQgcHJvcGVydHkgZm9yIGNvbnRyb2xzIGluIHRhYmxlIGNvbnRyb2wgKDAgZm9yIGNvbnRyb2xzIG91dHNpZGUgdGFibGUpXHJcbiAgICogdmFsdWUgOiB1cGRhdGVkIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50IGFuZCBjaGVjayB0aGUgcHJvcGVydHkgbmFtZSBhbmQgd3JpdGUgeW91IGNvZGUgLi5mb3IgZWdcclxuICAgKiBpZihwcm9wZXJ0eU5hbWUgPT0gJ2NvbnRyb2xuYW1lfnByb3BlcnR5TmFtZScpIHsvLyB5b3VyIGNvZGV9XHJcbiAgICogIGVsc2UgeyAvLyB5b3VyIGNvZGV9XHJcbiAgICovXHJcbiAgUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5TmFtZTpzdHJpbmcsIHJvd0lkIDogbnVtYmVyLCB2YWx1ZSA6IGFueSkgOiB2b2lkIHtcclxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCBibGFuayBiZWNhdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYmUgaW4gdGhlIGRlcml2ZWQgY2xhc3NcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlY29yZHMgY291bnQgY2hhbmdlIHN1YmplY3QgaXMgc3Vic2NyaWJlZCB0byBjaGFuZ2UgaW4gaXRzIHZhbHVlLiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZFxyXG4gICAqIGFzIHRoZSB2YWx1ZSBvZiByZWNvcmRzIGNvdW50IGlzIHJlY2VpdmVkIGF0IGZyb20gc2VydmVyLlxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIFJlY29yZHNDb3VudENoYW5nZWQocmVjb3Jkc0NvdW50IDogbnVtYmVyKSA6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbiB0aGUgZGVyaXZlZCBjbGFzc1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgb25jZSBlbmdpbmUgaW5mb3JtcyBVSSBhYm91dCBsb2FkaW5nIG9mIGZpcnN0IHNldCBvZiBkYXRhIGlzIHNlbnQgdG8gY2xpZW50XHJcbiAgICogYW5kIGNsaWVudCBoYXMgcmVhY2hlZCBpdHMgZmlyc3QgaWRsZSB0aW1lLlxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIG1nT25Mb2FkKCkgOiB2b2lkIHtcclxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCBibGFuayBiZWNhdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYmUgaW4gdGhlIGRlcml2ZWQgY2xhc3NcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5tZ1N1Yi5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSA6IHZvaWQge1xyXG4gICAgaWYoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudGFibGVTZXJ2aWNlLmdldFBhZ2VTaXplKCkpICYmIHRoaXMudGFzay5vbGRQYWdlU2l6ZSAhPSB0aGlzLnRhYmxlU2VydmljZS5nZXRQYWdlU2l6ZSgpKSB7XHJcbiAgICAgIHRoaXMudGFzay5yZXNpemUodGhpcy50YWJsZVNlcnZpY2UuZ2V0UGFnZVNpemUoKSwgMCk7XHJcbiAgICAgIHRoaXMudGFzay5vbGRQYWdlU2l6ZSA9IHRoaXMudGFibGVTZXJ2aWNlLmdldFBhZ2VTaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFzay5kaXNwb3NlKCk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -1,54 +0,0 @@
1
- export class utils {
2
- static getDistance(control, x, y) {
3
- let left = control.clientLeft, top = control.clientTop;
4
- let dx, dy;
5
- const right = left + control.clientWidth;
6
- const bottom = top + control.clientHeight;
7
- if (x < left) {
8
- dx = left - x;
9
- }
10
- else if (x > right) {
11
- dx = x - right;
12
- }
13
- else {
14
- dx = 0;
15
- }
16
- if (y < top) {
17
- dy = top - y;
18
- }
19
- else if (y > bottom) {
20
- dy = y - bottom;
21
- }
22
- else {
23
- dy = 0;
24
- }
25
- const ret = (dx * dx + dy * dy);
26
- return ret;
27
- }
28
- static getDimentions(el) {
29
- let xPos = 0;
30
- let yPos = 0;
31
- let width = el.width;
32
- let height = el.height;
33
- while (el) {
34
- if (el.tagName == "BODY") {
35
- let xScroll = el.scrollLeft || document.documentElement.scrollLeft;
36
- let yScroll = el.scrollTop || document.documentElement.scrollTop;
37
- xPos += (el.offsetLeft - xScroll + el.clientLeft);
38
- yPos += (el.offsetTop - yScroll + el.clientTop);
39
- }
40
- else {
41
- xPos += (el.offsetLeft - el.scrollLeft + el.clientLeft);
42
- yPos += (el.offsetTop - el.scrollTop + el.clientTop);
43
- }
44
- el = el.offsetParent;
45
- }
46
- return {
47
- x: xPos,
48
- y: yPos,
49
- width: width,
50
- height: height
51
- };
52
- }
53
- }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sS0FBSztJQUtoQixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWdCLEVBQUUsQ0FBUyxFQUFFLENBQVM7UUFFdkQsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUV2RCxJQUFJLEVBQUUsRUFBRSxFQUFVLENBQUM7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFFMUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFO1lBQ1osRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7U0FDZjthQUFNLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRTtZQUNwQixFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNoQjthQUFNO1lBQ0wsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNSO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFO1lBQ1gsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDZDthQUFNLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRTtZQUNyQixFQUFFLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztTQUNqQjthQUFNO1lBQ0wsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNSO1FBQ0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUMvQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFLRCxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDckIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNyQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBRXZCLE9BQU8sRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLENBQUMsT0FBTyxJQUFJLE1BQU0sRUFBRTtnQkFFeEIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztnQkFDbkUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztnQkFFakUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDakQ7aUJBQU07Z0JBRUwsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0RDtZQUVELEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO1NBRXRCO1FBQ0QsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJO1lBQ1AsQ0FBQyxFQUFFLElBQUk7WUFDUCxLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBjbGFzcyB0byBob2xkIGd1aS1yZWxhdGVkIGhlbHBlciBtZXRob2RzXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbmV4cG9ydCBjbGFzcyB1dGlscyB7XHJcblxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgLy8gQ2FsY3VsYXRlIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjb250cm9sIGFuZCB0aGUgc3VwcGxpZWQgeCx5IGNvb3JkaW5hdGVzXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBzdGF0aWMgZ2V0RGlzdGFuY2UoY29udHJvbDogRWxlbWVudCwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiBudW1iZXIge1xyXG5cclxuICAgIGxldCBsZWZ0ID0gY29udHJvbC5jbGllbnRMZWZ0LCB0b3AgPSBjb250cm9sLmNsaWVudFRvcDtcclxuXHJcbiAgICBsZXQgZHgsIGR5OiBudW1iZXI7XHJcbiAgICBjb25zdCByaWdodCA9IGxlZnQgKyBjb250cm9sLmNsaWVudFdpZHRoO1xyXG4gICAgY29uc3QgYm90dG9tID0gdG9wICsgY29udHJvbC5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgaWYgKHggPCBsZWZ0KSB7XHJcbiAgICAgIGR4ID0gbGVmdCAtIHg7XHJcbiAgICB9IGVsc2UgaWYgKHggPiByaWdodCkge1xyXG4gICAgICBkeCA9IHggLSByaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGR4ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoeSA8IHRvcCkge1xyXG4gICAgICBkeSA9IHRvcCAtIHk7XHJcbiAgICB9IGVsc2UgaWYgKHkgPiBib3R0b20pIHtcclxuICAgICAgZHkgPSB5IC0gYm90dG9tO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZHkgPSAwO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmV0ID0gKGR4ICogZHggKyBkeSAqIGR5KVxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgLy9cclxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIHN0YXRpYyBnZXREaW1lbnRpb25zKGVsKSB7XHJcbiAgICBsZXQgeFBvcyA9IDA7XHJcbiAgICBsZXQgeVBvcyA9IDA7XHJcbiAgICBsZXQgd2lkdGggPSBlbC53aWR0aDtcclxuICAgIGxldCBoZWlnaHQgPSBlbC5oZWlnaHQ7XHJcblxyXG4gICAgd2hpbGUgKGVsKSB7XHJcbiAgICAgIGlmIChlbC50YWdOYW1lID09IFwiQk9EWVwiKSB7XHJcbiAgICAgICAgLy8gZGVhbCB3aXRoIGJyb3dzZXIgcXVpcmtzIHdpdGggYm9keS93aW5kb3cvZG9jdW1lbnQgYW5kIHBhZ2Ugc2Nyb2xsXHJcbiAgICAgICAgbGV0IHhTY3JvbGwgPSBlbC5zY3JvbGxMZWZ0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O1xyXG4gICAgICAgIGxldCB5U2Nyb2xsID0gZWwuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XHJcblxyXG4gICAgICAgIHhQb3MgKz0gKGVsLm9mZnNldExlZnQgLSB4U2Nyb2xsICsgZWwuY2xpZW50TGVmdCk7XHJcbiAgICAgICAgeVBvcyArPSAoZWwub2Zmc2V0VG9wIC0geVNjcm9sbCArIGVsLmNsaWVudFRvcCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gZm9yIGFsbCBvdGhlciBub24tQk9EWSBlbGVtZW50c1xyXG4gICAgICAgIHhQb3MgKz0gKGVsLm9mZnNldExlZnQgLSBlbC5zY3JvbGxMZWZ0ICsgZWwuY2xpZW50TGVmdCk7XHJcbiAgICAgICAgeVBvcyArPSAoZWwub2Zmc2V0VG9wIC0gZWwuc2Nyb2xsVG9wICsgZWwuY2xpZW50VG9wKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZWwgPSBlbC5vZmZzZXRQYXJlbnQ7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgeDogeFBvcyxcclxuICAgICAgeTogeVBvcyxcclxuICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICBoZWlnaHQ6IGhlaWdodFxyXG4gICAgfTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==