1jQuery(function ($) { 2 /* SEARCH BAR FUNCTIONS */ 3 $(document).on("keypress", function (e) { 4 if (e.which == 13) { 5 search_submit(e.target); 6 } 7 }); 8 $("#caf-search-sub").click(function () { 9 search_submit($(this)); 10 }); 11 $(".manage-caf-search-icon i").click(function () { 12 if ($(this).hasClass("fa-search")) { 13 var cont = $(this).closest("#caf-post-layout-container"); 14 $(cont) 15 .find( 16 ".caf-filter-layout.srch-on.search-layout2 .caf-manage-search-bar" 17 ) 18 .addClass("active"); 19 $(this).removeClass("fa-search").addClass("fa-times"); 20 } else { 21 var cont = $(this).closest("#caf-post-layout-container"); 22 $(cont) 23 .find( 24 ".caf-filter-layout.srch-on.search-layout2 .caf-manage-search-bar" 25 ) 26 .removeClass("active"); 27 $(this).removeClass("fa-times").addClass("fa-search"); 28 } 29 }); 30 31 /* TABS SCROLLER FUNCTIONS */ 32 $(".caf-scroll-right i").click(function () { 33 var total = parseInt($(this).attr("data-count")) + 1; 34 var post_per_page = "5"; 35 var len = $(".caf-tab-layout ul li.caf-tab-hide").length; 36 var current_page = parseInt(len / 5); 37 var next_page = current_page + 1; 38 var show = next_page * post_per_page; 39 // console.log(len,current_page,show); 40 var ext = total - len; 41 if (len < total && ext >= post_per_page) { 42 $(".caf-tab-layout ul").each(function (i) { 43 var div = $(this).find("li:not('.caf-tab-hide'):lt(5)"); 44 $(div).addClass("caf-tab-hide"); 45 }); 46 } 47 }); 48 49 $(".caf-scroll-left i").click(function () { 50 $(".caf-tab-layout ul").each(function (i) { 51 var div = $(this).find("li.caf-tab-hide:gt(-5)"); 52 $(div).removeClass("caf-tab-hide"); 53 }); 54 }); 55 56 /* POPUP FUNCTIONS */ 57 58 function search_submit(div) { 59 //console.log(div,$(div).attr('class')); 60 var cl_pagination = $(div).attr("class"); 61 if (cl_pagination == "prev-next-input") { 62 pagination_submit(div); 63 return false; 64 } 65 var cont = $(div).closest("#caf-post-layout-container"); 66 var sr_val = $(cont).find("#caf-search-input").val(); 67 //console.log(sr_val); 68 if (sr_val != "") { 69 var divc = $(cont).attr("data-target-div"); 70 //console.log(divc,sr_val); 71 var params = get_params(1, divc); 72 params.search_string = sr_val; 73 // console.log(params); 74 get_posts(params); 75 } 76 } 77 78 function get_params($page, div) { 79 var div = "." + div; 80 81 var params = { 82 page: $page, 83 tax: $(div).attr("data-tax"), 84 "post-type": $(div).attr("data-post-type"), 85 term: $(div).attr("data-terms"), 86 "per-page": $(div).attr("data-per-page"), 87 "filter-id": $(div).attr("data-filter-id"), 88 "caf-post-layout": $(div).attr("data-post-layout"), 89 "data-target-div": div, 90 "data-filter-layout": $(div).attr("data-filter-layout"), 91 "data-relation": $(div).attr("data-relation"), 92 "data-default-term": $(div).attr("data-default-term"), 93 "current-post-id": $(div).attr("current-post-id"), 94 "data-order-by":$(div).attr('data-order-by'), 95 "data-order-type":$(div).attr('data-order-type') 96 }; 97 if ($("#caf-search-input").val() != "") { 98 params.search_string = $("#caf-search-input").val(); 99 } 100 // if(params['data-default-term']!='all') { 101 // params['term']=params['data-default-term']; 102 103 // } 104 //console.log(params); 105 return params; 106 } 107 108 $(".caf-post-layout-container").each(function (i) { 109 var div = $(this).attr("data-target-div"); 110 var params = get_params(1, div); 111 //console.log(params); 112 //console.log(params["data-filter-layout"]); 113 params["first"] = "first"; 114 get_posts(params); 115 }); 116 117 $("ul.dropdown li a").click(function () { 118 var cat = $(this).text(); 119 $(this).closest("ul.dropdown").find("span.result").html(cat); 120 //$("ul.dropdown span.result").html(cat); 121 }); 122 123 function pagination_submit(e) { 124 var page = parseInt(e.value); 125 var div = $(e) 126 .closest(".caf-post-layout-container") 127 .attr("data-target-div"); 128 var perform = "pagination"; 129 /* SCROLLING FUNCTION START */ 130 cafScrollToDiv(div); 131 /** SCROLLING END **/ 132 //console.log(page,div); 133 var params = get_params(page, div); 134 135 if (params["data-filter-layout"] != "alphabetical-layout") { 136 params["caf-perform"] = perform; 137 } 138 139 var div_new = "#caf-post-layout-container." + div; 140 141 if ($(div_new).attr("data-filter-layout") == "multiple-taxonomy-filter2") { 142 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 143 } 144 145 if (params["data-filter-layout"] == "multiple-checkbox") { 146 if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) { 147 params["data-filter-layout"] = "multiple-checkbox2"; 148 } else { 149 params["data-filter-layout"] = "multiple-checkbox"; 150 } 151 } 152 //console.log(params); 153 get_posts(params); 154 //} 155 } 156 157 $(".caf-post-layout-container").on( 158 "click", 159 ".caf-pagi-btn,.caf-filter-container li a,.caf-pagination a,.caf-alpha-layout li", 160 function clickaction(e) { 161 //console.log(e.currentTarget); 162 var div = e.currentTarget.getAttribute("data-target-div"); 163 var current_id = e.currentTarget.getAttribute("data-main-id"); 164 165 if (current_id == "flt") { 166 $("." + div + " .caf-filter-layout ul li a").each(function () { 167 $(this).removeClass("active"); 168 }); 169 if ($("." + div).attr("data-filter-layout") == "alphabetical-layout") { 170 $("." + div + " .caf-filter-layout ul li").each(function () { 171 $(this).removeClass("active"); 172 }); 173 } 174 var id = $(this).attr("data-id"); 175 $(this).addClass("active"); 176 $("." + div).attr("data-terms", id); 177 $page = "1"; 178 if (id.indexOf(",") > -1) { 179 var perform = "filter-all"; 180 } else { 181 var perform = "filter"; 182 } 183 } else { 184 var div = e.delegateTarget.getAttribute("data-target-div"); 185 $page = parseInt($(this).attr("href").replace(/\D/g, "")); 186 //caf_performance("pagination"); 187 //params["data-filter-layout"]="multiple-taxonomy-filter2"; 188 var perform = "pagination"; 189 } 190 /* SCROLLING FUNCTION START */ 191 cafScrollToDiv(div); 192 /** SCROLLING END **/ 193 var params = get_params($page, div); 194 //console.log(params); 195 if (params["data-filter-layout"] != "alphabetical-layout") { 196 params["caf-perform"] = perform; 197 } 198 var div_new = "#caf-post-layout-container." + div; 199 //console.log($(div_new).attr("data-filter-layout")); 200 if ( 201 $(div_new).attr("data-filter-layout") == "multiple-taxonomy-filter2" 202 ) { 203 // console.log("okkk"); 204 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 205 } 206 if (params["data-filter-layout"] == "multiple-checkbox") { 207 if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) { 208 params["data-filter-layout"] = "multiple-checkbox2"; 209 } else { 210 params["data-filter-layout"] = "multiple-checkbox"; 211 } 212 } 213 get_posts(params); 214 e.preventDefault(); 215 } 216 ); 217 218 /* START FUNCTION FOR MULTIPLE CHECKBOX FILTER */ 219 $(".caf-post-layout-container").on( 220 "click", 221 "#caf-multiple-check-filter li .check_box", 222 function (e) { 223 //console.log(e.currentTarget); 224 var div = e.currentTarget.getAttribute("data-target-div"); 225 var div_new = "#caf-post-layout-container." + div; 226 var current_id = e.currentTarget.id; 227 var cr_tr = $("#" + current_id).val(); 228 //console.log(div,current_id); 229 var v = []; 230 i = 0; 231 232 $("#caf-multiple-check-filter li .check_box:checked").each(function () { 233 v[i++] = $(this).val(); 234 }); 235 236 var t = v.toString(); 237 if (t == "") { 238 var sel_terms = $("." + div).attr("data-selected-terms"); 239 $("." + div).attr("data-terms", sel_terms); 240 } else { 241 $("." + div).attr("data-terms", t); 242 } 243 244 $page = "1"; 245 var params = get_params($page, div); 246 params["caf-perform"] = "filter"; 247 params["caf-perform-term"] = cr_tr; 248 //params["caf-perform"]='filter'; 249 jQuery(div_new).attr("data-filter-layout", ""); 250 if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) { 251 params["data-filter-layout"] = "multiple-checkbox2"; 252 } else { 253 params["data-filter-layout"] = "multiple-checkbox"; 254 } 255 cafScrollToDiv(div); 256 //console.log(params); 257 get_posts(params); 258 //e.preventDefault(); 259 } 260 ); 261 /* END FUNCTION FOR MULTIPLE CHECKBOX FILTER */ 262 263 /* START FUNCTION FOR MULTIPLE TAXONOMY FILTER */ 264 $(".caf-post-layout-container").on( 265 "click", 266 "#caf-multiple-taxonomy-filter li .check_box", 267 function (e) { 268 //console.log(e.currentTarget); 269 270 if (!$(this).closest("li").hasClass("act")) { 271 $(this).closest("li").addClass("act"); 272 } else { 273 $(this).closest("li").removeClass("act"); 274 } 275 var div = e.currentTarget.getAttribute("data-target-div"); 276 var div_new = "#caf-post-layout-container." + div; 277 278 var current_id = e.currentTarget.id; 279 var cr_tr = $("#" + current_id).val(); 280 //console.log(div,$("#"+current_id).val()); 281 var v = []; 282 i = 0; 283 if($(this).closest('.caf-post-layout-container').find(".caf-active-filters").length>0) { 284 set_active_filters($(this).closest('.caf-post-layout-container')); 285 } 286 $("#caf-multiple-taxonomy-filter li .check_box:checked").each( 287 function () { 288 v[i++] = $(this).val(); 289 } 290 ); 291 292 var t = v.toString(); 293 if (t == "") { 294 var sel_terms = $("." + div).attr("data-selected-terms"); 295 $("." + div).attr("data-terms", sel_terms); 296 } else { 297 $("." + div).attr("data-terms", t); 298 } 299 300 $page = "1"; 301 var params = get_params($page, div); 302 params["caf-perform"] = "filter"; 303 params["caf-perform-term"] = cr_tr; 304 305 if ( 306 v.filter(function (e) { 307 return e !== "0"; 308 }).length == 1 309 ) { 310 //console.log("in"); 311 params["data-filter-layout"] = "multiple-taxonomy-filter"; 312 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 313 } 314 315 if ($("#caf-multiple-taxonomy-filter li .check_box:checked").length > 1) { 316 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 317 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2"); 318 } else { 319 params["data-filter-layout"] = "multiple-taxonomy-filter"; 320 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 321 } 322 cafScrollToDiv(div); 323 // console.log(params); 324 get_posts(params); 325 //e.preventDefault(); 326 } 327 ); 328 /* END FUNCTION FOR MULTIPLE TAXONOMY FILTER */ 329 330 /* START FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL FILTER */ 331 $(".caf-post-layout-container").on( 332 "click", 333 ".caf_select_multi_btn", 334 function (e) { 335 //console.log(e.currentTarget); 336 var div = e.currentTarget.getAttribute("data-target-div"); 337 var div_new = "#caf-post-layout-container." + div; 338 var current_id = e.currentTarget.id; 339 //console.log(div,current_id); 340 var v = []; 341 i = 0; 342 $(".caf_select_multi").each(function () { 343 v[i++] = $(this).val(); 344 }); 345 const allEqual = (v) => v.every((val) => val === v[0]); 346 var t = v.toString(); 347 if (t == "" || allEqual(v)) { 348 var sel_terms = $("." + div).attr("data-selected-terms"); 349 $("." + div).attr("data-terms", sel_terms); 350 } else { 351 $("." + div).attr("data-terms", t); 352 } 353 354 $page = "1"; 355 var params = get_params($page, div); 356 //params["caf-perform"]='filter'; 357 if ( 358 v.filter(function (e) { 359 return e !== "0"; 360 }).length == 1 361 ) { 362 //console.log("in"); 363 params["data-filter-layout"] = "multiple-taxonomy-filter"; 364 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 365 } 366 367 if ($(".caf_select_multi").length > 1 && allEqual(v) == false) { 368 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 369 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2"); 370 } else { 371 params["data-filter-layout"] = "multiple-taxonomy-filter"; 372 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 373 } 374 375 /* SCROLLING FUNCTION START */ 376 cafScrollToDiv(div); 377 /** SCROLLING END **/ 378 //console.log(params); 379 get_posts(params); 380 //e.preventDefault(); 381 } 382 ); 383 /* END FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL FILTER */ 384 385 /* START FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL MODERN FILTER */ 386 $("ul.caf-multi-drop-sub li").click(function () { 387 var data_name = $(this).attr("data-name"); 388 var data_value = $(this).attr("data-value"); 389 390 var div = $(this) 391 .closest(".caf-post-layout-container") 392 .attr("data-target-div"); 393 var div_new = "#caf-post-layout-container." + div; 394 $(this) 395 .closest("ul.caf-multi-drop-sub") 396 .find("li") 397 .each(function () { 398 $(this).removeClass("active"); 399 }); 400 $(this).addClass("active"); 401 $(this).closest("ul.caf-multi-drop-sub").removeClass("active"); 402 // console.log(data_name,div); 403 $(this) 404 .closest("ul.caf_select_multi") 405 .find("li.caf_select_multi_default span") 406 .text(data_name); 407 $(this) 408 .closest("ul.caf_select_multi") 409 .find("li.caf_select_multi_default") 410 .attr("data-value", data_value); 411 var v = []; 412 i = 0; 413 $("li.caf_select_multi_default").each(function () { 414 v[i++] = $(this).attr("data-value"); 415 //console.log($(this).attr("data-value")); 416 });
417 // console.log(v); 418 const allEqual = (v) => v.every((val) => val === v[0]); 419 var t = v.toString(); 420 if (t == "" || allEqual(v)) { 421 var sel_terms = $("." + div).attr("data-selected-terms"); 422 $("." + div).attr("data-terms", sel_terms); 423 } else { 424 $("." + div).attr("data-terms", t); 425 } 426 427 $page = "1"; 428 var params = get_params($page, div); 429 params["caf-perform"] = "filter"; 430 params["caf-perform-term"] = data_value; 431 432 //console.log($(".caf_select_multi").length,allEqual(v),v.filter(function(e) { return e !== '0' })); 433 if ( 434 v.filter(function (e) { 435 return e !== "0"; 436 }).length == 1 437 ) { 438 //console.log("in"); 439 params["data-filter-layout"] = "multiple-taxonomy-filter"; 440 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 441 } else if ($(".caf_select_multi").length > 1 && allEqual(v) == false) { 442 //console.log("ok"); 443 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 444 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2"); 445 } else { 446 // console.log("ok1"); 447 params["data-filter-layout"] = "multiple-taxonomy-filter"; 448 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter"); 449 } 450 451 cafScrollToDiv(div); 452 get_posts(params); 453 }); 454 /* END FUNCTION FOR MULTIPLE TAXONOMY HORIZONTAL MODERN FILTER */ 455 456 /* START FUNCTION FOR PARENT CHILD CATEGORY FILTER */ 457 $(".caf-post-layout-container").on( 458 "click", 459 ".caf-pcf-layout li .check_box", 460 function (e) { 461 //console.log(e.currentTarget); 462 if (!$(this).closest("li").hasClass("act")) { 463 $(this).closest("li").addClass("act"); 464 } else { 465 $(this).closest("li").removeClass("act"); 466 } 467 var div = e.currentTarget.getAttribute("data-target-div"); 468 var div_new = "#caf-post-layout-container." + div; 469 //console.log(div_new); 470 var current_id = e.currentTarget.id; 471 //console.log(current_id); 472 var cr_tr = $("#" + current_id).val(); 473 // console.log(div,$("#"+current_id).val()); 474 var v = []; 475 i = 0; 476 $(".caf-pcf-layout li .check_box:checked").each(function () { 477 v[i++] = $(this).val(); 478 }); 479 480 var t = v.toString(); 481 if (t == "") { 482 var sel_terms = $("." + div).attr("data-selected-terms"); 483 $("." + div).attr("data-terms", sel_terms); 484 } else { 485 $("." + div).attr("data-terms", t); 486 } 487 488 $page = "1"; 489 var params = get_params($page, div); 490 params["caf-perform"] = "filter"; 491 params["caf-perform-term"] = cr_tr; 492 jQuery(div_new).attr("data-filter-layout", "multiple-taxonomy-filter2"); 493 if ($(".caf-pcf-layout li .check_box:checked").length > 1) { 494 params["data-filter-layout"] = "multiple-taxonomy-filter2"; 495 } else { 496 params["data-filter-layout"] = "multiple-taxonomy-filter"; 497 } 498 cafScrollToDiv(div); 499 // console.log(params); 500 get_posts(params); 501 //e.preventDefault(); 502 } 503 ); 504 /* END FUNCTION FOR PARENT CHILD CATEGORY FILTER*/ 505 506 $(".caf-post-layout-container").on("click", ".tp_load_more", function (e) { 507 var $current = $(this).attr("data-current"); 508 var $next = $(this).attr("data-next"); 509 var $total = $(this).attr("data-total"); 510 //console.log($current,$next,$total); 511 var div = e.delegateTarget.getAttribute("data-target-div"); 512 $page = parseInt($next); 513 // console.log(div,$page); 514 var params = get_params($page, div); 515 if (params["data-filter-layout"] == "multiple-checkbox") { 516 if ($("#caf-multiple-check-filter li .check_box:checked").length > 0) { 517 params["data-filter-layout"] = "multiple-checkbox2"; 518 } else { 519 params["data-filter-layout"] = "multiple-checkbox"; 520 } 521 } 522 if ($page <= $total) { 523 get_posts_load(params); 524 } else { 525 $(this).fadeOut(); 526 } 527 e.preventDefault(); 528 }); 529 $(".caf-post-layout-container").on("change", ".caf-sort-front", function (e) { 530 var div=$(this).closest(".caf-post-layout-container").attr("data-target-div"); 531 var params =get_params(1,div); 532 $(this).closest(".caf-post-layout-container").attr("data-order-by",$(".caf-sort-order-by").val()); 533 $(this).closest(".caf-post-layout-container").attr("data-order-type",$(".caf-sort-order-type").val()); 534 params["data-order-by"]=$(".caf-sort-order-by").val(); 535 params["data-order-type"]=$(".caf-sort-order-type").val(); 536 get_posts(params); 537 });
538 $(document).on('click', '.clear-all-btn', function() { 539 // Clear the active_filters array 540 active_filters = []; 541 // Uncheck all checkboxes 542 $("#caf-multiple-taxonomy-filter li .check_box").prop('checked', false); 543 // Remove all filter items and "Clear All" button from the UI 544 $(".caf-active-filters ul").find('li').fadeOut(function() { 545 $(this).remove(); 546 }); 547 var div = $(this).closest(".caf-post-layout-container").attr("data-target-div"); 548 $page = "1"; 549 var params = get_params($page, div); 550 //console.log(params,$(this).closest(".caf-post-layout-container").attr("data-selected-terms")); 551 params['term']=$(this).closest(".caf-post-layout-container").attr("data-selected-terms"); 552 //console.log(params); 553 setTimeout(function(){ 554 cafScrollToDiv(div); 555 get_posts(params); 556 },200) 557 558 }); 559 $(document).on('click', '.caf-active-filters li', function() { 560 var data_id = $(this).attr("data-id"); 561 var div1=$(this).closest(".caf-post-layout-container"); 562 var div = $(this).closest(".caf-post-layout-container").attr("data-target-div"); 563 var terms = $(this).closest(".caf-post-layout-container").attr("data-terms"); 564 565 // Convert the comma-separated string into an array 566 var termsArray = terms.split(','); 567 568 // Remove the data_id from the array 569 termsArray = termsArray.filter(function(term) { 570 return term !== data_id; 571 }); 572 573 // Convert the array back into a string 574 var updatedTerms = termsArray.join(','); 575 576 // Update the data-terms attribute with the new value 577 $(this).closest(".caf-post-layout-container").attr("data-terms", updatedTerms); 578 $("#caf-multiple-taxonomy-filter li .check_box[data-id='"+data_id+"']").prop('checked', false); 579 $(this).fadeOut(function() { 580 $(this).remove(); 581 }); 582 $page = "1"; 583 var params = get_params($page, div); 584 //console.log(termsArray,active_filters); 585 set_active_filters(div1); 586 if(termsArray.length==0) { 587 params['term']=$(this).closest(".caf-post-layout-container").attr("data-selected-terms"); 588 $("li.caf-clear-all").fadeOut(function() { 589 $(this).remove(); 590 }); 591 } 592 cafScrollToDiv(div); 593 get_posts(params); 594 //console.log(updatedTerms); // Output the updated terms 595 }); 596 597}); 598 599 600function cafScrollToDiv(div) { 601 var scroll_to_div = jQuery("#caf-post-layout-container." + div).attr( 602 "data-scroll" 603 ); 604 if (scroll_to_div != "disabled") { 605 var scroll_desktop = parseInt( 606 jQuery("#caf-post-layout-container." + div).attr("data-scroll-desk") 607 ); 608 var scroll_mobile = parseInt( 609 jQuery("#caf-post-layout-container." + div).attr("data-scroll-mob") 610 ); 611 var width = jQuery(document).width(); 612 var position = 0; 613 if (scroll_to_div == "desktop" && width > 600) { 614 var position = scroll_desktop; 615 scroll_animate(position, div); 616 } else if (scroll_to_div == "desktop&mobile" && width > 600) { 617 var position = scroll_desktop; 618 scroll_animate(position, div); 619 } else if (scroll_to_div == "mobile" && width < 600) { 620 var position = scroll_mobile; 621 scroll_animate(position, div); 622 } else if (scroll_to_div == "desktop&mobile" && width < 600) { 623 var position = scroll_mobile; 624 scroll_animate(position, div); 625 } 626 } 627} 628 629 630 631function get_posts(params) { 632 //console.log(params); 633 var $ = jQuery.noConflict(); 634 var container = params["data-target-div"]; 635 var content = $(container).find("#manage-ajax-response"); 636 var status = $(container).find(".status"); 637 var img = tc_caf_ajax.plugin_path + "assets/img/loading2.gif"; 638 $(container).addClass("fetching"); 639 $(status).html('<i class="fa fa-spinner fa-spin"></i>').addClass("active"); 640 $(content).addClass("loading"); 641 $.ajax({ 642 url: tc_caf_ajax.ajax_url, 643 data: { 644 action: "get_filter_posts", 645 nonce: tc_caf_ajax.nonce, 646 params: params, 647 }, 648 type: "post", 649 dataType: "json", 650 success: function (data, textStatus, XMLHttpRequest) { 651 //console.log(data); 652 if (typeof cafTotalResults !== "undefined") { 653 $(cafTotalResults).html(data.found); 654 } 655 if (typeof cafAjaxSuccess !== "undefined") { 656 data["params"] = params; 657 cafAjaxSuccess(data); 658 } 659 $(container).removeClass("fetching"); 660 $(content).removeClass("loading"); 661 662 if (data.status === 200) { 663 $(content).removeClass("caf-empty-error"); 664 $(content).html(data.content); 665 } else if (data.status === 201) { 666 if (data.message == "Empty Results") { 667 $(content).addClass("caf-empty-error"); 668 $(content).html(data.content); 669 } else { 670 $(content).html(data.content); 671 } 672 } else if (data.status === 404) { 673 $(content).html(data.content); 674 } else { 675 $(status).html(data.message); 676 } 677 }, 678 error: function (MLHttpRequest, textStatus, errorThrown) { 679 $(status).html(textStatus); 680 }, 681 complete: function (data, textStatus) { 682 msg = textStatus; 683 if (textStatus === "success") { 684 msg = data.responseJSON.found; 685 } 686 $(status).text("Posts found: " + msg); 687 }, 688 }); 689} 690 691function get_posts_load(params) { 692 params.load_more = "load_more"; 693 var $ = jQuery.noConflict(); 694 var container = params["data-target-div"]; 695 var content = $(container).find("#manage-ajax-response"); 696 var content2 = $(container).find( 697 "#manage-ajax-response .load-more-container" 698 ); 699 var status = $(container).find(".status"); 700 $(container).addClass("fetching"); 701 var img = tc_caf_ajax.plugin_path + "assets/img/loading2.gif"; 702 $(status).html('<i class="fa fa-spinner fa-spin"></i>').addClass("active"); 703 $(content).addClass("loading"); 704 $(container).find("#tp-load-more .fa-spinner").remove(); 705 $(container) 706 .find("#tp-load-more") 707 .append(' <i class="fa fa-spinner fa-spin"></i>') 708 .addClass("tp-loading"); 709 $.ajax({
710 url: tc_caf_ajax.ajax_url, 711 data: { 712 action: "get_filter_posts", 713 nonce: tc_caf_ajax.nonce, 714 params: params, 715 }, 716 type: "post", 717 dataType: "json", 718 success: function (data, textStatus, XMLHttpRequest) { 719 // console.log(data); 720 if (typeof cafTotalResults !== "undefined") { 721 $(cafTotalResults).html(data.found); 722 } 723 if (typeof cafAjaxSuccess !== "undefined") { 724 data["params"] = params; 725 cafAjaxSuccess(data); 726 } 727 $(container).removeClass("fetching"); 728 $(content).removeClass("loading"); 729 $(container).find("#tp-load-more").removeClass("tp-loading"); 730 if (data.status === 200) { 731 var crpg = parseInt( 732 $(content2).find("#tp-load-more").attr("data-current") 733 ); 734 var nxpg = parseInt( 735 $(content2).find("#tp-load-more").attr("data-next") 736 ); 737 var ttlpg = parseInt( 738 $(content2).find("#tp-load-more").attr("data-total") 739 ); 740 var crpg = crpg + 1; 741 var nxpg = nxpg + 1; 742 //console.log(ttlpg); 743 if (ttlpg == crpg) { 744 $(content2).find("#tp-load-more").addClass("caf-disabled-end-btn"); 745 } 746 parseInt($(content2).find("#tp-load-more").attr("data-current", crpg)); 747 parseInt($(content2).find("#tp-load-more").attr("data-next", nxpg)); 748 //console.log(crpg,nxpg); 749 $(data.content).insertBefore(content2); 750 } else if (data.status === 201) { 751 $(content).html(data.content); 752 } else if (data.status === 404) { 753 $(content).html(data.content); 754 } else { 755 $(status).html(data.message); 756 } 757 }, 758 error: function (MLHttpRequest, textStatus, errorThrown) { 759 $(status).html(textStatus); 760 }, 761 complete: function (data, textStatus) { 762 msg = textStatus; 763 if (textStatus === "success") { 764 msg = data.responseJSON.found; 765 } 766 $(status).html("").removeClass("active"); 767 }, 768 }); 769} 770 771/* filter 2 dropdown code */ 772jQuery(document).ready(function ($) { 773 $("ul.dropdown").click(function () { 774 $(this).find("li ul").toggle(); 775 $(this).find("li").toggleClass("activss"); 776 }); 777 778 $(".caf-post-layout-container").each(function () { 779 if ($(this).attr("data-filter-layout") == "filter-layout2") { 780 var d_term = $(this).attr("data-default-term"); 781 $(this).find("ul.dropdown li ul li a.dfl").removeClass("active"); 782 var div1 = $(this) 783 .find("ul.dropdown li ul li a[data-id='" + d_term + "']") 784 .not(".dfl"); 785 if (div1.length == 0) { 786 $("ul.dropdown ul li:first-child a").addClass("active"); 787 } else { 788 $(div1).addClass("active"); 789 var text = $(div1).text(); 790 $(this).find(".dropdown .result").html(text); 791 } 792 } 793 }); 794 795 /* FUNCTION FOR MULTIPLE TAXONOMY FILTER TOGGLE */ 796 $(".caf-mtf-layout h3.tax-heading").click(function () { 797 if ($(this).find("i").hasClass("fa-chevron-up")) { 798 $(this) 799 .find("i") 800 .removeClass("fa-chevron-up") 801 .addClass("fa-chevron-down"); 802 } else { 803 $(this) 804 .find("i") 805 .removeClass("fa-chevron-down") 806 .addClass("fa-chevron-up"); 807 } 808 $(this) 809 .closest("ul") 810 .find("li") 811 .each(function () { 812 $(this).slideToggle(); 813 }); 814 }); 815}); 816 817/* SCROLL ANIMATE FUNCTION */ 818function scroll_animate(pos, div) { 819 if (jQuery("#caf-post-layout-container ." + div).offset()) { 820 jQuery("html, body").animate( 821 { 822 scrollTop: 823 jQuery("#caf-post-layout-container ." + div).offset().top - pos, 824 }, 825 2000 826 ); 827 } else { 828 jQuery("html, body").animate( 829 { 830 scrollTop: 831 jQuery("#caf-post-layout-container." + div).offset().top - pos, 832 }, 833 2000 834 ); 835 } 836} 837 838jQuery(function ($) { 839 $("ul.caf_select_multi li.caf_select_multi_default").click(function () { 840 var th = $(this).find("ul.caf-multi-drop-sub"); 841 $("ul.caf_select_multi li.caf_select_multi_default") 842 .not(this) 843 .each(function () { 844 $(this) 845 .closest("ul") 846 .find("ul.caf-multi-drop-sub") 847 .removeClass("active"); 848 $(this).find("i.caf-multi-mod-right").removeClass("fa-chevron-up"); 849 }); 850 var data_value = $(this).attr("data-value"); 851 $(this).find("i.caf-multi-mod-right").toggleClass("fa-chevron-up"); 852 $(this).closest("ul").find("ul.caf-multi-drop-sub").toggleClass("active"); 853 }); 854 $(document).on('click', function(event) { 855 if (!$(event.target).closest('.caf_select_multi').length && !$(event.target).closest('.caf_select_multi').length) { 856 if($('ul.caf-multi-drop-sub').length) { 857 $('ul.caf-multi-drop-sub').removeClass("active"); 858 } 859 } 860}); 861}); 862var active_filters = []; 863function set_active_filters(div) { 864 // console.log("in active"); 865 // Iterate over all checkboxes 866 867 jQuery(div).find("#caf-multiple-taxonomy-filter li .check_box").each(function () { 868 var filter_label = jQuery(this).closest("li").find('label').text(); 869 var data_name = jQuery(this).closest("ul").find('h3').attr('data-name'); 870 var data_id = jQuery(this).attr('data-id'); 871 // Create the object for this checkbox 872 var filter_obj = { 873 label: filter_label, 874 dataName: data_name 875 }; 876 // If checked, add to active_filters if not already present 877 if (jQuery(this).is(":checked")) { 878 //console.log("in",filter_label,data_name,active_filters.some(item => item.label === filter_label && item.dataName === data_name)); 879 880 if (!active_filters.some(item => item.label === filter_label && item.dataName === data_name)) { 881 active_filters.push(filter_obj); // Add in order of checking 882 883 var htm = '<li class="filter-item" data-id="'+data_id+'" data-label="' + filter_label + '" data-name="' + data_name + '" style="display:none;">'; 884 if(jQuery(div).attr("active-filters-style")=='with_tax') { 885 htm += "<span class='caf-active-filter-label'>" + data_name + " : </span>"; 886 } 887 htm += "<span class='caf-active-filter-tag'>" + filter_label + "</span>"; 888 htm += "<span class='caf-active-filter-close'> X</span>"; 889 htm += '</li>'; 890 // Append to the .caf-active-filters ul 891 //console.log(htm); 892 jQuery(div).find(".caf-active-filters ul").append(htm).find('li:last').fadeIn(); // Smooth addition with fadeIn 893 } 894 } else { 895 // If unchecked, remove from active_filters 896 active_filters = active_filters.filter(item => !(item.label === filter_label && item.dataName === data_name)); 897 898 // Smooth removal of the corresponding <li> 899 jQuery(div).find('.caf-active-filters ul li[data-label="'+filter_label+'"][data-name="'+data_name+'"]').fadeOut(function() { 900 jQuery(this).remove(); // Remove the element after fadeOut completes 901 }); 902 } 903 }); 904 // Handle "Clear All" button logic in real-time after any checkbox change 905 if (active_filters.length > 0) { 906 // Append "Clear All" button if it doesn't exist 907 jQuery(div).find(".caf-active-filters ul li.caf-clear-all").remove(); 908 if (jQuery(div).find(".caf-clear-all").length === 0) { 909 jQuery(div).find(".caf-active-filters ul").append('<li class="caf-clear-all" style="display:none;"><button class="clear-all-btn">Clear All</button></li>').find('li:last').fadeIn(); // Smooth addition with fadeIn 910 } 911 } else { 912 // Remove the "Clear All" button if no active filters 913 jQuery(div).find(".caf-clear-all").fadeOut(function() { 914 jQuery(this).remove(); 915 });
916 } 917 //console.log(active_filters); // Output the array with the updated order 918} 919 920// Script start to speech recognition... 921document.addEventListener("DOMContentLoaded", function () { 922 let voiceSearchButton = document.getElementById("caf-voice-search"); 923 924 if (voiceSearchButton) { // Check if the element exists 925 voiceSearchButton.addEventListener("click", function () { 926 let recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)(); 927 recognition.lang = "en-US"; 928 recognition.start(); 929 930 recognition.onresult = function (event) { 931 let transcript = event.results[0][0].transcript; 932 document.getElementById("caf-search-input").value = transcript; 933 // Send the text to the WordPress search function 934 jQuery("#caf-search-sub").trigger("click"); 935 }; 936 }); 937 } else { 938 // console.error("Error: #caf-voice-search button not found!"); 939 } 940});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.