Convert exercise/person search on settings page to hyperscript
This commit is contained in:
@@ -37,7 +37,10 @@
|
||||
</div>
|
||||
<input type="search" id="people-search"
|
||||
class="block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
||||
placeholder="Search users...">
|
||||
placeholder="Search users..." _="on input
|
||||
show <tbody>tr/> in closest <table/>
|
||||
when its textContent.toLowerCase() contains my value.toLowerCase()
|
||||
">
|
||||
|
||||
</div>
|
||||
</th>
|
||||
@@ -50,25 +53,6 @@
|
||||
name=p['Name'])}}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<script>
|
||||
(function () {
|
||||
let searchInput = document.querySelector('#people-search')
|
||||
|
||||
let rows = Array.from(document.querySelectorAll('#new-person tr'))
|
||||
|
||||
searchInput.addEventListener("input", e => {
|
||||
rows.filter(r => predicate(r, e.target.value)).forEach(r => {
|
||||
r.classList.remove('hidden')
|
||||
})
|
||||
|
||||
rows.filter(r => !predicate(r, e.target.value)).forEach(r => {
|
||||
r.classList.add('hidden')
|
||||
})
|
||||
});
|
||||
|
||||
let predicate = (row, text) => row.querySelector('td').innerText.toLowerCase().includes(text.toLowerCase())
|
||||
})();
|
||||
</script>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -143,7 +127,10 @@
|
||||
</div>
|
||||
<input type="search" id="exercise-search"
|
||||
class="block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
||||
placeholder="Search exercises...">
|
||||
placeholder="Search exercises..." _="on input
|
||||
show <tbody>tr/> in closest <table/>
|
||||
when its textContent.toLowerCase() contains my value.toLowerCase()
|
||||
">
|
||||
|
||||
</div>
|
||||
</th>
|
||||
@@ -156,25 +143,6 @@
|
||||
name=e['Name'])}}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
<script>
|
||||
(function () {
|
||||
let searchInput = document.querySelector('#exercise-search')
|
||||
|
||||
let rows = Array.from(document.querySelectorAll('#new-exercise tr'))
|
||||
|
||||
searchInput.addEventListener("input", e => {
|
||||
rows.filter(r => predicate(r, e.target.value)).forEach(r => {
|
||||
r.classList.remove('hidden')
|
||||
})
|
||||
|
||||
rows.filter(r => !predicate(r, e.target.value)).forEach(r => {
|
||||
r.classList.add('hidden')
|
||||
})
|
||||
});
|
||||
|
||||
let predicate = (row, text) => row.querySelector('td').innerText.toLowerCase().includes(text.toLowerCase())
|
||||
})();
|
||||
</script>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user