let working = false; let lastQuery = null; let displayContacts = (contacts) => { let tbody = $("table tbody"); for (let contact of contacts) { tbody.append(` ${(contact["first_name"] ? contact["first_name"] : (contact["firstName"] ? contact["firstName"] : ""))} ${(contact["last_name"] ? contact["last_name"] : (contact["lastName"] ? contact["lastName"] : ""))} ${(contact["surname"] ? contact["surname"] : "")} ${(contact["email"] ? contact["email"] : "")} ${(contact["address"] ? contact["address"] : "")} ${(contact["phone_number"] ? contact["phone_number"] : (contact["phoneNumber"] ? contact["phoneNumber"] : ""))} ${(contact["birthday"] ? new Date(contact["birthday"]).toLocaleDateString() : "")} `); } }; $(document).ready(() => { let modal = $('.modal'); modal.modal(); let search = (query) => { if (query.length >= 3) { working = true; $.ajax({ url: "/api/contact/search", method: "POST", data: { query: query }, success: function (data) { $("table tbody").empty(); for (let i = 0; i < 4; i++) { if (data && data.result && data.result[i.toString()] && data.result[i.toString()].length > 0) { displayContacts(data.result[i.toString()]); } } working = false; }, error: function (e) { working = false; } }); } else { $("table tbody").empty(); displayContacts(contacts); } }; $(document).on("input", "#search", () => { let query = $("#search").val(); if (!working) { search(query); } else { lastQuery = query; } }); $(document).on("click", ".add-contacts", () => { modal.open(); }); $("[data-tooltip]").tooltip(); });