File manager - Edit - /home/autoph/public_html/projects/tickets-autohub/public/js/ticket/index.js
Back
(function(e){ "use strict"; var search_type_filter = []; var ticketList = null; var id = null; var subCategory = null; 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 getDataTableData(){ var datas = {}; datas.option = $('select[name="ticket_status"]').val(); datas.from_date = $('#date_from').val(); datas.to_date = $('#date_to').val(); return datas; } function initActionEdit(){ $('[data-action-edit]').each(function(){ $(this).on('click', function(){ var row = $(this).closest('tr'); id = ticketList.row(row).data().id; window.location.href = "/ticket/my-ticket/" + id; }) }); } function initList(){ $("#txt_search").on( "keyup", delay(function (e) { ticketList.search($("#txt_search").val()).draw(); }, 500) ); $('select[name="_ticket_option"]').on('change', function(e){ ticketList.draw(false); }); var search_type_default = "Ticket No."; var search_types = ["Ticket No.", "ID"]; $.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() != '') { ticketList.ajax.reload(); // } }); }); var cols = [ { title: "ID", data: 'id', className: 'align-middle p-1 dt-left hidden', orderable: true, width: "10%", }, { title: "#", data: '#', className: 'align-middle p-1 dt-left', orderable: true, width: "3%", }, { title: "Ticket No.", data: 'ticket_no', className: 'align-middle p-1 dt-left', orderable: true, width: "5%", render: function(data,type, row, meta){ return ` <a style="width: fit-content;color: blue;font-size:15px;" class="m-1 text-white" title="Open"><span class="badge text-bg-success"> <i class="fa fa-ticket" aria-hidden="true"></i> ${data} </span</a> `; } }, // { // title: "Description", // data: 'description', // className: 'align-middle p-1 dt-left', // orderable: true, // width: "20%", // }, { title: "Sender", data: 'sender', className: 'align-middle p-1 dt-left', orderable: false, width: "30%", render: function(data, type, row) { var sender_email = row.sender_email || ''; var sender_position = row.sender_position || ''; var creator = row.ticket_creator; var date_created = row.created_at; var sender_msg =row.description+'.'; if ( row.length > 100) { // Change '20' to your desired length // Add ellipsis and tooltip sender_msg= row.substring(0, 100)+'...'; } return ` <div class="p-1"> <!-- Sender Name and Position --> <div class="mb-1"> <span class="d-block font-weight-bold text-dark"> <i class="fa fa-user mr-1"></i> ${data} <span class="text-muted">(${sender_position.toUpperCase()})</span> </span> <span class="d-block text-info"> <i class="fa fa-envelope mr-1"></i> ${sender_email} </span> </div> <!-- Description --> <div class="mb-1" title="${row.description}"> <div class="text-secondary font-italic"> <i class="fa fa-comments-o mr-1"></i> ${row.description} </div> </div> <!-- Creator and Date --> <div> <small class="d-block text-dark"> <i class="fa fa-user-circle mr-1"></i> Created by: ${creator} </small> <small class="text-muted"> <i class="fa fa-calendar mr-1"></i> ${date_created} </small> </div> </div> `; } }, { title: "Date", // data : 'start_date', className: 'align-middle p-1 dt-left', orderable: true, width: "15%", render: function(data, type, row) { var date_started = row.start_date ? ` <div> <span >Started: <span class="text-muted">${row.start_date}</span></span> </div>` : ''; var date_ended = row.end_date ? ` <div> <span>Ended: <span class="text-muted">${row.end_date}</span></span> </div>` : ''; return date_started + date_ended || ''; } }, { title: "Support", data: 'solution', className: 'align-middle p-1 dt-left', orderable: false, width: "15%", render: function (data, type, row) { // Check if the content is too long // if (data && type === 'display' && data.length > 40) { // Change '20' to your desired length // // Add ellipsis and tooltip // return `<span class="ellipsis" title="${data}">${data.substring(0, 20)}...</span>`; // } else { // return data; // Display the full content // } var support = row.support || ''; var support_position = row.support_position ||''; var action_taken= row.solution; if (action_taken && type === 'display' && action_taken.length > 100) { action_taken = action_taken.substring(0, 100) + '...'; // Truncate and add ellipsis } return ` <!-- Support Information --> ${support ? ` <div class="mb-1"> <span class="d-block font-weight-bold text-dark"> <i class="fa fa-user mr-1 text-muted"></i> ${support} ${support_position ? `<br/><span class="text-muted">(${support_position})</span>` : ''} </span> </div>` : ''} <!-- Action Taken --> ${action_taken ? ` <div class="mb-3 p-2 border rounded bg-light" title="${row.solution}"> <h6 class="mb-1 text-primary">Action Taken:</h6> <p class="text-secondary font-italic mb-0"> ${action_taken} </p> </div>` : ''} `; }, }, { title: "Status", data: 'status', className: 'align-middle p-1 dt-left', orderable: true, width: "5%", render: function(data, type, row, meta){ var status = data; var icon = ""; switch (status) { case "pending": icon = '<span class="m-1 mt-auto"><i class="fa fa-exclamation mr-1 text-danger" aria-hidden="true"></i>Pending</span>'; break; case "ongoing": icon = '<span class="m-1 mt-auto"><i class="fa fa-spinner mr-1 text-info" aria-hidden="true"></i>Ongoing</span>'; break; case "closed": icon = '<span class="m-1 mt-auto"><i class="fa fa-check mr-1" aria-hidden="true"></i>Closed</span>'; break; case "transferred": icon = '<span class="m-1 mt-auto"><i class="fa fa-handshake-o mr-1" aria-hidden="true"></i>Transferred</span>'; break; default: icon = '<span class="m-1 mt-auto"><i class="fa fa-question mr-1" aria-hidden="true"></i>Open</span>'; break; } return `${icon}`; // switch (data) { // case "pending": // return `<p>Pending</p>` // break; // case "ongoing": // return `<p>Ongoing</p>` // break; // case "closed": // return `<p>Closed</p>` // break; // } } }, // { // title: "Level of Priority", // data: 'level', // className: 'align-middle p-1 dt-left', // orderable: true, // width: "10%", // render: function(data, type, row, meta){ // var color = ""; // var pColor = ""; // var text = ""; // var status = ""; // switch (data) { // case "urgent": // color = "red"; // pColor = "white"; // // text = "URGENT"; // break; // case "mid": // color = "yellow"; // pColor = "black"; // // text = "MID"; // break; // case "low": // color = "blue"; // pColor = "white"; // // text = "LOW"; // break; // default: // color = "green"; // pColor = "white"; // // text = ""; // break; // } // if (data) { // var capitalizedData = data.charAt(0).toUpperCase() + data.slice(1); // } else { // var capitalizedData = "Assign Level"; // } // return ` // <div style="font-weight: bolder;"><div class="row"><p class="mt-auto"><i class="fa fa-circle" aria-hidden="true" style="color:${color}"></i> ${capitalizedData}</p></div></div> // </div>`; // } // }, { title: "Action", data: null, className: 'align-middle p-1 dt-left', orderable: true, width: "5%", render: function(data, type, row, meta){ // return ` // <div class="row justify-content-center" style="text-align:center;overflow:hidden;"> // <small><a data-action-edit style="font-size:12px;cursor:pointer; width:auto; color: white;" class="m-1 btn btn-sm btn-secondary btn-icon" title="Edit"><i class="fa fa-eye" aria-hidden="true"></i> Viewssss</a></small> // </div> // `; return ` <div class="btn-group"> <button class="btn btn-sm btn-light dropdown-toggle no-caret" type="button" data-bs-toggle="dropdown" aria-expanded="false" title="Actions"> <i class="fa fa-ellipsis-v" aria-hidden="true"></i> </button> <ul class="dropdown-menu dropdown-menu-end"> <li><a data-action-edit style="cursor:pointer; width:fit-content;" class="dropdown-item btn-light btn-icon" title="View"><i class="fa fa-folder text-warning" aria-hidden="true"></i> View</a></li> </ul> </div> `; } } ]; // <a data-action-remove style="cursor:pointer; width: fit-content;" class="m-1 btn btn-sm btn-danger btn-icon" title="Delete"><i class="fa fa-trash" aria-hidden="true"></i> Delete</a> ticketList = $('#ticketTable').DataTable({ fnDrawCallback: function () { initActionEdit(); // initActionDestroy(); }, // processing: true, // language: { // "processing":'<div class="spinner-border text-primary" role="status"><span class="sr-only">Loading...</span></div>' // }, 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, autoWidth: true, columnDefs: [ { width: '20%', targets: 0 } ], fixedColumns: true, ajax: { url:'/ticket/user/my-tickets', data: function (d){ return $.extend({},d,{ search_type: search_type_filter, data: getDataTableData(), }); } }, sDom: "lrtip", }); } $(function(){ initList(); $('[name="_reloadTicketsTable"]').on('click', function(e){ ticketList.draw(false); }); // form.addEventListener('submit', function(e) { // e.preventDefault(); // for (let i = 0; i < rbt.length; i++) { // if (rbt[i].checked) { // radioButtonsChecked = true; // break; // } // } // if(!$('#filter_sub_select2').val()){ // swal.fire({ // icon: 'error', // title: 'Oops...', // text: 'Kindly choose which type of report you want to generate', // }); // } // if (!radioButtonsChecked) { // swal.fire({ // icon: 'error', // title: 'Oops...', // text: 'Kindly choose which type of report you want to generate', // }); // } else { // // Use this line to submit the form without triggering the event handler again // form.submit(); // } // }); $('#btn-proceed').on('click', function(e){ e.preventDefault(); // $('#date_from').val(); // $('#date_to').val(); // $('#ticket_status').val(); ticketList.ajax.reload(); $('#date_filter_modal').modal('hide'); }) }); // function checkTicketWithoutRating() { // // $('#submit_solution2').prop('disabled', true).text('Loading...'); // $.ajax({ // type: "GET", // url: "/ticket/ticketNoRating", // dataType: 'json', // data: null, // headers: { // 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') // }, // success: function (result) { // console.log(result); // $('#staticBackdropLabel').text(result.ticket['ticket_no']); // $('#slaContent').text(result['sla'] + " MIN/S."); // $('#timeElapsed').text(result['time_elapsed']); // $('#compliance').text(result['compliance'] + "%"); // $('#support').text(result['support_person']); // // if(current_user_role ==3){ // $('#ratingModal').modal('show'); // // $('#ratingModal').on('shown.bs.modal', function () { // // checkStars(); // // }); // }, // error: function (error) { // } // }); // } // checkTicketWithoutRating(); // function checkStars() { // $('.user-feedback').rate(options); // $('.user-feedback').on('change', function (e, data) { // stars = data.to; // $('#_userRemarks').trigger('focus'); // }); // } function addNoCaretStyle() { var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.no-caret::after { display: none !important; }'; document.head.appendChild(style); } // Call the function to add the style addNoCaretStyle(); })();
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings