var current_page = 1; var ads_type = ""; var objJson = []; let totalAdvs = 0 $('#multiple_advs').submit(function() { $('input[name="check[]"]:checked').each(function() { $('').attr({ type: 'hidden', name: 'check[]', value: $(this).val() }).appendTo('#multiple_advs'); }); }); function prevPage() { if (current_page > 1) { current_page--; getMyAdvs(ads_type) } } function nextPage(event) { if (current_page < numPages()) { current_page++; getMyAdvs(ads_type) } } function changePage(page) { var btn_next = $("#btn_next"); var btn_prev = $("#btn_prev"); if (ads_type == 'approved') { var listing_table = $("#v-pills-active_ads"); } else if (ads_type == 'pending') { var listing_table = $("#v-pills-pending_ads"); } else if (ads_type == 'passive') { var listing_table = $("#v-pills-passive_ads"); } else if (ads_type == 'incomplete') { var listing_table = $("#v-pills-incomplete_ads"); } listing_table.html(''); var page_span = $("#page"); // Validate page if (page < 1) page = 1; if (page > numPages()) page = numPages(); if (objJson.length === 0) { listing_table.html(` `); $('.action-wrapper').addClass('d-none'); $('.profile_ads_pagination').addClass('d-none'); } for (var i = 0; i < objJson.length; i++) { listing_table.append(addAdsRow(objJson[i].id, objJson[i].detail_url, objJson[i].cover_photo, objJson[i].name, objJson[i].formatted_price, objJson[i].city_name, objJson[i].country_name, objJson[i].cat1_name, objJson[i].cat2_name, objJson[i].status, objJson[i].created_at, objJson[i].ad_note)); } addDropdownBlock(); page_span.html(page + "/" + numPages()); if (numPages() === 1) { page_span.hide(); } else { page_span.show(); } if (page === 1) { btn_prev.hide(); } else { btn_prev.show(); } if (page === numPages()) { btn_next.hide(); } else { btn_next.show(); } } function numPages() { return Math.ceil(totalAdvs / records_per_page); } function getMyAdvs(type,keyword = null) { crudAjax({ 'type': type, 'paginate': true, 'page': current_page, 'simple': true, 'keyword' : keyword, 'currencyOptions' : { separator: '.', point: ',' }, }, '/ajax/getAdvs', 'GET', function (callback) { ads_type = type; objJson = callback.content.data; totalAdvs = callback.content.total; changePage(current_page); }) } function printAdProfile(id){ crudAjax( {}, '/ajax/print-detail-view/' + id, 'GET', function (callback) { if(callback.length > 0){ $('#printDivHidden').html(callback); printAd(); } }) } $('#v-pills-tab a').on('click', function () { let data_type = $(this).attr('data-type'); getData(data_type); }); $('#search-btn').on("click", function (){ let data_type = $('#v-pills-tab a[aria-selected="true"]').attr('data-type'); getData(data_type,$('input.form-control').val()); }) function getData(data_type,keyword=null){ current_page = 1 let type = data_type; $('.profile_ads_pagination').removeClass('d-none'); $('.action-wrapper').removeClass('d-none'); if (type == 'active_ads') { getMyAdvs("approved", keyword); } else if (type == 'passive_ads') { getMyAdvs("passive", keyword); } else if (type == 'pending_ads') { getMyAdvs("pending", keyword); } else if (type == 'incomplete_ads') { getMyAdvs("incomplete", keyword); } } addDropdownBlock(); function addAdsRow(id, href, image, name, formatted_price, city, country, cat1, cat2, status, created_at,ad_note) { city = (city) ? city : ''; country = (country) ? country : ''; return `
${name}
${formatted_price}
${created_at_text} :   ${created_at.slice(0, 10).replaceAll('-', '.')}
${ads_no}:
${id}

${ad_note_text}

${ad_note ?? ''}

${dropdownRow(id, status)}
`; } function addDropdownBlock() { const dropdowns = $('.my-ads-dropdown') for (let i = 0; i < dropdowns.length; i++) { const currentDropdown = $(dropdowns[i]) $('> .dropdown-menu', currentDropdown).append(dropdownBlock.replaceAll(':id', currentDropdown.data('id'))) } } function dropdownRow(id, type) { var dropdown = ""; return dropdown; } // Nested dropdown $('.tab-pane').on('click', '.dropdown-menu button.dropdown-toggle', function (e) { if (!$(this).next().hasClass('show')) { $(this).parents('.dropdown-menu').first().find('.show').removeClass('show'); } var $subMenu = $(this).next('.dropdown-menu'); $subMenu.toggleClass('show'); $(this).parents('.my-ads-dropdown.show').on('hidden.bs.dropdown', function (e) { $('.dropdown-submenu .show').removeClass('show'); }); return false; }); $(() => { if (session_message){ Swal.fire({ icon: session_status, text: session_message, showConfirmButton: false, timer: 3500 }) } $('.all-box').on('click', () => { const allCheckbox = $('#all'); const isChecked = allCheckbox.prop('checked'); $('input[name="check[]"]').prop('checked', !isChecked); }) })