Cetaklabel/Resources/views/app/cardboard-detail/_list.blade.php

184 lines
6.6 KiB
PHP
Raw Normal View History

2023-07-20 02:42:53 +00:00
<!--begin::Table-->
2023-06-14 10:50:29 +00:00
{{ $dataTable->table() }}
<!--end::Table-->
{{-- Inject Scripts --}}
@section('scripts')
{{ $dataTable->scripts() }}
@endsection
@push('customscript')
@php
$route = explode('.', Route::currentRouteName());
@endphp
<script>
$("#searchbox").on("keyup search input paste cut", function () {
LaravelDataTables["cardboard-odner-table"].search(this.value).draw();
});
2023-07-20 02:42:53 +00:00
var selected = [];
2023-07-07 00:57:32 +00:00
function arrayCompare(a1, a2) {
if (a1.length != a2.length) return false;
var length = a2.length;
for (var i = 0; i < length; i++) {
if (a1[i] !== a2[i]) return false;
}
return true;
}
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(typeof haystack[i] == 'object') {
if(arrayCompare(haystack[i], needle)) return true;
} else {
if(haystack[i] == needle) return true;
}
}
return false;
}
2023-06-14 10:50:29 +00:00
$(function () {
const documentTitle = '{{ ucfirst($route[0]) }} Report';
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["cardboard-odner-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();
console.log(e.target.getAttribute('data-kt-export'));
// 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["cardboard-odner-table"].on('click', '.delete', function (event) {
var form = $(this).closest("form");
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize(), // serializes the form's elements.
success: function (data) {
2023-07-20 02:42:53 +00:00
toastr.success(data.message, 'Success!', {timeOut: 5000});
Swal.fire({
title: 'Success!',
text: "Data berhasil di hapus, menunggu Approval",
icon: 'success',
confirmButtonText: 'Ok'
});
2023-06-14 10:50:29 +00:00
LaravelDataTables["{{$route[0]}}-table"].ajax.reload();
}
});
}
})
})
2023-06-15 09:41:25 +00:00
var current_odner = parseInt($("#current_odner").val());
LaravelDataTables["cardboard-odner-table"].on('click', '.form-check-input', function (event) {
if($(this).is(':checked')){
selected.push($(this).val());
2023-07-20 02:42:53 +00:00
current_odner = current_odner + 1;
2023-06-15 09:41:25 +00:00
}else{
selected.splice(selected.indexOf($(this).val()), 1);
2023-07-20 02:42:53 +00:00
current_odner = current_odner - 1;
2023-06-15 09:41:25 +00:00
}
if(selected.length > 0) {
2023-07-20 02:42:53 +00:00
if(current_odner > 5) {
2023-06-15 09:41:25 +00:00
$("#save-odner").hide();
Swal.fire({
text: "Odner More Than 5, Please Select 5 Odner or Less",
icon: 'warning'});
}else{
$("#save-odner").show();
}
} else {
$("#save-odner").hide();
}
$("#document_id").val(selected);
})
2023-07-07 00:57:32 +00:00
//JSON.parse($('#odners').val())
2023-06-14 10:50:29 +00:00
})
2023-07-07 00:57:32 +00:00
/* $(document).load(function(){
$.each($('.odner-check'),function(index,value){
console.log(value)
})
})*/
$(window).on('load', function(){
// Assuming the checkboxes have unique IDs and their values match the array elements
var selectedValues = JSON.parse($('#odners').val());
2023-07-20 02:42:53 +00:00
Object.keys(selectedValues).forEach(key => {
const value = selectedValues[key];
selected.push(`${value}`);
});
$("#document_id").val(selected);
2023-07-07 00:57:32 +00:00
// Get the checkboxes by class name
var checkboxes = document.getElementsByClassName('odner-check');
// Loop through the checkboxes
for (var i = 0; i < checkboxes.length; i++) {
var checkbox = checkboxes[i];
if(inArray(checkbox.value, selectedValues)) {
checkbox.checked = true;
}
}
} )
2023-06-14 10:50:29 +00:00
</script>
@endpush
@section('styles')
<style>
.dataTables_filter {
display: none;
}
</style>
@endsection