@optionfactory/ful 6.0.3 → 6.0.4
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/dist/ful.iife.js +22 -7
- package/dist/ful.iife.js.map +1 -1
- package/dist/ful.iife.min.js +1 -1
- package/dist/ful.iife.min.js.map +1 -1
- package/dist/ful.min.mjs +1 -1
- package/dist/ful.min.mjs.map +1 -1
- package/dist/ful.mjs +22 -7
- package/dist/ful.mjs.map +1 -1
- package/package.json +5 -5
package/dist/ful.mjs
CHANGED
|
@@ -1356,7 +1356,7 @@ class Form extends ParsedElement {
|
|
|
1356
1356
|
form.addEventListener('submit', async (e) => {
|
|
1357
1357
|
e.preventDefault();
|
|
1358
1358
|
e.stopPropagation();
|
|
1359
|
-
await this.submit(e.submitter);
|
|
1359
|
+
await this.submit(e.submitter ?? undefined);
|
|
1360
1360
|
});
|
|
1361
1361
|
if (this.hasAttribute("clear-invalid-on-change")) {
|
|
1362
1362
|
this.addEventListener('change', (/** @type any */evt) => {
|
|
@@ -1377,19 +1377,20 @@ class Form extends ParsedElement {
|
|
|
1377
1377
|
const values = Bindings.extractFrom(this.form, submitter);
|
|
1378
1378
|
let request = await loader.prepare(values, this);
|
|
1379
1379
|
try {
|
|
1380
|
-
const se = new CustomEvent('submit', { bubbles: true, cancelable: true, detail: { values, request } });
|
|
1380
|
+
const se = new CustomEvent('submit', { bubbles: true, cancelable: true, detail: { submitter, values, request } });
|
|
1381
1381
|
if (!this.dispatchEvent(se)) {
|
|
1382
1382
|
return;
|
|
1383
1383
|
}
|
|
1384
|
-
|
|
1384
|
+
this.errors = [];
|
|
1385
|
+
const sre = new CustomEvent('submit:requested', { bubbles: true, cancelable: false, detail: { submitter, values: se.detail.values, request: se.detail.request} });
|
|
1385
1386
|
let response = await AsyncEvents.fireAsync(this, sre);
|
|
1386
1387
|
request = sre.detail.request;
|
|
1387
1388
|
|
|
1388
1389
|
response = await loader.submit(request, this, response);
|
|
1389
1390
|
const mapped = await loader.transform(response, this);
|
|
1390
|
-
this.dispatchEvent(new CustomEvent('submit:success', { bubbles: true, cancelable: false, detail: { values, request, response: mapped } }));
|
|
1391
|
+
this.dispatchEvent(new CustomEvent('submit:success', { bubbles: true, cancelable: false, detail: { submitter, values, request, response: mapped } }));
|
|
1391
1392
|
} catch (e) {
|
|
1392
|
-
this.dispatchEvent(new CustomEvent('submit:failure', { bubbles: true, cancelable: false, detail: { values, request, exception: e } }));
|
|
1393
|
+
this.dispatchEvent(new CustomEvent('submit:failure', { bubbles: true, cancelable: false, detail: { submitter, values, request, exception: e } }));
|
|
1393
1394
|
if (e instanceof Failure) {
|
|
1394
1395
|
this.errors = e.problems;
|
|
1395
1396
|
}
|
|
@@ -1470,7 +1471,21 @@ class Input extends ParsedElement {
|
|
|
1470
1471
|
this.required = observed.required;
|
|
1471
1472
|
this.value = observed.value;
|
|
1472
1473
|
}
|
|
1473
|
-
|
|
1474
|
+
this._input.addEventListener('input', (evt) => {
|
|
1475
|
+
const re = this.getAttribute('mask');
|
|
1476
|
+
if (!re) {
|
|
1477
|
+
return;
|
|
1478
|
+
}
|
|
1479
|
+
const before = evt.target.value;
|
|
1480
|
+
const after = before.replace(new RegExp(re, 'g'), '');
|
|
1481
|
+
if (before === after) {
|
|
1482
|
+
return;
|
|
1483
|
+
}
|
|
1484
|
+
const start = evt.target.selectionStart;
|
|
1485
|
+
const offset = before.length - after.length;
|
|
1486
|
+
evt.target.value = after;
|
|
1487
|
+
evt.target.setSelectionRange(start - offset, start - offset);
|
|
1488
|
+
});
|
|
1474
1489
|
this._input.addEventListener('change', (evt) => {
|
|
1475
1490
|
evt.stopPropagation();
|
|
1476
1491
|
this.dispatchEvent(new CustomEvent('change', {
|
|
@@ -1518,7 +1533,7 @@ class Input extends ParsedElement {
|
|
|
1518
1533
|
this.reflect(() => {
|
|
1519
1534
|
Attributes.toggle(this, 'required', d);
|
|
1520
1535
|
});
|
|
1521
|
-
}
|
|
1536
|
+
}
|
|
1522
1537
|
focus(options) {
|
|
1523
1538
|
this._input.focus(options);
|
|
1524
1539
|
}
|