@magic-xpa/angular 4.1000.0-dev4100.396 → 4.1000.0-dev4100.399
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/src/ui/directives/mgformat.magic.directive.mjs +132 -89
- package/fesm2015/magic-xpa-angular.mjs +131 -88
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +131 -88
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/ui/directives/mgformat.magic.directive.d.ts +2 -0
@@ -3317,6 +3317,7 @@ class MgformatMagicDirective {
|
|
3317
3317
|
constructor(magicDir, _task) {
|
3318
3318
|
this.magicDir = magicDir;
|
3319
3319
|
this._task = _task;
|
3320
|
+
this.datePasteFlag = false;
|
3320
3321
|
}
|
3321
3322
|
ngAfterViewInit() {
|
3322
3323
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
@@ -3330,13 +3331,15 @@ class MgformatMagicDirective {
|
|
3330
3331
|
onFocusEvent($event) {
|
3331
3332
|
this.calculatePattern();
|
3332
3333
|
}
|
3334
|
+
onPaste(event) {
|
3335
|
+
this.datePasteFlag = true;
|
3336
|
+
}
|
3333
3337
|
onInputEvent(event) {
|
3334
|
-
let
|
3335
|
-
if (
|
3336
|
-
|
3337
|
-
if (attr == StorageAttribute.DATE) {
|
3338
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3339
|
+
if (attr == StorageAttribute.DATE) {
|
3340
|
+
if (!this.datePasteFlag)
|
3338
3341
|
this.dateMasking(event);
|
3339
|
-
|
3342
|
+
this.datePasteFlag = false;
|
3340
3343
|
}
|
3341
3344
|
this.calculatePattern();
|
3342
3345
|
}
|
@@ -3345,105 +3348,142 @@ class MgformatMagicDirective {
|
|
3345
3348
|
let cursorPos = event.target.selectionStart;
|
3346
3349
|
const separator = this._task.mgInputDateFormat.includes('/') ? '/' : '-';
|
3347
3350
|
if (cursorPos >= input.value.length) {
|
3348
|
-
const value = input.value.replace(/[^a-zA-Z0-9]/g, '');
|
3351
|
+
const value = input.value.replace(/[^a-zA-Z0-9/-]/g, '');
|
3349
3352
|
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") {
|
3350
|
-
if (value.length
|
3351
|
-
input.value =
|
3352
|
-
|
3353
|
-
|
3354
|
-
|
3355
|
-
|
3356
|
-
else
|
3357
|
-
input.value =
|
3358
|
-
|
3353
|
+
if (value.length == 1 && value[0] == separator)
|
3354
|
+
input.value = '01' + separator;
|
3355
|
+
else if (value.length == 2 && value[1] == separator)
|
3356
|
+
input.value = 0 + value;
|
3357
|
+
else if (value.length == 3 && value[2] != separator)
|
3358
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3359
|
+
else if (value.length == 4 && value[3] == separator)
|
3360
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3361
|
+
else if (value.length == 5 && value[4] == separator)
|
3362
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3363
|
+
else if (value.length == 6 && value[5] != separator)
|
3364
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3365
|
+
else if (value.length >= 10)
|
3366
|
+
input.value = value.slice(0, 10);
|
3359
3367
|
}
|
3360
3368
|
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") {
|
3361
|
-
if (value.length
|
3362
|
-
input.value =
|
3363
|
-
|
3364
|
-
|
3365
|
-
|
3366
|
-
|
3367
|
-
else
|
3368
|
-
input.value =
|
3369
|
-
|
3369
|
+
if (value.length == 1 && value[0] == separator)
|
3370
|
+
input.value = '0000' + separator;
|
3371
|
+
else if (value.length == 2 && value[1] == separator)
|
3372
|
+
input.value = '000' + value.slice(0);
|
3373
|
+
else if (value.length == 3 && value[2] == separator)
|
3374
|
+
input.value = '00' + value.slice(0);
|
3375
|
+
else if (value.length == 4 && value[3] == separator)
|
3376
|
+
input.value = '0' + value.slice(0);
|
3377
|
+
else if (value.length == 5 && value[4] != separator)
|
3378
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3379
|
+
else if (value.length == 6 && value[5] == separator)
|
3380
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3381
|
+
else if (value.length == 7 && value[6] == separator)
|
3382
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3383
|
+
else if (value.length == 8 && value[7] != separator)
|
3384
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3385
|
+
else if (value.length >= 10)
|
3386
|
+
input.value = value.slice(0, 10);
|
3370
3387
|
}
|
3371
3388
|
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") {
|
3372
|
-
if (value.length
|
3373
|
-
input.value =
|
3374
|
-
|
3375
|
-
|
3376
|
-
|
3377
|
-
|
3378
|
-
else
|
3379
|
-
input.value =
|
3380
|
-
|
3389
|
+
if (value.length == 1 && value[0] == separator)
|
3390
|
+
input.value = '01' + separator;
|
3391
|
+
else if (value.length == 2 && value[1] == separator)
|
3392
|
+
input.value = 0 + value;
|
3393
|
+
else if (value.length == 3 && value[2] != separator)
|
3394
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3395
|
+
else if (value.length == 4 && value[3] == separator)
|
3396
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3397
|
+
else if (value.length == 5 && value[4] == separator)
|
3398
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3399
|
+
else if (value.length == 6 && value[5] != separator)
|
3400
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3401
|
+
else if (value.length >= 8)
|
3402
|
+
input.value = value.slice(0, 8);
|
3381
3403
|
}
|
3382
3404
|
else if (this._task.mgInputDateFormat == "dd/MMM/yy" || this._task.mgInputDateFormat == "dd-MMM-yy") {
|
3383
|
-
if (value.length
|
3384
|
-
input.value =
|
3385
|
-
|
3386
|
-
|
3387
|
-
|
3388
|
-
|
3389
|
-
else
|
3390
|
-
input.value =
|
3391
|
-
|
3405
|
+
if (value.length == 1 && value[0] == separator)
|
3406
|
+
input.value = '01' + separator;
|
3407
|
+
else if (value.length == 2 && value[1] == separator)
|
3408
|
+
input.value = 0 + value;
|
3409
|
+
else if (value.length == 3 && value[2] != separator)
|
3410
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3411
|
+
else if (value.length == 7 && value[6] != separator)
|
3412
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3413
|
+
else if (value.length >= 9)
|
3414
|
+
input.value = value.slice(0, 9);
|
3392
3415
|
}
|
3393
3416
|
else if (this._task.mgInputDateFormat == "dd/MMM/yyyy" || this._task.mgInputDateFormat == "dd-MMM-yyyy") {
|
3394
|
-
if (value.length
|
3395
|
-
input.value =
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3399
|
-
|
3400
|
-
else
|
3401
|
-
input.value =
|
3402
|
-
|
3417
|
+
if (value.length == 1 && value[0] == separator)
|
3418
|
+
input.value = '01' + separator;
|
3419
|
+
else if (value.length == 2 && value[1] == separator)
|
3420
|
+
input.value = 0 + value;
|
3421
|
+
else if (value.length == 3 && value[2] != separator)
|
3422
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3423
|
+
else if (value.length == 7 && value[6] != separator)
|
3424
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3425
|
+
else if (value.length >= 11)
|
3426
|
+
input.value = value.slice(0, 11);
|
3403
3427
|
}
|
3404
3428
|
else if (this._task.mgInputDateFormat == "yy/dd/MMM" || this._task.mgInputDateFormat == "yy-dd-MMM") {
|
3405
|
-
if (value.length
|
3406
|
-
input.value =
|
3407
|
-
|
3408
|
-
|
3409
|
-
|
3410
|
-
|
3411
|
-
else
|
3412
|
-
input.value =
|
3413
|
-
|
3429
|
+
if (value.length == 1 && value[0] == separator)
|
3430
|
+
input.value = '00' + separator;
|
3431
|
+
else if (value.length == 2 && value[1] == separator)
|
3432
|
+
input.value = 0 + value;
|
3433
|
+
else if (value.length == 3 && value[2] != separator)
|
3434
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3435
|
+
else if (value.length == 4 && value[3] == separator)
|
3436
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3437
|
+
else if (value.length == 5 && value[4] == separator)
|
3438
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3439
|
+
else if (value.length == 6 && value[5] != separator)
|
3440
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3441
|
+
else if (value.length >= 9)
|
3442
|
+
input.value = value.slice(0, 9);
|
3414
3443
|
}
|
3415
3444
|
else if (this._task.mgInputDateFormat == "yyyy/dd/MMM" || this._task.mgInputDateFormat == "yyyy-dd-MMM") {
|
3416
|
-
if (value.length
|
3417
|
-
input.value =
|
3418
|
-
|
3419
|
-
|
3420
|
-
|
3421
|
-
|
3422
|
-
else
|
3423
|
-
input.value =
|
3424
|
-
|
3445
|
+
if (value.length == 1 && value[0] == separator)
|
3446
|
+
input.value = '0000' + separator;
|
3447
|
+
else if (value.length == 2 && value[1] == separator)
|
3448
|
+
input.value = '000' + value.slice(0);
|
3449
|
+
else if (value.length == 3 && value[2] == separator)
|
3450
|
+
input.value = '00' + value.slice(0);
|
3451
|
+
else if (value.length == 4 && value[3] == separator)
|
3452
|
+
input.value = '0' + value.slice(0);
|
3453
|
+
else if (value.length == 5 && value[4] != separator)
|
3454
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3455
|
+
else if (value.length == 6 && value[5] == separator)
|
3456
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3457
|
+
else if (value.length == 7 && value[6] == separator)
|
3458
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3459
|
+
else if (value.length == 8 && value[7] != separator)
|
3460
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3461
|
+
else if (value.length >= 11)
|
3462
|
+
input.value = value.slice(0, 11);
|
3425
3463
|
}
|
3426
3464
|
else if (this._task.mgInputDateFormat == "MMM/dd/yy" || this._task.mgInputDateFormat == "MMM-dd-yy") {
|
3427
|
-
if (value.length
|
3428
|
-
input.value = value;
|
3429
|
-
|
3430
|
-
|
3431
|
-
|
3432
|
-
|
3433
|
-
else
|
3434
|
-
input.value =
|
3435
|
-
|
3465
|
+
if (value.length == 4 && value[3] != separator)
|
3466
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3467
|
+
else if (value.length == 5 && value[4] == separator)
|
3468
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3469
|
+
else if (value.length == 6 && value[5] == separator)
|
3470
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3471
|
+
else if (value.length == 7 && value[6] != separator)
|
3472
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3473
|
+
else if (value.length >= 9)
|
3474
|
+
input.value = value.slice(0, 9);
|
3436
3475
|
}
|
3437
3476
|
else if (this._task.mgInputDateFormat == "MMM/dd/yyyy" || this._task.mgInputDateFormat == "MMM-dd-yyyy") {
|
3438
|
-
if (value.length
|
3439
|
-
input.value = value;
|
3440
|
-
|
3441
|
-
|
3442
|
-
|
3443
|
-
|
3444
|
-
else
|
3445
|
-
input.value =
|
3446
|
-
|
3477
|
+
if (value.length == 4 && value[3] != separator)
|
3478
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3479
|
+
else if (value.length == 5 && value[4] == separator)
|
3480
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3481
|
+
else if (value.length == 6 && value[5] == separator)
|
3482
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3483
|
+
else if (value.length == 7 && value[6] != separator)
|
3484
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3485
|
+
else if (value.length >= 11)
|
3486
|
+
input.value = value.slice(0, 11);
|
3447
3487
|
}
|
3448
3488
|
}
|
3449
3489
|
if (cursorPos < input.value.length && input.value.length > this._task.mgInputDateFormat.length) {
|
@@ -3650,7 +3690,7 @@ class MgformatMagicDirective {
|
|
3650
3690
|
MgformatMagicDirective.ɵfac = function MgformatMagicDirective_Factory(t) { return new (t || MgformatMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
3651
3691
|
MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirective, selectors: [["", "mgFormat", ""]], hostBindings: function MgformatMagicDirective_HostBindings(rf, ctx) {
|
3652
3692
|
if (rf & 1) {
|
3653
|
-
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); });
|
3693
|
+
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); });
|
3654
3694
|
}
|
3655
3695
|
} });
|
3656
3696
|
(function () {
|
@@ -3662,6 +3702,9 @@ MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirec
|
|
3662
3702
|
}], function () { return [{ type: MagicDirective }, { type: TaskMagicService }]; }, { onFocusEvent: [{
|
3663
3703
|
type: HostListener,
|
3664
3704
|
args: ['focus', ['$event']]
|
3705
|
+
}], onPaste: [{
|
3706
|
+
type: HostListener,
|
3707
|
+
args: ['paste', ['$event']]
|
3665
3708
|
}], onInputEvent: [{
|
3666
3709
|
type: HostListener,
|
3667
3710
|
args: ['input', ['$event']]
|