Latihan 1 dari materi Indikator Loading di HTMX — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal punya tombol <button hx-get="/api/data">Load Data</button>, <span id="spinner">Loading...</span>, dan <div id="result">. Biarkan semuanya, lalu:
Tambahkan hx-target="#result" di tombol, supaya balasannya masuk ke #result, bukan mengganti tulisan tombolnya.
Tambahkan hx-indicator="#spinner" di tombol yang sama, supaya selama request berjalan class htmx-request dipasang di spinner itu.
Beri spinner class="htmx-indicator". CSS bawaan htmx menyembunyikannya saat diam dan memunculkannya selama request berjalan.
<span id="spinner"> punya class persis htmx-indicator, tanpa class lain.
Kodenya memuat hx-indicator dan htmx-indicator di luar komentar.
Di pratinjau, htmx menyembunyikan spinner ber-class htmx-indicator sampai ada request. Klik mengirim GET /api/data, yang dijawab 404 dengan cepat, jadi spinner-nya cuma berkedip. Mau melihatnya lebih lama? Tambahkan <template id="contoh-balasan" data-delay="1000"><p>Data siap</p></template>. Template itu gak dinilai.
Hint
Penanda loading gak perlu kamu sembunyikan sendiri. CSS bawaan htmx yang mengaturnya, asal class-nya ditulis persis, dan tombolnya tahu penanda mana yang dipakai.
Dua tambahan: di tombol, atribut hx-indicator berisi selector id spinner (dengan #). Di span, class htmx-indicator.