Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/langganan.fixmate.id/resources/views/ItemPaket/
Upload File :
Current File : /home/aplikasiposinfo/public_html/langganan.fixmate.id/resources/views/ItemPaket/script.blade.php

<script>
    // REFRESH FORM -Start-
    function refreshForm() {
        $('#addForm #paket_id').val('');
        $('#addForm #nama_item_paket').val('');
        $('#addForm #harga_item_paket').val('');
        $('#addForm #keterangan').val('');
        $('#addForm input[name="icon_item_paket"]').prop('checked', false);

    }
    // REFRESH FORM -End-

    // REFRESH TABLE -Start-

    function refreshTable(searchQuery) {
        var TableBody = $('#mainTable tbody');
        var currentPageUrl = '/getItemPaket?page=1';
        TableBody.html('<tr><td colspan="6" class="text-center">Memuat data...</td></tr>');

        $.ajax({
            url: currentPageUrl,
            type: 'GET',
            data: {
                search: searchQuery
            },
            cache: false,
            success: function(response) {
                if (response.status === 'success') {
                    TableBody.empty();
                    nextPageUrl = response.next_page_url || null;

                    $.each(response.data, function(index, item) {
                        console.log(item);
                        var row = `
                        <tr>
                            
                            <td><i class="bi bi-${item.icon_item?? '-'}"></i></td>
                            <td>${item.nama_item ?? '-'}</td>
                            <td>${item.harga_item ?? '-'}</td>
                            <td>${item.keterangan ?? '-'}</td>
                            <td>
                                <div>
                                    <button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
                                    data-bs-target="#modalEdit" data-id="${item.id}" 
                                    data-nama_item="${item.nama_item}" data-icon_item="${item.icon_item}"
                                    data-keterangan="${item.keterangan}" data-harga_item="${item.harga_item}"
                                    ><i class="bi bi-pencil-square"></i>
                                    </button>
                                    <button class="btn btn-danger delete-btn" data-id="${item.id}">
                                        <i class="bi bi-trash-fill"></i>
                                        </button>
                                        </div>
                                        </td>
                                        </tr>`;
                        TableBody.append(row);
                    });
                } else {
                    alert('Gagal memuat data: ' + response.errors);
                }
            },
            error: function(xhr) {

                console.log(xhr.response)

                TableBody.html('<tr><td colspan="6" class="text-center">Data Tidak Ditemukan!</td></tr>');

            },
            complete: function() {
                isLoading = false;
            }
        });
    }
    // REFRESH TABLE -End-


    //  LOAD DATA -Start-
    let nextPageUrl = '/getItemPaket?page=2'
    var isLoading = false;

    function loadData(searchQuery = '') {
        var TableBody = $('#mainTable tbody');

        if (!nextPageUrl || isLoading) return;

        isLoading = true;
        $.ajax({
            url: nextPageUrl,
            type: 'GET',
            data: {
                search: searchQuery
            },
            cache: false,
            success: function(response) {
                if (response.status === 'success') {
                    nextPageUrl = response.next_page_url || null;

                    $.each(response.data, function(index, item) {
                        var row = `
                        <tr>
                            
                            <td><i class="bi bi-${item.icon_item?? '-'}"></i></td>
                            <td>${item.nama_item ?? '-'}</td>
                            <td>${item.harga_item ?? '-'}</td>
                            <td>${item.keterangan ?? '-'}</td>
                            <td>
                                <div>
                                    <button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
                                    data-bs-target="#modalEdit" data-id="${item.id}" 
                                    data-nama_item="${item.nama_item}" data-icon_item="${item.icon_item}"
                                    data-keterangan="${item.keterangan}" data-harga_item="${item.harga_item}"
                                    ><i class="bi bi-pencil-square"></i>
                                    </button>
                                    <button class="btn btn-danger delete-btn" data-id="${item.id}">
                                        <i class="bi bi-trash-fill"></i>
                                        </button>
                                        </div>
                                        </td>
                                        </tr>`;
                        TableBody.append(row);
                    });
                } else {
                    alert('Gagal memuat data: ' + response.errors);
                }
            },
            error: function(xhr) {

                TableBody.html('<tr><td colspan="6" class="text-center">Data Tidak Ditemukan!</td></tr>');

            },
            complete: function() {
                isLoading = false;
            }
        });
    }
    // LOAD DATA -End-








    // LOAD DATA WHEN SCROLL - Start -
    $(window).on('scroll', function() {
        if ($(window).scrollTop() + $(window).height() >= $(document).height() - 50) {
            loadData();
        }
    });
    // LOAD DATA WHEN SCROLL - End -





    // FILL EDIT MODAL -Start-
    $(document).on('click', '.edit-btn', function(e) {
        var id = $(this).data('id');
        var keterangan = $(this).data('keterangan');
        var nama_item = $(this).data('nama_item');
        var harga_item_paket = $(this).data('harga_item');
        var icon_item_paket = $(this).data('icon_item');
        var paket_id = $(this).data('paket_id');


        // Populate the modal fields with the data
        $('#edit_id').val(id);
        $('#edit_nama_item_paket').val(nama_item);
        $(`input[name="edit_icon_item_paket"][value="${icon_item_paket}"]`).prop('checked', true);
        $('#edit_harga_item_paket').val(harga_item_paket);
        $('#edit_keterangan').val(keterangan);

        // Show the modal
    });
    // FILL EDIT MODAL -End-



    // ADD DATA WHEN SUBMIT BUTTON GET CLICK -Start-

    $('#submit-btn').click(function(e) {
        e.preventDefault();
        var formData = new FormData();
        formData.append('_method', 'POST');
        formData.append('nama_item', $('#nama_item_paket').val());
        formData.append('harga_item', $('#harga_item_paket').val());
        formData.append('keterangan', $('#keterangan').val());

        formData.append('icon_item', $('input[name="icon_item_paket"]:checked').val());

        $.ajax({
            url: '{{ route('itemPaket.store') }}',
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            success: function(response) {
                if (response.status == 'success') {
                    showAlert(
                        'Data Berhasil Di Tambahkan!',
                        response.message,
                        response.status,
                        function() {}
                    );
                    refreshTable();
                    refreshForm();
                } else {
                    showAlert(
                        'Data Gagal Di Tambahkan!',
                        response.message,
                        response.status,
                        function() {}
                    );
                }
            },
            error: function(xhr) {
                if (xhr.status === 422) {
                    console.log(xhr.responseJSON);
                    var errors = xhr.responseJSON.error;
                    var errorMessage = '';
                    $.each(errors, function(key, value) {
                        errorMessage += value + '\n';
                    });
                    showAlert(
                        'Gagal Ditambahkan!',
                        errorMessage,
                        'error',
                        function() {}
                    );
                } else {
                    alert('Terjadi kesalahan server.');
                }
            }
        });
    });
    // ADD DATA WHEN SUBMIT BUTTON GET CLICK -End-



    // UPDATE WHEN UPDATE BUTTON GET CLICK -Start-
    $(document).on('click', '#update-btn', function(e) {
        e.preventDefault();

        var id = $('#edit_id').val();



        var formData = new FormData();
        formData.append('_method', 'PUT');
        formData.append('nama_item', $('#edit_nama_item_paket').val());
        formData.append('icon_item', $('input[name="edit_icon_item_paket"]:checked').val());
        formData.append('harga_item', $('#edit_harga_item_paket').val());
        formData.append('keterangan', $('#edit_keterangan').val());
        console.log($('input[name="edit_icon_item_paket"]').val());
        $.ajax({
            url: `{{ route('itemPaket.update', ':id') }}`.replace(':id', id),
            type: 'POST',
            data: formData,
            processData: false,
            contentType: false,
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            success: function(response) {
                if (response.status == 'success') {
                    showAlert(
                        'Berhasil Diubah!',
                        response.message,
                        response.status,
                        function() {
                            refreshTable()
                        }
                    );

                } else {
                    showAlert(
                        'Gagal Diubah!',
                        response.message,
                        response.status,
                        function() {}
                    );
                }
            },
            error: function(xhr) {
                if (xhr.status === 422) {
                    var errors = xhr.responseJSON.error;
                    var errorMessage = '';
                    $.each(errors, function(key, value) {
                        errorMessage += value + '\n';
                    });
                    showAlert(
                        'Gagal Diubah!',
                        errorMessage,
                        'error',
                        function() {}
                    );
                } else {
                    alert('Terjadi kesalahan server.');
                }
            }
        });
    });
    // UPDATE WHEN UPDATE BUTTON GET CLICK -End-



    // DELETE WHEN DELETE BUTTON GET CLICK -Start-

    $(document).on('click', '.delete-btn', function(e) {
        e.preventDefault();

        var id = $(this).data('id');

        deleteAlert(function() {
            $.ajax({
                url: '/itemPaket/' + id,
                type: 'DELETE',
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                success: function(response) {
                    if (response.status === 'success') {
                        showAlert(
                            'Data Berhasil Dihapus!',
                            response.message,
                            response.status,
                            function() {
                                refreshTable();
                            }
                        );
                    } else {
                        showAlert(
                            'Data Gagal Dihapus!',
                            response.message,
                            response.status,
                            function() {}
                        );
                    }
                },
                error: function(xhr) {
                    if (xhr.status === 422) {
                        var errors = xhr.responseJSON.errors;
                        var errorMessage = '';
                        $.each(errors, function(key, value) {
                            errorMessage += value + '\n';
                        });
                        showAlert(
                            'Gagal Diubah!',
                            errorMessage,
                            'error',
                            function() {}
                        );
                    } else {
                        alert('Terjadi kesalahan server.');
                    }
                }
            });
        });
    });
    // DELETE WHEN DELETE BUTTON GET CLICK -End-



    // REFRESH THE TABLE WHEN THERE IS INPUT IN SEARCH BAR - Start -
    $('#search-bar').on('input', function() {
        const searchQuery = $(this).val();

        refreshTable(searchQuery);
    });
    // REFRESH THE TABLE WHEN THERE IS INPUT IN SEARCH BAR - End -



    // WHEN DOCUMENT IS FULLY LOADED -Start
    $(document).ready(function() {
        refreshTable();

    });
    // WHEN DOCUMENT IS FULLY LOADED -End-
</script>

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]