@magic-xpa/angular 4.1300.0-dev4130.20 → 4.1300.0-dev4130.201

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 (63) hide show
  1. package/fesm2022/magic-xpa-angular.mjs +260 -133
  2. package/fesm2022/magic-xpa-angular.mjs.map +1 -1
  3. package/package.json +13 -11
  4. package/types/magic-xpa-angular.d.ts +2608 -0
  5. package/index.d.ts +0 -61
  6. package/src/controls.metadata.model.d.ts +0 -78
  7. package/src/interfaces/sub-form-definition.iterface.d.ts +0 -18
  8. package/src/magic.core.module.d.ts +0 -44
  9. package/src/services/ISubformMagicService.d.ts +0 -4
  10. package/src/services/OverlayWindowService.d.ts +0 -49
  11. package/src/services/StylesMapManager.d.ts +0 -8
  12. package/src/services/accessor.magic.service.d.ts +0 -311
  13. package/src/services/commands-collector.magic.service.d.ts +0 -18
  14. package/src/services/component-list.magic.service.d.ts +0 -50
  15. package/src/services/confirmation.components.magic.provider.d.ts +0 -24
  16. package/src/services/engine.magic.service.d.ts +0 -32
  17. package/src/services/exit.magic.service.d.ts +0 -12
  18. package/src/services/magic-color.service.d.ts +0 -25
  19. package/src/services/magic.lazy.loader.service.d.ts +0 -6
  20. package/src/services/magic.providers.d.ts +0 -110
  21. package/src/services/magic.services.d.ts +0 -22
  22. package/src/services/mg-date-adapter.d.ts +0 -38
  23. package/src/services/overlay.conainer.magic.provider.d.ts +0 -7
  24. package/src/services/router-commands.magic.service.d.ts +0 -23
  25. package/src/services/subform.magic.service.d.ts +0 -71
  26. package/src/services/table.magic.service.d.ts +0 -86
  27. package/src/services/task.magics.service.d.ts +0 -405
  28. package/src/services/title.magic.service.d.ts +0 -20
  29. package/src/ui/GuiInteractiveExecutor.d.ts +0 -25
  30. package/src/ui/components/base-magic-alert.component.d.ts +0 -26
  31. package/src/ui/components/base-magic-confirm.component.d.ts +0 -28
  32. package/src/ui/components/magic-alert.component.d.ts +0 -9
  33. package/src/ui/components/magic-confirmation-box.component.d.ts +0 -9
  34. package/src/ui/directives/NonMagicControlDirective.d.ts +0 -67
  35. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +0 -15
  36. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +0 -34
  37. package/src/ui/directives/magic/combobox.magic.directive.d.ts +0 -19
  38. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +0 -13
  39. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +0 -36
  40. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +0 -13
  41. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +0 -15
  42. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +0 -21
  43. package/src/ui/directives/magic/row.magic.directive.d.ts +0 -32
  44. package/src/ui/directives/magic-focus.directive.d.ts +0 -12
  45. package/src/ui/directives/magic.directive.d.ts +0 -127
  46. package/src/ui/directives/magicViewContainerRef.directive.d.ts +0 -11
  47. package/src/ui/directives/mgformat.magic.directive.d.ts +0 -82
  48. package/src/ui/directives/range-validator.magic.directive.d.ts +0 -33
  49. package/src/ui/magic-confirmationBox.d.ts +0 -25
  50. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +0 -14
  51. package/src/ui/magic-modal/magic-modal-form.d.ts +0 -8
  52. package/src/ui/magic-modal/magic-modal-interface.d.ts +0 -45
  53. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +0 -50
  54. package/src/ui/magic-modal/magic-overlay-container.d.ts +0 -117
  55. package/src/ui/magic-root.component.d.ts +0 -85
  56. package/src/ui/mgerror.magic.component.d.ts +0 -39
  57. package/src/ui/pipes/date.magic.pipe.d.ts +0 -23
  58. package/src/ui/pipes/time.magic.pipe.d.ts +0 -14
  59. package/src/ui/pipes/time24.magic.pipe.d.ts +0 -10
  60. package/src/ui/router-container.magic.component.d.ts +0 -50
  61. package/src/ui/subform.magic.component.d.ts +0 -37
  62. package/src/ui/task-base.magic.component.d.ts +0 -112
  63. package/src/ui/utils.d.ts +0 -12
@@ -6,13 +6,13 @@ import { DatePipe, CommonModule, formatDate } from '@angular/common';
6
6
  import * as i2 from '@angular/router';
7
7
  import { NavigationEnd, RouterModule } from '@angular/router';
8
8
  import { FormGroup, FormControl, Validators, NG_VALIDATORS, NG_VALUE_ACCESSOR, CheckboxControlValueAccessor, DefaultValueAccessor, FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import * as i3 from 'ng-dynamic-component';
9
+ import * as i2$3 from 'ng-dynamic-component';
10
10
  import { DynamicModule } from 'ng-dynamic-component';
11
11
  import { InteractiveCommandType, HtmlProperties, OverlayType, Styles, GuiConstants, CommandType, PIC, GuiEnvironment, Events, Modifiers } from '@magic-xpa/gui';
12
12
  import { MagicBridge, getGuiEventObj, CookieService, Environment, LastFocusedManager } from '@magic-xpa/engine';
13
13
  import { MagicProperties, Logger, StrUtil, StorageAttribute, PICInterface, MsgInterface, BindingLevel, StorageAttributeType, MgControlType } from '@magic-xpa/utils';
14
14
  import { filter, map, debounceTime, take } from 'rxjs/operators';
15
- import { Subject, EMPTY, fromEvent } from 'rxjs';
15
+ import { Subject, EMPTY, fromEvent, Observable } from 'rxjs';
16
16
  import { __decorate, __metadata } from 'tslib';
17
17
  import * as i2$1 from '@angular/cdk/drag-drop';
18
18
  import { DragDropModule, CdkDragHandle, CdkDrag } from '@angular/cdk/drag-drop';
@@ -23,6 +23,7 @@ import { maskitoTimeOptionsGenerator } from '@maskito/kit';
23
23
  import * as i2$2 from '@angular/cdk/platform';
24
24
  import { MaskitoModule } from '@maskito/angular';
25
25
  import { NativeDateAdapter, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
26
+ import { io } from 'socket.io-client';
26
27
 
27
28
  /**
28
29
  * @ignore
@@ -1046,50 +1047,50 @@ class MagicViewContainerRef {
1046
1047
 
1047
1048
  const _c0$3 = ["modalheader"];
1048
1049
  const _c1$1 = ["modalForeground"];
1049
- function MagicOverlayContainer_button_2_Template(rf, ctx) { if (rf & 1) {
1050
- const _r2 = i0.ɵɵgetCurrentView();
1050
+ function MagicOverlayContainer_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1051
+ const _r1 = i0.ɵɵgetCurrentView();
1051
1052
  i0.ɵɵelementStart(0, "button", 14);
1052
- i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnClose()); });
1053
+ i0.ɵɵlistener("click", function MagicOverlayContainer_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnClose()); });
1053
1054
  i0.ɵɵtext(1, "X");
1054
1055
  i0.ɵɵelementEnd();
1055
1056
  } }
1056
- function MagicOverlayContainer_span_5_Template(rf, ctx) { if (rf & 1) {
1057
- const _r4 = i0.ɵɵgetCurrentView();
1057
+ function MagicOverlayContainer_Conditional_5_Template(rf, ctx) { if (rf & 1) {
1058
+ const _r3 = i0.ɵɵgetCurrentView();
1058
1059
  i0.ɵɵelementStart(0, "span", 15);
1059
- i0.ɵɵlistener("mousedown", function MagicOverlayContainer_span_5_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onResizeStart($event, "right")); });
1060
+ i0.ɵɵlistener("mousedown", function MagicOverlayContainer_Conditional_5_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onResizeStart($event, "right")); });
1060
1061
  i0.ɵɵelementEnd();
1061
1062
  } }
1062
- function MagicOverlayContainer_span_6_Template(rf, ctx) { if (rf & 1) {
1063
- const _r5 = i0.ɵɵgetCurrentView();
1063
+ function MagicOverlayContainer_Conditional_6_Template(rf, ctx) { if (rf & 1) {
1064
+ const _r4 = i0.ɵɵgetCurrentView();
1064
1065
  i0.ɵɵelementStart(0, "span", 16);
1065
- i0.ɵɵlistener("mousedown", function MagicOverlayContainer_span_6_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onResizeStart($event, "left")); });
1066
+ i0.ɵɵlistener("mousedown", function MagicOverlayContainer_Conditional_6_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onResizeStart($event, "left")); });
1066
1067
  i0.ɵɵelementEnd();
1067
1068
  } }
1068
- function MagicOverlayContainer_span_7_Template(rf, ctx) { if (rf & 1) {
1069
- const _r6 = i0.ɵɵgetCurrentView();
1069
+ function MagicOverlayContainer_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1070
+ const _r5 = i0.ɵɵgetCurrentView();
1070
1071
  i0.ɵɵelementStart(0, "span", 17);
1071
- i0.ɵɵlistener("mousedown", function MagicOverlayContainer_span_7_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onResizeStart($event, "corner")); });
1072
+ i0.ɵɵlistener("mousedown", function MagicOverlayContainer_Conditional_7_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onResizeStart($event, "corner")); });
1072
1073
  i0.ɵɵelementEnd();
1073
1074
  } }
1074
- function MagicOverlayContainer_span_8_Template(rf, ctx) { if (rf & 1) {
1075
- const _r7 = i0.ɵɵgetCurrentView();
1075
+ function MagicOverlayContainer_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1076
+ const _r6 = i0.ɵɵgetCurrentView();
1076
1077
  i0.ɵɵelementStart(0, "span", 18);
1077
- i0.ɵɵlistener("mousedown", function MagicOverlayContainer_span_8_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onResizeStart($event, "bottom")); });
1078
+ i0.ɵɵlistener("mousedown", function MagicOverlayContainer_Conditional_8_Template_span_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onResizeStart($event, "bottom")); });
1078
1079
  i0.ɵɵelementEnd();
1079
1080
  } }
1080
- function MagicOverlayContainer_div_9_Template(rf, ctx) { if (rf & 1) {
1081
- const _r8 = i0.ɵɵgetCurrentView();
1081
+ function MagicOverlayContainer_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1082
+ const _r7 = i0.ɵɵgetCurrentView();
1082
1083
  i0.ɵɵelementStart(0, "div", 19, 2);
1083
1084
  i0.ɵɵtext(2);
1084
1085
  i0.ɵɵelementStart(3, "button", 20);
1085
- i0.ɵɵlistener("click", function MagicOverlayContainer_div_9_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnClose()); });
1086
+ i0.ɵɵlistener("click", function MagicOverlayContainer_Conditional_9_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnClose()); });
1086
1087
  i0.ɵɵtext(4, "X");
1087
1088
  i0.ɵɵelementEnd()();
1088
1089
  } if (rf & 2) {
1089
- const ctx_r2 = i0.ɵɵnextContext();
1090
- i0.ɵɵclassProp("movable", ctx_r2.IsMovable());
1090
+ const ctx_r1 = i0.ɵɵnextContext();
1091
+ i0.ɵɵclassProp("movable", ctx_r1.IsMovable());
1091
1092
  i0.ɵɵadvance(2);
1092
- i0.ɵɵtextInterpolate1(" ", ctx_r2.getText(), " ");
1093
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getText(), " ");
1093
1094
  } }
1094
1095
  /**
1095
1096
  * Creates a modal window for Magic modal window components
@@ -1344,72 +1345,86 @@ class MagicOverlayContainer extends BaseMagicOverlayContainer {
1344
1345
  }
1345
1346
  /** @nocollapse */ static ɵfac = function MagicOverlayContainer_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MagicOverlayContainer)(); };
1346
1347
  /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: MagicOverlayContainer, selectors: [["app-magic-overlay-container"]], viewQuery: function MagicOverlayContainer_Query(rf, ctx) { if (rf & 1) {
1347
- i0.ɵɵviewQuery(_c0$3, 5);
1348
- i0.ɵɵviewQuery(_c1$1, 5);
1348
+ i0.ɵɵviewQuery(_c0$3, 5)(_c1$1, 5);
1349
1349
  } if (rf & 2) {
1350
1350
  let _t;
1351
1351
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerElementRef = _t.first);
1352
1352
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.foregroundElementRef = _t.first);
1353
1353
  } }, hostBindings: function MagicOverlayContainer_HostBindings(rf, ctx) { if (rf & 1) {
1354
- i0.ɵɵlistener("mousemove", function MagicOverlayContainer_mousemove_HostBindingHandler($event) { return ctx.onResize($event); }, false, i0.ɵɵresolveWindow)("mouseup", function MagicOverlayContainer_mouseup_HostBindingHandler() { return ctx.onResizeEnd(); }, false, i0.ɵɵresolveWindow);
1355
- } }, inputs: { ModalComp: "ModalComp", ModalCompParameters: "ModalCompParameters" }, outputs: { onClose: "onClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 9, consts: [["modalForeground", ""], ["modalbody", ""], ["modalheader", ""], [1, "boundary-line"], [1, "modal-background", 3, "click"], ["tabindex", "-1", "style", "float:right; border: none; background-color: transparent; outline: none; color: white", 3, "click", 4, "ngIf"], ["cdkDragBoundary", ".boundary-line", "cdkDrag", "", 1, "modal-foreground", 3, "ngStyle", "cdkDragDisabled"], ["class", "dragHandle right", 3, "mousedown", 4, "ngIf"], ["class", "dragHandle left", 3, "mousedown", 4, "ngIf"], ["class", "dragHandle corner", 3, "mousedown", 4, "ngIf"], ["class", "dragHandle bottom", 3, "mousedown", 4, "ngIf"], ["class", "modal-header", "cdkDragHandle", "", 3, "movable", 4, "ngIf"], [3, "ngStyle"], ["magicViewContainerRef", ""], ["tabindex", "-1", 2, "float", "right", "border", "none", "background-color", "transparent", "outline", "none", "color", "white", 3, "click"], [1, "dragHandle", "right", 3, "mousedown"], [1, "dragHandle", "left", 3, "mousedown"], [1, "dragHandle", "corner", 3, "mousedown"], [1, "dragHandle", "bottom", 3, "mousedown"], ["cdkDragHandle", "", 1, "modal-header"], ["tabindex", "-1", 2, "float", "right", 3, "click"]], template: function MagicOverlayContainer_Template(rf, ctx) { if (rf & 1) {
1356
- const _r1 = i0.ɵɵgetCurrentView();
1354
+ i0.ɵɵlistener("mousemove", function MagicOverlayContainer_mousemove_HostBindingHandler($event) { return ctx.onResize($event); }, i0.ɵɵresolveWindow)("mouseup", function MagicOverlayContainer_mouseup_HostBindingHandler() { return ctx.onResizeEnd(); }, i0.ɵɵresolveWindow);
1355
+ } }, inputs: { ModalComp: "ModalComp", ModalCompParameters: "ModalCompParameters" }, outputs: { onClose: "onClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 13, vars: 9, consts: [["modalForeground", ""], ["modalbody", ""], ["modalheader", ""], [1, "boundary-line"], [1, "modal-background", 3, "click"], ["tabindex", "-1", 2, "float", "right", "border", "none", "background-color", "transparent", "outline", "none", "color", "white"], ["cdkDragBoundary", ".boundary-line", "cdkDrag", "", 1, "modal-foreground", 3, "ngStyle", "cdkDragDisabled"], [1, "dragHandle", "right"], [1, "dragHandle", "left"], [1, "dragHandle", "corner"], [1, "dragHandle", "bottom"], ["cdkDragHandle", "", 1, "modal-header", 3, "movable"], [3, "ngStyle"], ["magicViewContainerRef", ""], ["tabindex", "-1", 2, "float", "right", "border", "none", "background-color", "transparent", "outline", "none", "color", "white", 3, "click"], [1, "dragHandle", "right", 3, "mousedown"], [1, "dragHandle", "left", 3, "mousedown"], [1, "dragHandle", "corner", 3, "mousedown"], [1, "dragHandle", "bottom", 3, "mousedown"], ["cdkDragHandle", "", 1, "modal-header"], ["tabindex", "-1", 2, "float", "right", 3, "click"]], template: function MagicOverlayContainer_Template(rf, ctx) { if (rf & 1) {
1357
1356
  i0.ɵɵelementStart(0, "div", 3)(1, "div", 4);
1358
- i0.ɵɵlistener("click", function MagicOverlayContainer_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.OnBackgroundClick()); });
1359
- i0.ɵɵtemplate(2, MagicOverlayContainer_button_2_Template, 2, 0, "button", 5);
1357
+ i0.ɵɵlistener("click", function MagicOverlayContainer_Template_div_click_1_listener() { return ctx.OnBackgroundClick(); });
1358
+ i0.ɵɵconditionalCreate(2, MagicOverlayContainer_Conditional_2_Template, 2, 0, "button", 5);
1360
1359
  i0.ɵɵelementEnd();
1361
1360
  i0.ɵɵelementStart(3, "div", 6, 0);
1362
- i0.ɵɵtemplate(5, MagicOverlayContainer_span_5_Template, 1, 0, "span", 7)(6, MagicOverlayContainer_span_6_Template, 1, 0, "span", 8)(7, MagicOverlayContainer_span_7_Template, 1, 0, "span", 9)(8, MagicOverlayContainer_span_8_Template, 1, 0, "span", 10)(9, MagicOverlayContainer_div_9_Template, 5, 3, "div", 11);
1361
+ i0.ɵɵconditionalCreate(5, MagicOverlayContainer_Conditional_5_Template, 1, 0, "span", 7);
1362
+ i0.ɵɵconditionalCreate(6, MagicOverlayContainer_Conditional_6_Template, 1, 0, "span", 8);
1363
+ i0.ɵɵconditionalCreate(7, MagicOverlayContainer_Conditional_7_Template, 1, 0, "span", 9);
1364
+ i0.ɵɵconditionalCreate(8, MagicOverlayContainer_Conditional_8_Template, 1, 0, "span", 10);
1365
+ i0.ɵɵconditionalCreate(9, MagicOverlayContainer_Conditional_9_Template, 5, 3, "div", 11);
1363
1366
  i0.ɵɵelementStart(10, "div", 12);
1364
1367
  i0.ɵɵelement(11, "div", 13, 1);
1365
1368
  i0.ɵɵelementEnd()()();
1366
1369
  } if (rf & 2) {
1367
1370
  i0.ɵɵadvance(2);
1368
- i0.ɵɵproperty("ngIf", !ctx.getShowTitleBar());
1371
+ i0.ɵɵconditional(!ctx.getShowTitleBar() ? 2 : -1);
1369
1372
  i0.ɵɵadvance();
1370
1373
  i0.ɵɵproperty("ngStyle", ctx.getStyle())("cdkDragDisabled", !ctx.IsMovable());
1371
1374
  i0.ɵɵadvance(2);
1372
- i0.ɵɵproperty("ngIf", ctx.IsResizable() && !ctx.isRtl);
1375
+ i0.ɵɵconditional(ctx.IsResizable() && !ctx.isRtl ? 5 : -1);
1373
1376
  i0.ɵɵadvance();
1374
- i0.ɵɵproperty("ngIf", ctx.IsResizable() && ctx.isRtl);
1377
+ i0.ɵɵconditional(ctx.IsResizable() && ctx.isRtl ? 6 : -1);
1375
1378
  i0.ɵɵadvance();
1376
- i0.ɵɵproperty("ngIf", ctx.IsResizable());
1379
+ i0.ɵɵconditional(ctx.IsResizable() ? 7 : -1);
1377
1380
  i0.ɵɵadvance();
1378
- i0.ɵɵproperty("ngIf", ctx.IsResizable());
1381
+ i0.ɵɵconditional(ctx.IsResizable() ? 8 : -1);
1379
1382
  i0.ɵɵadvance();
1380
- i0.ɵɵproperty("ngIf", ctx.getShowTitleBar());
1383
+ i0.ɵɵconditional(ctx.getShowTitleBar() ? 9 : -1);
1381
1384
  i0.ɵɵadvance();
1382
1385
  i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
1383
- } }, dependencies: [i1.NgIf, i1.NgStyle, i2$1.CdkDragHandle, i2$1.CdkDrag, MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}.modal-header.movable[_ngcontent-%COMP%]:active{cursor:move}.container[_ngcontent-%COMP%]{position:relative}.dragHandle[_ngcontent-%COMP%]{position:absolute}.dragHandle.corner[_ngcontent-%COMP%]{width:10px;right:0;bottom:0;height:10px;cursor:nwse-resize;background:linear-gradient(135deg,rgba(0,0,0,.4) 50%,transparent 50%);position:absolute}[dir=\"rtl\"][_nghost-%COMP%] .dragHandle.corner[_ngcontent-%COMP%], [dir=\"rtl\"] [_nghost-%COMP%] .dragHandle.corner[_ngcontent-%COMP%]{right:auto!important;left:0;cursor:nesw-resize;background:linear-gradient(225deg,rgba(0,0,0,.4) 50%,transparent 50%)}.dragHandle.left[_ngcontent-%COMP%]{width:2px;left:-2px;height:100%;cursor:ew-resize}.dragHandle.right[_ngcontent-%COMP%]{width:2px;right:-2px;height:100%;cursor:ew-resize}.dragHandle.bottom[_ngcontent-%COMP%]{height:2px;bottom:-2px;width:100%;cursor:ns-resize}.boundary-line[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}"] });
1386
+ } }, dependencies: [i1.NgStyle, i2$1.CdkDragHandle, i2$1.CdkDrag, MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}.modal-header.movable[_ngcontent-%COMP%]:active{cursor:move}.container[_ngcontent-%COMP%]{position:relative}.dragHandle[_ngcontent-%COMP%]{position:absolute}.dragHandle.corner[_ngcontent-%COMP%]{width:10px;right:0;bottom:0;height:10px;cursor:nwse-resize;background:linear-gradient(135deg,rgba(0,0,0,.4) 50%,transparent 50%);position:absolute}[dir=\"rtl\"][_nghost-%COMP%] .dragHandle.corner[_ngcontent-%COMP%], [dir=\"rtl\"] [_nghost-%COMP%] .dragHandle.corner[_ngcontent-%COMP%]{right:auto!important;left:0;cursor:nesw-resize;background:linear-gradient(225deg,rgba(0,0,0,.4) 50%,transparent 50%)}.dragHandle.left[_ngcontent-%COMP%]{width:2px;left:-2px;height:100%;cursor:ew-resize}.dragHandle.right[_ngcontent-%COMP%]{width:2px;right:-2px;height:100%;cursor:ew-resize}.dragHandle.bottom[_ngcontent-%COMP%]{height:2px;bottom:-2px;width:100%;cursor:ns-resize}.boundary-line[_ngcontent-%COMP%]{width:100%;height:100%;max-width:100%}"] });
1384
1387
  }
1385
1388
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
1386
1389
  type: Component,
1387
- args: [{ selector: 'app-magic-overlay-container', template: `
1388
- <div class="boundary-line">
1389
-
1390
- <div class="modal-background" (click)="OnBackgroundClick()">
1391
- <button (click)="OnClose()" tabindex="-1" style="float:right; border: none; background-color: transparent; outline: none; color: white" *ngIf="!getShowTitleBar()">X</button>
1392
- </div>
1393
-
1394
- <div #modalForeground class="modal-foreground" [ngStyle]="getStyle()" cdkDragBoundary=".boundary-line" cdkDrag [cdkDragDisabled]="!IsMovable()">
1395
-
1396
- <span *ngIf="IsResizable() && !isRtl" class="dragHandle right" (mousedown)="onResizeStart($event, 'right')"></span>
1397
- <span *ngIf="IsResizable() && isRtl" class="dragHandle left" (mousedown)="onResizeStart($event, 'left')"></span>
1398
- <span *ngIf="IsResizable()" class="dragHandle corner" (mousedown)="onResizeStart($event, 'corner')"></span>
1399
- <span *ngIf="IsResizable()" class="dragHandle bottom" (mousedown)="onResizeStart($event, 'bottom')"></span>
1400
-
1401
- <div #modalheader class="modal-header" *ngIf="getShowTitleBar()" cdkDragHandle [class.movable]="IsMovable()">
1402
- {{getText()}}
1403
- <button (click)="OnClose()" style="float:right" tabindex="-1">X</button>
1404
- </div>
1405
-
1406
- <div [ngStyle]="getClientAreaStyles()">
1407
- <div #modalbody magicViewContainerRef>
1408
- </div>
1409
- </div>
1410
- </div>
1411
- </div>
1412
- `, standalone: false, styles: [".modal-foreground{position:fixed;inset:0;background-color:#fff}.modal-background{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header{background-color:beige;border-bottom:2px solid red}.modal-header.movable:active{cursor:move}.container{position:relative}.dragHandle{position:absolute}.dragHandle.corner{width:10px;right:0;bottom:0;height:10px;cursor:nwse-resize;background:linear-gradient(135deg,rgba(0,0,0,.4) 50%,transparent 50%);position:absolute}:host-context([dir=\"rtl\"]) .dragHandle.corner{right:auto!important;left:0;cursor:nesw-resize;background:linear-gradient(225deg,rgba(0,0,0,.4) 50%,transparent 50%)}.dragHandle.left{width:2px;left:-2px;height:100%;cursor:ew-resize}.dragHandle.right{width:2px;right:-2px;height:100%;cursor:ew-resize}.dragHandle.bottom{height:2px;bottom:-2px;width:100%;cursor:ns-resize}.boundary-line{width:100%;height:100%;max-width:100%}\n"] }]
1390
+ args: [{ selector: 'app-magic-overlay-container', template: `
1391
+ <div class="boundary-line">
1392
+
1393
+ <div class="modal-background" (click)="OnBackgroundClick()">
1394
+ @if (!getShowTitleBar()) {
1395
+ <button (click)="OnClose()" tabindex="-1" style="float:right; border: none; background-color: transparent; outline: none; color: white">X</button>
1396
+ }
1397
+ </div>
1398
+
1399
+ <div #modalForeground class="modal-foreground" [ngStyle]="getStyle()" cdkDragBoundary=".boundary-line" cdkDrag [cdkDragDisabled]="!IsMovable()">
1400
+
1401
+ @if (IsResizable() && !isRtl) {
1402
+ <span class="dragHandle right" (mousedown)="onResizeStart($event, 'right')"></span>
1403
+ }
1404
+ @if (IsResizable() && isRtl) {
1405
+ <span class="dragHandle left" (mousedown)="onResizeStart($event, 'left')"></span>
1406
+ }
1407
+ @if (IsResizable()) {
1408
+ <span class="dragHandle corner" (mousedown)="onResizeStart($event, 'corner')"></span>
1409
+ }
1410
+ @if (IsResizable()) {
1411
+ <span class="dragHandle bottom" (mousedown)="onResizeStart($event, 'bottom')"></span>
1412
+ }
1413
+
1414
+ @if (getShowTitleBar()) {
1415
+ <div #modalheader class="modal-header" cdkDragHandle [class.movable]="IsMovable()">
1416
+ {{getText()}}
1417
+ <button (click)="OnClose()" style="float:right" tabindex="-1">X</button>
1418
+ </div>
1419
+ }
1420
+
1421
+ <div [ngStyle]="getClientAreaStyles()">
1422
+ <div #modalbody magicViewContainerRef>
1423
+ </div>
1424
+ </div>
1425
+ </div>
1426
+ </div>
1427
+ `, standalone: false, styles: [".modal-foreground{position:fixed;inset:0;background-color:#fff}.modal-background{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header{background-color:beige;border-bottom:2px solid red}.modal-header.movable:active{cursor:move}.container{position:relative}.dragHandle{position:absolute}.dragHandle.corner{width:10px;right:0;bottom:0;height:10px;cursor:nwse-resize;background:linear-gradient(135deg,rgba(0,0,0,.4) 50%,transparent 50%);position:absolute}:host-context([dir=\"rtl\"]) .dragHandle.corner{right:auto!important;left:0;cursor:nesw-resize;background:linear-gradient(225deg,rgba(0,0,0,.4) 50%,transparent 50%)}.dragHandle.left{width:2px;left:-2px;height:100%;cursor:ew-resize}.dragHandle.right{width:2px;right:-2px;height:100%;cursor:ew-resize}.dragHandle.bottom{height:2px;bottom:-2px;width:100%;cursor:ns-resize}.boundary-line{width:100%;height:100%;max-width:100%}\n"] }]
1413
1428
  }], () => [], { headerElementRef: [{
1414
1429
  type: ViewChild,
1415
1430
  args: ['modalheader', { static: false }]
@@ -1429,7 +1444,7 @@ class MagicOverlayContainer extends BaseMagicOverlayContainer {
1429
1444
  type: HostListener,
1430
1445
  args: ['window:mouseup']
1431
1446
  }] }); })();
1432
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicOverlayContainer, { className: "MagicOverlayContainer", filePath: "src/ui/magic-modal/magic-overlay-container.ts", lineNumber: 52 }); })();
1447
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicOverlayContainer, { className: "MagicOverlayContainer", filePath: "src/ui/magic-modal/magic-overlay-container.ts", lineNumber: 64 }); })();
1433
1448
 
1434
1449
  /**
1435
1450
  * Service managing overlay windows
@@ -1697,7 +1712,7 @@ class MagicAlertComponent extends BaseMagicAlertComponent {
1697
1712
  i0.ɵɵelementEnd()()();
1698
1713
  } if (rf & 2) {
1699
1714
  i0.ɵɵadvance(3);
1700
- i0.ɵɵtextInterpolate1(" ", ctx.title, "");
1715
+ i0.ɵɵtextInterpolate1(" ", ctx.title);
1701
1716
  i0.ɵɵadvance(2);
1702
1717
  i0.ɵɵtextInterpolate1("", ctx.message, " ");
1703
1718
  } }, styles: [".mg-message-background[_ngcontent-%COMP%]{background-color:#f5f5f5;width:40%;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;padding:17px;border-radius:5px;text-align:center;margin-top:10%;margin-left:auto;margin-right:auto;border:1px solid gray}button[_ngcontent-%COMP%]{background-color:#8cd4f5;color:#fff;border:none;box-shadow:none;font-size:17px;font-weight:500;-webkit-border-radius:4px;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}"] });
@@ -1736,7 +1751,7 @@ class MagicConfirmationBoxComponent extends BaseMagicConfirmComponent {
1736
1751
  i0.ɵɵelementEnd()()();
1737
1752
  } if (rf & 2) {
1738
1753
  i0.ɵɵadvance(3);
1739
- i0.ɵɵtextInterpolate1(" ", ctx.title, "");
1754
+ i0.ɵɵtextInterpolate1(" ", ctx.title);
1740
1755
  i0.ɵɵadvance();
1741
1756
  i0.ɵɵtextInterpolate1(" ", ctx.message, " ");
1742
1757
  } }, styles: [".mg-message-background[_ngcontent-%COMP%]{background-color:#f5f5f5;width:40%;font-family:Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;padding:17px;border-radius:5px;text-align:center;margin-top:10%;margin-left:auto;margin-right:auto;border:1px solid gray}button[_ngcontent-%COMP%]{background-color:#8cd4f5;color:#fff;border:none;box-shadow:none;font-size:17px;font-weight:500;-webkit-border-radius:4px;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}button.cancel[_ngcontent-%COMP%]{background-color:#c1c1c1}"] });
@@ -5616,8 +5631,8 @@ class RangeValidatorMagicDirective {
5616
5631
  }]
5617
5632
  }], () => [{ type: TaskMagicService }, { type: i0.ViewContainerRef }], null); })();
5618
5633
 
5619
- function SubformMagicComponent_ndc_dynamic_0_Template(rf, ctx) { if (rf & 1) {
5620
- i0.ɵɵelement(0, "ndc-dynamic", 1);
5634
+ function SubformMagicComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
5635
+ i0.ɵɵelement(0, "ndc-dynamic", 0);
5621
5636
  } if (rf & 2) {
5622
5637
  const ctx_r0 = i0.ɵɵnextContext();
5623
5638
  i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.Component)("ndcDynamicInputs", ctx_r0.Parameters);
@@ -5663,34 +5678,35 @@ class SubformMagicComponent {
5663
5678
  return this.mgSub.mgGetParameters(this.id);
5664
5679
  }
5665
5680
  /** @nocollapse */ static ɵfac = function SubformMagicComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SubformMagicComponent)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(SubformMagicService)); };
5666
- /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: SubformMagicComponent, selectors: [["magic-subform"]], inputs: { magic: "magic" }, standalone: false, decls: 1, vars: 1, consts: [[3, "ndcDynamicComponent", "ndcDynamicInputs", 4, "ngIf"], [3, "ndcDynamicComponent", "ndcDynamicInputs"]], template: function SubformMagicComponent_Template(rf, ctx) { if (rf & 1) {
5667
- i0.ɵɵtemplate(0, SubformMagicComponent_ndc_dynamic_0_Template, 1, 2, "ndc-dynamic", 0);
5681
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: SubformMagicComponent, selectors: [["magic-subform"]], inputs: { magic: "magic" }, standalone: false, decls: 1, vars: 1, consts: [[3, "ndcDynamicComponent", "ndcDynamicInputs"]], template: function SubformMagicComponent_Template(rf, ctx) { if (rf & 1) {
5682
+ i0.ɵɵconditionalCreate(0, SubformMagicComponent_Conditional_0_Template, 1, 2, "ndc-dynamic", 0);
5668
5683
  } if (rf & 2) {
5669
- i0.ɵɵproperty("ngIf", ctx.Component);
5670
- } }, dependencies: [i1.NgIf, i3.DynamicIoDirective, i3.DynamicComponent], encapsulation: 2 });
5684
+ i0.ɵɵconditional(ctx.Component ? 0 : -1);
5685
+ } }, dependencies: [i2$3.DynamicIoDirective, i2$3.DynamicComponent], encapsulation: 2 });
5671
5686
  }
5672
5687
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicComponent, [{
5673
5688
  type: Component,
5674
5689
  args: [{
5675
5690
  selector: 'magic-subform',
5676
- template: `
5677
- <ndc-dynamic
5678
- *ngIf="Component"
5679
- [ndcDynamicComponent]="Component"
5680
- [ndcDynamicInputs]="Parameters">
5681
- </ndc-dynamic>
5682
- `,
5691
+ template: `
5692
+ @if (Component) {
5693
+ <ndc-dynamic
5694
+ [ndcDynamicComponent]="Component"
5695
+ [ndcDynamicInputs]="Parameters">
5696
+ </ndc-dynamic>
5697
+ }
5698
+ `,
5683
5699
  standalone: false
5684
5700
  }]
5685
5701
  }], () => [{ type: i0.ViewContainerRef }, { type: SubformMagicService }], { magic: [{
5686
5702
  type: Input,
5687
5703
  args: ['magic']
5688
5704
  }] }); })();
5689
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubformMagicComponent, { className: "SubformMagicComponent", filePath: "src/ui/subform.magic.component.ts", lineNumber: 22 }); })();
5705
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubformMagicComponent, { className: "SubformMagicComponent", filePath: "src/ui/subform.magic.component.ts", lineNumber: 23 }); })();
5690
5706
 
5691
5707
  const _c0$1 = ["customContent"];
5692
5708
  const _c1 = ["*"];
5693
- function ErrorMagicComponent_div_0_span_4_Template(rf, ctx) { if (rf & 1) {
5709
+ function ErrorMagicComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
5694
5710
  i0.ɵɵelementStart(0, "span");
5695
5711
  i0.ɵɵtext(1);
5696
5712
  i0.ɵɵelementEnd();
@@ -5699,16 +5715,16 @@ function ErrorMagicComponent_div_0_span_4_Template(rf, ctx) { if (rf & 1) {
5699
5715
  i0.ɵɵadvance();
5700
5716
  i0.ɵɵtextInterpolate1(" ", ctx_r0.mgService.getErrMsg(ctx_r0.id, ctx_r0.rowId), " ");
5701
5717
  } }
5702
- function ErrorMagicComponent_div_0_Template(rf, ctx) { if (rf & 1) {
5718
+ function ErrorMagicComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
5703
5719
  i0.ɵɵelementStart(0, "div")(1, "div", null, 0);
5704
5720
  i0.ɵɵprojection(3);
5705
5721
  i0.ɵɵelementEnd();
5706
- i0.ɵɵtemplate(4, ErrorMagicComponent_div_0_span_4_Template, 2, 1, "span", 1);
5722
+ i0.ɵɵconditionalCreate(4, ErrorMagicComponent_Conditional_0_Conditional_4_Template, 2, 1, "span");
5707
5723
  i0.ɵɵelementEnd();
5708
5724
  } if (rf & 2) {
5709
5725
  const ctx_r0 = i0.ɵɵnextContext();
5710
5726
  i0.ɵɵadvance(4);
5711
- i0.ɵɵproperty("ngIf", ctx_r0.defaultDisplay);
5727
+ i0.ɵɵconditional(ctx_r0.defaultDisplay ? 4 : -1);
5712
5728
  } }
5713
5729
  /**
5714
5730
  * Represents a Magic subform
@@ -5792,25 +5808,29 @@ class ErrorMagicComponent {
5792
5808
  } if (rf & 2) {
5793
5809
  let _t;
5794
5810
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.CustomContent = _t.first);
5795
- } }, inputs: { magic: "magic", rowId1: [0, "rowId", "rowId1"] }, standalone: false, ngContentSelectors: _c1, decls: 1, vars: 1, consts: [["customContent", ""], [4, "ngIf"]], template: function ErrorMagicComponent_Template(rf, ctx) { if (rf & 1) {
5811
+ } }, inputs: { magic: "magic", rowId1: [0, "rowId", "rowId1"] }, standalone: false, ngContentSelectors: _c1, decls: 1, vars: 1, consts: [["customContent", ""]], template: function ErrorMagicComponent_Template(rf, ctx) { if (rf & 1) {
5796
5812
  i0.ɵɵprojectionDef();
5797
- i0.ɵɵtemplate(0, ErrorMagicComponent_div_0_Template, 5, 1, "div", 1);
5813
+ i0.ɵɵconditionalCreate(0, ErrorMagicComponent_Conditional_0_Template, 5, 1, "div");
5798
5814
  } if (rf & 2) {
5799
- i0.ɵɵproperty("ngIf", ctx.HasErrors(ctx.id));
5800
- } }, dependencies: [i1.NgIf], encapsulation: 2 });
5815
+ i0.ɵɵconditional(ctx.HasErrors(ctx.id) ? 0 : -1);
5816
+ } }, encapsulation: 2 });
5801
5817
  }
5802
5818
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMagicComponent, [{
5803
5819
  type: Component,
5804
5820
  args: [{
5805
5821
  selector: 'mgError',
5806
- template: `<div *ngIf="HasErrors(id)">
5807
- <div #customContent>
5808
- <ng-content></ng-content>
5809
- </div>
5810
- <span *ngIf="defaultDisplay">
5811
- {{mgService.getErrMsg(id, rowId)}}
5812
- </span>
5813
- </div>
5822
+ template: `@if (HasErrors(id)) {
5823
+ <div>
5824
+ <div #customContent>
5825
+ <ng-content></ng-content>
5826
+ </div>
5827
+ @if (defaultDisplay) {
5828
+ <span>
5829
+ {{mgService.getErrMsg(id, rowId)}}
5830
+ </span>
5831
+ }
5832
+ </div>
5833
+ }
5814
5834
  `,
5815
5835
  standalone: false
5816
5836
  }]
@@ -5824,7 +5844,7 @@ class ErrorMagicComponent {
5824
5844
  type: ViewChild,
5825
5845
  args: ['customContent', { static: false }]
5826
5846
  }] }); })();
5827
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ErrorMagicComponent, { className: "ErrorMagicComponent", filePath: "src/ui/mgerror.magic.component.ts", lineNumber: 24 }); })();
5847
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ErrorMagicComponent, { className: "ErrorMagicComponent", filePath: "src/ui/mgerror.magic.component.ts", lineNumber: 28 }); })();
5828
5848
 
5829
5849
  /**
5830
5850
  * Directive for checkboxes, to handle the 'change' event
@@ -5993,15 +6013,15 @@ class ExitMagicService {
5993
6013
  }], null, null); })();
5994
6014
 
5995
6015
  const _c0 = ["magicRoot"];
5996
- function MagicShellComponent_ndc_dynamic_2_Template(rf, ctx) { if (rf & 1) {
5997
- i0.ɵɵelement(0, "ndc-dynamic", 6);
6016
+ function MagicShellComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
6017
+ i0.ɵɵelement(0, "ndc-dynamic", 3);
5998
6018
  } if (rf & 2) {
5999
6019
  const ctx_r0 = i0.ɵɵnextContext();
6000
6020
  i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.RootComponent)("ndcDynamicInputs", ctx_r0.RootComponentParameters);
6001
6021
  } }
6002
- function MagicShellComponent_div_5_Template(rf, ctx) { if (rf & 1) {
6003
- i0.ɵɵelementStart(0, "div", 7);
6004
- i0.ɵɵelementContainer(1, 8);
6022
+ function MagicShellComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
6023
+ i0.ɵɵelementStart(0, "div", 5);
6024
+ i0.ɵɵelementContainer(1, 6);
6005
6025
  i0.ɵɵelementEnd();
6006
6026
  } if (rf & 2) {
6007
6027
  const ctx_r0 = i0.ɵɵnextContext();
@@ -6010,7 +6030,7 @@ function MagicShellComponent_div_5_Template(rf, ctx) { if (rf & 1) {
6010
6030
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.SpinnerTemplate ? ctx_r0.SpinnerTemplate : defaultSpinner_r2);
6011
6031
  } }
6012
6032
  function MagicShellComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
6013
- i0.ɵɵelement(0, "div", 9);
6033
+ i0.ɵɵelement(0, "div", 7);
6014
6034
  } }
6015
6035
  /**
6016
6036
  * Root Magic component
@@ -6205,46 +6225,50 @@ class MagicShellComponent {
6205
6225
  let _t;
6206
6226
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rootMagicElementRef = _t.first);
6207
6227
  } }, hostBindings: function MagicShellComponent_HostBindings(rf, ctx) { if (rf & 1) {
6208
- i0.ɵɵlistener("beforeunload", function MagicShellComponent_beforeunload_HostBindingHandler($event) { return ctx.onBeforeUnload($event); }, false, i0.ɵɵresolveWindow)("unload", function MagicShellComponent_unload_HostBindingHandler($event) { return ctx.onUnload($event); }, false, i0.ɵɵresolveWindow);
6228
+ i0.ɵɵlistener("beforeunload", function MagicShellComponent_beforeunload_HostBindingHandler($event) { return ctx.onBeforeUnload($event); }, i0.ɵɵresolveWindow)("unload", function MagicShellComponent_unload_HostBindingHandler($event) { return ctx.onUnload($event); }, i0.ɵɵresolveWindow);
6209
6229
  } }, inputs: { SpinnerTemplate: "SpinnerTemplate" }, standalone: false, features: [i0.ɵɵProvidersFeature([
6210
6230
  // ExitMagicService
6211
- ])], decls: 8, vars: 2, consts: [["magicRoot", ""], ["overlayWindowsContainer", ""], ["defaultSpinner", ""], [3, "ndcDynamicComponent", "ndcDynamicInputs", 4, "ngIf"], ["magicViewContainerRef", ""], ["class", "spinner-background", 4, "ngIf"], [3, "ndcDynamicComponent", "ndcDynamicInputs"], [1, "spinner-background"], [3, "ngTemplateOutlet"], [1, "mgSpinnerClass"]], template: function MagicShellComponent_Template(rf, ctx) { if (rf & 1) {
6231
+ ])], decls: 8, vars: 2, consts: [["magicRoot", ""], ["overlayWindowsContainer", ""], ["defaultSpinner", ""], [3, "ndcDynamicComponent", "ndcDynamicInputs"], ["magicViewContainerRef", ""], [1, "spinner-background"], [3, "ngTemplateOutlet"], [1, "mgSpinnerClass"]], template: function MagicShellComponent_Template(rf, ctx) { if (rf & 1) {
6212
6232
  i0.ɵɵelementStart(0, "div", null, 0);
6213
- i0.ɵɵtemplate(2, MagicShellComponent_ndc_dynamic_2_Template, 1, 2, "ndc-dynamic", 3);
6233
+ i0.ɵɵconditionalCreate(2, MagicShellComponent_Conditional_2_Template, 1, 2, "ndc-dynamic", 3);
6214
6234
  i0.ɵɵelement(3, "div", 4, 1);
6215
6235
  i0.ɵɵelementEnd();
6216
- i0.ɵɵtemplate(5, MagicShellComponent_div_5_Template, 2, 1, "div", 5)(6, MagicShellComponent_ng_template_6_Template, 1, 0, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
6236
+ i0.ɵɵconditionalCreate(5, MagicShellComponent_Conditional_5_Template, 2, 1, "div", 5);
6237
+ i0.ɵɵtemplate(6, MagicShellComponent_ng_template_6_Template, 1, 0, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
6217
6238
  } if (rf & 2) {
6218
6239
  i0.ɵɵadvance(2);
6219
- i0.ɵɵproperty("ngIf", ctx.RootComponent !== null);
6240
+ i0.ɵɵconditional(ctx.RootComponent !== null ? 2 : -1);
6220
6241
  i0.ɵɵadvance(3);
6221
- i0.ɵɵproperty("ngIf", ctx.showSpinner);
6222
- } }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i3.DynamicIoDirective, i3.DynamicComponent, MagicViewContainerRef], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:_ngcontent-%COMP%_spin 2s linear infinite}.spinner-background[_ngcontent-%COMP%]{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
6242
+ i0.ɵɵconditional(ctx.showSpinner ? 5 : -1);
6243
+ } }, dependencies: [i1.NgTemplateOutlet, i2$3.DynamicIoDirective, i2$3.DynamicComponent, MagicViewContainerRef], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:_ngcontent-%COMP%_spin 2s linear infinite}.spinner-background[_ngcontent-%COMP%]{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
6223
6244
  }
6224
6245
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicShellComponent, [{
6225
6246
  type: Component,
6226
6247
  args: [{ selector: 'magic-root', providers: [
6227
6248
  // ExitMagicService
6228
- ], template: `
6229
- <div #magicRoot>
6230
- <ndc-dynamic
6231
- *ngIf = "RootComponent !== null"
6232
- [ndcDynamicComponent]="RootComponent"
6233
- [ndcDynamicInputs] ="RootComponentParameters">
6234
- </ndc-dynamic>
6235
-
6236
- <div #overlayWindowsContainer magicViewContainerRef>
6237
- </div>
6238
- </div>
6239
-
6240
- <div class="spinner-background" *ngIf="showSpinner">
6241
- <ng-container [ngTemplateOutlet]="SpinnerTemplate ? SpinnerTemplate:defaultSpinner"></ng-container>
6242
- </div>
6243
-
6244
- <ng-template #defaultSpinner>
6245
- <div class="mgSpinnerClass"></div>
6246
- </ng-template>
6247
- `, standalone: false, styles: [".mgSpinnerClass{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:spin 2s linear infinite}.spinner-background{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
6249
+ ], template: `
6250
+ <div #magicRoot>
6251
+ @if (RootComponent !== null) {
6252
+ <ndc-dynamic
6253
+ [ndcDynamicComponent]="RootComponent"
6254
+ [ndcDynamicInputs] ="RootComponentParameters">
6255
+ </ndc-dynamic>
6256
+ }
6257
+
6258
+ <div #overlayWindowsContainer magicViewContainerRef>
6259
+ </div>
6260
+ </div>
6261
+
6262
+ @if (showSpinner) {
6263
+ <div class="spinner-background">
6264
+ <ng-container [ngTemplateOutlet]="SpinnerTemplate ? SpinnerTemplate:defaultSpinner"></ng-container>
6265
+ </div>
6266
+ }
6267
+
6268
+ <ng-template #defaultSpinner>
6269
+ <div class="mgSpinnerClass"></div>
6270
+ </ng-template>
6271
+ `, standalone: false, styles: [".mgSpinnerClass{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:spin 2s linear infinite}.spinner-background{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
6248
6272
  }], () => [{ type: EngineMagicService }, { type: ComponentListMagicService }, { type: i0.ChangeDetectorRef }, { type: i1$1.Title }, { type: OverlayWindowService }, { type: i1$2.HttpClient }, { type: CommandsCollectorMagicService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: ExitMagicService, decorators: [{
6249
6273
  type: Optional
6250
6274
  }] }], { rootMagicElementRef: [{
@@ -6259,7 +6283,7 @@ class MagicShellComponent {
6259
6283
  type: HostListener,
6260
6284
  args: ['window:unload', ['$event']]
6261
6285
  }] }); })();
6262
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicShellComponent, { className: "MagicShellComponent", filePath: "src/ui/magic-root.component.ts", lineNumber: 86 }); })();
6286
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicShellComponent, { className: "MagicShellComponent", filePath: "src/ui/magic-root.component.ts", lineNumber: 89 }); })();
6263
6287
 
6264
6288
  /**
6265
6289
  * @ignore
@@ -6860,6 +6884,109 @@ const magicProviders = [
6860
6884
  TableMagicService
6861
6885
  ];
6862
6886
 
6887
+ class SubscriberService {
6888
+ static instance;
6889
+ socket;
6890
+ constructor() {
6891
+ // Connect to the Socket.IO server with subscriber role
6892
+ this.socket = io('http://localhost:3000', {
6893
+ query: {
6894
+ role: 'subscriber',
6895
+ token: 'abc123' // Default token for testing; replace with actual authentication
6896
+ }
6897
+ });
6898
+ // Handle connection
6899
+ this.socket.on('connect', () => {
6900
+ console.log('Connected to server as subscriber:', this.socket.id);
6901
+ });
6902
+ // Handle disconnection
6903
+ this.socket.on('disconnect', () => {
6904
+ console.log('Disconnected from server');
6905
+ });
6906
+ // Handle subscription confirmation
6907
+ this.socket.on('subscribed', (data) => {
6908
+ console.log('Subscribed to topic:', data.topic, data.message);
6909
+ });
6910
+ // Handle unsubscription confirmation
6911
+ this.socket.on('unsubscribed', (data) => {
6912
+ console.log('Unsubscribed from topic:', data.topic, data.message);
6913
+ });
6914
+ // Handle errors
6915
+ this.socket.on('error', (error) => {
6916
+ console.error('Socket error:', error.message);
6917
+ });
6918
+ this.socket.on('message', (error) => {
6919
+ console.error('Message from xpa:', error.message);
6920
+ });
6921
+ }
6922
+ /**
6923
+ * Subscribe to a specific topic
6924
+ * @param topic The topic to subscribe to
6925
+ */
6926
+ subscribe(topic) {
6927
+ this.socket.emit('subscribe', topic);
6928
+ }
6929
+ /**
6930
+ * Unsubscribe from a specific topic
6931
+ * @param topic The topic to unsubscribe from
6932
+ */
6933
+ unsubscribe(topic) {
6934
+ this.socket.emit('unsubscribe', topic);
6935
+ }
6936
+ /**
6937
+ * Get an Observable for incoming messages
6938
+ * @returns Observable that emits message data
6939
+ */
6940
+ onMessage() {
6941
+ return new Observable(observer => {
6942
+ this.socket.on('message', (data) => {
6943
+ observer.next(data);
6944
+ });
6945
+ });
6946
+ }
6947
+ /**
6948
+ * Get current subscriptions (for debugging)
6949
+ */
6950
+ getSubscriptions() {
6951
+ this.socket.emit('getSubscriptions');
6952
+ }
6953
+ /**
6954
+ * Listen for subscriptions data
6955
+ * @returns Observable that emits subscriptions list
6956
+ */
6957
+ onSubscriptionsData() {
6958
+ return new Observable(observer => {
6959
+ this.socket.on('subscriptionsData', (data) => {
6960
+ observer.next(data);
6961
+ });
6962
+ });
6963
+ }
6964
+ /**
6965
+ * Get the singleton instance of SubscriberService
6966
+ * @returns {SubscriberService} The singleton instance
6967
+ */
6968
+ static getInstance() {
6969
+ if (!SubscriberService.instance) {
6970
+ SubscriberService.instance = new SubscriberService();
6971
+ }
6972
+ return SubscriberService.instance;
6973
+ }
6974
+ /**
6975
+ * Disconnect from the server
6976
+ */
6977
+ disconnect() {
6978
+ this.socket.disconnect();
6979
+ }
6980
+ /** @nocollapse */ static ɵfac = function SubscriberService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SubscriberService)(); };
6981
+ /** @nocollapse */ static ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: SubscriberService, factory: SubscriberService.ɵfac, providedIn: 'root' });
6982
+ }
6983
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubscriberService, [{
6984
+ type: Injectable,
6985
+ args: [{
6986
+ providedIn: 'root'
6987
+ }]
6988
+ }], () => [], null); })();
6989
+
6863
6990
  /**
6864
6991
  * @ignore
6865
6992
  */
@@ -6945,5 +7072,5 @@ class ModalFormDefinition {
6945
7072
  * Generated bundle index. Do not edit.
6946
7073
  */
6947
7074
 
6948
- export { AccessorMagicService, BaseMagicAlertComponent, BaseMagicConfirmComponent, BaseMagicOverlayContainer, CHECKBOX_VALUE_ACCESSOR, COLOR_FILE_NAME, CheckboxMagicDirective, CheckboxNoFormControlMagicDirective, ComboboxMagicDirective, CommandsCollectorMagicService, ComponentListMagicService, ConfirmationComponentsMagicProvider, Constants, ControlMetadata, ControlsMetadata, DATE_VALUE_ACCESSOR, DateMagicPipe, DateValueAccessor, EngineMagicService, ErrorMagicComponent, ExitMagicService, GuiInteractiveExecutor, HtmlClasses, InputNoFormControlMagicDirective, MAGIC_BG_COLOR, MAGIC_DEFAULT_VALUE_ACCESSOR, MAGIC_FG_COLOR, MG_FORMATS, MagicAlertComponent, MagicCheckboxControlValueAccessor, MagicColorService, MagicConfirmationBoxComponent, MagicDefaultValueAccessor, MagicDirective, MagicFocusDirective, MagicLazyLoaderService, MagicModule, MagicOverlayContainer, MagicOverlayContainerWrapper, MagicServices, MagicShellComponent, MagicViewContainerRef, MgDateAdapter, MgDateFormatter, MgformatMagicDirective, ModalFormDefinition, NoControlMagicDirective, NonMagicControlDirective, OverlayContainerMagicProvider, OverlayWindowService, RangeValidatorMagicDirective, Records, RouteCommand, RouterCommandsMagicService, RouterContainerMagicComponent, RowMagicDirective, StylesMapManager, SubformMagicComponent, SubformMagicService, TableMagicService, TaskBaseMagicComponent, TaskMagicService, Time24MagicPipe, TimeMagicPipe, TitleMagicService, basicMagicProviders, confirmationBox, magicProviders, matDateProviders, utils };
7075
+ export { AccessorMagicService, BaseMagicAlertComponent, BaseMagicConfirmComponent, BaseMagicOverlayContainer, CHECKBOX_VALUE_ACCESSOR, COLOR_FILE_NAME, CheckboxMagicDirective, CheckboxNoFormControlMagicDirective, ComboboxMagicDirective, CommandsCollectorMagicService, ComponentListMagicService, ConfirmationComponentsMagicProvider, Constants, ControlMetadata, ControlsMetadata, DATE_VALUE_ACCESSOR, DateMagicPipe, DateValueAccessor, EngineMagicService, ErrorMagicComponent, ExitMagicService, GuiInteractiveExecutor, HtmlClasses, InputNoFormControlMagicDirective, MAGIC_BG_COLOR, MAGIC_DEFAULT_VALUE_ACCESSOR, MAGIC_FG_COLOR, MG_FORMATS, MagicAlertComponent, MagicCheckboxControlValueAccessor, MagicColorService, MagicConfirmationBoxComponent, MagicDefaultValueAccessor, MagicDirective, MagicFocusDirective, MagicLazyLoaderService, MagicModule, MagicOverlayContainer, MagicOverlayContainerWrapper, MagicServices, MagicShellComponent, MagicViewContainerRef, MgDateAdapter, MgDateFormatter, MgformatMagicDirective, ModalFormDefinition, NoControlMagicDirective, NonMagicControlDirective, OverlayContainerMagicProvider, OverlayWindowService, RangeValidatorMagicDirective, Records, RouteCommand, RouterCommandsMagicService, RouterContainerMagicComponent, RowMagicDirective, StylesMapManager, SubformMagicComponent, SubformMagicService, SubscriberService, TableMagicService, TaskBaseMagicComponent, TaskMagicService, Time24MagicPipe, TimeMagicPipe, TitleMagicService, basicMagicProviders, confirmationBox, magicProviders, matDateProviders, utils };
6949
7076
  //# sourceMappingURL=magic-xpa-angular.mjs.map