Cetaklabel/Resources/views/app/document/_table.blade.php

455 lines
18 KiB
PHP

<!--begin::Table-->
{{ $dataTable->table() }}
<!--end::Table-->
{{-- Inject Scripts --}}
@section('scripts')
<script>
$(function() {
var keterangan = "";
window.LaravelDataTables = window.LaravelDataTables || {};
window.LaravelDataTables["document-table"] = $("#document-table").DataTable({
"serverSide": true,
"processing": true,
"ajax": {
"url": "{{ route('document.index') }}",
"type": "GET",
"data": function(data) {
for (var i = 0, len = data.columns.length; i < len; i++) {
if (!data.columns[i].search.value) delete data.columns[i].search;
if (data.columns[i].searchable === true) delete data.columns[i].searchable;
if (data.columns[i].orderable === true) delete data.columns[i].orderable;
if (data.columns[i].data === data.columns[i].name) delete data.columns[i].name;
}
delete data.search.regex;
data.tanggalawal = $('#tanggalawal').val();
data.tanggalakhir = $('#tanggalakhir').val();
}
},
"columns": [{
"data": "DT_RowIndex",
"name": "DT_RowIndex",
"title": "No",
"orderable": false,
"searchable": false
}, {
"data": "kode",
"name": "kode",
"title": "Kode File",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "kode_dus",
"name": "kode_dus",
"title": "Kode Dus",
"orderable": true,
"searchable": true
}, {
"data": "kode_odner",
"name": "kode_odner",
"title": "Kode Odner",
"orderable": true,
"searchable": true
}, {
"data": "kategori",
"name": "kategori",
"title": "Kategori",
"orderable": true,
"searchable": true
}, {
"data": "nomor_dokumen",
"name": "nomor_dokumen",
"title": "Nomor Dokumen",
"orderable": true,
"searchable": true
}, {
"data": "tanggal_dokumen",
"name": "tanggal_dokumen",
"title": "Tanggal Dokumen",
"orderable": true,
"searchable": true
}, {
"data": "jumlah_halaman",
"name": "jumlah_halaman",
"title": "Jumlah Halaman",
"orderable": true,
"searchable": true
}, {
"data": "tanggal_approve",
"name": "tanggal_approve",
"title": "Tanggal Approve",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "approved_by",
"name": "approved_by",
"title": "Approved By",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "directorat",
"name": "directorat",
"title": "Direktorat",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "sub_directorat",
"name": "sub_directorat",
"title": "Sub Direktorat",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "job",
"name": "job",
"title": "Jenis Pekerjaan",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "sub_job",
"name": "sub_job",
"title": "Sub Jenis Pekerjaan",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "sub_sub_job",
"name": "sub_sub_job",
"title": "Sub Sub Jenis Pekerjaan",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "tanggal_upload",
"name": "tanggal_upload",
"title": "Tanggal Upload",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "perihal",
"name": "perihal",
"title": "Perihal",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "keterangan",
"name": "keterangan",
"title": "Keterangan",
"orderable": true,
"searchable": true,
"className": "none"
}, {
"data": "status",
"name": "status",
"title": "Status",
"orderable": false,
"searchable": false
}, {
"data": "action",
"name": "action",
"title": "Action",
"orderable": false,
"searchable": false,
"className": "text-right"
}],
"stateSave": false,
"responsive": true,
"autoWidth": true,
"order": [
[1, "desc"]
],
"scrollX": true,
"drawCallback": function() {
KTMenu.createInstances();
}
});
})
</script>
@endsection
@push('customscript')
@php
$route = explode('.', Route::currentRouteName());
@endphp
<script>
$("#searchbox").on("keyup search input paste cut", function () {
LaravelDataTables["{{$route[0]}}-table"].search(this.value).draw();
});
$("#tanggalawal").on("change", function () {
LaravelDataTables["{{$route[0]}}-table"].search($("#searchbox").val()).draw();
});
$("#tanggalakhir").on("change", function () {
LaravelDataTables["{{$route[0]}}-table"].search($("#searchbox").val()).draw();
});
$(function () {
const documentTitle = '{{ ucfirst($route[0]) }} Report';
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["{{$route[0]}}-table"], {
buttons: [
{
extend: 'copyHtml5',
title: documentTitle
},
{
extend: 'excelHtml5',
title: documentTitle
},
{
extend: 'csvHtml5',
title: documentTitle
},
{
extend: 'pdfHtml5',
title: documentTitle
},
{
extend: 'print',
title: documentTitle
}
]
}).container().appendTo($('#kt_datatable_example_buttons'));
// Hook dropdown menu click event to datatable export buttons
const exportButtons = document.querySelectorAll('#kt_datatable_example_export_menu [data-kt-export]');
exportButtons.forEach(exportButton => {
exportButton.addEventListener('click', e => {
e.preventDefault();
// Get clicked export value
const exportValue = e.target.getAttribute('data-kt-export');
const target = document.querySelector('.dt-buttons .buttons-' + exportValue);
// Trigger click event on hidden datatable export buttons
target.click();
});
});
LaravelDataTables["{{$route[0]}}-table"].on('click', '.btn-download', function (event) {
var form = $(this).closest("a");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "Request download file?",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "GET",
url: form.attr('href'),// serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} menunggu approval untuk mencetak dokumen.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.btn-aktif', function (event) {
var form = $(this).closest("a");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
html: "Apakah Anda Akan Menonaktifkan Dokumen Ini!<br>Alasan Penonaktifan :",
icon: 'warning',
input: 'text',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes!',
preConfirm: (keterangan) => {
if (!keterangan) {
Swal.showValidationMessage(
`Alasan Penonaktifan Wajib Diisi`
)
} else {
this.keterangan = keterangan
}
}
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "GET",
url: form.attr('href'),
data: {keterangan:this.keterangan}, // serializes the form's elements.
success: function (data) {
toastr.success('Menunggu Approval untuk menonaktifkan Dokumen.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.approve-download', function (event) {
var form = $(this).closest("a");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "Approve download file?",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "GET",
url: form.attr('href'),// serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} Approval Download Berhasil.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.btn-approve-aktif', function (event) {
var form = $(this).closest("a");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "Anda Akan Mengijinkan Menonaktifkan Dokumen Ini?",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "GET",
url: form.attr('href'),// serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} Approval Penonaktifan Dokumen Berhasil.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.delete', function (event) {
var form = $(this).closest("form");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
html: "Apakah Anda Akan Menghapus Dokumen Ini!<br>Alasan Penghapusan :",
icon: 'warning',
input: 'text',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes!',
preConfirm: (keterangan) => {
if (!keterangan) {
Swal.showValidationMessage(
`Alasan Penghapusan Wajib Diisi`
)
} else {
this.keterangan = keterangan
}
}
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(), // serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} Menunggu Approval untuk menghapus Dokumen.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.approvedelete', function (event) {
var form = $(this).closest("form");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
html: "Apakah Anda Akan Mengijinkan Menghapus Dokumen Ini!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes!',
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(), // serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} Menunggu Approval Tingkat 2 untuk menghapus Dokumen.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
LaravelDataTables["{{$route[0]}}-table"].on('click', '.approveddelete', function (event) {
var form = $(this).closest("form");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
html: "Apakah Anda Akan Menghapus Dokumen Ini!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes!',
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(), // serializes the form's elements.
success: function (data) {
toastr.success('{{ucfirst($route[0])}} Sukses menghapus Dokumen.', 'Success!', {timeOut: 5000});
LaravelDataTables["{{$route[0]}}-table"].draw();
}
});
}
})
})
})
</script>
@endpush
@section('styles')
<style>
.dataTables_filter {
display: none;
}
</style>
@endsection