@magic-xpa/angular 4.1000.0-dev4100.398 → 4.1000.0-dev4100.400
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
@@ -3227,6 +3227,7 @@ class MgformatMagicDirective {
|
|
3227
3227
|
constructor(magicDir, _task) {
|
3228
3228
|
this.magicDir = magicDir;
|
3229
3229
|
this._task = _task;
|
3230
|
+
this.datePasteFlag = false;
|
3230
3231
|
}
|
3231
3232
|
ngAfterViewInit() {
|
3232
3233
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
@@ -3240,13 +3241,15 @@ class MgformatMagicDirective {
|
|
3240
3241
|
onFocusEvent($event) {
|
3241
3242
|
this.calculatePattern();
|
3242
3243
|
}
|
3244
|
+
onPaste(event) {
|
3245
|
+
this.datePasteFlag = true;
|
3246
|
+
}
|
3243
3247
|
onInputEvent(event) {
|
3244
|
-
let
|
3245
|
-
if (
|
3246
|
-
|
3247
|
-
if (attr == StorageAttribute.DATE) {
|
3248
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3249
|
+
if (attr == StorageAttribute.DATE) {
|
3250
|
+
if (!this.datePasteFlag)
|
3248
3251
|
this.dateMasking(event);
|
3249
|
-
|
3252
|
+
this.datePasteFlag = false;
|
3250
3253
|
}
|
3251
3254
|
this.calculatePattern();
|
3252
3255
|
}
|
@@ -3255,105 +3258,142 @@ class MgformatMagicDirective {
|
|
3255
3258
|
let cursorPos = event.target.selectionStart;
|
3256
3259
|
const separator = this._task.mgInputDateFormat.includes('/') ? '/' : '-';
|
3257
3260
|
if (cursorPos >= input.value.length) {
|
3258
|
-
const value = input.value.replace(/[^a-zA-Z0-9]/g, '');
|
3261
|
+
const value = input.value.replace(/[^a-zA-Z0-9/-]/g, '');
|
3259
3262
|
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") {
|
3260
|
-
if (value.length
|
3261
|
-
input.value =
|
3262
|
-
|
3263
|
-
|
3264
|
-
|
3265
|
-
|
3266
|
-
else
|
3267
|
-
input.value =
|
3268
|
-
|
3263
|
+
if (value.length == 1 && value[0] == separator)
|
3264
|
+
input.value = '01' + separator;
|
3265
|
+
else if (value.length == 2 && value[1] == separator)
|
3266
|
+
input.value = 0 + value;
|
3267
|
+
else if (value.length == 3 && value[2] != separator)
|
3268
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3269
|
+
else if (value.length == 4 && value[3] == separator)
|
3270
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3271
|
+
else if (value.length == 5 && value[4] == separator)
|
3272
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3273
|
+
else if (value.length == 6 && value[5] != separator)
|
3274
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3275
|
+
else if (value.length >= 10)
|
3276
|
+
input.value = value.slice(0, 10);
|
3269
3277
|
}
|
3270
3278
|
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") {
|
3271
|
-
if (value.length
|
3272
|
-
input.value =
|
3273
|
-
|
3274
|
-
|
3275
|
-
|
3276
|
-
|
3277
|
-
else
|
3278
|
-
input.value =
|
3279
|
-
|
3279
|
+
if (value.length == 1 && value[0] == separator)
|
3280
|
+
input.value = '0000' + separator;
|
3281
|
+
else if (value.length == 2 && value[1] == separator)
|
3282
|
+
input.value = '000' + value.slice(0);
|
3283
|
+
else if (value.length == 3 && value[2] == separator)
|
3284
|
+
input.value = '00' + value.slice(0);
|
3285
|
+
else if (value.length == 4 && value[3] == separator)
|
3286
|
+
input.value = '0' + value.slice(0);
|
3287
|
+
else if (value.length == 5 && value[4] != separator)
|
3288
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3289
|
+
else if (value.length == 6 && value[5] == separator)
|
3290
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3291
|
+
else if (value.length == 7 && value[6] == separator)
|
3292
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3293
|
+
else if (value.length == 8 && value[7] != separator)
|
3294
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3295
|
+
else if (value.length >= 10)
|
3296
|
+
input.value = value.slice(0, 10);
|
3280
3297
|
}
|
3281
3298
|
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") {
|
3282
|
-
if (value.length
|
3283
|
-
input.value =
|
3284
|
-
|
3285
|
-
|
3286
|
-
|
3287
|
-
|
3288
|
-
else
|
3289
|
-
input.value =
|
3290
|
-
|
3299
|
+
if (value.length == 1 && value[0] == separator)
|
3300
|
+
input.value = '01' + separator;
|
3301
|
+
else if (value.length == 2 && value[1] == separator)
|
3302
|
+
input.value = 0 + value;
|
3303
|
+
else if (value.length == 3 && value[2] != separator)
|
3304
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3305
|
+
else if (value.length == 4 && value[3] == separator)
|
3306
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3307
|
+
else if (value.length == 5 && value[4] == separator)
|
3308
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3309
|
+
else if (value.length == 6 && value[5] != separator)
|
3310
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3311
|
+
else if (value.length >= 8)
|
3312
|
+
input.value = value.slice(0, 8);
|
3291
3313
|
}
|
3292
3314
|
else if (this._task.mgInputDateFormat == "dd/MMM/yy" || this._task.mgInputDateFormat == "dd-MMM-yy") {
|
3293
|
-
if (value.length
|
3294
|
-
input.value =
|
3295
|
-
|
3296
|
-
|
3297
|
-
|
3298
|
-
|
3299
|
-
else
|
3300
|
-
input.value =
|
3301
|
-
|
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 == 7 && value[6] != separator)
|
3322
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3323
|
+
else if (value.length >= 9)
|
3324
|
+
input.value = value.slice(0, 9);
|
3302
3325
|
}
|
3303
3326
|
else if (this._task.mgInputDateFormat == "dd/MMM/yyyy" || this._task.mgInputDateFormat == "dd-MMM-yyyy") {
|
3304
|
-
if (value.length
|
3305
|
-
input.value =
|
3306
|
-
|
3307
|
-
|
3308
|
-
|
3309
|
-
|
3310
|
-
else
|
3311
|
-
input.value =
|
3312
|
-
|
3327
|
+
if (value.length == 1 && value[0] == separator)
|
3328
|
+
input.value = '01' + separator;
|
3329
|
+
else if (value.length == 2 && value[1] == separator)
|
3330
|
+
input.value = 0 + value;
|
3331
|
+
else if (value.length == 3 && value[2] != separator)
|
3332
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3333
|
+
else if (value.length == 7 && value[6] != separator)
|
3334
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3335
|
+
else if (value.length >= 11)
|
3336
|
+
input.value = value.slice(0, 11);
|
3313
3337
|
}
|
3314
3338
|
else if (this._task.mgInputDateFormat == "yy/dd/MMM" || this._task.mgInputDateFormat == "yy-dd-MMM") {
|
3315
|
-
if (value.length
|
3316
|
-
input.value =
|
3317
|
-
|
3318
|
-
|
3319
|
-
|
3320
|
-
|
3321
|
-
else
|
3322
|
-
input.value =
|
3323
|
-
|
3339
|
+
if (value.length == 1 && value[0] == separator)
|
3340
|
+
input.value = '00' + separator;
|
3341
|
+
else if (value.length == 2 && value[1] == separator)
|
3342
|
+
input.value = 0 + value;
|
3343
|
+
else if (value.length == 3 && value[2] != separator)
|
3344
|
+
input.value = value.slice(0, 2) + separator + value.slice(2);
|
3345
|
+
else if (value.length == 4 && value[3] == separator)
|
3346
|
+
input.value = value.slice(0, 3) + '01' + value.slice(3);
|
3347
|
+
else if (value.length == 5 && value[4] == separator)
|
3348
|
+
input.value = value.slice(0, 3) + '0' + value.slice(3);
|
3349
|
+
else if (value.length == 6 && value[5] != separator)
|
3350
|
+
input.value = value.slice(0, 5) + separator + value.slice(5);
|
3351
|
+
else if (value.length >= 9)
|
3352
|
+
input.value = value.slice(0, 9);
|
3324
3353
|
}
|
3325
3354
|
else if (this._task.mgInputDateFormat == "yyyy/dd/MMM" || this._task.mgInputDateFormat == "yyyy-dd-MMM") {
|
3326
|
-
if (value.length
|
3327
|
-
input.value =
|
3328
|
-
|
3329
|
-
|
3330
|
-
|
3331
|
-
|
3332
|
-
else
|
3333
|
-
input.value =
|
3334
|
-
|
3355
|
+
if (value.length == 1 && value[0] == separator)
|
3356
|
+
input.value = '0000' + separator;
|
3357
|
+
else if (value.length == 2 && value[1] == separator)
|
3358
|
+
input.value = '000' + value.slice(0);
|
3359
|
+
else if (value.length == 3 && value[2] == separator)
|
3360
|
+
input.value = '00' + value.slice(0);
|
3361
|
+
else if (value.length == 4 && value[3] == separator)
|
3362
|
+
input.value = '0' + value.slice(0);
|
3363
|
+
else if (value.length == 5 && value[4] != separator)
|
3364
|
+
input.value = value.slice(0, 4) + separator + value.slice(4);
|
3365
|
+
else if (value.length == 6 && value[5] == separator)
|
3366
|
+
input.value = value.slice(0, 5) + '01' + value.slice(5);
|
3367
|
+
else if (value.length == 7 && value[6] == separator)
|
3368
|
+
input.value = value.slice(0, 5) + '0' + value.slice(5);
|
3369
|
+
else if (value.length == 8 && value[7] != separator)
|
3370
|
+
input.value = value.slice(0, 7) + separator + value.slice(7);
|
3371
|
+
else if (value.length >= 11)
|
3372
|
+
input.value = value.slice(0, 11);
|
3335
3373
|
}
|
3336
3374
|
else if (this._task.mgInputDateFormat == "MMM/dd/yy" || this._task.mgInputDateFormat == "MMM-dd-yy") {
|
3337
|
-
if (value.length
|
3338
|
-
input.value = value;
|
3339
|
-
|
3340
|
-
|
3341
|
-
|
3342
|
-
|
3343
|
-
else
|
3344
|
-
input.value =
|
3345
|
-
|
3375
|
+
if (value.length == 4 && value[3] != separator)
|
3376
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3377
|
+
else if (value.length == 5 && value[4] == separator)
|
3378
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3379
|
+
else if (value.length == 6 && value[5] == separator)
|
3380
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3381
|
+
else if (value.length == 7 && value[6] != separator)
|
3382
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3383
|
+
else if (value.length >= 9)
|
3384
|
+
input.value = value.slice(0, 9);
|
3346
3385
|
}
|
3347
3386
|
else if (this._task.mgInputDateFormat == "MMM/dd/yyyy" || this._task.mgInputDateFormat == "MMM-dd-yyyy") {
|
3348
|
-
if (value.length
|
3349
|
-
input.value = value;
|
3350
|
-
|
3351
|
-
|
3352
|
-
|
3353
|
-
|
3354
|
-
else
|
3355
|
-
input.value =
|
3356
|
-
|
3387
|
+
if (value.length == 4 && value[3] != separator)
|
3388
|
+
input.value = value.slice(0, 3) + separator + value.slice(3);
|
3389
|
+
else if (value.length == 5 && value[4] == separator)
|
3390
|
+
input.value = value.slice(0, 4) + '01' + value.slice(4);
|
3391
|
+
else if (value.length == 6 && value[5] == separator)
|
3392
|
+
input.value = value.slice(0, 4) + '0' + value.slice(4);
|
3393
|
+
else if (value.length == 7 && value[6] != separator)
|
3394
|
+
input.value = value.slice(0, 6) + separator + value.slice(6);
|
3395
|
+
else if (value.length >= 11)
|
3396
|
+
input.value = value.slice(0, 11);
|
3357
3397
|
}
|
3358
3398
|
}
|
3359
3399
|
if (cursorPos < input.value.length && input.value.length > this._task.mgInputDateFormat.length) {
|
@@ -3559,7 +3599,7 @@ class MgformatMagicDirective {
|
|
3559
3599
|
}
|
3560
3600
|
MgformatMagicDirective.ɵfac = function MgformatMagicDirective_Factory(t) { return new (t || MgformatMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
3561
3601
|
MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirective, selectors: [["", "mgFormat", ""]], hostBindings: function MgformatMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
3562
|
-
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); });
|
3602
|
+
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); });
|
3563
3603
|
} } });
|
3564
3604
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgformatMagicDirective, [{
|
3565
3605
|
type: Directive,
|
@@ -3569,6 +3609,9 @@ MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirec
|
|
3569
3609
|
}], function () { return [{ type: MagicDirective }, { type: TaskMagicService }]; }, { onFocusEvent: [{
|
3570
3610
|
type: HostListener,
|
3571
3611
|
args: ['focus', ['$event']]
|
3612
|
+
}], onPaste: [{
|
3613
|
+
type: HostListener,
|
3614
|
+
args: ['paste', ['$event']]
|
3572
3615
|
}], onInputEvent: [{
|
3573
3616
|
type: HostListener,
|
3574
3617
|
args: ['input', ['$event']]
|