This commit is contained in:
Saufi
2026-06-03 08:51:22 +08:00
commit a14d43fe34
347 changed files with 38197 additions and 0 deletions

52
resources/js/app.js Normal file
View File

@@ -0,0 +1,52 @@
import * as bootstrap from 'bootstrap';
import DataTable from 'datatables.net-bs5';
import 'datatables.net-responsive-bs5';
import flatpickr from 'flatpickr';
import $ from 'jquery';
import Swal from 'sweetalert2';
import TomSelect from 'tom-select';
window.$ = window.jQuery = $;
window.bootstrap = bootstrap;
window.DataTable = DataTable;
window.flatpickr = flatpickr;
window.Swal = Swal;
window.TomSelect = TomSelect;
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('[data-confirm]').forEach((form) => {
form.addEventListener('submit', (event) => {
event.preventDefault();
Swal.fire({
title: form.dataset.confirmTitle || 'Sahkan tindakan',
text: form.dataset.confirmText || 'Tindakan ini akan direkodkan.',
icon: 'warning',
showCancelButton: true,
confirmButtonText: form.dataset.confirmButton || 'Ya, teruskan',
cancelButtonText: 'Batal',
confirmButtonColor: '#123c69',
}).then((result) => {
if (result.isConfirmed) {
form.submit();
}
});
});
});
document.querySelectorAll('[data-flatpickr]').forEach((input) => {
flatpickr(input, {
enableTime: input.dataset.enableTime === 'true',
dateFormat: input.dataset.dateFormat || 'Y-m-d',
});
});
document.querySelectorAll('[data-tom-select]').forEach((select) => {
new TomSelect(select, {
create: false,
plugins: ['dropdown_input'],
});
});
});