1(function($) { 2 var renderTableHtml = function(form, callback) { 3 if (!callback) callback = null; 4 var formData = form.serialize(); 5 $.ajax({ 6 type: "POST", 7 url: ajaxurl, 8 data: formData, 9 success: function(html) { 10 var tableContainerEl = form.find(".table-container").first(); 11 tableContainerEl.html(""); 12 var tableNode = tableContainerEl.append(html); 13 attachFormEventHandlers(form, tableNode); 14 attachSideMenuEventHandlers(form); 15 if (callback) callback(tableContainerEl); 16 } 17 }); 18 }; 19 var attachSideMenuEventHandlers = function(form) { 20 // only for publications 21 if ( 22 $(form) 23 .find(".cpt-widget-interface") 24 .val() !== "2" 25 ) { 26 return; 27 } 28 29 $(".sidemenu-publications-tag-tree .tag-link").off("click"); 30 $(".sidemenu-publications-tag-tree .tag-link").on("click", function(e) { 31 e.preventDefault(); 32 $(".sidemenu-publications-cat-tree .cat-link").removeClass("selected"); 33 $(".sidemenu-publications-tag-tree .tag-link").removeClass("selected"); 34 $(this).addClass("selected"); 35 var catEl = $(form).find(".cpt-widget-category"); 36 catEl.val(""); 37 var tagEl = $(form).find(".cpt-widget-tag"); 38 tagEl.val($(this).data("termid")); 39 $(".table-container").html( 40 '<div class="cpt-loader" style="text-align:center"><img class="svg" src="/wp-content/themes/helcom-teema/dist/images/loader.svg" /></div>' 41 ); 42 $("html, body").animate( 43 { 44 scrollTop: $("#inner-content").offset().top 45 }, 46 500 47 ); 48 renderTableHtml(form); 49 }); 50 51 $(".sidemenu-publications-cat-tree .cat-link").off("click"); 52 $(".sidemenu-publications-cat-tree .cat-link").on("click", function(e) { 53 e.preventDefault(); 54 $(".sidemenu-publications-cat-tree .cat-link").removeClass("selected"); 55 $(".sidemenu-publications-tag-tree .tag-link").removeClass("selected"); 56 $(this).addClass("selected"); 57 var tagEl = $(form).find(".cpt-widget-tag"); 58 tagEl.val(""); 59 var catEl = $(form).find(".cpt-widget-category"); 60 catEl.val($(this).data("catid")); 61 $(".table-container").html( 62 '<div class="cpt-loader" style="text-align:center"><img class="svg" src="/wp-content/themes/helcom-teema/dist/images/loader.svg" /></div>' 63 ); 64 $("html, body").animate( 65 { 66 scrollTop: $("#inner-content").offset().top 67 }, 68 500 69 ); 70 renderTableHtml(form); 71 }); 72 }; 73 var attachFormEventHandlers = function(form, tableNode) { 74 $(tableNode) 75 .find(".sortable") 76 .on("click", function(e) { 77 e.preventDefault(); 78 var col = $(this); 79 var orderKeyInputEl = $(form).find(".cpt-widget-order-key"); 80 var orderByInputEl = $(form).find(".cpt-widget-order-by"); 81 var orderInputEl = $(form).find(".cpt-widget-order"); 82 var pagedInputEl = $(form).find(".cpt-widget-paged"); 83 if ( 84 orderKeyInputEl.val() === 85 (col.data("order-key") ? col.data("order-key") : "") && 86 orderByInputEl.val() === col.data("order-by") 87 ) { 88 if (orderInputEl.val() === col.data("order")) { 89 return; 90 } else { 91 var order = orderInputEl.val() === "asc" ? "desc" : "asc"; 92 orderInputEl.val(order); 93 renderTableHtml(form, function(tableNode) { 94 tableNode.find(".sortable").removeClass("asc"); 95 tableNode.find(".sortable").removeClass("desc"); 96 tableNode.find(".sortable").each(function() { 97 var col = $(this); 98 if ( 99 (col.data("order-key") ? col.data("order-key") : "") === 100 orderKeyInputEl.val() && 101 col.data("order-by") === orderByInputEl.val() 102 ) { 103 col.addClass(order); 104 } 105 }); 106 }); 107 return; 108 } 109 } 110 if (pagedInputEl) pagedInputEl.val(1); 111 orderKeyInputEl.val(col.data("order-key")); 112 orderByInputEl.val(col.data("order-by")); 113 renderTableHtml(form); 114 }); 115 $(tableNode) 116 .find("a.page-numbers") 117 .on("click", function(e) { 118 e.preventDefault(); 119 var link = $(this); 120 var pagedInputEl = $(form).find(".cpt-widget-paged"); 121 var currentPage = pagedInputEl.val() ? parseInt(pagedInputEl.val()) : 1; 122 if (link.hasClass("prev")) { 123 if (currentPage > 1) { 124 pagedInputEl.val(currentPage - 1); 125 renderTableHtml(form); 126 } 127 } else if (link.hasClass("next")) { 128 pagedInputEl.val(currentPage + 1); 129 renderTableHtml(form); 130 } else if (!link.hasClass("current")) { 131 pagedInputEl.val(parseInt(link.text())); 132 renderTableHtml(form); 133 } 134 return false; 135 }); 136 }; 137 $(".cpt-widget-form").each(function() { 138 var form = $(this); 139 form.on('submit', function(e){
140 e.preventDefault(); 141 142 var tableContainerEl = form.find(".table-container").first(); 143 tableContainerEl.html(""); 144 var html = '<div class="cpt-loader" style="text-align:center"><img class="svg" src="/wp-content/themes/helcom-teema/dist/images/loader.svg" /></div>'; 145 var tableNode = tableContainerEl.append(html); 146 147 renderTableHtml(form); 148 return false; 149 }); 150 renderTableHtml(form); 151 }); 152})(jQuery);
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.