Perbaikan monitoring pasien ambulans 119
This commit is contained in:
+51
-21
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user