@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.
|
@@ -2022,6 +2022,8 @@ class WebsyForm {
|
|
|
2022
2022
|
// }
|
|
2023
2023
|
el.addEventListener('change', this.handleChange.bind(this))
|
|
2024
2024
|
el.addEventListener('click', this.handleClick.bind(this))
|
|
2025
|
+
el.addEventListener('beforeinput', this.handleBeforeInput.bind(this))
|
|
2026
|
+
el.addEventListener('input', this.handleInput.bind(this))
|
|
2025
2027
|
el.addEventListener('focusout', this.handleFocusOut.bind(this))
|
|
2026
2028
|
el.addEventListener('keyup', this.handleKeyUp.bind(this))
|
|
2027
2029
|
el.addEventListener('keydown', this.handleKeyDown.bind(this))
|
|
@@ -2114,7 +2116,7 @@ class WebsyForm {
|
|
|
2114
2116
|
let index = event.target.getAttribute('data-index')
|
|
2115
2117
|
if (this.options.fields[index] && (this.options.fields[index].required || this.options.fields[index].validate)) {
|
|
2116
2118
|
this.validateField(this.options.fields[index], event.target.value)
|
|
2117
|
-
}
|
|
2119
|
+
}
|
|
2118
2120
|
}
|
|
2119
2121
|
}
|
|
2120
2122
|
handleClick (event) {
|
|
@@ -2136,20 +2138,72 @@ class WebsyForm {
|
|
|
2136
2138
|
}
|
|
2137
2139
|
}
|
|
2138
2140
|
handleKeyDown (event) {
|
|
2139
|
-
if (event.key === 'enter') {
|
|
2141
|
+
if (event.key === 'enter' && this.options.submitOnEnter === true) {
|
|
2140
2142
|
this.submitForm()
|
|
2141
2143
|
}
|
|
2144
|
+
// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2145
|
+
// let isNumeric = !isNaN(event.key)
|
|
2146
|
+
// let validKey = false
|
|
2147
|
+
// if (!validKey) {
|
|
2148
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2149
|
+
// }
|
|
2150
|
+
// if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2151
|
+
// event.preventDefault()
|
|
2152
|
+
// return false
|
|
2153
|
+
// }
|
|
2154
|
+
// if (event.key === 'Backspace') {
|
|
2155
|
+
// if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2156
|
+
// let chars = event.target.value.split('')
|
|
2157
|
+
// chars.pop()
|
|
2158
|
+
// event.target.value = chars.join('')
|
|
2159
|
+
// }
|
|
2160
|
+
// }
|
|
2161
|
+
// }
|
|
2162
|
+
// if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2163
|
+
// let isNumeric = !isNaN(event.key)
|
|
2164
|
+
// let validKey = false
|
|
2165
|
+
// if (!validKey) {
|
|
2166
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2167
|
+
// }
|
|
2168
|
+
// if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2169
|
+
// event.preventDefault()
|
|
2170
|
+
// return false
|
|
2171
|
+
// }
|
|
2172
|
+
// }
|
|
2173
|
+
}
|
|
2174
|
+
handleKeyUp (event) {
|
|
2175
|
+
// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2176
|
+
// let chars = event.target.value.split('')
|
|
2177
|
+
// let isNumeric = !isNaN(event.key)
|
|
2178
|
+
// if (event.key === 'Backspace') {
|
|
2179
|
+
// if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2180
|
+
// chars.pop()
|
|
2181
|
+
// event.target.value = chars.join('')
|
|
2182
|
+
// return
|
|
2183
|
+
// }
|
|
2184
|
+
// }
|
|
2185
|
+
// if (event.target.selectionStart === 2) {
|
|
2186
|
+
// if (chars[2] && ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete'].indexOf(event.key) === -1) {
|
|
2187
|
+
// event.target.setSelectionRange(3, 3)
|
|
2188
|
+
// }
|
|
2189
|
+
// else if (isNumeric) {
|
|
2190
|
+
// event.target.value += '/'
|
|
2191
|
+
// }
|
|
2192
|
+
// }
|
|
2193
|
+
// }
|
|
2194
|
+
}
|
|
2195
|
+
handleBeforeInput (event) {
|
|
2142
2196
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2143
|
-
let isNumeric = !isNaN(event.
|
|
2197
|
+
let isNumeric = !isNaN(+event.data)
|
|
2144
2198
|
let validKey = false
|
|
2145
2199
|
if (!validKey) {
|
|
2146
|
-
validKey = ['
|
|
2200
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1
|
|
2147
2201
|
}
|
|
2148
2202
|
if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2149
2203
|
event.preventDefault()
|
|
2150
2204
|
return false
|
|
2151
2205
|
}
|
|
2152
|
-
if (event.
|
|
2206
|
+
if (event.inputType === 'deleteContentBackward') {
|
|
2153
2207
|
if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2154
2208
|
let chars = event.target.value.split('')
|
|
2155
2209
|
chars.pop()
|
|
@@ -2158,10 +2212,10 @@ class WebsyForm {
|
|
|
2158
2212
|
}
|
|
2159
2213
|
}
|
|
2160
2214
|
if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2161
|
-
let isNumeric = !isNaN(event.
|
|
2215
|
+
let isNumeric = !isNaN(+event.data)
|
|
2162
2216
|
let validKey = false
|
|
2163
2217
|
if (!validKey) {
|
|
2164
|
-
validKey = ['
|
|
2218
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1
|
|
2165
2219
|
}
|
|
2166
2220
|
if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2167
2221
|
event.preventDefault()
|
|
@@ -2169,10 +2223,10 @@ class WebsyForm {
|
|
|
2169
2223
|
}
|
|
2170
2224
|
}
|
|
2171
2225
|
}
|
|
2172
|
-
|
|
2226
|
+
handleInput (event) {
|
|
2173
2227
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2174
2228
|
let chars = event.target.value.split('')
|
|
2175
|
-
let isNumeric = !isNaN(event.
|
|
2229
|
+
let isNumeric = !isNaN(+event.data)
|
|
2176
2230
|
if (event.key === 'Backspace') {
|
|
2177
2231
|
if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2178
2232
|
chars.pop()
|
|
@@ -2181,7 +2235,7 @@ class WebsyForm {
|
|
|
2181
2235
|
}
|
|
2182
2236
|
}
|
|
2183
2237
|
if (event.target.selectionStart === 2) {
|
|
2184
|
-
if (chars[2] && ['
|
|
2238
|
+
if (chars[2] && ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) === -1) {
|
|
2185
2239
|
event.target.setSelectionRange(3, 3)
|
|
2186
2240
|
}
|
|
2187
2241
|
else if (isNumeric) {
|
|
@@ -2276,6 +2276,8 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2276
2276
|
// }
|
|
2277
2277
|
el.addEventListener('change', this.handleChange.bind(this));
|
|
2278
2278
|
el.addEventListener('click', this.handleClick.bind(this));
|
|
2279
|
+
el.addEventListener('beforeinput', this.handleBeforeInput.bind(this));
|
|
2280
|
+
el.addEventListener('input', this.handleInput.bind(this));
|
|
2279
2281
|
el.addEventListener('focusout', this.handleFocusOut.bind(this));
|
|
2280
2282
|
el.addEventListener('keyup', this.handleKeyUp.bind(this));
|
|
2281
2283
|
el.addEventListener('keydown', this.handleKeyDown.bind(this));
|
|
@@ -2388,16 +2390,70 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2388
2390
|
}, {
|
|
2389
2391
|
key: "handleKeyDown",
|
|
2390
2392
|
value: function handleKeyDown(event) {
|
|
2391
|
-
if (event.key === 'enter') {
|
|
2393
|
+
if (event.key === 'enter' && this.options.submitOnEnter === true) {
|
|
2392
2394
|
this.submitForm();
|
|
2393
|
-
}
|
|
2395
|
+
} // if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2396
|
+
// let isNumeric = !isNaN(event.key)
|
|
2397
|
+
// let validKey = false
|
|
2398
|
+
// if (!validKey) {
|
|
2399
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2400
|
+
// }
|
|
2401
|
+
// if ((event.target.value.length === 5 && !validKey) || (!validKey && !isNumeric)) {
|
|
2402
|
+
// event.preventDefault()
|
|
2403
|
+
// return false
|
|
2404
|
+
// }
|
|
2405
|
+
// if (event.key === 'Backspace') {
|
|
2406
|
+
// if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2407
|
+
// let chars = event.target.value.split('')
|
|
2408
|
+
// chars.pop()
|
|
2409
|
+
// event.target.value = chars.join('')
|
|
2410
|
+
// }
|
|
2411
|
+
// }
|
|
2412
|
+
// }
|
|
2413
|
+
// if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2414
|
+
// let isNumeric = !isNaN(event.key)
|
|
2415
|
+
// let validKey = false
|
|
2416
|
+
// if (!validKey) {
|
|
2417
|
+
// validKey = ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].indexOf(event.key) !== -1
|
|
2418
|
+
// }
|
|
2419
|
+
// if ((event.target.value.length === 3 && !validKey) || (!validKey && !isNumeric)) {
|
|
2420
|
+
// event.preventDefault()
|
|
2421
|
+
// return false
|
|
2422
|
+
// }
|
|
2423
|
+
// }
|
|
2394
2424
|
|
|
2425
|
+
}
|
|
2426
|
+
}, {
|
|
2427
|
+
key: "handleKeyUp",
|
|
2428
|
+
value: function handleKeyUp(event) {// if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2429
|
+
// let chars = event.target.value.split('')
|
|
2430
|
+
// let isNumeric = !isNaN(event.key)
|
|
2431
|
+
// if (event.key === 'Backspace') {
|
|
2432
|
+
// if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
2433
|
+
// chars.pop()
|
|
2434
|
+
// event.target.value = chars.join('')
|
|
2435
|
+
// return
|
|
2436
|
+
// }
|
|
2437
|
+
// }
|
|
2438
|
+
// if (event.target.selectionStart === 2) {
|
|
2439
|
+
// if (chars[2] && ['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete'].indexOf(event.key) === -1) {
|
|
2440
|
+
// event.target.setSelectionRange(3, 3)
|
|
2441
|
+
// }
|
|
2442
|
+
// else if (isNumeric) {
|
|
2443
|
+
// event.target.value += '/'
|
|
2444
|
+
// }
|
|
2445
|
+
// }
|
|
2446
|
+
// }
|
|
2447
|
+
}
|
|
2448
|
+
}, {
|
|
2449
|
+
key: "handleBeforeInput",
|
|
2450
|
+
value: function handleBeforeInput(event) {
|
|
2395
2451
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2396
|
-
var isNumeric = !isNaN(event.
|
|
2452
|
+
var isNumeric = !isNaN(+event.data);
|
|
2397
2453
|
var validKey = false;
|
|
2398
2454
|
|
|
2399
2455
|
if (!validKey) {
|
|
2400
|
-
validKey = ['
|
|
2456
|
+
validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1;
|
|
2401
2457
|
}
|
|
2402
2458
|
|
|
2403
2459
|
if (event.target.value.length === 5 && !validKey || !validKey && !isNumeric) {
|
|
@@ -2405,7 +2461,7 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2405
2461
|
return false;
|
|
2406
2462
|
}
|
|
2407
2463
|
|
|
2408
|
-
if (event.
|
|
2464
|
+
if (event.inputType === 'deleteContentBackward') {
|
|
2409
2465
|
if (event.target.value.indexOf('/') === event.target.selectionStart - 1) {
|
|
2410
2466
|
var chars = event.target.value.split('');
|
|
2411
2467
|
chars.pop();
|
|
@@ -2415,12 +2471,12 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2415
2471
|
}
|
|
2416
2472
|
|
|
2417
2473
|
if (event.target.getAttribute('data-user-type') === 'cvv') {
|
|
2418
|
-
var _isNumeric = !isNaN(event.
|
|
2474
|
+
var _isNumeric = !isNaN(+event.data);
|
|
2419
2475
|
|
|
2420
2476
|
var _validKey = false;
|
|
2421
2477
|
|
|
2422
2478
|
if (!_validKey) {
|
|
2423
|
-
_validKey = ['
|
|
2479
|
+
_validKey = ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) !== -1;
|
|
2424
2480
|
}
|
|
2425
2481
|
|
|
2426
2482
|
if (event.target.value.length === 3 && !_validKey || !_validKey && !_isNumeric) {
|
|
@@ -2430,11 +2486,11 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2430
2486
|
}
|
|
2431
2487
|
}
|
|
2432
2488
|
}, {
|
|
2433
|
-
key: "
|
|
2434
|
-
value: function
|
|
2489
|
+
key: "handleInput",
|
|
2490
|
+
value: function handleInput(event) {
|
|
2435
2491
|
if (event.target.getAttribute('data-user-type') === 'expiry') {
|
|
2436
2492
|
var chars = event.target.value.split('');
|
|
2437
|
-
var isNumeric = !isNaN(event.
|
|
2493
|
+
var isNumeric = !isNaN(+event.data);
|
|
2438
2494
|
|
|
2439
2495
|
if (event.key === 'Backspace') {
|
|
2440
2496
|
if (chars[chars.length - 1] === '/' && chars.length !== 3) {
|
|
@@ -2445,7 +2501,7 @@ var WebsyForm = /*#__PURE__*/function () {
|
|
|
2445
2501
|
}
|
|
2446
2502
|
|
|
2447
2503
|
if (event.target.selectionStart === 2) {
|
|
2448
|
-
if (chars[2] && ['
|
|
2504
|
+
if (chars[2] && ['deleteContentBackward', 'deleteContentForward'].indexOf(event.inputType) === -1) {
|
|
2449
2505
|
event.target.setSelectionRange(3, 3);
|
|
2450
2506
|
} else if (isNumeric) {
|
|
2451
2507
|
event.target.value += '/';
|