@magic-xpa/angular 4.1000.0-dev4100.99 → 4.1000.410-0.428
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +2 -1
- package/esm2020/src/magic.core.module.mjs +16 -13
- package/esm2020/src/services/accessor.magic.service.mjs +28 -3
- package/esm2020/src/services/magic-color.service.mjs +4 -4
- package/esm2020/src/services/subform.magic.service.mjs +1 -1
- package/esm2020/src/services/table.magic.service.mjs +5 -2
- package/esm2020/src/services/task.magics.service.mjs +25 -4
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +7 -2
- package/esm2020/src/ui/components/base-magic-alert.component.mjs +3 -7
- package/esm2020/src/ui/components/base-magic-confirm.component.mjs +3 -7
- package/esm2020/src/ui/components/magic-alert.component.mjs +3 -35
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +3 -39
- package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +6 -6
- package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +76 -7
- package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +11 -1
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +34 -5
- package/esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs +3 -3
- package/esm2020/src/ui/directives/magic.directive.mjs +11 -11
- package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +336 -3
- package/esm2020/src/ui/magic-modal/base-magic-overlay-container.mjs +1 -1
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +4 -18
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +4 -4
- package/esm2020/src/ui/magic-root.component.mjs +4 -38
- package/esm2020/src/ui/mgerror.magic.component.mjs +9 -9
- package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +34 -0
- package/esm2020/src/ui/router-container.magic.component.mjs +4 -4
- package/esm2020/src/ui/subform.magic.component.mjs +4 -4
- package/esm2020/src/ui/task-base.magic.component.mjs +8 -2
- package/fesm2015/magic-xpa-angular.mjs +605 -208
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +603 -208
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/package.json +11 -8
- package/src/magic.core.module.d.ts +8 -6
- package/src/services/accessor.magic.service.d.ts +3 -0
- package/src/services/table.magic.service.d.ts +2 -0
- package/src/services/task.magics.service.d.ts +1 -0
- package/src/ui/components/base-magic-alert.component.d.ts +1 -1
- package/src/ui/components/base-magic-confirm.component.d.ts +1 -1
- package/src/ui/components/magic-alert.component.d.ts +1 -1
- package/src/ui/components/magic-confirmation-box.component.d.ts +1 -1
- package/src/ui/directives/NonMagicControlDirective.d.ts +1 -1
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +1 -1
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +15 -2
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +2 -1
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +1 -1
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +9 -3
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +1 -1
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +1 -1
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +1 -1
- package/src/ui/directives/magic/row.magic.directive.d.ts +1 -1
- package/src/ui/directives/magic-focus.directive.d.ts +1 -1
- package/src/ui/directives/magic.directive.d.ts +2 -2
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +1 -1
- package/src/ui/directives/mgformat.magic.directive.d.ts +12 -2
- package/src/ui/directives/range-validator.magic.directive.d.ts +1 -1
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +1 -1
- package/src/ui/magic-modal/magic-overlay-container.d.ts +1 -1
- package/src/ui/magic-root.component.d.ts +1 -1
- package/src/ui/mgerror.magic.component.d.ts +1 -1
- package/src/ui/pipes/date.magic.pipe.d.ts +1 -1
- package/src/ui/pipes/time.magic.pipe.d.ts +1 -1
- package/src/ui/pipes/time24.magic.pipe.d.ts +10 -0
- package/src/ui/router-container.magic.component.d.ts +1 -1
- package/src/ui/subform.magic.component.d.ts +1 -1
- package/src/ui/task-base.magic.component.d.ts +2 -1
- package/magic-xpa-angular.d.ts +0 -2
@@ -8,8 +8,8 @@ import { RouterModule } from '@angular/router';
|
|
8
8
|
import { FormGroup, FormControl, Validators, NG_VALIDATORS, NG_VALUE_ACCESSOR, CheckboxControlValueAccessor, DefaultValueAccessor, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
9
9
|
import * as i3 from 'ng-dynamic-component';
|
10
10
|
import { DynamicModule } from 'ng-dynamic-component';
|
11
|
-
import { InteractiveCommandType, OverlayType, Styles,
|
12
|
-
import { MagicBridge, getGuiEventObj, CookieService } from '@magic-xpa/engine';
|
11
|
+
import { InteractiveCommandType, HtmlProperties, OverlayType, Styles, GuiConstants, CommandType, PIC, GuiEnvironment, Modifiers } from '@magic-xpa/gui';
|
12
|
+
import { MagicBridge, getGuiEventObj, CookieService, Environment, LastFocusedManager } from '@magic-xpa/engine';
|
13
13
|
import { MagicProperties, Logger, StrUtil, StorageAttribute, PICInterface, BindingLevel, StorageAttributeType, MgControlType } from '@magic-xpa/utils';
|
14
14
|
import { filter, map, debounceTime } from 'rxjs/operators';
|
15
15
|
import { Subject, fromEvent } from 'rxjs';
|
@@ -17,6 +17,8 @@ import { __decorate, __metadata } from 'tslib';
|
|
17
17
|
import * as i1$1 from '@angular/platform-browser';
|
18
18
|
import * as i1$2 from '@angular/common/http';
|
19
19
|
import { HttpClientModule } from '@angular/common/http';
|
20
|
+
import { maskitoTimeOptionsGenerator } from '@maskito/kit';
|
21
|
+
import { MaskitoModule } from '@maskito/angular';
|
20
22
|
import { NativeDateAdapter, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
21
23
|
import * as i1$3 from '@angular/cdk/platform';
|
22
24
|
|
@@ -596,6 +598,9 @@ SubformMagicService.ɵprov = i0.ɵɵdefineInjectable({ token: SubformMagicServic
|
|
596
598
|
}], function () { return [{ type: TaskMagicService }, { type: i2.ActivatedRoute }, { type: ComponentListMagicService }, { type: CommandsCollectorMagicService }, { type: i2.Router }, { type: RouterCommandsMagicService }, { type: ComponentListMagicService }, { type: MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.Compiler }]; }, null); })();
|
597
599
|
|
598
600
|
class RouterContainerMagicComponent {
|
601
|
+
static get LastRoute() {
|
602
|
+
return RouterContainerMagicComponent.lastRoute;
|
603
|
+
}
|
599
604
|
constructor(activatedRoute, router, magic, containerTaskService, componentFactoryResolver, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
|
600
605
|
this.activatedRoute = activatedRoute;
|
601
606
|
this.router = router;
|
@@ -609,9 +614,6 @@ class RouterContainerMagicComponent {
|
|
609
614
|
this.componentRef = null;
|
610
615
|
this.parentMgSubformService = null;
|
611
616
|
}
|
612
|
-
static get LastRoute() {
|
613
|
-
return RouterContainerMagicComponent.lastRoute;
|
614
|
-
}
|
615
617
|
ngOnInit() {
|
616
618
|
let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
|
617
619
|
let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
|
@@ -738,6 +740,11 @@ class GuiInteractiveExecutor {
|
|
738
740
|
}
|
739
741
|
else if (this.task.isTableControl(this.command.controlName))
|
740
742
|
val = this.task.getValue(this.command.controlName, guiRowId.toString());
|
743
|
+
if (this.command._boolVal) {
|
744
|
+
const indeterminate = this.task.getProperty(this.command.controlName, HtmlProperties.CheckBoxIndeterminate, guiRowId.toString());
|
745
|
+
if (indeterminate)
|
746
|
+
val = null;
|
747
|
+
}
|
741
748
|
val = this.task.ConvertValToNative(this.command.controlName, guiRowId, val);
|
742
749
|
this.command._mgValue.obj = val;
|
743
750
|
}
|
@@ -820,7 +827,7 @@ const _c1$1 = ["modalForeground"];
|
|
820
827
|
function MagicOverlayContainer_button_2_Template(rf, ctx) { if (rf & 1) {
|
821
828
|
const _r5 = i0.ɵɵgetCurrentView();
|
822
829
|
i0.ɵɵelementStart(0, "button", 8);
|
823
|
-
i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.OnClose(); });
|
830
|
+
i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.OnClose()); });
|
824
831
|
i0.ɵɵtext(1, "X");
|
825
832
|
i0.ɵɵelementEnd();
|
826
833
|
} }
|
@@ -829,7 +836,7 @@ function MagicOverlayContainer_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
829
836
|
i0.ɵɵelementStart(0, "div", 9, 10);
|
830
837
|
i0.ɵɵtext(2);
|
831
838
|
i0.ɵɵelementStart(3, "button", 11);
|
832
|
-
i0.ɵɵlistener("click", function MagicOverlayContainer_div_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return ctx_r7.OnClose(); });
|
839
|
+
i0.ɵɵlistener("click", function MagicOverlayContainer_div_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.OnClose()); });
|
833
840
|
i0.ɵɵtext(4, "X");
|
834
841
|
i0.ɵɵelementEnd()();
|
835
842
|
} if (rf & 2) {
|
@@ -934,7 +941,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
|
|
934
941
|
i0.ɵɵproperty("ngIf", ctx.getShowTitleBar());
|
935
942
|
i0.ɵɵadvance(1);
|
936
943
|
i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
|
937
|
-
} },
|
944
|
+
} }, dependencies: [i1.NgIf, i1.NgStyle, 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}"] });
|
938
945
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
|
939
946
|
type: Component,
|
940
947
|
args: [{ selector: 'app-magic-overlay-container', template: `
|
@@ -988,14 +995,10 @@ class BaseMagicConfirmComponent {
|
|
988
995
|
}
|
989
996
|
}
|
990
997
|
BaseMagicConfirmComponent.ɵfac = function BaseMagicConfirmComponent_Factory(t) { return new (t || BaseMagicConfirmComponent)(); };
|
991
|
-
BaseMagicConfirmComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseMagicConfirmComponent, selectors: [["mg-base-alert"]], inputs: { title: "title", message: "message" }, outputs: { onClose: "onClose" }, decls: 0, vars: 0, template: function BaseMagicConfirmComponent_Template(rf, ctx) { }
|
998
|
+
BaseMagicConfirmComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseMagicConfirmComponent, selectors: [["mg-base-alert"]], inputs: { title: "title", message: "message" }, outputs: { onClose: "onClose" }, decls: 0, vars: 0, template: function BaseMagicConfirmComponent_Template(rf, ctx) { } });
|
992
999
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseMagicConfirmComponent, [{
|
993
1000
|
type: Component,
|
994
|
-
args: [{
|
995
|
-
selector: 'mg-base-alert',
|
996
|
-
template: '',
|
997
|
-
styles: ['']
|
998
|
-
}]
|
1001
|
+
args: [{ selector: 'mg-base-alert', template: '' }]
|
999
1002
|
}], null, { title: [{
|
1000
1003
|
type: Input
|
1001
1004
|
}], message: [{
|
@@ -1013,14 +1016,10 @@ class BaseMagicAlertComponent {
|
|
1013
1016
|
}
|
1014
1017
|
}
|
1015
1018
|
BaseMagicAlertComponent.ɵfac = function BaseMagicAlertComponent_Factory(t) { return new (t || BaseMagicAlertComponent)(); };
|
1016
|
-
BaseMagicAlertComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseMagicAlertComponent, selectors: [["mg-base-alert"]], inputs: { title: "title", message: "message" }, outputs: { onClose: "onClose" }, decls: 0, vars: 0, template: function BaseMagicAlertComponent_Template(rf, ctx) { }
|
1019
|
+
BaseMagicAlertComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseMagicAlertComponent, selectors: [["mg-base-alert"]], inputs: { title: "title", message: "message" }, outputs: { onClose: "onClose" }, decls: 0, vars: 0, template: function BaseMagicAlertComponent_Template(rf, ctx) { } });
|
1017
1020
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseMagicAlertComponent, [{
|
1018
1021
|
type: Component,
|
1019
|
-
args: [{
|
1020
|
-
selector: 'mg-base-alert',
|
1021
|
-
template: '',
|
1022
|
-
styles: ['']
|
1023
|
-
}]
|
1022
|
+
args: [{ selector: 'mg-base-alert', template: '' }]
|
1024
1023
|
}], null, { title: [{
|
1025
1024
|
type: Input
|
1026
1025
|
}], message: [{
|
@@ -1128,12 +1127,10 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
|
|
1128
1127
|
i0.ɵɵelementEnd();
|
1129
1128
|
i0.ɵɵelement(6, "div", 5);
|
1130
1129
|
i0.ɵɵelementEnd();
|
1131
|
-
} },
|
1130
|
+
} }, dependencies: [MagicFocusDirective, MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
|
1132
1131
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainerWrapper, [{
|
1133
1132
|
type: Component,
|
1134
|
-
args: [{
|
1135
|
-
selector: 'app-magic-overlay-container-wrapper',
|
1136
|
-
template: `
|
1133
|
+
args: [{ selector: 'app-magic-overlay-container-wrapper', template: `
|
1137
1134
|
<div>
|
1138
1135
|
<div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" magicFocus></div>
|
1139
1136
|
<div class="overlay-container-wrapper-background" #overlayContainerWrapper>
|
@@ -1142,19 +1139,7 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
|
|
1142
1139
|
</div>
|
1143
1140
|
<div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" ></div>
|
1144
1141
|
</div>
|
1145
|
-
`,
|
1146
|
-
styles: [`
|
1147
|
-
.overlay-container-wrapper-background {
|
1148
|
-
/* modal background fixed across whole screen */
|
1149
|
-
position: fixed;
|
1150
|
-
top: 0;
|
1151
|
-
z-index: 999;
|
1152
|
-
right: 0;
|
1153
|
-
bottom: 0;
|
1154
|
-
left: 0;
|
1155
|
-
}
|
1156
|
-
`]
|
1157
|
-
}]
|
1142
|
+
`, styles: [".overlay-container-wrapper-background{position:fixed;z-index:999;inset:0}\n"] }]
|
1158
1143
|
}], function () { return [{ type: ComponentListMagicService }, { type: MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.ChangeDetectorRef }, { type: i0.Compiler }]; }, { Component: [{
|
1159
1144
|
type: Input
|
1160
1145
|
}], Parameters: [{
|
@@ -1190,46 +1175,14 @@ MagicAlertComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicAlertComponent,
|
|
1190
1175
|
} }, 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;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}"] });
|
1191
1176
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicAlertComponent, [{
|
1192
1177
|
type: Component,
|
1193
|
-
args: [{
|
1194
|
-
selector: 'sample-magic-alert-component',
|
1195
|
-
template: `<div>
|
1178
|
+
args: [{ selector: 'sample-magic-alert-component', template: `<div>
|
1196
1179
|
<div class="mg-message-background">
|
1197
1180
|
<h2> {{title}}</h2>
|
1198
1181
|
<p>{{message}} </p>
|
1199
1182
|
|
1200
1183
|
<button (click)="OnClose()">OK</button>
|
1201
1184
|
</div>
|
1202
|
-
</div>`,
|
1203
|
-
styles: [`
|
1204
|
-
.mg-message-background {
|
1205
|
-
background-color: #F5F5F5;
|
1206
|
-
text-align: center;
|
1207
|
-
width: 40%;
|
1208
|
-
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
1209
|
-
padding: 17px;
|
1210
|
-
border-radius: 5px;
|
1211
|
-
text-align: center;
|
1212
|
-
margin-top: 10% ;
|
1213
|
-
margin-left: auto;
|
1214
|
-
margin-right: auto;
|
1215
|
-
border: 1px solid gray;
|
1216
|
-
}
|
1217
|
-
|
1218
|
-
button {
|
1219
|
-
background-color: #8CD4F5;
|
1220
|
-
color: white;
|
1221
|
-
border: none;
|
1222
|
-
box-shadow: none;
|
1223
|
-
font-size: 17px;
|
1224
|
-
font-weight: 500;
|
1225
|
-
-webkit-border-radius: 4px;
|
1226
|
-
border-radius: 5px;
|
1227
|
-
padding: 10px 32px;
|
1228
|
-
margin: 26px 5px 0 5px;
|
1229
|
-
cursor: pointer;
|
1230
|
-
}
|
1231
|
-
`]
|
1232
|
-
}]
|
1185
|
+
</div>`, styles: [".mg-message-background{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{background-color:#8cd4f5;color:#fff;border:none;box-shadow:none;font-size:17px;font-weight:500;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}\n"] }]
|
1233
1186
|
}], null, null); })();
|
1234
1187
|
|
1235
1188
|
class MagicConfirmationBoxComponent extends BaseMagicConfirmComponent {
|
@@ -1257,9 +1210,7 @@ MagicConfirmationBoxComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicConfir
|
|
1257
1210
|
} }, 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;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}button.cancel[_ngcontent-%COMP%]{background-color:#c1c1c1}"] });
|
1258
1211
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicConfirmationBoxComponent, [{
|
1259
1212
|
type: Component,
|
1260
|
-
args: [{
|
1261
|
-
selector: 'sample-magic-confirmation-box',
|
1262
|
-
template: `<div>
|
1213
|
+
args: [{ selector: 'sample-magic-confirmation-box', template: `<div>
|
1263
1214
|
<div class="mg-message-background">
|
1264
1215
|
<h2> {{title}}</h2>
|
1265
1216
|
{{message}}
|
@@ -1269,41 +1220,7 @@ MagicConfirmationBoxComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicConfir
|
|
1269
1220
|
<button (click)="OnClose(true)">OK</button>
|
1270
1221
|
<button class="cancel" (click)="OnClose(false)">Cancel</button>
|
1271
1222
|
</div>
|
1272
|
-
</div>`,
|
1273
|
-
styles: [`
|
1274
|
-
.mg-message-background {
|
1275
|
-
background-color: #F5F5F5;
|
1276
|
-
text-align: center;
|
1277
|
-
width: 40%;
|
1278
|
-
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
1279
|
-
padding: 17px;
|
1280
|
-
border-radius: 5px;
|
1281
|
-
text-align: center;
|
1282
|
-
margin-top: 10% ;
|
1283
|
-
margin-left: auto;
|
1284
|
-
margin-right: auto;
|
1285
|
-
border: 1px solid gray;
|
1286
|
-
}
|
1287
|
-
|
1288
|
-
button {
|
1289
|
-
background-color: #8CD4F5;
|
1290
|
-
color: white;
|
1291
|
-
border: none;
|
1292
|
-
box-shadow: none;
|
1293
|
-
font-size: 17px;
|
1294
|
-
font-weight: 500;
|
1295
|
-
-webkit-border-radius: 4px;
|
1296
|
-
border-radius: 5px;
|
1297
|
-
padding: 10px 32px;
|
1298
|
-
margin: 26px 5px 0 5px;
|
1299
|
-
cursor: pointer;
|
1300
|
-
}
|
1301
|
-
|
1302
|
-
button.cancel {
|
1303
|
-
background-color: #C1C1C1;
|
1304
|
-
}
|
1305
|
-
`]
|
1306
|
-
}]
|
1223
|
+
</div>`, styles: [".mg-message-background{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{background-color:#8cd4f5;color:#fff;border:none;box-shadow:none;font-size:17px;font-weight:500;border-radius:5px;padding:10px 32px;margin:26px 5px 0;cursor:pointer}button.cancel{background-color:#c1c1c1}\n"] }]
|
1307
1224
|
}], null, null); })();
|
1308
1225
|
|
1309
1226
|
class ConfirmationComponentsMagicProvider {
|
@@ -1569,6 +1486,7 @@ class TaskMagicService {
|
|
1569
1486
|
this.OnSelectedRowChanged = new EventEmitter();
|
1570
1487
|
this.customPropertiesSubject = new Subject();
|
1571
1488
|
this.recordsCountChangeSubject = new Subject();
|
1489
|
+
this.mgLoadSubject = new Subject();
|
1572
1490
|
this.oldPageSize = 0;
|
1573
1491
|
this.Records.setGuiTopIndex(0);
|
1574
1492
|
this.mgInputDateFormat = null;
|
@@ -1821,6 +1739,11 @@ class TaskMagicService {
|
|
1821
1739
|
}
|
1822
1740
|
}
|
1823
1741
|
break;
|
1742
|
+
case CommandType.SET_CHUNK_SIZE:
|
1743
|
+
if (!isUndefined(command.number)) {
|
1744
|
+
this.tableService.setChunkSize(command.number);
|
1745
|
+
}
|
1746
|
+
break;
|
1824
1747
|
case CommandType.SET_RECORDS_BEFORE_CURRENT_VIEW:
|
1825
1748
|
this.updateRecordsBeforeCurrentView(command.number);
|
1826
1749
|
break;
|
@@ -1848,7 +1771,9 @@ class TaskMagicService {
|
|
1848
1771
|
break;
|
1849
1772
|
case CommandType.SET_PROPERTY:
|
1850
1773
|
this.handleSetProperty(command, isTableChild);
|
1851
|
-
if (command.Operation == HtmlProperties.ReadOnly
|
1774
|
+
if (command.Operation == HtmlProperties.ReadOnly ||
|
1775
|
+
command.Operation == HtmlProperties.ItemsList ||
|
1776
|
+
command.Operation == HtmlProperties.CheckBoxIndeterminate)
|
1852
1777
|
this.refreshDom.next(command);
|
1853
1778
|
break;
|
1854
1779
|
case CommandType.PROP_SET_USER_PROPERTY:
|
@@ -1903,6 +1828,9 @@ class TaskMagicService {
|
|
1903
1828
|
case CommandType.SET_FOCUS:
|
1904
1829
|
this.refreshDom.next(command);
|
1905
1830
|
break;
|
1831
|
+
case CommandType.SET_WC_IDLE:
|
1832
|
+
this.mgLoadSubject.next();
|
1833
|
+
break;
|
1906
1834
|
}
|
1907
1835
|
}
|
1908
1836
|
customValidator(rowid, id) {
|
@@ -2085,6 +2013,16 @@ class TaskMagicService {
|
|
2085
2013
|
if (typeof (event) == 'boolean') {
|
2086
2014
|
guiEvent.Value = event;
|
2087
2015
|
}
|
2016
|
+
else if (typeof (event) == 'string') {
|
2017
|
+
if (event == "unchecked") {
|
2018
|
+
guiEvent.Value = false;
|
2019
|
+
}
|
2020
|
+
else if (event == 'indeterminate')
|
2021
|
+
guiEvent.Value = null;
|
2022
|
+
else if (event == 'checked') {
|
2023
|
+
guiEvent.Value = true;
|
2024
|
+
}
|
2025
|
+
}
|
2088
2026
|
else {
|
2089
2027
|
if (typeof event.target === 'undefined')
|
2090
2028
|
guiEvent.Value = (event).checked;
|
@@ -2101,10 +2039,10 @@ class TaskMagicService {
|
|
2101
2039
|
mgOnRadioSelectionChanged(idx) {
|
2102
2040
|
let result = this.getFormControl('0', idx);
|
2103
2041
|
let guiEvent = getGuiEventObj('selectionchanged', idx, 0);
|
2104
|
-
if (typeof result.value !== '
|
2042
|
+
if (typeof result.value !== 'number')
|
2105
2043
|
guiEvent.Value = result.value.index;
|
2106
2044
|
else
|
2107
|
-
guiEvent.Value = result.value;
|
2045
|
+
guiEvent.Value = result.value.toString();
|
2108
2046
|
this.insertEvent(guiEvent);
|
2109
2047
|
}
|
2110
2048
|
close() {
|
@@ -2163,7 +2101,10 @@ class TableMagicService {
|
|
2163
2101
|
refreshDataSource() {
|
2164
2102
|
}
|
2165
2103
|
getPageSize() {
|
2166
|
-
return
|
2104
|
+
return this.chunkSize;
|
2105
|
+
}
|
2106
|
+
setChunkSize(size) {
|
2107
|
+
this.chunkSize = size;
|
2167
2108
|
}
|
2168
2109
|
getMaxRowsInTable() {
|
2169
2110
|
return this.task.Records.list.length;
|
@@ -2247,6 +2188,9 @@ const SYSTEM_BG = 4;
|
|
2247
2188
|
const SYSTEM_FG_AND_SYSTEM_BG = 6;
|
2248
2189
|
const TRANSPERENT_BG = 1;
|
2249
2190
|
class MagicColorService {
|
2191
|
+
getColorFilePath() {
|
2192
|
+
return 'assets/' + this.colorFileName;
|
2193
|
+
}
|
2250
2194
|
constructor(http, colorFile1 = 'clr_rnt.eng') {
|
2251
2195
|
this.http = http;
|
2252
2196
|
this.colorFileName = 'clr_rnt.eng';
|
@@ -2256,9 +2200,6 @@ class MagicColorService {
|
|
2256
2200
|
else
|
2257
2201
|
this.colorFileName = 'clr_rnt.eng';
|
2258
2202
|
}
|
2259
|
-
getColorFilePath() {
|
2260
|
-
return 'assets/' + this.colorFileName;
|
2261
|
-
}
|
2262
2203
|
getColorData() {
|
2263
2204
|
if (!this.colorsData) {
|
2264
2205
|
this.http.get(this.getColorFilePath(), { responseType: 'text' }).subscribe(resp => {
|
@@ -2336,6 +2277,8 @@ class AccessorMagicService {
|
|
2336
2277
|
this.task = task;
|
2337
2278
|
this.magicColor = magicColor;
|
2338
2279
|
this.Logger = null;
|
2280
|
+
this.hhmm = maskitoTimeOptionsGenerator({ mode: 'HH:MM' });
|
2281
|
+
this.hhmmss = maskitoTimeOptionsGenerator({ mode: 'HH:MM:SS' });
|
2339
2282
|
this.Logger = Logger.Instance;
|
2340
2283
|
}
|
2341
2284
|
checkIsReadOnly(controlId) {
|
@@ -2571,8 +2514,30 @@ class AccessorMagicService {
|
|
2571
2514
|
let c = this.task.getFormControl(rowId, id);
|
2572
2515
|
if (c.hasError('required'))
|
2573
2516
|
return 'Control must be updated.';
|
2574
|
-
if (c.hasError('pattern'))
|
2575
|
-
|
2517
|
+
if (c.hasError('pattern')) {
|
2518
|
+
if (c.errors.pattern.actualValue < 0 && !c.errors.pattern.requiredPattern.includes('-'))
|
2519
|
+
return 'Value must be non-negative';
|
2520
|
+
if (c.errors.pattern.requiredPattern.includes('.')) {
|
2521
|
+
const numericFormat = Math.abs(c.errors.pattern.actualValue).toString().split('.')[0];
|
2522
|
+
const decimalFormat = Math.abs(c.errors.pattern.actualValue).toString().split('.')[1];
|
2523
|
+
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
2524
|
+
const actualDecimalLimit = c.errors.pattern.requiredPattern.match(/(?:[^,]+,){2}(\d+)/)[1];
|
2525
|
+
if (numericFormat.length > actualNumericLimit || decimalFormat.length > actualDecimalLimit) {
|
2526
|
+
return "Numeric format is limited to " + actualNumericLimit + "." + actualDecimalLimit + " digits";
|
2527
|
+
}
|
2528
|
+
}
|
2529
|
+
else if (!c.errors.pattern.requiredPattern.includes('.') && !Number.isInteger(c.errors.pattern.actualValue)) {
|
2530
|
+
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
2531
|
+
return "Numeric format is limited to " + actualNumericLimit + "." + 0 + " digits";
|
2532
|
+
}
|
2533
|
+
else {
|
2534
|
+
const numericFormat = Math.abs(c.errors.pattern.actualValue).toString();
|
2535
|
+
const actualNumericLimit = c.errors.pattern.requiredPattern.match(/,(\d+)/)[1];
|
2536
|
+
if (numericFormat.length > actualNumericLimit) {
|
2537
|
+
return "Numeric format is limited to " + actualNumericLimit + "." + 0 + " digits";
|
2538
|
+
}
|
2539
|
+
}
|
2540
|
+
}
|
2576
2541
|
if (c.hasError('rangevalidator'))
|
2577
2542
|
return c.errors.rangevalidator.errorMsg;
|
2578
2543
|
if (c.hasError('maxlength'))
|
@@ -2708,6 +2673,9 @@ class TaskBaseMagicComponent {
|
|
2708
2673
|
this.task.recordsCountChangeSubject.pipe().subscribe(value => {
|
2709
2674
|
this.RecordsCountChanged(value);
|
2710
2675
|
});
|
2676
|
+
this.task.mgLoadSubject.pipe().subscribe(value => {
|
2677
|
+
this.mgOnLoad();
|
2678
|
+
});
|
2711
2679
|
}
|
2712
2680
|
createFormControlsAccessor(formGroup) { }
|
2713
2681
|
setInputDateFormat() { }
|
@@ -2715,11 +2683,13 @@ class TaskBaseMagicComponent {
|
|
2715
2683
|
}
|
2716
2684
|
RecordsCountChanged(recordsCount) {
|
2717
2685
|
}
|
2686
|
+
mgOnLoad() {
|
2687
|
+
}
|
2718
2688
|
ngAfterViewInit() {
|
2719
2689
|
this.mgSub.init();
|
2720
2690
|
}
|
2721
2691
|
ngAfterContentChecked() {
|
2722
|
-
if (this.task.oldPageSize != this.tableService.getPageSize()) {
|
2692
|
+
if (!isNullOrUndefined(this.tableService.getPageSize()) && this.task.oldPageSize != this.tableService.getPageSize()) {
|
2723
2693
|
this.task.resize(this.tableService.getPageSize(), 0);
|
2724
2694
|
this.task.oldPageSize = this.tableService.getPageSize();
|
2725
2695
|
}
|
@@ -2795,6 +2765,16 @@ RowMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: RowMagicDirective, sele
|
|
2795
2765
|
}] }); })();
|
2796
2766
|
|
2797
2767
|
class MagicDirective {
|
2768
|
+
set magic(val) {
|
2769
|
+
this.id = val;
|
2770
|
+
this.selector = "magic";
|
2771
|
+
}
|
2772
|
+
;
|
2773
|
+
set eventsOnly(val) {
|
2774
|
+
console.log("eventsOnly");
|
2775
|
+
this.eventsOnlyVal = true;
|
2776
|
+
}
|
2777
|
+
;
|
2798
2778
|
constructor(_task, element, renderer, vcRef, magicRow) {
|
2799
2779
|
this._task = _task;
|
2800
2780
|
this.element = element;
|
@@ -2807,16 +2787,6 @@ class MagicDirective {
|
|
2807
2787
|
if (!(typeof magicRow === "undefined" || magicRow === null))
|
2808
2788
|
this.rowId = magicRow.rowId;
|
2809
2789
|
}
|
2810
|
-
set magic(val) {
|
2811
|
-
this.id = val;
|
2812
|
-
this.selector = "magic";
|
2813
|
-
}
|
2814
|
-
;
|
2815
|
-
set eventsOnly(val) {
|
2816
|
-
console.log("eventsOnly");
|
2817
|
-
this.eventsOnlyVal = true;
|
2818
|
-
}
|
2819
|
-
;
|
2820
2790
|
get task() {
|
2821
2791
|
return this._task;
|
2822
2792
|
}
|
@@ -2992,11 +2962,11 @@ MagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MagicDirective, selectors:
|
|
2992
2962
|
}] }); })();
|
2993
2963
|
|
2994
2964
|
class NoControlMagicDirective extends MagicDirective {
|
2965
|
+
set magic(val) { this.id = val; this.selector = 'magicnc'; }
|
2966
|
+
;
|
2995
2967
|
constructor(_task, element, renderer, vcRef, magicRow) {
|
2996
2968
|
super(_task, element, renderer, vcRef, magicRow);
|
2997
2969
|
}
|
2998
|
-
set magic(val) { this.id = val; this.selector = 'magicnc'; }
|
2999
|
-
;
|
3000
2970
|
regEvents() {
|
3001
2971
|
super.regEvents();
|
3002
2972
|
if (this.htmlElement instanceof HTMLSelectElement) {
|
@@ -3273,6 +3243,7 @@ class MgformatMagicDirective {
|
|
3273
3243
|
constructor(magicDir, _task) {
|
3274
3244
|
this.magicDir = magicDir;
|
3275
3245
|
this._task = _task;
|
3246
|
+
this.datePasteFlag = false;
|
3276
3247
|
}
|
3277
3248
|
ngAfterViewInit() {
|
3278
3249
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
@@ -3286,9 +3257,170 @@ class MgformatMagicDirective {
|
|
3286
3257
|
onFocusEvent($event) {
|
3287
3258
|
this.calculatePattern();
|
3288
3259
|
}
|
3289
|
-
|
3260
|
+
onPaste(event) {
|
3261
|
+
this.datePasteFlag = true;
|
3262
|
+
}
|
3263
|
+
onInputEvent(event) {
|
3264
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3265
|
+
if (attr == StorageAttribute.DATE) {
|
3266
|
+
if (!this.datePasteFlag)
|
3267
|
+
this.dateMasking(event);
|
3268
|
+
this.datePasteFlag = false;
|
3269
|
+
}
|
3290
3270
|
this.calculatePattern();
|
3291
3271
|
}
|
3272
|
+
dateMasking(event) {
|
3273
|
+
const input = event.target;
|
3274
|
+
let cursorPos = event.target.selectionStart;
|
3275
|
+
const separator = this._task.mgInputDateFormat.includes('/') ? '/' : '-';
|
3276
|
+
if (cursorPos >= input.value.length) {
|
3277
|
+
const value = input.value.replace(/[^a-zA-Z0-9/-]/g, '');
|
3278
|
+
if (this._task.mgInputDateFormat == "dd/MM/yyyy" || this._task.mgInputDateFormat == "MM/dd/yyyy" || this._task.mgInputDateFormat == "dd-MM-yyyy" || this._task.mgInputDateFormat == "MM-dd-yyyy") {
|
3279
|
+
if (value.length == 1 && value[0] == separator)
|
3280
|
+
input.value = '01' + separator;
|
3281
|
+
else if (value.length == 2 && value[1] == separator)
|
3282
|
+
input.value = 0 + value;
|
3283
|
+
else if (value.length == 3 && value[2] != separator)
|
3284
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3285
|
+
else if (value.length == 4 && value[3] == separator)
|
3286
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3287
|
+
else if (value.length == 5 && value[4] == separator)
|
3288
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3289
|
+
else if (value.length == 6 && value[5] != separator)
|
3290
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3291
|
+
else if (value.length >= 10)
|
3292
|
+
input.value = value.slice(0, 10);
|
3293
|
+
}
|
3294
|
+
else if (this._task.mgInputDateFormat == "yyyy/MM/dd" || this._task.mgInputDateFormat == "yyyy/dd/MM" || this._task.mgInputDateFormat == "yyyy-MM-dd" || this._task.mgInputDateFormat == "yyyy-dd-MM") {
|
3295
|
+
if (value.length == 1 && value[0] == separator)
|
3296
|
+
input.value = '0000' + separator;
|
3297
|
+
else if (value.length == 2 && value[1] == separator)
|
3298
|
+
input.value = '000' + value.slice(0);
|
3299
|
+
else if (value.length == 3 && value[2] == separator)
|
3300
|
+
input.value = '00' + value.slice(0);
|
3301
|
+
else if (value.length == 4 && value[3] == separator)
|
3302
|
+
input.value = '0' + value.slice(0);
|
3303
|
+
else if (value.length == 5 && value[4] != separator)
|
3304
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3305
|
+
else if (value.length == 6 && value[5] == separator)
|
3306
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3307
|
+
else if (value.length == 7 && value[6] == separator)
|
3308
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3309
|
+
else if (value.length == 8 && value[7] != separator)
|
3310
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3311
|
+
else if (value.length >= 10)
|
3312
|
+
input.value = value.slice(0, 10);
|
3313
|
+
}
|
3314
|
+
else if (this._task.mgInputDateFormat == "dd/MM/yy" || this._task.mgInputDateFormat == "yy/MM/dd" || this._task.mgInputDateFormat == "MM/dd/yy" || this._task.mgInputDateFormat == "yy/dd/MM" || this._task.mgInputDateFormat == "dd-MM-yy" || this._task.mgInputDateFormat == "yy-MM-dd" || this._task.mgInputDateFormat == "MM-dd-yy" || this._task.mgInputDateFormat == "yy-dd-MM") {
|
3315
|
+
if (value.length == 1 && value[0] == separator)
|
3316
|
+
input.value = '01' + separator;
|
3317
|
+
else if (value.length == 2 && value[1] == separator)
|
3318
|
+
input.value = 0 + value;
|
3319
|
+
else if (value.length == 3 && value[2] != separator)
|
3320
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3321
|
+
else if (value.length == 4 && value[3] == separator)
|
3322
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3323
|
+
else if (value.length == 5 && value[4] == separator)
|
3324
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3325
|
+
else if (value.length == 6 && value[5] != separator)
|
3326
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3327
|
+
else if (value.length >= 8)
|
3328
|
+
input.value = value.slice(0, 8);
|
3329
|
+
}
|
3330
|
+
else if (this._task.mgInputDateFormat == "dd/MMM/yy" || this._task.mgInputDateFormat == "dd-MMM-yy") {
|
3331
|
+
if (value.length == 1 && value[0] == separator)
|
3332
|
+
input.value = '01' + separator;
|
3333
|
+
else if (value.length == 2 && value[1] == separator)
|
3334
|
+
input.value = 0 + value;
|
3335
|
+
else if (value.length == 3 && value[2] != separator)
|
3336
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3337
|
+
else if (value.length == 7 && value[6] != separator)
|
3338
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3339
|
+
else if (value.length >= 9)
|
3340
|
+
input.value = value.slice(0, 9);
|
3341
|
+
}
|
3342
|
+
else if (this._task.mgInputDateFormat == "dd/MMM/yyyy" || this._task.mgInputDateFormat == "dd-MMM-yyyy") {
|
3343
|
+
if (value.length == 1 && value[0] == separator)
|
3344
|
+
input.value = '01' + separator;
|
3345
|
+
else if (value.length == 2 && value[1] == separator)
|
3346
|
+
input.value = 0 + value;
|
3347
|
+
else if (value.length == 3 && value[2] != separator)
|
3348
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3349
|
+
else if (value.length == 7 && value[6] != separator)
|
3350
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3351
|
+
else if (value.length >= 11)
|
3352
|
+
input.value = value.slice(0, 11);
|
3353
|
+
}
|
3354
|
+
else if (this._task.mgInputDateFormat == "yy/dd/MMM" || this._task.mgInputDateFormat == "yy-dd-MMM") {
|
3355
|
+
if (value.length == 1 && value[0] == separator)
|
3356
|
+
input.value = '00' + separator;
|
3357
|
+
else if (value.length == 2 && value[1] == separator)
|
3358
|
+
input.value = 0 + value;
|
3359
|
+
else if (value.length == 3 && value[2] != separator)
|
3360
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3361
|
+
else if (value.length == 4 && value[3] == separator)
|
3362
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3363
|
+
else if (value.length == 5 && value[4] == separator)
|
3364
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3365
|
+
else if (value.length == 6 && value[5] != separator)
|
3366
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3367
|
+
else if (value.length >= 9)
|
3368
|
+
input.value = value.slice(0, 9);
|
3369
|
+
}
|
3370
|
+
else if (this._task.mgInputDateFormat == "yyyy/dd/MMM" || this._task.mgInputDateFormat == "yyyy-dd-MMM") {
|
3371
|
+
if (value.length == 1 && value[0] == separator)
|
3372
|
+
input.value = '0000' + separator;
|
3373
|
+
else if (value.length == 2 && value[1] == separator)
|
3374
|
+
input.value = '000' + value.slice(0);
|
3375
|
+
else if (value.length == 3 && value[2] == separator)
|
3376
|
+
input.value = '00' + value.slice(0);
|
3377
|
+
else if (value.length == 4 && value[3] == separator)
|
3378
|
+
input.value = '0' + value.slice(0);
|
3379
|
+
else if (value.length == 5 && value[4] != separator)
|
3380
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3381
|
+
else if (value.length == 6 && value[5] == separator)
|
3382
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3383
|
+
else if (value.length == 7 && value[6] == separator)
|
3384
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3385
|
+
else if (value.length == 8 && value[7] != separator)
|
3386
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3387
|
+
else if (value.length >= 11)
|
3388
|
+
input.value = value.slice(0, 11);
|
3389
|
+
}
|
3390
|
+
else if (this._task.mgInputDateFormat == "MMM/dd/yy" || this._task.mgInputDateFormat == "MMM-dd-yy") {
|
3391
|
+
if (value.length == 4 && value[3] != separator)
|
3392
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3393
|
+
else if (value.length == 5 && value[4] == separator)
|
3394
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3395
|
+
else if (value.length == 6 && value[5] == separator)
|
3396
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3397
|
+
else if (value.length == 7 && value[6] != separator)
|
3398
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3399
|
+
else if (value.length >= 9)
|
3400
|
+
input.value = value.slice(0, 9);
|
3401
|
+
}
|
3402
|
+
else if (this._task.mgInputDateFormat == "MMM/dd/yyyy" || this._task.mgInputDateFormat == "MMM-dd-yyyy") {
|
3403
|
+
if (value.length == 4 && value[3] != separator)
|
3404
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3405
|
+
else if (value.length == 5 && value[4] == separator)
|
3406
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3407
|
+
else if (value.length == 6 && value[5] == separator)
|
3408
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3409
|
+
else if (value.length == 7 && value[6] != separator)
|
3410
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3411
|
+
else if (value.length >= 11)
|
3412
|
+
input.value = value.slice(0, 11);
|
3413
|
+
}
|
3414
|
+
}
|
3415
|
+
if (cursorPos < input.value.length && input.value.length > this._task.mgInputDateFormat.length) {
|
3416
|
+
let inputDate = input.value;
|
3417
|
+
let start = input.selectionStart - 1;
|
3418
|
+
let end = input.selectionEnd - 1;
|
3419
|
+
let indexToRemove = input.selectionStart - 1;
|
3420
|
+
input.value = inputDate.slice(0, indexToRemove) + inputDate.slice(indexToRemove + 1);
|
3421
|
+
input.setSelectionRange(start, end);
|
3422
|
+
}
|
3423
|
+
}
|
3292
3424
|
onChangeEvent($event) {
|
3293
3425
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3294
3426
|
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
@@ -3302,6 +3434,170 @@ class MgformatMagicDirective {
|
|
3302
3434
|
break;
|
3303
3435
|
}
|
3304
3436
|
}
|
3437
|
+
onBlurEvent(event) {
|
3438
|
+
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3439
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3440
|
+
const century = Environment.Instance.GetCentury(LastFocusedManager.Instance.getCurrTask().getCompIdx());
|
3441
|
+
if (attr == StorageAttribute.DATE)
|
3442
|
+
this.formatDateWithCentury(event.target.value, century, control);
|
3443
|
+
}
|
3444
|
+
formatDateWithCentury(userInput, century, control) {
|
3445
|
+
const dateFormat = this._task.mgInputDateFormat;
|
3446
|
+
const separator = userInput.includes('/') ? '/' : "-";
|
3447
|
+
let centuryVal = parseInt(century.toString().slice(0, 2));
|
3448
|
+
if (userInput.length == 0)
|
3449
|
+
return;
|
3450
|
+
if ((dateFormat == 'dd/MMM/yyyy' || dateFormat == 'dd-MMM-yyyy')) {
|
3451
|
+
const dateArray = userInput.split(separator);
|
3452
|
+
const [day, month, year] = this.getDateSegments1(dateArray);
|
3453
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3454
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3455
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3456
|
+
}
|
3457
|
+
}
|
3458
|
+
else if ((dateFormat == 'dd/MM/yyyy' || dateFormat == 'dd-MM-yyyy' || dateFormat == 'd/M/yyyy' || dateFormat == 'd-M-yyyy')) {
|
3459
|
+
const dateArray = userInput.split(separator);
|
3460
|
+
const [day, month, year] = this.getDateSegments1(dateArray);
|
3461
|
+
if ((day < 32 && month < 13)) {
|
3462
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3463
|
+
}
|
3464
|
+
}
|
3465
|
+
else if ((dateFormat == 'MM/dd/yyyy' || dateFormat == 'MM-dd-yyyy' || dateFormat == 'M/d/yyyy' || dateFormat == 'M-d-yyyy')) {
|
3466
|
+
const dateArray = userInput.split(separator);
|
3467
|
+
const [day, month, year] = this.getDateSegments2(dateArray);
|
3468
|
+
if ((day < 32 && month < 13)) {
|
3469
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3470
|
+
}
|
3471
|
+
}
|
3472
|
+
else if ((dateFormat == 'MMM/dd/yyyy' || dateFormat == 'MMM-dd-yyyy')) {
|
3473
|
+
const dateArray = userInput.split(separator);
|
3474
|
+
const [day, month, year] = this.getDateSegments2(dateArray);
|
3475
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3476
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3477
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3478
|
+
}
|
3479
|
+
}
|
3480
|
+
else if ((dateFormat == 'yyyy/MM/dd' || dateFormat == 'yyyy-MM-dd')) {
|
3481
|
+
const dateArray = userInput.split(separator);
|
3482
|
+
const [day, month, year] = this.getDateSegments3(dateArray);
|
3483
|
+
if ((day < 32 && month < 13)) {
|
3484
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3485
|
+
}
|
3486
|
+
}
|
3487
|
+
else if ((dateFormat == 'yyyy/dd/MM' || dateFormat == 'yyyy-dd-MM')) {
|
3488
|
+
const dateArray = userInput.split(separator);
|
3489
|
+
const [day, month, year] = this.getDateSegments4(dateArray);
|
3490
|
+
if ((day < 32 && month < 13)) {
|
3491
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3492
|
+
}
|
3493
|
+
}
|
3494
|
+
else if ((dateFormat == 'yyyy/dd/MMM' || dateFormat == 'yyyy-dd-MMM')) {
|
3495
|
+
const dateArray = userInput.split(separator);
|
3496
|
+
const [day, month, year] = this.getDateSegments4(dateArray);
|
3497
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3498
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3499
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3500
|
+
}
|
3501
|
+
}
|
3502
|
+
else if ((dateFormat == 'dd/MM/yy' || dateFormat == 'dd-MM-yy' || dateFormat == 'd/M/yy' || dateFormat == 'd-M-yy')) {
|
3503
|
+
const dateArray = userInput.split(separator);
|
3504
|
+
const [day, month, year] = this.getDateSegments1(dateArray);
|
3505
|
+
if ((day < 32 && month < 13)) {
|
3506
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3507
|
+
}
|
3508
|
+
}
|
3509
|
+
else if ((dateFormat == 'MM/dd/yy' || dateFormat == 'MM-dd-yy' || dateFormat == 'M/d/yy' || dateFormat == 'M-d-yy')) {
|
3510
|
+
const dateArray = userInput.split(separator);
|
3511
|
+
const [day, month, year] = this.getDateSegments2(dateArray);
|
3512
|
+
if ((day < 32 && month < 13)) {
|
3513
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3514
|
+
}
|
3515
|
+
}
|
3516
|
+
else if ((dateFormat == 'yy/MM/dd' || dateFormat == 'yy-MM-dd')) {
|
3517
|
+
const dateArray = userInput.split(separator);
|
3518
|
+
const [day, month, year] = this.getDateSegments3(dateArray);
|
3519
|
+
if ((day < 32 && month < 13)) {
|
3520
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3521
|
+
}
|
3522
|
+
}
|
3523
|
+
else if ((dateFormat == 'yy/dd/MM' || dateFormat == 'yy-dd-MM')) {
|
3524
|
+
const dateArray = userInput.split(separator);
|
3525
|
+
const [day, month, year] = this.getDateSegments4(dateArray);
|
3526
|
+
if ((day < 32 && month < 13)) {
|
3527
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3528
|
+
}
|
3529
|
+
}
|
3530
|
+
else if ((dateFormat == 'dd/MMM/yy' || dateFormat == 'dd-MMM-yy')) {
|
3531
|
+
const dateArray = userInput.split(separator);
|
3532
|
+
const [day, month, year] = this.getDateSegments1(dateArray);
|
3533
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3534
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3535
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3536
|
+
}
|
3537
|
+
}
|
3538
|
+
else if ((dateFormat == 'yy/dd/MMM' || dateFormat == 'yy-dd-MMM')) {
|
3539
|
+
const dateArray = userInput.split(separator);
|
3540
|
+
const [day, month, year] = this.getDateSegments4(dateArray);
|
3541
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3542
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3543
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3544
|
+
}
|
3545
|
+
}
|
3546
|
+
else if ((dateFormat == 'MMM/dd/yy' || dateFormat == 'MMM-dd-yy')) {
|
3547
|
+
const dateArray = userInput.split(separator);
|
3548
|
+
const [day, month, year] = this.getDateSegments2(dateArray);
|
3549
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3550
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3551
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3552
|
+
}
|
3553
|
+
}
|
3554
|
+
else if ((dateFormat == 'yyyy/MMM/dd' || dateFormat == 'yyyy-MMM-dd' || dateFormat == 'yy/MMM/dd' || dateFormat == 'yy-MMM-dd')) {
|
3555
|
+
const dateArray = userInput.split(separator);
|
3556
|
+
const [day, month, year] = this.getDateSegments3(dateArray);
|
3557
|
+
const isMonthInNumber = !isNaN(Number(month));
|
3558
|
+
if ((isMonthInNumber && day < 32 && Number(month) < 13) || (!isMonthInNumber && day < 32)) {
|
3559
|
+
this.updateYear(day, month, year, separator, century, centuryVal, control);
|
3560
|
+
}
|
3561
|
+
}
|
3562
|
+
else if (dateFormat == 'yyyy/MM' || dateFormat == 'yyyy-MM') {
|
3563
|
+
const dateArray = userInput.split(separator);
|
3564
|
+
const month = dateArray[1];
|
3565
|
+
const year = Number(dateArray[0]);
|
3566
|
+
if (Number(month) < 13) {
|
3567
|
+
this.updateYear(1, month, year, separator, century, centuryVal, control);
|
3568
|
+
}
|
3569
|
+
}
|
3570
|
+
}
|
3571
|
+
updateYear(day, month, year, separator, century, centuryVal, control) {
|
3572
|
+
let updatedYear = year.toString().length === 2 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '' + year :
|
3573
|
+
year.toString().length === 1 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '0' + year :
|
3574
|
+
year;
|
3575
|
+
control.setValue(new Date(`${updatedYear}${separator}${month}${separator}${day}`));
|
3576
|
+
}
|
3577
|
+
getDateSegments1(dateArray) {
|
3578
|
+
const day = Number(dateArray[0]);
|
3579
|
+
const month = dateArray[1];
|
3580
|
+
const year = Number(dateArray[2]);
|
3581
|
+
return [day, month, year];
|
3582
|
+
}
|
3583
|
+
getDateSegments2(dateArray) {
|
3584
|
+
const day = Number(dateArray[1]);
|
3585
|
+
const month = dateArray[0];
|
3586
|
+
const year = Number(dateArray[2]);
|
3587
|
+
return [day, month, year];
|
3588
|
+
}
|
3589
|
+
getDateSegments3(dateArray) {
|
3590
|
+
const day = Number(dateArray[2]);
|
3591
|
+
const month = dateArray[1];
|
3592
|
+
const year = Number(dateArray[0]);
|
3593
|
+
return [day, month, year];
|
3594
|
+
}
|
3595
|
+
getDateSegments4(dateArray) {
|
3596
|
+
const day = Number(dateArray[1]);
|
3597
|
+
const month = dateArray[2];
|
3598
|
+
const year = Number(dateArray[0]);
|
3599
|
+
return [day, month, year];
|
3600
|
+
}
|
3305
3601
|
calculatePattern() {
|
3306
3602
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3307
3603
|
if (control != null) {
|
@@ -3483,7 +3779,7 @@ class MgformatMagicDirective {
|
|
3483
3779
|
}
|
3484
3780
|
MgformatMagicDirective.ɵfac = function MgformatMagicDirective_Factory(t) { return new (t || MgformatMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
3485
3781
|
MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirective, selectors: [["", "mgFormat", ""]], hostBindings: function MgformatMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
3486
|
-
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("input", function MgformatMagicDirective_input_HostBindingHandler($event) { return ctx.onInputEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); });
|
3782
|
+
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("paste", function MgformatMagicDirective_paste_HostBindingHandler($event) { return ctx.onPaste($event); })("input", function MgformatMagicDirective_input_HostBindingHandler($event) { return ctx.onInputEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); })("blur", function MgformatMagicDirective_blur_HostBindingHandler($event) { return ctx.onBlurEvent($event); });
|
3487
3783
|
} } });
|
3488
3784
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgformatMagicDirective, [{
|
3489
3785
|
type: Directive,
|
@@ -3493,12 +3789,18 @@ MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirec
|
|
3493
3789
|
}], function () { return [{ type: MagicDirective }, { type: TaskMagicService }]; }, { onFocusEvent: [{
|
3494
3790
|
type: HostListener,
|
3495
3791
|
args: ['focus', ['$event']]
|
3792
|
+
}], onPaste: [{
|
3793
|
+
type: HostListener,
|
3794
|
+
args: ['paste', ['$event']]
|
3496
3795
|
}], onInputEvent: [{
|
3497
3796
|
type: HostListener,
|
3498
3797
|
args: ['input', ['$event']]
|
3499
3798
|
}], onChangeEvent: [{
|
3500
3799
|
type: HostListener,
|
3501
3800
|
args: ['change', ['$event']]
|
3801
|
+
}], onBlurEvent: [{
|
3802
|
+
type: HostListener,
|
3803
|
+
args: ['blur', ['$event']]
|
3502
3804
|
}] }); })();
|
3503
3805
|
|
3504
3806
|
class TimeMagicPipe extends DatePipe {
|
@@ -3605,14 +3907,14 @@ function SubformMagicComponent_ndc_dynamic_0_Template(rf, ctx) { if (rf & 1) {
|
|
3605
3907
|
i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.Component)("ndcDynamicInputs", ctx_r0.Parameters);
|
3606
3908
|
} }
|
3607
3909
|
class SubformMagicComponent {
|
3910
|
+
set magic(val) { this.id = val; }
|
3911
|
+
;
|
3608
3912
|
constructor(vcRef, mgSub) {
|
3609
3913
|
this.vcRef = vcRef;
|
3610
3914
|
this.mgSub = mgSub;
|
3611
3915
|
this.component = null;
|
3612
3916
|
this.component = (this.vcRef._hostLView).find(v => !isNullOrUndefined(v));
|
3613
3917
|
}
|
3614
|
-
set magic(val) { this.id = val; }
|
3615
|
-
;
|
3616
3918
|
get Component() {
|
3617
3919
|
return this.mgSub.mgGetComp(this.id);
|
3618
3920
|
}
|
@@ -3625,7 +3927,7 @@ SubformMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SubformMagicCompone
|
|
3625
3927
|
i0.ɵɵtemplate(0, SubformMagicComponent_ndc_dynamic_0_Template, 1, 2, "ndc-dynamic", 0);
|
3626
3928
|
} if (rf & 2) {
|
3627
3929
|
i0.ɵɵproperty("ngIf", ctx.Component);
|
3628
|
-
} },
|
3930
|
+
} }, dependencies: [i1.NgIf, i3.DynamicComponent, i3.DynamicIoDirective], encapsulation: 2 });
|
3629
3931
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SubformMagicComponent, [{
|
3630
3932
|
type: Component,
|
3631
3933
|
args: [{
|
@@ -3666,13 +3968,6 @@ function ErrorMagicComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
3666
3968
|
} }
|
3667
3969
|
const _c1 = ["*"];
|
3668
3970
|
class ErrorMagicComponent {
|
3669
|
-
constructor(_task, mgService, changeDetectorRef) {
|
3670
|
-
this._task = _task;
|
3671
|
-
this.mgService = mgService;
|
3672
|
-
this.changeDetectorRef = changeDetectorRef;
|
3673
|
-
this.defaultDisplay = true;
|
3674
|
-
this.rowId = "0";
|
3675
|
-
}
|
3676
3971
|
set magic(val) {
|
3677
3972
|
this.id = val;
|
3678
3973
|
}
|
@@ -3686,6 +3981,13 @@ class ErrorMagicComponent {
|
|
3686
3981
|
this.changeDetectorRef.detectChanges();
|
3687
3982
|
}
|
3688
3983
|
;
|
3984
|
+
constructor(_task, mgService, changeDetectorRef) {
|
3985
|
+
this._task = _task;
|
3986
|
+
this.mgService = mgService;
|
3987
|
+
this.changeDetectorRef = changeDetectorRef;
|
3988
|
+
this.defaultDisplay = true;
|
3989
|
+
this.rowId = "0";
|
3990
|
+
}
|
3689
3991
|
isEmpty(element) {
|
3690
3992
|
const nodes = element.childNodes;
|
3691
3993
|
for (let i = 0; i < nodes.length; i++) {
|
@@ -3728,7 +4030,7 @@ ErrorMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ErrorMagicComponent,
|
|
3728
4030
|
i0.ɵɵtemplate(0, ErrorMagicComponent_div_0_Template, 5, 1, "div", 0);
|
3729
4031
|
} if (rf & 2) {
|
3730
4032
|
i0.ɵɵproperty("ngIf", ctx.HasErrors(ctx.id));
|
3731
|
-
} },
|
4033
|
+
} }, dependencies: [i1.NgIf], encapsulation: 2 });
|
3732
4034
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMagicComponent, [{
|
3733
4035
|
type: Component,
|
3734
4036
|
args: [{
|
@@ -3755,17 +4057,79 @@ ErrorMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ErrorMagicComponent,
|
|
3755
4057
|
}] }); })();
|
3756
4058
|
|
3757
4059
|
class CheckboxMagicDirective {
|
3758
|
-
constructor(magicDirective) {
|
4060
|
+
constructor(magicDirective, el, task) {
|
3759
4061
|
this.magicDirective = magicDirective;
|
4062
|
+
this.el = el;
|
4063
|
+
this.task = task;
|
4064
|
+
this.threeState = false;
|
4065
|
+
this.subscribeRefreshDom = null;
|
4066
|
+
this.isIndeterminate = false;
|
3760
4067
|
}
|
3761
4068
|
onChange($event) {
|
3762
|
-
|
4069
|
+
if (this.threeState) {
|
4070
|
+
this.handleThreeState();
|
4071
|
+
}
|
4072
|
+
else {
|
4073
|
+
this.magicDirective.task.onCheckChanged($event, this.magicDirective.id, +this.magicDirective.rowId);
|
4074
|
+
}
|
4075
|
+
}
|
4076
|
+
ngOnInit() {
|
4077
|
+
if (this.threeState) {
|
4078
|
+
let guiEvent = getGuiEventObj("setAsThreeState", this.magicDirective.id, +this.magicDirective.rowId);
|
4079
|
+
this.task.insertEvent(guiEvent);
|
4080
|
+
this.el.nativeElement.indeterminate = this.isIndeterminate = this.task.getProperty(this.magicDirective.id, HtmlProperties.CheckBoxIndeterminate, this.magicDirective.rowId);
|
4081
|
+
this.regUpdatesUI();
|
4082
|
+
}
|
4083
|
+
}
|
4084
|
+
regUpdatesUI() {
|
4085
|
+
this.subscribeRefreshDom = this.task
|
4086
|
+
.refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c)))
|
4087
|
+
.subscribe(a => {
|
4088
|
+
let command = a;
|
4089
|
+
try {
|
4090
|
+
this.handleCommand(command);
|
4091
|
+
}
|
4092
|
+
catch (ex) {
|
4093
|
+
console.dir(ex);
|
4094
|
+
}
|
4095
|
+
});
|
4096
|
+
}
|
4097
|
+
handleCommand(command) {
|
4098
|
+
if (command.CommandType == CommandType.SET_PROPERTY &&
|
4099
|
+
command.Operation == HtmlProperties.CheckBoxIndeterminate) {
|
4100
|
+
this.isIndeterminate = this.el.nativeElement.indeterminate = command.obj1;
|
4101
|
+
}
|
4102
|
+
}
|
4103
|
+
handleThreeState() {
|
4104
|
+
let value = '';
|
4105
|
+
let prevCheckedValue = this.task.getValue(this.magicDirective.id, this.magicDirective.rowId);
|
4106
|
+
const checkbox = this.el.nativeElement;
|
4107
|
+
if (this.isIndeterminate) {
|
4108
|
+
checkbox.checked = false;
|
4109
|
+
checkbox.indeterminate = false;
|
4110
|
+
value = 'unchecked';
|
4111
|
+
}
|
4112
|
+
else if (prevCheckedValue) {
|
4113
|
+
checkbox.checked = false;
|
4114
|
+
checkbox.indeterminate = true;
|
4115
|
+
value = 'indeterminate';
|
4116
|
+
}
|
4117
|
+
else if (!prevCheckedValue) {
|
4118
|
+
checkbox.checked = true;
|
4119
|
+
checkbox.indeterminate = false;
|
4120
|
+
value = 'checked';
|
4121
|
+
}
|
4122
|
+
this.magicDirective.task.onCheckChanged(value, this.magicDirective.id, +this.magicDirective.rowId);
|
4123
|
+
}
|
4124
|
+
ngOnDestroy() {
|
4125
|
+
if (this.subscribeRefreshDom !== null)
|
4126
|
+
this.subscribeRefreshDom.unsubscribe();
|
3763
4127
|
}
|
3764
4128
|
}
|
3765
|
-
CheckboxMagicDirective.ɵfac = function CheckboxMagicDirective_Factory(t) { return new (t || CheckboxMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective)); };
|
4129
|
+
CheckboxMagicDirective.ɵfac = function CheckboxMagicDirective_Factory(t) { return new (t || CheckboxMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
3766
4130
|
CheckboxMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: CheckboxMagicDirective, selectors: [["input", "type", "checkbox", "magic", "", 3, "noFormControl", ""]], hostBindings: function CheckboxMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
3767
4131
|
i0.ɵɵlistener("change", function CheckboxMagicDirective_change_HostBindingHandler($event) { return ctx.onChange($event); });
|
3768
|
-
} } });
|
4132
|
+
} }, inputs: { threeState: "threeState" } });
|
3769
4133
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CheckboxMagicDirective, [{
|
3770
4134
|
type: Directive,
|
3771
4135
|
args: [{
|
@@ -3773,7 +4137,9 @@ CheckboxMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: CheckboxMagicDirec
|
|
3773
4137
|
input[type=checkbox][magic]:not([noFormControl])
|
3774
4138
|
`,
|
3775
4139
|
}]
|
3776
|
-
}], function () { return [{ type: MagicDirective }]; }, {
|
4140
|
+
}], function () { return [{ type: MagicDirective }, { type: i0.ElementRef }, { type: TaskMagicService }]; }, { threeState: [{
|
4141
|
+
type: Input
|
4142
|
+
}], onChange: [{
|
3777
4143
|
type: HostListener,
|
3778
4144
|
args: ['change', ['$event']]
|
3779
4145
|
}] }); })();
|
@@ -3781,10 +4147,18 @@ CheckboxMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: CheckboxMagicDirec
|
|
3781
4147
|
class ComboboxMagicDirective {
|
3782
4148
|
constructor(magicDirective) {
|
3783
4149
|
this.magicDirective = magicDirective;
|
4150
|
+
this.magicDirective.task.refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c))).subscribe(value => {
|
4151
|
+
let command = value;
|
4152
|
+
if (command.Operation === HtmlProperties.ItemsList)
|
4153
|
+
this.onComboboxItemsListChanged();
|
4154
|
+
});
|
3784
4155
|
}
|
3785
4156
|
onChange($event) {
|
3786
4157
|
this.magicDirective.task.onComboboxSelectionChanged($event, this.magicDirective.id, +this.magicDirective.rowId);
|
3787
4158
|
}
|
4159
|
+
onComboboxItemsListChanged() {
|
4160
|
+
this.magicDirective.task.refreshView();
|
4161
|
+
}
|
3788
4162
|
}
|
3789
4163
|
ComboboxMagicDirective.ɵfac = function ComboboxMagicDirective_Factory(t) { return new (t || ComboboxMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective)); };
|
3790
4164
|
ComboboxMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: ComboboxMagicDirective, selectors: [["select", "magic", "", 3, "multiple", ""]], hostBindings: function ComboboxMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
@@ -3954,13 +4328,10 @@ MagicShellComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicShellComponent,
|
|
3954
4328
|
i0.ɵɵproperty("ngIf", ctx.RootComponent !== null);
|
3955
4329
|
i0.ɵɵadvance(3);
|
3956
4330
|
i0.ɵɵproperty("ngIf", ctx.showSpinner);
|
3957
|
-
} },
|
4331
|
+
} }, dependencies: [i1.NgIf, i1.NgTemplateOutlet, i3.DynamicComponent, i3.DynamicIoDirective, 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)}}"] });
|
3958
4332
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicShellComponent, [{
|
3959
4333
|
type: Component,
|
3960
|
-
args: [{
|
3961
|
-
selector: 'magic-root',
|
3962
|
-
providers: [],
|
3963
|
-
template: `
|
4334
|
+
args: [{ selector: 'magic-root', providers: [], template: `
|
3964
4335
|
<div #magicRoot>
|
3965
4336
|
<ndc-dynamic
|
3966
4337
|
*ngIf = "RootComponent !== null"
|
@@ -3979,38 +4350,7 @@ MagicShellComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicShellComponent,
|
|
3979
4350
|
<ng-template #defaultSpinner>
|
3980
4351
|
<div class="mgSpinnerClass"></div>
|
3981
4352
|
</ng-template>
|
3982
|
-
`,
|
3983
|
-
styles: [`
|
3984
|
-
.mgSpinnerClass {
|
3985
|
-
border: 10px solid #cccccc; /* Light grey */
|
3986
|
-
border-top: 10px solid black; /* Blue */
|
3987
|
-
border-radius: 50%;
|
3988
|
-
position: fixed;
|
3989
|
-
margin: auto;
|
3990
|
-
top: 0;
|
3991
|
-
right: 0;
|
3992
|
-
bottom: 0;
|
3993
|
-
left: 0;
|
3994
|
-
width: 100px;
|
3995
|
-
height: 100px;
|
3996
|
-
animation: spin 2s linear infinite;
|
3997
|
-
}
|
3998
|
-
.spinner-background {
|
3999
|
-
/* background fixed across whole screen */
|
4000
|
-
position: fixed;
|
4001
|
-
top: 0;
|
4002
|
-
right: 0;
|
4003
|
-
bottom: 0;
|
4004
|
-
z-index: 1000;
|
4005
|
-
left: 0;
|
4006
|
-
opacity: 0.5;
|
4007
|
-
}
|
4008
|
-
@keyframes spin {
|
4009
|
-
0% { transform: rotate(0deg); }
|
4010
|
-
100% { transform: rotate(360deg); }
|
4011
|
-
}
|
4012
|
-
`]
|
4013
|
-
}]
|
4353
|
+
`, 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"] }]
|
4014
4354
|
}], function () { return [{ type: EngineMagicService }, { type: ComponentListMagicService }, { type: i0.ChangeDetectorRef }, { type: i1$1.Title }, { type: OverlayWindowService }, { type: i1$2.HttpClient }, { type: CommandsCollectorMagicService }, { type: ExitMagicService, decorators: [{
|
4015
4355
|
type: Optional
|
4016
4356
|
}] }]; }, { rootMagicElementRef: [{
|
@@ -4132,12 +4472,33 @@ const DATE_VALUE_ACCESSOR = {
|
|
4132
4472
|
multi: true
|
4133
4473
|
};
|
4134
4474
|
class DateValueAccessor {
|
4135
|
-
|
4475
|
+
onBlurEvent(event) {
|
4476
|
+
const century = Environment.Instance.GetCentury(LastFocusedManager.Instance.getCurrTask().getCompIdx());
|
4477
|
+
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
4478
|
+
this.formatDateWithCentury(event.target.value, century, control);
|
4479
|
+
}
|
4480
|
+
constructor(renderer, elementRef, magicDir, _task) {
|
4136
4481
|
this.renderer = renderer;
|
4137
4482
|
this.elementRef = elementRef;
|
4483
|
+
this.magicDir = magicDir;
|
4484
|
+
this._task = _task;
|
4138
4485
|
this.onChange = (_) => { };
|
4139
4486
|
this.onTouched = () => { };
|
4140
4487
|
}
|
4488
|
+
formatDateWithCentury(userInput, century, control) {
|
4489
|
+
const separator = userInput.includes('/') ? '/' : "-";
|
4490
|
+
let centuryVal = parseInt(century.toString().slice(0, 2));
|
4491
|
+
if (userInput.length == 0)
|
4492
|
+
return;
|
4493
|
+
const dateArray = userInput.split(separator);
|
4494
|
+
const day = Number(dateArray[2]);
|
4495
|
+
const month = Number(dateArray[1]);
|
4496
|
+
const year = Number(dateArray[0]);
|
4497
|
+
let updatedYear = year.toString().length === 2 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '' + year :
|
4498
|
+
year.toString().length === 1 ? (year < century % 100 ? centuryVal + 1 : centuryVal) + '0' + year :
|
4499
|
+
year;
|
4500
|
+
control.setValue(new Date(`${updatedYear}${separator}${month}${separator}${day}`));
|
4501
|
+
}
|
4141
4502
|
writeValue(value) {
|
4142
4503
|
if (!value) {
|
4143
4504
|
this.renderer.setProperty(this.elementRef.nativeElement, "value", null);
|
@@ -4157,9 +4518,9 @@ class DateValueAccessor {
|
|
4157
4518
|
this.renderer.setProperty(this.elementRef.nativeElement, "disabled", isDisabled);
|
4158
4519
|
}
|
4159
4520
|
}
|
4160
|
-
DateValueAccessor.ɵfac = function DateValueAccessor_Factory(t) { return new (t || DateValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
4521
|
+
DateValueAccessor.ɵfac = function DateValueAccessor_Factory(t) { return new (t || DateValueAccessor)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
4161
4522
|
DateValueAccessor.ɵdir = i0.ɵɵdefineDirective({ type: DateValueAccessor, selectors: [["", "dateInput", ""]], hostBindings: function DateValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {
|
4162
|
-
i0.ɵɵlistener("input", function DateValueAccessor_input_HostBindingHandler($event) { return ctx.onChange($event.target.valueAsDate); })("blur", function DateValueAccessor_blur_HostBindingHandler() { return ctx.
|
4523
|
+
i0.ɵɵlistener("input", function DateValueAccessor_input_HostBindingHandler($event) { return ctx.onChange($event.target.valueAsDate); })("blur", function DateValueAccessor_blur_HostBindingHandler($event) { return ctx.onBlurEvent($event); });
|
4163
4524
|
} }, features: [i0.ɵɵProvidersFeature([DATE_VALUE_ACCESSOR])] });
|
4164
4525
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateValueAccessor, [{
|
4165
4526
|
type: Directive,
|
@@ -4167,15 +4528,23 @@ DateValueAccessor.ɵdir = i0.ɵɵdefineDirective({ type: DateValueAccessor, sele
|
|
4167
4528
|
selector: "[dateInput]",
|
4168
4529
|
providers: [DATE_VALUE_ACCESSOR]
|
4169
4530
|
}]
|
4170
|
-
}], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, { onChange: [{
|
4531
|
+
}], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: MagicDirective }, { type: TaskMagicService }]; }, { onChange: [{
|
4171
4532
|
type: HostListener,
|
4172
4533
|
args: ["input", ["$event.target.valueAsDate"]]
|
4173
4534
|
}], onTouched: [{
|
4174
4535
|
type: HostListener,
|
4175
4536
|
args: ["blur", []]
|
4537
|
+
}], onBlurEvent: [{
|
4538
|
+
type: HostListener,
|
4539
|
+
args: ['blur', ['$event']]
|
4176
4540
|
}] }); })();
|
4177
4541
|
|
4178
4542
|
class NonMagicControlDirective {
|
4543
|
+
set magic(val) {
|
4544
|
+
this.id = val;
|
4545
|
+
this.selector = 'NonMagicControl';
|
4546
|
+
}
|
4547
|
+
;
|
4179
4548
|
constructor(_task, element, renderer, vcRef) {
|
4180
4549
|
this._task = _task;
|
4181
4550
|
this.element = element;
|
@@ -4185,11 +4554,6 @@ class NonMagicControlDirective {
|
|
4185
4554
|
this.eventsOnlyVal = false;
|
4186
4555
|
this.htmlElement = this.element.nativeElement;
|
4187
4556
|
}
|
4188
|
-
set magic(val) {
|
4189
|
-
this.id = val;
|
4190
|
-
this.selector = 'NonMagicControl';
|
4191
|
-
}
|
4192
|
-
;
|
4193
4557
|
get task() {
|
4194
4558
|
return this._task;
|
4195
4559
|
}
|
@@ -4219,6 +4583,36 @@ NonMagicControlDirective.ɵdir = i0.ɵɵdefineDirective({ type: NonMagicControlD
|
|
4219
4583
|
args: ['NonMagicControl']
|
4220
4584
|
}] }); })();
|
4221
4585
|
|
4586
|
+
class Time24MagicPipe {
|
4587
|
+
constructor(_task) {
|
4588
|
+
this._task = _task;
|
4589
|
+
}
|
4590
|
+
transform(value, controlId) {
|
4591
|
+
let mask = this._task.GetControlPictureMask(controlId).getMask();
|
4592
|
+
if (typeof value !== "undefined" && mask !== null) {
|
4593
|
+
const date = new Date(value);
|
4594
|
+
const hours = date.getHours().toString().padStart(2, '0');
|
4595
|
+
const minutes = date.getMinutes().toString().padStart(2, '0');
|
4596
|
+
const seconds = date.getSeconds().toString().padStart(2, '0');
|
4597
|
+
if (mask.length == 5) {
|
4598
|
+
return `${hours}:${minutes}`;
|
4599
|
+
}
|
4600
|
+
else if (mask.length > 5) {
|
4601
|
+
return `${hours}:${minutes}:${seconds}`;
|
4602
|
+
}
|
4603
|
+
}
|
4604
|
+
return value;
|
4605
|
+
}
|
4606
|
+
}
|
4607
|
+
Time24MagicPipe.ɵfac = function Time24MagicPipe_Factory(t) { return new (t || Time24MagicPipe)(i0.ɵɵdirectiveInject(TaskMagicService, 16)); };
|
4608
|
+
Time24MagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicTime24", type: Time24MagicPipe, pure: true });
|
4609
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Time24MagicPipe, [{
|
4610
|
+
type: Pipe,
|
4611
|
+
args: [{
|
4612
|
+
name: 'magicTime24'
|
4613
|
+
}]
|
4614
|
+
}], function () { return [{ type: TaskMagicService }]; }, null); })();
|
4615
|
+
|
4222
4616
|
const decs = [
|
4223
4617
|
MagicDirective,
|
4224
4618
|
CheckboxMagicDirective,
|
@@ -4247,25 +4641,24 @@ const decs = [
|
|
4247
4641
|
RangeValidatorMagicDirective,
|
4248
4642
|
NonMagicControlDirective,
|
4249
4643
|
MagicFocusDirective,
|
4250
|
-
MagicViewContainerRef
|
4644
|
+
MagicViewContainerRef,
|
4645
|
+
Time24MagicPipe
|
4251
4646
|
];
|
4252
4647
|
class MagicModule {
|
4253
4648
|
}
|
4254
4649
|
MagicModule.ɵfac = function MagicModule_Factory(t) { return new (t || MagicModule)(); };
|
4255
4650
|
MagicModule.ɵmod = i0.ɵɵdefineNgModule({ type: MagicModule });
|
4256
|
-
MagicModule.ɵinj = i0.ɵɵdefineInjector({ providers: [ConfirmationComponentsMagicProvider, OverlayContainerMagicProvider], imports: [
|
4257
|
-
|
4258
|
-
|
4259
|
-
|
4260
|
-
|
4261
|
-
|
4262
|
-
HttpClientModule
|
4263
|
-
]] });
|
4651
|
+
MagicModule.ɵinj = i0.ɵɵdefineInjector({ providers: [ConfirmationComponentsMagicProvider, OverlayContainerMagicProvider], imports: [CommonModule,
|
4652
|
+
FormsModule,
|
4653
|
+
ReactiveFormsModule,
|
4654
|
+
RouterModule,
|
4655
|
+
DynamicModule,
|
4656
|
+
HttpClientModule, MaskitoModule] });
|
4264
4657
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicModule, [{
|
4265
4658
|
type: NgModule,
|
4266
4659
|
args: [{
|
4267
4660
|
declarations: [...decs],
|
4268
|
-
exports: [...decs],
|
4661
|
+
exports: [...decs, MaskitoModule],
|
4269
4662
|
entryComponents: [],
|
4270
4663
|
imports: [
|
4271
4664
|
CommonModule,
|
@@ -4305,7 +4698,8 @@ MagicModule.ɵinj = i0.ɵɵdefineInjector({ providers: [ConfirmationComponentsMa
|
|
4305
4698
|
RangeValidatorMagicDirective,
|
4306
4699
|
NonMagicControlDirective,
|
4307
4700
|
MagicFocusDirective,
|
4308
|
-
MagicViewContainerRef
|
4701
|
+
MagicViewContainerRef,
|
4702
|
+
Time24MagicPipe], imports: [CommonModule,
|
4309
4703
|
FormsModule,
|
4310
4704
|
ReactiveFormsModule,
|
4311
4705
|
RouterModule,
|
@@ -4337,7 +4731,8 @@ MagicModule.ɵinj = i0.ɵɵdefineInjector({ providers: [ConfirmationComponentsMa
|
|
4337
4731
|
RangeValidatorMagicDirective,
|
4338
4732
|
NonMagicControlDirective,
|
4339
4733
|
MagicFocusDirective,
|
4340
|
-
MagicViewContainerRef
|
4734
|
+
MagicViewContainerRef,
|
4735
|
+
Time24MagicPipe, MaskitoModule] }); })();
|
4341
4736
|
|
4342
4737
|
const MG_FORMATS = {
|
4343
4738
|
parse: { dateInput: { month: 'short', year: 'numeric', day: 'numeric' } },
|
@@ -4519,5 +4914,5 @@ class ModalFormDefinition {
|
|
4519
4914
|
}
|
4520
4915
|
}
|
4521
4916
|
|
4522
|
-
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, TimeMagicPipe, TitleMagicService, basicMagicProviders, confirmationBox, magicProviders, matDateProviders, utils };
|
4917
|
+
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 };
|
4523
4918
|
//# sourceMappingURL=magic-xpa-angular.mjs.map
|