|
5 | 5 | <meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
6 | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
7 | 7 | <title>Aura</title>
|
8 |
| - <link rel="stylesheet" href="../packages/aura/aura.css"> |
| 8 | + <link rel="stylesheet" href="../packages/aura/aura.css" /> |
9 | 9 | <script type="module">
|
10 | 10 | window.Vaadin ||= {};
|
11 | 11 | window.Vaadin.featureFlags ||= {};
|
|
88 | 88 | return parts;
|
89 | 89 | };
|
90 | 90 |
|
91 |
| - customElements.define('mdl-back-button', class extends Button { |
92 |
| - connectedCallback() { |
93 |
| - super.connectedCallback(); |
94 |
| - this.setAttribute('theme', 'tertiary'); |
95 |
| - const icon = document.createElement('vaadin-icon'); |
96 |
| - icon.setAttribute('icon', 'lucide:arrow-back'); |
97 |
| - this.append(icon); |
98 |
| - this.addEventListener('click', () => { |
99 |
| - // TODO how to find the correct layout? |
100 |
| - this.closest('vaadin-master-detail-layout').parentNode.closest('vaadin-master-detail-layout')?._setDetail(null); |
101 |
| - }); |
102 |
| - } |
103 |
| - }); |
| 91 | + customElements.define( |
| 92 | + 'mdl-back-button', |
| 93 | + class extends Button { |
| 94 | + connectedCallback() { |
| 95 | + super.connectedCallback(); |
| 96 | + this.setAttribute('theme', 'tertiary'); |
| 97 | + const icon = document.createElement('vaadin-icon'); |
| 98 | + icon.setAttribute('icon', 'lucide:arrow-back'); |
| 99 | + this.append(icon); |
| 100 | + this.addEventListener('click', () => { |
| 101 | + // TODO how to find the correct layout? |
| 102 | + const inner = this.closest('vaadin-master-detail-layout'); |
| 103 | + const outer = inner.parentNode.closest('vaadin-master-detail-layout'); |
| 104 | + outer?._setDetail(null); |
| 105 | + }); |
| 106 | + } |
| 107 | + }, |
| 108 | + ); |
104 | 109 |
|
105 | 110 | // Fake navigation: prevent actual navigation, update 'current' item manually
|
106 |
| - document.querySelectorAll('vaadin-side-nav').forEach((nav) => nav.addEventListener('click', (e) => { |
107 |
| - const link = e.composedPath().find((el) => el.localName === 'a'); |
108 |
| - if (link) { |
109 |
| - e.preventDefault(); |
110 |
| - if (link.href) { |
111 |
| - link.getRootNode().host.closest('vaadin-side-nav').querySelectorAll('vaadin-side-nav-item').forEach((item) => item.removeAttribute('current')); |
112 |
| - const navItem = e.composedPath().find((el) => el.localName === 'vaadin-side-nav-item'); |
113 |
| - navItem.setAttribute('current', ''); |
| 111 | + document.querySelectorAll('vaadin-side-nav').forEach((nav) => |
| 112 | + nav.addEventListener('click', (e) => { |
| 113 | + const link = e.composedPath().find((el) => el.localName === 'a'); |
| 114 | + if (link) { |
| 115 | + e.preventDefault(); |
| 116 | + if (link.href) { |
| 117 | + link |
| 118 | + .getRootNode() |
| 119 | + .host.closest('vaadin-side-nav') |
| 120 | + .querySelectorAll('vaadin-side-nav-item') |
| 121 | + .forEach((item) => item.removeAttribute('current')); |
| 122 | + const navItem = e.composedPath().find((el) => el.localName === 'vaadin-side-nav-item'); |
| 123 | + navItem.setAttribute('current', ''); |
| 124 | + } |
114 | 125 | }
|
115 |
| - } |
116 |
| - })); |
| 126 | + }), |
| 127 | + ); |
117 | 128 | </script>
|
118 | 129 | </head>
|
119 | 130 | <body>
|
@@ -198,7 +209,8 @@ <h1>Aura</h1>
|
198 | 209 | <vaadin-side-nav-item path="/">
|
199 | 210 | <vaadin-icon icon="lucide:gear" slot="prefix"></vaadin-icon>
|
200 | 211 | <span>Settings</span>
|
201 |
| - </vaadin-side-nav-item><vaadin-side-nav-item path="/"> |
| 212 | + </vaadin-side-nav-item> |
| 213 | + <vaadin-side-nav-item path="/"> |
202 | 214 | <vaadin-icon icon="lucide:chat" slot="prefix"></vaadin-icon>
|
203 | 215 | <span>Support</span>
|
204 | 216 | <span theme="badge positive">Online</span>
|
@@ -244,11 +256,11 @@ <h3>My App</h3>
|
244 | 256 | <vaadin-text-field label="Image" value="my-app:latest"></vaadin-text-field>
|
245 | 257 | <vaadin-text-field label="Hostname" value="my-app.local">
|
246 | 258 | <span slot="prefix">https://</span>
|
247 |
| - </vaadin-text-field>: |
| 259 | + </vaadin-text-field> |
248 | 260 | <vaadin-text-field label="Port" value="8080"></vaadin-text-field>
|
249 | 261 | <vaadin-checkbox label="Secure Connection" checked></vaadin-checkbox>
|
250 | 262 | <vaadin-number-field label="Replicas" step-buttons-visible value="1"></vaadin-number-field>
|
251 |
| - <hr> |
| 263 | + <hr /> |
252 | 264 | <vaadin-checkbox-group label="Features">
|
253 | 265 | <vaadin-checkbox label="User Management" value="user-management" checked></vaadin-checkbox>
|
254 | 266 | <vaadin-checkbox label="Localization" value="localization"></vaadin-checkbox>
|
|
0 commit comments