File manager - Edit - /home/autoph/public_html/projects/tickets-autohub/public/js/authentication/task/index.js
Back
(function () { "use strict"; var search_type_filter = []; var userTableAssignment = null; var id = null; var currentPage = 0; function delay(callback, ms) { var timer = 0; return function () { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { callback.apply(context, args); }, ms || 0); }; } function initActionEdit() { $("[data-action-edit]").each(function (e) { $(this).on('click', function (e) { var row = $(this).closest("tr"); id = userTableAssignment.row(row).data().id; window.open("/roles/assignment/" + id); // window.location.href = "/roles/assignment/" + id; }); }); } function initActionDestroy() { } function getDataTableData() { var data = {}; // data.status = $('select[name="status"]').val(); return data; } function initList() { $("#txt_search").on( "keyup", delay(function (e) { userTableAssignment.search($("#txt_search").val()).draw(); }, 500) ); var search_type_default = "Name"; var search_types = ["Name"]; $.each(search_types, function (i, n) { $("._ticket_search_type").append( `<li class="dropdown-item cursor-pointer py-0"><span class="text-sm">` + n + `</span></li>` ); }); $("._ticket_search_type li").each(function () { if ($(this).text() == search_type_default) { $(this).removeClass("active").addClass("active"); var active_items_arr = []; active_items_arr.push(search_type_default); search_type_filter = JSON.stringify(active_items_arr); } $(this).on("click", function () { //remove all selected menu $("._ticket_search_type") .find("li.active") .map(function () { $(this).removeClass("active"); }); $(this).toggleClass("active"); var active_items = $("._ticket_search_type") .find("li.active") .map(function () { var item = {}; // item.id = this.value; item.status = $(this).text(); return item; }); var active_items_arr = []; $.each(active_items, function (i, n) { active_items_arr.push(n.status); }); search_type_filter = JSON.stringify(active_items_arr); // refreshOrcrPlateTable(); // if ($('#txt_search').val() != '') { userTableAssignment.ajax.reload(); // } }); }); var cols = [ // { // title: "", // data: 'id', // className: 'align-middle p-1 dt-left', // orderable: true, // width: "10%", // }, { title: "#", data: '#', className: 'align-middle p-1 dt-left', orderable: true, width: "5%", render: function (data, type, row, meta) { return meta.row + meta.settings._iDisplayStart + 1; } }, // { // title: "Employee ID", // data: 'asa_id', // className: 'align-middle p-1 dt-left', // orderable: true, // width: "10%", // }, { title: "Name", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "20%", render: function (data, type, row, meta) { var position = data.position; var empID = data.asa_id; var support_dealer = data.support_dealer; var initials = (data.f_name.charAt(0) + data.l_name.charAt(0)).toUpperCase(); // Get initials from f_name and l_name // Add circle avatar with initials and gradient background return ` <div class="d-flex align-items-center"> <!-- Circle avatar with initials and gradient background --> <div class="rounded-circle d-flex justify-content-center align-items-center me-2" style=" width: 40px; height: 40px; background-image: linear-gradient(135deg, #4e54c8, #8f94fb); color: white; font-weight: bold; "> ${initials} </div> <!-- User details (name, position, support dealer) --> <div> <p class="mb-0">${data.f_name} ${data.l_name}</p> <p class="small text-muted mb-0">${position}</p> <span class="text-muted">${support_dealer}</span> </div> </div> `; } }, { title: "Priority", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "10%", render: function (data, type, row, meta) { // return data.priority; // return `<div class="border"><i class="fa fa-flag-o text-warning"></i> ${data.priority.charAt(0).toUpperCase()}</div>`; if (data.priority.length > 1) { let priority = data.priority.toLowerCase(); // Normalize for comparison let colorClass = ''; let icon = ''; if (priority === 'urgent') { colorClass = 'text-danger'; icon = 'fa fa-flag-o'; // Urgent icon } else if (priority === 'mid') { colorClass = 'bg-white text-warning'; icon = 'fa fa-flag-o'; // Mid priority icon } else if (priority === 'low') { colorClass = 'text-info'; icon = 'fa fa-flag-o'; // Low priority icon } // Return the formatted badge with icon and priority return ` <div class="d-inline-flex align-items-center"> <span class="badge ${colorClass} border"> <i class="${icon}" style="font-size:12px"></i> ${data.priority.charAt(0).toUpperCase() + data.priority.slice(1)} </span> </div>`; } return ''; } }, { title: "Task", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "40%", render: function (data, type, row, meta) { // return `<p>`+ data.f_name + " "+ data.l_name +`</p>`; if (data.ticket_no.length > 1) { let sender = data.sender; var descriptionText = ''; if (data.description.length > 70) { descriptionText = data.description.substring(0, 70) + '...'; } else { descriptionText = data.description; } return ` <span class="badge text-bg-info"> <i class="fa fa-ticket" aria-hidden="true"></i> ${data.ticket_no} </span><br> <span class="text-muted" style="font-size:9px;"> <i class="fa fa-calendar" aria-hidden="true"></i> ${data.created_at} </span> <div> <i class="fa fa-user" aria-hidden="true" title="sender"></i> <span class="text-muted" style="font-size:10px;" title="sender">${sender}</span> </div> <div> <p class="font-monospace" style="font-size:10px;" title="${data.description}"> <i class="fa fa-comments-o" aria-hidden="true"></i> ${descriptionText} </p> </div>`; } return ''; } }, { title: "Start", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "10%", render: function (data, type, row, meta) { if (data.start_time.length > 1) { return `<div class="font-monospace" style="font-size:11px;"> <i class="fa fa-calendar" aria-hidden="true"></i> ${data.start_date}</div> <i class="fa fa-clock-o" aria-hidden="true"></i> <span style="font-size:9px;">${data.start_time}</span>`; } return ''; } }, { title: "Lapse", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "10%", render: function (data, type, row, meta) { // Get today's date if (data.time_lapse.length > 1) { let today = new Date(); let formattedDate = today.getFullYear() + '-' + String(today.getMonth() + 1).padStart(2, '0') + '-' + String(today.getDate()).padStart(2, '0'); // Format: YYYY-MM-DD // Return today's date and time lapse in the desired format return ` <div> <span class="font-monospace" style="font-size:11px;"><i class="fa fa-calendar" aria-hidden="true"></i> ${formattedDate}</span><br> <i class="fa fa-clock-o" aria-hidden="true"></i> <span class="font-monospace" style="font-size:9px;">${data.time_lapse}</span> </div>`; } return ''; } }, // { // title: "Action", // data: null, // className: 'align-middle p-1 dt-left', // orderable: true, // width: "20%", // render: function(data, type, row, meta){ // return ''; // } // }, ]; var userTableAssignment = $('#userTableAssignment').DataTable({ fnDrawCallback: function () { initActionEdit(); }, order: [[0, "desc"]], retrieve: true, columns: cols, paging: true, lengthChange: false, searching: true, pageLength: 10, info: true, autoWidth: true, responsive: true, processing: true, serverSide: true, columnDefs: [ { width: '20%', targets: 0 } ], fixedColumns: true, ajax: { url: '/task/list-support', data: function (d) { // Adding custom parameters to the request return $.extend({}, d, { search_type: search_type_filter, data: getDataTableData(), // Sending the page number to the server start: d.start || currentPage * d.length }); }, dataSrc: function (response) { // Preserve the current page currentPage = userTableAssignment.page(); return response.data; }, error: function (settings, techNote, message) { toastRWithTime("Please check your filter parameter", "error"); } }, sDom: "lrtip", }).on('page', function () { currentPage = userTableAssignment.page(); // Store the current page number }); } $(function (e) { initList(); $('[name="_reloadUserTableAssignment"]').on('click', function (e) { userTableAssignment.draw(false); // Preserve the current page }); }); })();
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings