File manager - Edit - /home/gzbnyc5/pty-app/realstate/public/js/pty.v2.admin.gzb.search.table.js
Back
const checkIfInt = (n) => { return n % 1 === 0; }; const tableColumnTemplateOverride = { DATE_UPDATE: function (row, index, datatable) { return `<span class="pty-no-wrap">${row.DATE_UPDATE_2}</span>`; }, PHOTOS: function (row, index, datatable) { let photosHtml = ""; if (row.PHOTOS) { let photos = []; try { photos = JSON.parse(JSON.parse(row.PHOTOS)); if (photos.length == 0) { return photosHtml; } } catch (error) {} const $imageLightBox = $("<div/>", { class: "pty-row-image-lightbox", style: "display: none;", }); for (const photo of photos) { const $imgLB = $("<a/>", { href: photo["PHOTO_URL"], "data-lightbox": "pty-lightbox-" + row.id, }); $imageLightBox.append($imgLB); } const $img = $("<img/>", { src: photos[0]["PHOTO_URL"], "data-test": 1, }); photosHtml = $("<div/>", { class: "pty-row-listing-image", }) .append($img) .append($imageLightBox)[0].outerHTML; } return photosHtml; }, SQUARE_FOOTAGE: function (row, index, datatable) { return ( `<span class="pty-no-wrap">` + (row.SQUARE_FOOTAGE > 0 ? row.SQUARE_FOOTAGE + " ft<sup>2</sup>" : "") + `</span>` ); }, PRICE: function (row, index, datatable) { return ( `<span class="pty-no-wrap">$ ` + formatNumber(row.PRICE, 2) + `</span>` ); }, ADDRESS: function (row, index, datatable) { let photos = []; if (row.PHOTOS) { try { photos = JSON.parse(JSON.parse(row.PHOTOS)); if (photos.length == 0) { return photosHtml; } } catch (error) {} } const $container = $("<div/>"); const $title = $("<div/>").html(`<h4>${row.ADDRESS}</h4>`); $container.append($title); const iconProps = { class: "svg-icon svg-icon-3 pty-row-prop-search-icon" }; const textProps = { class: "pty-row-prop-search-text pty-no-wrap" }; const $locationIcon = $("<span/>", iconProps).html(SvgIcons.marker); const $locationText = $("<span/>", textProps).html(row.NEIGHBORHOODS); const beds = checkIfInt(row.BEDROOMS) ? parseInt(row.BEDROOMS) : Number(row.BEDROOMS).toFixed(1); const baths = checkIfInt(row.BATHROOMS) ? parseInt(row.BATHROOMS) : Number(row.BATHROOMS).toFixed(1); const $roomBedIcon = $("<span/>", iconProps).html(SvgIcons.bed); const $roomBedText = $("<span/>", textProps).html( `${beds} bdrms / ${baths} bths` ); const $photosIcon = $("<span/>", iconProps).html(SvgIcons.photo); const $photosText = $("<span/>", textProps).html(photos.length); const $photos = $("<span/>", { class: "pty-no-wrap" }) .append($photosIcon) .append($photosText); const $data1 = $("<div/>") .append($locationIcon) .append($locationText) .append($roomBedIcon) .append($roomBedText) .append($photos); $container.append($data1); if (row.DATE_AVAILABLE) { const $dateAvailableText = $("<span/>", textProps).html( `<strong>Date available:</strong> ${row.DATE_AVAILBLE_2}` ); const $data2 = $("<div/>").append($dateAvailableText); $container.append($data2); } if (row.MANAGEMENT_COMPANY) { const $management = $("<span/>").html( `<strong>Mgmt. Name:</strong> ${row.MANAGEMENT_COMPANY}` ); const $data3 = $("<div/>").append($management); $container.append($data3); } if (row.CONCESSION) { const $concession = $("<span/>").html( `<strong>Concession:</strong> ${row.CONCESSION}` ); const $data4 = $("<div/>", { class: "pty-row-prop-search-concession", }).append($concession); $container.append($data4); } return $container[0].outerHTML; }, }; function initMap() { var centerTo = { lat: parseFloat(defLocation[0]), lng: parseFloat(defLocation[1]), }; map = new google.maps.Map(document.getElementById("prop-search-map"), { center: centerTo, zoom: 14, }); } PtyGZBSearchService = (function () { const modalSend = $("#kt_modal_prop_search_send"); const modalView = $("#kt_modal_prop_search_view"); const showPropertyModal = function (modalData) { const amenities = JSON.parse(JSON.parse(modalData.AMENITIES)) .filter((el) => el.length > 0) .sort() .join(", "); const beds = checkIfInt(modalData.BEDROOMS) ? parseInt(modalData.BEDROOMS) : Number(modalData.BEDROOMS).toFixed(1); const baths = checkIfInt(modalData.BATHROOMS) ? parseInt(modalData.BATHROOMS) : Number(modalData.BATHROOMS).toFixed(1); $("#prop-search-title").html(modalData.ADDRESS); $("#prop-search-listing-id").html(modalData.LISTING_ID); $("#prop-search-neighborhood").html(modalData.NEIGHBORHOODS); $("#prop-search-type").html(modalData.PROPERTY_TYPE); $("#prop-search-price").html("$ " + formatNumber(modalData.PRICE, 2)); $("#prop-search-status").html(modalData.STATUS); $("#prop-search-size").html(modalData.SQUARE_FOOTAGE); $("#prop-search-bedrooms").html(beds); $("#prop-search-bathrooms").html(baths); $("#prop-search-access-note").html(modalData.ACCESS_NOTE); $("#prop-search-concession").html( modalData.CONCESSION && modalData.CONCESSION.length > 0 ? modalData.CONCESSION : "No data" ); $("#prop-search-description").html(modalData.DESCRIPTION); $("#prop-search-amenities").html(amenities); $("#prop-search-date-update").html(modalData.DATE_UPDATE_2); $("#prop-search-date-available").html(modalData.DATE_AVAILBLE_2); $("#prop-search-cyof").html(modalData.CYOF); $("#prop-search-free-month").html(modalData.FREEMONTH); $("#prop-search-op").html(modalData.OP); $("#prop-search-mgmt-id").text(modalData.MANAGEMENT_COMPANY_ID.trim()); $("#prop-search-mgmt-name").text(modalData.MANAGEMENT_COMPANY.trim()); $("#prop-search-mgmt-phone").text( modalData.MANAGEMENT_COMPANY_PHONE.trim() ); $("#prop-search-mgmt-email").text( modalData.MANAGEMENT_COMPANY_EMAIL.trim() ); $("#prop-search-mgmt-url") .text(modalData.MANAGEMENT_COMPANY_URL.trim()) .attr("href", modalData.MANAGEMENT_COMPANY_URL.trim()); if (marker != null) { marker.setMap(null); marker = null; } // MAP if ( !isNaN(modalData.LATITUDE) && modalData.LATITUDE != "" && !isNaN(modalData.LONGITUDE) && modalData.LONGITUDE != "" ) { marker = new google.maps.Marker({ position: { lat: parseFloat(modalData.LATITUDE), lng: parseFloat(modalData.LONGITUDE), }, map: map, }); var latLng = marker.getPosition(); map.setCenter(latLng); $("#prop-search-map-container").show(); } else { $("#prop-search-map-container").hide(); } modalView.modal("show"); }; const showEmailModal = function (modalData) { let links = ""; const checked = $(".form-check-record-id:checked"); if (checked.length > 0) { checked.each(function () { var id = $(this) .closest(".list-item-body") .find(".form-check-record-id") .val(); links += '<p><a href="' + (globalAppUrl + "view-listing/" + id) + '">' + (globalAppUrl + "view-listing/" + id) + "</a></p>"; }); } $("[name=email_cc]").val(currentEmail); $("[name=email_body]").val("<p>Hello</p>" + links); modalSend.modal("show"); }; const initGZBRowOptions = function () { $("#kt_modal_prop_search_view_cancel").click(function () { modalView.modal("hide"); }); $("#kt_modal_prop_search_send_cancel").click(function () { modalSend.modal("hide"); }); $(document).on("click", '[data-kt-table-row-action="view_modal"]', function () { const $table = $("table#kt_table_prop_search"); const rowIndex = $table.find("tbody tr").index($(this).closest("tr")); const data = $("table#kt_table_prop_search") .DataTable() .row(rowIndex) .data(); showPropertyModal(data); }); $(document).on("click", '[data-kt-table-filter="send_email"]', function () { const $table = $("table#kt_table_prop_search"); const rowIndex = $table.find("tbody tr").index($(this).closest("tr")); const data = $("table#kt_table_prop_search") .DataTable() .row(rowIndex) .data(); showEmailModal(data); }); $("table#kt_table_prop_search") .DataTable() .on("draw", function () { $.getScript(lightBoxScriptURL); }); $(document).on("click", ".pty-row-listing-image", function () { $(this).find("a:eq(0)").click(); }); }; return { init: function () { initGZBRowOptions(); }, }; })();
| ver. 1.4 |
Github
|
.
| PHP 8.2.31 | Generation time: 0 |
proxy
|
phpinfo
|
Settings