Perbaikan monitoring pasien ambulans 119

This commit is contained in:
2026-08-08 11:32:48 +07:00
parent 44d929e8fe
commit a287885db2
13 changed files with 1494 additions and 57 deletions
+51 -21
View File
@@ -334,7 +334,7 @@ body{
opacity: .55;
transform: scale(.98);
filter: blur(.2px);
transition: all .4s ease;
transition: all .30s ease;
}
/* supaya masih enak dibaca */
@@ -525,7 +525,7 @@ foreach ($pasien as $p) {
</div>
</div>
<script>
function updateTime(){
function updateTime() {
const now = new Date();
const time = now.toLocaleTimeString('id-ID', {
@@ -549,31 +549,61 @@ setInterval(updateTime, 1000);
updateTime();
let idleTime = 0;
let panel = document.getElementById("autoPanel");
// ============================================
// PERTAHANKAN ACCORDION SETELAH AUTO REFRESH
// ============================================
// reset kalau user aktif
function resetIdle(){
idleTime = 0;
panel.classList.remove("minimized");
}
document.addEventListener('DOMContentLoaded', function () {
// event user aktif
document.addEventListener("mousemove", resetIdle);
document.addEventListener("click", resetIdle);
document.addEventListener("keydown", resetIdle);
document.addEventListener("scroll", resetIdle);
// Ambil ID pasien yang terakhir dibuka
const savedCollapse = localStorage.getItem('pasienAktifCollapse');
// timer idle
setInterval(() => {
idleTime++;
if (savedCollapse) {
// 10 detik tidak aktif → minimize
if(idleTime >= 10){
panel.classList.add("minimized");
const target = document.getElementById(savedCollapse);
if (target) {
const button = document.querySelector(
'[data-bs-target="#' + savedCollapse + '"]'
);
target.classList.add('show');
if (button) {
button.classList.remove('collapsed');
button.setAttribute('aria-expanded', 'true');
}
}
}
}, 1000);
// Simpan pasien yang sedang dibuka
document.querySelectorAll('.accordion-collapse').forEach(function (collapse) {
collapse.addEventListener('shown.bs.collapse', function () {
localStorage.setItem(
'pasienAktifCollapse',
this.id
);
console.log('🟢 SIMPAN PASIEN:', this.id);
});
collapse.addEventListener('hidden.bs.collapse', function () {
if (
localStorage.getItem('pasienAktifCollapse') === this.id
) {
localStorage.removeItem('pasienAktifCollapse');
}
console.log('🔴 TUTUP PASIEN:', this.id);
});
});
});
</script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>