@websy/websy-designs 1.7.1 → 1.7.3
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.
|
@@ -2220,6 +2220,8 @@ class WebsyForm {
|
|
|
2220
2220
|
// }
|
|
2221
2221
|
el.addEventListener('change', this.handleChange.bind(this))
|
|
2222
2222
|
el.addEventListener('click', this.handleClick.bind(this))
|
|
2223
|
+
el.addEventListener('beforeinput', this.handleBeforeInput.bind(this))
|
|
2224
|
+
el.addEventListener('input', this.handleInput.bind(this))
|
|
2223
2225
|
el.addEventListener('focusout', this.handleFocusOut.bind(this))
|
|
2224
2226
|
el.addEventListener('keyup', this.handleKeyUp.bind(this))
|
|
2225
2227
|
el.addEventListener('keydown', this.handleKeyDown.bind(this))
|
|
@@ -2312,7 +2314,7 @@ class WebsyForm {
|
|
|
2312
2314
|
let index = event.target.getAttribute('data-index')
|
|
2313
2315
|
if (this.options.fields[index] && (this.options.fields[index].required || this.options.fields[index].validate)) {
|
|
2314
2316
|
this.validateField(this.options.fields[index], event.target.value)
|
|
2315
|
-
}
|
|
2317
|
+
}
|
|
2316
2318
|
}
|
|
2317
2319
|
}
|
|
2318
2320
|
handleClick (event) {
|
|
@@ -2334,20 +2336,72 @@ class WebsyForm {
|
|
|
2334
2336
|
}
|
|
2335
2337
|
}
|
|
2336
2338
|
handleKeyDown (event) {
|
|
2337
|
-
if (event.key === 'enter') {
|
|
2339
|
+
if (event.key === 'enter' && this.options.submitOnEnter === true) {
|
|
2338
2340
|
this.submitForm()
|
|
2339
2341
|
}
|
|
2342
|
+
// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2343
|
+
// let isNumeric = !isNaN(event.key)
|
|
2344
|
+
// let validKey = false
|
|
2345
|
+
// if (!validKey) {
|
|
2346
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2347
|
+
// }
|
|
2348
|
+
// if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2349
|
+
// event.preventDefault()
|
|
2350
|
+
// return false
|
|
2351
|
+
// }
|
|
2352
|
+
// if (event.key === 'Backspace') {
|
|
2353
|
+
// if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2354
|
+
// let chars = event.target.value.split('')
|
|
2355
|
+
// chars.pop()
|
|
2356
|
+
// event.target.value = chars.join('')
|
|
2357
|
+
// }
|
|
2358
|
+
// }
|
|
2359
|
+
// }
|
|
2360
|
+
// if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2361
|
+
// let isNumeric = !isNaN(event.key)
|
|
2362
|
+
// let validKey = false
|
|
2363
|
+
// if (!validKey) {
|
|
2364
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2365
|
+
// }
|
|
2366
|
+
// if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2367
|
+
// event.preventDefault()
|
|
2368
|
+
// return false
|
|
2369
|
+
// }
|
|
2370
|
+
// }
|
|
2371
|
+
}
|
|
2372
|
+
handleKeyUp (event) {
|
|
2373
|
+
// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2374
|
+
// let chars = event.target.value.split('')
|
|
2375
|
+
// let isNumeric = !isNaN(event.key)
|
|
2376
|
+
// if (event.key === 'Backspace') {
|
|
2377
|
+
// if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2378
|
+
// chars.pop()
|
|
2379
|
+
// event.target.value = chars.join('')
|
|
2380
|
+
// return
|
|
2381
|
+
// }
|
|
2382
|
+
// }
|
|
2383
|
+
// if (event.target.selectionStart === 2) {
|
|
2384
|
+
// if (chars[2] && ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete'].indexOf(event.key) === -1) {
|
|
2385
|
+
// event.target.setSelectionRange(3, 3)
|
|
2386
|
+
// }
|
|
2387
|
+
// else if (isNumeric) {
|
|
2388
|
+
// event.target.value += '/'
|
|
2389
|
+
// }
|
|
2390
|
+
// }
|
|
2391
|
+
// }
|
|
2392
|
+
}
|
|
2393
|
+
handleBeforeInput (event) {
|
|
2340
2394
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2341
|
-
let isNumeric = !isNaN(event.
|
|
2395
|
+
let isNumeric = !isNaN(+event.data)
|
|
2342
2396
|
let validKey = false
|
|
2343
2397
|
if (!validKey) {
|
|
2344
|
-
validKey = ['
|
|
2398
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1
|
|
2345
2399
|
}
|
|
2346
2400
|
if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2347
2401
|
event.preventDefault()
|
|
2348
2402
|
return false
|
|
2349
2403
|
}
|
|
2350
|
-
if (event.
|
|
2404
|
+
if (event.inputType === 'deleteContentBackward') {
|
|
2351
2405
|
if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2352
2406
|
let chars = event.target.value.split('')
|
|
2353
2407
|
chars.pop()
|
|
@@ -2356,10 +2410,10 @@ class WebsyForm {
|
|
|
2356
2410
|
}
|
|
2357
2411
|
}
|
|
2358
2412
|
if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2359
|
-
let isNumeric = !isNaN(event.
|
|
2413
|
+
let isNumeric = !isNaN(+event.data)
|
|
2360
2414
|
let validKey = false
|
|
2361
2415
|
if (!validKey) {
|
|
2362
|
-
validKey = ['
|
|
2416
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1
|
|
2363
2417
|
}
|
|
2364
2418
|
if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2365
2419
|
event.preventDefault()
|
|
@@ -2367,10 +2421,10 @@ class WebsyForm {
|
|
|
2367
2421
|
}
|
|
2368
2422
|
}
|
|
2369
2423
|
}
|
|
2370
|
-
|
|
2424
|
+
handleInput (event) {
|
|
2371
2425
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2372
2426
|
let chars = event.target.value.split('')
|
|
2373
|
-
let isNumeric = !isNaN(event.
|
|
2427
|
+
let isNumeric = !isNaN(+event.data)
|
|
2374
2428
|
if (event.key === 'Backspace') {
|
|
2375
2429
|
if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2376
2430
|
chars.pop()
|
|
@@ -2379,7 +2433,7 @@ class WebsyForm {
|
|
|
2379
2433
|
}
|
|
2380
2434
|
}
|
|
2381
2435
|
if (event.target.selectionStart === 2) {
|
|
2382
|
-
if (chars[2] && ['
|
|
2436
|
+
if (chars[2] && ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) === -1) {
|
|
2383
2437
|
event.target.setSelectionRange(3, 3)
|
|
2384
2438
|
}
|
|
2385
2439
|
else if (isNumeric) {
|
package/dist/websy-designs.js
CHANGED
|
@@ -2511,6 +2511,8 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2511
2511
|
// }
|
|
2512
2512
|
el.addEventListener('change', this.handleChange.bind(this));
|
|
2513
2513
|
el.addEventListener('click', this.handleClick.bind(this));
|
|
2514
|
+
el.addEventListener('beforeinput', this.handleBeforeInput.bind(this));
|
|
2515
|
+
el.addEventListener('input', this.handleInput.bind(this));
|
|
2514
2516
|
el.addEventListener('focusout', this.handleFocusOut.bind(this));
|
|
2515
2517
|
el.addEventListener('keyup', this.handleKeyUp.bind(this));
|
|
2516
2518
|
el.addEventListener('keydown', this.handleKeyDown.bind(this));
|
|
@@ -2623,16 +2625,70 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2623
2625
|
}, {
|
|
2624
2626
|
key: "handleKeyDown",
|
|
2625
2627
|
value: function handleKeyDown(event) {
|
|
2626
|
-
if (event.key === 'enter') {
|
|
2628
|
+
if (event.key === 'enter' && this.options.submitOnEnter === true) {
|
|
2627
2629
|
this.submitForm();
|
|
2628
|
-
}
|
|
2630
|
+
} // if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2631
|
+
// let isNumeric = !isNaN(event.key)
|
|
2632
|
+
// let validKey = false
|
|
2633
|
+
// if (!validKey) {
|
|
2634
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2635
|
+
// }
|
|
2636
|
+
// if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2637
|
+
// event.preventDefault()
|
|
2638
|
+
// return false
|
|
2639
|
+
// }
|
|
2640
|
+
// if (event.key === 'Backspace') {
|
|
2641
|
+
// if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2642
|
+
// let chars = event.target.value.split('')
|
|
2643
|
+
// chars.pop()
|
|
2644
|
+
// event.target.value = chars.join('')
|
|
2645
|
+
// }
|
|
2646
|
+
// }
|
|
2647
|
+
// }
|
|
2648
|
+
// if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2649
|
+
// let isNumeric = !isNaN(event.key)
|
|
2650
|
+
// let validKey = false
|
|
2651
|
+
// if (!validKey) {
|
|
2652
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2653
|
+
// }
|
|
2654
|
+
// if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2655
|
+
// event.preventDefault()
|
|
2656
|
+
// return false
|
|
2657
|
+
// }
|
|
2658
|
+
// }
|
|
2629
2659
|
|
|
2660
|
+
}
|
|
2661
|
+
}, {
|
|
2662
|
+
key: "handleKeyUp",
|
|
2663
|
+
value: function handleKeyUp(event) {// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2664
|
+
// let chars = event.target.value.split('')
|
|
2665
|
+
// let isNumeric = !isNaN(event.key)
|
|
2666
|
+
// if (event.key === 'Backspace') {
|
|
2667
|
+
// if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2668
|
+
// chars.pop()
|
|
2669
|
+
// event.target.value = chars.join('')
|
|
2670
|
+
// return
|
|
2671
|
+
// }
|
|
2672
|
+
// }
|
|
2673
|
+
// if (event.target.selectionStart === 2) {
|
|
2674
|
+
// if (chars[2] && ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete'].indexOf(event.key) === -1) {
|
|
2675
|
+
// event.target.setSelectionRange(3, 3)
|
|
2676
|
+
// }
|
|
2677
|
+
// else if (isNumeric) {
|
|
2678
|
+
// event.target.value += '/'
|
|
2679
|
+
// }
|
|
2680
|
+
// }
|
|
2681
|
+
// }
|
|
2682
|
+
}
|
|
2683
|
+
}, {
|
|
2684
|
+
key: "handleBeforeInput",
|
|
2685
|
+
value: function handleBeforeInput(event) {
|
|
2630
2686
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2631
|
-
var isNumeric = !isNaN(event.
|
|
2687
|
+
var isNumeric = !isNaN(+event.data);
|
|
2632
2688
|
var validKey = false;
|
|
2633
2689
|
|
|
2634
2690
|
if (!validKey) {
|
|
2635
|
-
validKey = ['
|
|
2691
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1;
|
|
2636
2692
|
}
|
|
2637
2693
|
|
|
2638
2694
|
if (event.target.value.length === 5 && !validKey || !validKey && !isNumeric) {
|
|
@@ -2640,7 +2696,7 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2640
2696
|
return false;
|
|
2641
2697
|
}
|
|
2642
2698
|
|
|
2643
|
-
if (event.
|
|
2699
|
+
if (event.inputType === 'deleteContentBackward') {
|
|
2644
2700
|
if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2645
2701
|
var chars = event.target.value.split('');
|
|
2646
2702
|
chars.pop();
|
|
@@ -2650,12 +2706,12 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2650
2706
|
}
|
|
2651
2707
|
|
|
2652
2708
|
if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2653
|
-
var _isNumeric = !isNaN(event.
|
|
2709
|
+
var _isNumeric = !isNaN(+event.data);
|
|
2654
2710
|
|
|
2655
2711
|
var _validKey = false;
|
|
2656
2712
|
|
|
2657
2713
|
if (!_validKey) {
|
|
2658
|
-
_validKey = ['
|
|
2714
|
+
_validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1;
|
|
2659
2715
|
}
|
|
2660
2716
|
|
|
2661
2717
|
if (event.target.value.length === 3 && !_validKey || !_validKey && !_isNumeric) {
|
|
@@ -2665,11 +2721,11 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2665
2721
|
}
|
|
2666
2722
|
}
|
|
2667
2723
|
}, {
|
|
2668
|
-
key: "
|
|
2669
|
-
value: function
|
|
2724
|
+
key: "handleInput",
|
|
2725
|
+
value: function handleInput(event) {
|
|
2670
2726
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2671
2727
|
var chars = event.target.value.split('');
|
|
2672
|
-
var isNumeric = !isNaN(event.
|
|
2728
|
+
var isNumeric = !isNaN(+event.data);
|
|
2673
2729
|
|
|
2674
2730
|
if (event.key === 'Backspace') {
|
|
2675
2731
|
if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
@@ -2680,7 +2736,7 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2680
2736
|
}
|
|
2681
2737
|
|
|
2682
2738
|
if (event.target.selectionStart === 2) {
|
|
2683
|
-
if (chars[2] && ['
|
|
2739
|
+
if (chars[2] && ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) === -1) {
|
|
2684
2740
|
event.target.setSelectionRange(3, 3);
|
|
2685
2741
|
} else if (isNumeric) {
|
|
2686
2742
|
event.target.value += '/';
|