Anons79 Mini Shell

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

<script>
    // REFRESH FORM -Start-
    function refreshForm() {
        $('#addForm #email').val('');
        $('#addForm #name').val('');
        $('#addForm #photo').val('');
        $('#addForm #nama_lengkap').val('');
        $('#addForm #no_telp').val('');
        $('#addForm #alamat').val('');
        $('#addForm #password').val('');
        $('#addForm #password_confirmation').val('');
    }
    // REFRESH FORM -End-

    // REFRESH TABLE -Start-
    function refreshTable(searchQuery) {
        var TableBody = $('#mainTable tbody');
        var currentPageUrl = '/getUser?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, user) {
                        var row = `
                        <tr>
                            <td>${user.email}</td>
                            <td>${user.username}</td>
                            <td>${user.nama_lengkap ?? '-'}</td>
                            <td>${user.no_telp ?? '-'}</td>
                            <td>${user.alamat ?? '-'}</td>
                            <td>
                                <div>
                                    <button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
                                    data-bs-target="#modalEdit" data-id="${user.user_id}"
                                    data-name="${user.username}" data-email="${user.email}"
                                    data-nama_lengkap="${user.nama_lengkap ?? ''}"
                                    data-no_telp="${user.no_telp ?? ''}"
                                    data-alamat="${user.alamat ?? ''}">
                                    <i class="bi bi-pencil-square"></i>
                                    </button>
                                    <button class="btn btn-danger delete-btn" data-id="${user.user_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;
            }
        });
    }
    // REFRESH TABLE -End-



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

    function loadData(searchQuery = '') {

        if (!nextPageUrl || isLoading) return;

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

                    var TableBody = $('#mainTable tbody');

                    $.each(response.data, function(index, user) {
                        var row = `
                    <tr>
                        <td>${user.email}</td>
                        <td>${user.username}</td>
                        <td>${user.nama_lengkap ?? '-'}</td>
                        <td>${user.no_telp ?? '-'}</td>
                        <td>${user.alamat ?? '-'}</td>  
                        <td>
                            <div>
                                <button class="btn btn-info text-white edit-btn" data-bs-toggle="modal"
                                data-bs-target="#modalEdit" data-id="${user.user_id}"
                                data-name="${user.username}" data-email="${user.email}"
                                data-nama_lengkap="${user.nama_lengkap ?? ''}"
                                data-no_telp="${user.no_telp ?? ''}"
                                data-alamat="${user.alamat ?? ''}">
                                <i class="bi bi-pencil-square"></i>
                                </button>
                                <button class="btn btn-danger delete-btn" data-id="${user.user_id}">
                                    <i class="bi bi-trash-fill"></i>
                                    </button>
                                    </div>
                                    </td>
                                    </tr>`;
                        TableBody.append(row);
                    });
                } else {
                    TableBody.html(
                        '<tr><td colspan="6" class="text-center">Gagal Memuat Data!</td></tr>');
                }
            },
            error: function(xhr) {
                TableBody.html('<tr><td colspan="6" class="text-center">Data Tidak Ditemukan!</td></tr>');
            },
            complete: function() {
                isLoading = false; // Selesai memuat data
            }
        });
    }
    // 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 email = $(this).data('email');
        var name = $(this).data('name');
        var namaLengkap = $(this).data('nama_lengkap');
        var alamat = $(this).data('alamat');
        var noTelp = $(this).data('no_telp');


        $('#editForm #edit_id').val(id);
        $('#editForm #edit_email').val(email);
        $('#editForm #edit_name').val(name);
        $('#editForm #edit_nama_lengkap').val(namaLengkap);
        $('#editForm #edit_alamat').val(alamat);
        $('#editForm #edit_no_telp').val(noTelp);

    });
    // 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('email', $('#email').val());
        formData.append('name', $('#name').val());
        formData.append('password', $('#password').val());
        formData.append('password_confirmation', $('#password_confirmation').val());
        formData.append('nama_lengkap', $('#nama_lengkap').val());
        formData.append('alamat', $('#alamat').val());
        formData.append('no_telp', $('#no_telp').val());

        if ($('#photo').length > 0 && $('#photo')[0].files && $('#photo')[0].files[0]) {
            formData.append('photo', $('#photo')[0].files[0]);
        }

        $.ajax({
            url: '{{ route('pengguna.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) {
                    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.');
                }
            }
        });
    });
    // 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('email', $('#edit_email').val());
        formData.append('name', $('#edit_name').val());
        formData.append('password', $('#edit_password').val());
        formData.append('password_confirmation', $('#edit_password_confirmation').val());
        formData.append('nama_lengkap', $('#edit_nama_lengkap').val());
        formData.append('alamat', $('#edit_alamat').val());
        formData.append('no_telp', $('#edit_no_telp').val());



        if ($('#edit_photo').length > 0 && $('#edit_photo')[0].files && $('#edit_photo')[0].files[
                0]) {
            formData.append('photo', $('#edit_photo')[0].files[0]);
        }

        $.ajax({
            url: `{{ route('pengguna.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) {
                console.log(response.request);
                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.errors;
                    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: '/pengguna/' + 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]