Skip to content

Commit 79fb015

Browse files
committed
Add basic demo
1 parent 7cb6e4b commit 79fb015

File tree

1 file changed

+64
-2
lines changed

1 file changed

+64
-2
lines changed

demo/index.html

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,74 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<script type="module" src="../error-handling-element.js"></script>
6+
<link rel="stylesheet" type="text/css" href="../css/util.css">
7+
8+
<script type="module">
9+
import {ErrorHandlingElement} from "../src/error-handling-element.js"
10+
import {clearErrorListsInForm} from "../src/rendering.js"
11+
12+
class CustomErrorHandleElement extends ErrorHandlingElement {
13+
connectedCallback() {
14+
super.connectedCallback()
15+
16+
this.form.addEventListener(`submit`, (event) => {
17+
if(!event.defaultPrevented){
18+
event.preventDefault()
19+
clearErrorListsInForm(this.form)
20+
console.debug(event)
21+
document.getElementById(`easy-console`).value += "Submit successful\n"
22+
}
23+
})
24+
}
25+
}
26+
27+
if (!window.customElements.get('custom-error-handling')) {
28+
window.customElements.define('custom-error-handling', CustomErrorHandleElement);
29+
}
30+
</script>
31+
32+
<style>
33+
form {
34+
border: 1px solid blue;
35+
padding: 1em;
36+
}
37+
38+
[data-error-container] {
39+
border: 1px solid red;
40+
}
41+
</style>
42+
743
<title></title>
844
</head>
945
<body>
1046
<h1>Hello</h1>
1147

12-
<pf-error-handling></pf-error-handling>
48+
<custom-error-handling>
49+
<form id="test-form" aria-describedby='test-form-error-container'>
50+
<input type="email" id="email-field" aria-describedby="email-field-errors" minlength="4">
51+
<section id="email-field-errors" data-error-container>
52+
<ul>
53+
<li data-visible data-error-type="error_1">ad-hoc error message 1</li>
54+
<li data-preserve data-error-type="tooShort">Custom Preserved Error: Must be at least 4 characters</li>
55+
</ul>
56+
</section>
57+
58+
<section id="test-form-error-container" data-error-container>
59+
<h2>Form Errors</h2>
60+
<ul>
61+
<li data-visible data-error-type="error_2">ad-hoc error message 2</li>
62+
<li data-visible data-preserve data-error-type="error_3">Preserved Error</li>
63+
</ul>
64+
</section>
65+
66+
<button type="submit">Submit</button>
67+
</form>
68+
</custom-error-handling>
69+
70+
<textarea id="easy-console" readonly rows=20></textarea>
71+
72+
<template id="pf-error-list-item-template">
73+
<li><span>‼️</span> <span data-error-message></span></li>
74+
</template>
1375
</body>
1476
</html>

0 commit comments

Comments
 (0)