halaman-psikolog #1
|
|
@ -99,6 +99,7 @@
|
|||
<script>
|
||||
let idHapus = null;
|
||||
let tableData = null;
|
||||
let ws = null;
|
||||
|
||||
function fetchRowData() {
|
||||
if(tableData != null) {
|
||||
|
|
@ -124,6 +125,27 @@ function getDataInfo(btn) {
|
|||
});
|
||||
}
|
||||
|
||||
function getDataDownload(btn) {
|
||||
let idShow = btn.getAttribute('data-id');
|
||||
Swal.fire({
|
||||
title: 'Alert',
|
||||
icon: 'question',
|
||||
text: 'Apakah Anda ingin mendownload hasil dari data ini?',
|
||||
confirmButtonText: 'Ya',
|
||||
cancelButtonText: 'Tidak',
|
||||
showCancelButton: true,
|
||||
showCloseButton: true,
|
||||
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
ws.send(JSON.stringify({
|
||||
'type': 'download_hasil_tes',
|
||||
'id_test_sessions': idShow
|
||||
}));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getDataHapus(btn) {
|
||||
idHapus = btn.getAttribute('data-id');
|
||||
let urlShow = '{{ route('hasil_tes.show', ['__ID__']) }}';
|
||||
|
|
@ -208,6 +230,9 @@ function hapusData() {
|
|||
<a class="btn btn-info btn-sm rounded-circle mx-1 text-light" onclick="getDataInfo(this)" data-id="${data.id_test_session}">
|
||||
<i class="ti ti-file-info"></i>
|
||||
</a>
|
||||
<button class="btn btn-sm btn-success rounded-circle mx-1" data-bs-toggle="modal" data-bs-target="#downloadModal" onclick="getDataDownload(this)" data-id="${data.id_test_session}">
|
||||
<i class="ti ti-download"></i>
|
||||
</button>
|
||||
<button class="btn btn-sm btn-danger delete-btn rounded-circle mx-1" data-bs-toggle="modal" data-bs-target="#deleteModal" onclick="getDataHapus(this)" data-id="${data.id_test_session}">
|
||||
<i class="ti ti-trash"></i>
|
||||
</button>
|
||||
|
|
@ -217,6 +242,42 @@ function hapusData() {
|
|||
},
|
||||
]
|
||||
});
|
||||
|
||||
console.log("Connecting to WebSocket...");
|
||||
ws = new WebSocket("{{ env('WEBSOCKET_URL') }}");
|
||||
ws.onopen = function() {
|
||||
console.log("WebSocket connection established.");
|
||||
};
|
||||
ws.onmessage = function(event) {
|
||||
const data = JSON.parse(event.data);
|
||||
if(data.type === 'download_hasil_tes_response') {
|
||||
if(data.data != null) {
|
||||
console.log(data)
|
||||
const blob = new Blob([JSON.stringify(data.data)], { type: 'text/plain;charset=utf-8' });
|
||||
const link = document.createElement('a');
|
||||
const url = URL.createObjectURL(blob);
|
||||
|
||||
link.href = url;
|
||||
link.download = `hasil_tes_${data.id_test_sessions}.json`;
|
||||
link.style.display = 'none';
|
||||
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
Swal.fire({
|
||||
title: 'Sukses',
|
||||
text: 'Hasil tes berhasil didownload!',
|
||||
icon: 'success'
|
||||
});
|
||||
} else {
|
||||
Swal.fire({
|
||||
title: 'Error',
|
||||
text: 'Gagal mendownload hasil tes.',
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
Loading…
Reference in New Issue