@extends('layouts.app')

@section('content')
<div class="card">    
    <div class="card-header">
        <div class="row align-items-center">
            <div class="col">
                <h5 class="mb-0">Designations</h5>
            </div>
            <div class="col-auto">
                <a href="{{ route('core.designations.create') }}" class="btn btn-primary btn-sm">
                    Add Designations
                </a>
            </div>
        </div>       
    </div>
    <div class="card-body">
        <table class="table table-bordered yajra-datatable w-100">
            <thead>
                <tr>
                    <th></th>
                    <th>#</th>
                    <th>Branch</th>
                    <th>Code</th>
                    <th>Name</th>
                    <th>Level</th>
                    <th>Managerial</th>
                    <th>Status</th>
                    <th width="120">Action</th>
                </tr>
            </thead>
        </table>
    </div>
</div>
@endsection

@section('scripts')
<script>
$(function () {

    let table = $('.yajra-datatable').DataTable({
        processing: true,
        serverSide: true,
        ajax: "{{ route('core.designations.index') }}",
        order: [[0, 'asc']],
           dom:
        "<'row mb-3 align-items-center'<'col-md-6'l><'col-md-6 d-flex justify-content-end'f>>" +
        "<'table-responsive'tr>" +
        "<'row mt-3 align-items-center'<'col-md-6'i><'col-md-6 d-flex justify-content-end'p>>",

        language: {
        search: "",
        searchPlaceholder: "Search designations...",
        lengthMenu: "Show _MENU_ entries",
        info: "Showing _START_–_END_ of _TOTAL_ designations"
        },
        columns: [
            { data: 'id', name: 'id', visible: false },
            { data: 'DT_RowIndex', orderable: false, searchable: false },
            { data: 'branch', orderable: false },
            { data: 'code', name: 'code' },
            { data: 'name', name: 'name' },
            { data: 'level', name: 'level' },
            { data: 'is_managerial', orderable: false, searchable: false },
            { data: 'status', orderable: false, searchable: false },
            { data: 'action', orderable: false, searchable: false }
        ]
    });

    $(document).on('click', '.btn-delete', function () {
        let id = $(this).data('id');

        Swal.fire({
            title: 'Delete this designation?',
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#d33'
        }).then((result) => {
            if (result.isConfirmed) {
                $.ajax({
                    url: "{{ url('core/designations') }}/" + id,
                    type: 'DELETE',
                    data: { _token: "{{ csrf_token() }}" },
                    success: function (res) {
                        Swal.fire('Deleted', res.message, 'success');
                        table.ajax.reload();
                    },
                    error: function (xhr) {
                        let message = 'Failed to delete designation.';
                        if (xhr.responseJSON && xhr.responseJSON.message) {
                            message = xhr.responseJSON.message;
                        }
                        Swal.fire({
                            title: 'Cannot Delete Designation',
                            text: message,
                            icon: 'error',
                            confirmButtonText: 'OK'
                        });
                    }
                });
            }
        });
    });

});
</script>
@endsection
