File manager - Edit - /home/gzbnyc5/pty-app/realstate/public/js/pty.v2.repeater.js
Back
var ptyInitRepeater = (function (form, addDelete, addCallback, deleteRecord) { var sortItems = function (target) { const sortFunction = function (a, b) { let target1 = $('[name="pty_ut_fd_user_id[]"]', a); let target2 = $('[name="pty_ut_fd_user_id[]"]', b); let text1 = ""; let text2 = ""; if (target1[0].tagName === "SELECT") { text1 = target1.find("option:selected") ? target1.find("option:selected").text().toLowerCase() : ""; text2 = target2.find("option:selected") ? target2.find("option:selected").text().toLowerCase() : ""; } else { text1 = target1.value().toLowerCase(); text2 = target2.value().toLowerCase(); } return text1.localeCompare(text2); }; const listItems = $("[data-repeater-item]").get(); listItems.sort(sortFunction); for (const listItem of listItems) { listItem.parentNode.appendChild(listItem); } }; var initRepeater = function (form, addDelete, addCallback, deleteRecord) { var dateConfig = form.data("pty-date-config"); if (dateConfig && dateConfig.length > 0) { dateConfig = JSON.parse(dateConfig); } form.find(".pty-repeater").each(function () { var $rep = $(this); const selects = $rep.find("select.form-select"); selects.select2("destroy"); var $list = $rep.find("[data-repeater-list]:eq(0)"), $item = $rep.find("[data-repeater-item]:last").clone(false, false), $add = $rep.find("[data-repeater-create]"); if ($("input.pty-number", $rep).length > 0) { $("input.pty-number", $rep).number(true, 2, ".", ","); } $add.click(function () { var $newItem = $item.clone(true); var dates = $newItem.find("input.pty-datepicker"); var selectPickers = $newItem.find("select.form-select"); var numbers = $newItem.find("input.pty-agent-calc"); if (dates.length > 0) { dates.datepicker(dateConfig); } if (selectPickers.length > 0) { selectPickers.select2(); } if (numbers.length > 0) { numbers.number(true, 2, ".", ","); } $newItem.hide(); $list.append($newItem); $newItem.slideDown(); if (addCallback) { addCallback($newItem); } }); if (addDelete) { $rep.on("click", "[data-repeater-delete]", function () { const $remItem = $(this).closest("[data-repeater-item]"); const deleteTarget = $(this).data("repeater-delete-target"); Swal.fire({ text: "Are you sure you want to delete this record?", icon: "warning", showCancelButton: true, buttonsStyling: false, confirmButtonText: "Yes, delete!", cancelButtonText: "No, cancel", customClass: { confirmButton: "btn fw-bold btn-danger", cancelButton: "btn fw-bold btn-active-light-primary", }, }).then(function (result) { if (result.value) { if (deleteRecord && deleteTarget) { Swal.fire({ text: "Deleting record", icon: "info", buttonsStyling: false, showConfirmButton: false, }); deleteRecord($(deleteTarget, $remItem).val()) .then((result) => { Swal.fire({ text: "You have deleted the record!.", icon: "success", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn fw-bold btn-primary", }, }); $remItem.slideUp(function () { $remItem.remove(); }); }) .catch((error) => { swal.fire({ text: "Sorry, looks like there are some errors detected, please try again.", icon: "error", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn fw-bold btn-light-primary", }, }); }); } else { $remItem.slideUp(function () { $remItem.remove(); }); } } }); }); } $rep.find("[data-repeater-item]:last").remove(); selects.select2(); var sort = $rep.data("pty-repeater-sort-target"); if (sort) { sortItems(sort); } }); }; return { // public functions init: function (form, addDelete, addCallback, deleteRecord) { initRepeater(form, addDelete, addCallback, deleteRecord); }, }; })();
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0 |
proxy
|
phpinfo
|
Settings