Changeset 3101865
- Timestamp:
- 06/12/2024 03:00:14 PM (18 months ago)
- Location:
- simple-product-tabs-for-woocommerce/trunk
- Files:
-
- 11 edited
-
assets/admin/admin.js (modified) (1 diff)
-
assets/css/admin.asset.php (modified) (1 diff)
-
assets/css/public.asset.php (modified) (1 diff)
-
assets/js/admin.asset.php (modified) (1 diff)
-
assets/js/admin.js (modified) (1 diff)
-
assets/js/admin.js.map (modified) (1 diff)
-
assets/js/public.asset.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
simple-product-tabs-for-woocommerce.php (modified) (2 diffs)
-
src/Post_Type.php (modified) (1 diff)
-
src/Single_Tab.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
simple-product-tabs-for-woocommerce/trunk/assets/admin/admin.js
r3100087 r3101865 34 34 search: searchTerm 35 35 }); 36 37 let API_SEARCH = `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`; 38 if( taxonomy == 'product' ) { 39 API_SEARCH = `/wc/v3/products/?${searchParam.toString()}`; 40 } 36 41 37 42 // Make WooCommerce REST API call to get terms 38 43 wp.apiFetch({ 39 path: `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`44 path: API_SEARCH 40 45 }).then(terms => { 41 46 // hide the loader -
simple-product-tabs-for-woocommerce/trunk/assets/css/admin.asset.php
r3100087 r3101865 1 <?php return array('dependencies' => array(), 'version' => ' 16b0a3570177a441af22');1 <?php return array('dependencies' => array(), 'version' => 'b5e3006dc15cfef46e1a'); -
simple-product-tabs-for-woocommerce/trunk/assets/css/public.asset.php
r3100087 r3101865 1 <?php return array('dependencies' => array(), 'version' => ' 9fb66ffc6b8d36778d69');1 <?php return array('dependencies' => array(), 'version' => 'f6341de4e8cbb8f29908'); -
simple-product-tabs-for-woocommerce/trunk/assets/js/admin.asset.php
r3100087 r3101865 1 <?php return array('dependencies' => array(), 'version' => ' 4de43ffe4fcedb1ddd8d');1 <?php return array('dependencies' => array(), 'version' => '93656d1a3fb278d6cf43'); -
simple-product-tabs-for-woocommerce/trunk/assets/js/admin.js
r3100087 r3101865 1 /******/ (() => { // webpackBootstrap 2 /******/ "use strict"; 3 var __webpack_exports__ = {}; 4 /*!*******************************!*\ 5 !*** ./assets/admin/admin.js ***! 6 \*******************************/ 7 8 9 (function ($) { 10 function debounce(fn, delay) { 11 var timer = null; 12 return function () { 13 var context = this, 14 args = arguments; 15 clearTimeout(timer); 16 timer = setTimeout(function () { 17 fn.apply(context, args); 18 }, delay); 19 }; 20 } 21 22 /** 23 * Search terms on typing keywords in Inclusions section 24 */ 25 function termSearch() { 26 let self = $(this); 27 let taxonomy = self.attr('data-taxonomy'); 28 let wrapperSelector = self.closest('.swt-inclusion-selector'); 29 let inclusionType = self.attr('data-type'); 30 // display the loader 31 wrapperSelector.find('.swt-loader').show(); 32 // hide no results message initially 33 wrapperSelector.find('.swt-component-no-results').hide(); 34 let searchedTermsList = wrapperSelector.find('.solution-box-search-list__list'); 35 const searchTerm = self.val(); 36 if (!searchTerm && !searchTerm.length) { 37 wrapperSelector.find('.swt-loader').hide(); 38 return; 39 } 40 let searchParam = new URLSearchParams({ 41 search: searchTerm 42 }); 43 44 // Make WooCommerce REST API call to get terms 45 wp.apiFetch({ 46 path: `/wc/v3/products/${taxonomy}/?${searchParam.toString()}` 47 }).then(terms => { 48 // hide the loader 49 self.closest('.swt-inclusion-selector').find('.swt-loader').hide(); 50 if (terms.length == 0) { 51 // if no terms found, display no results found message 52 self.closest('.swt-inclusion-selector').find('.swt-component-no-results').show(); 53 return; 54 } 55 let searchedTermsHTML = ''; 56 terms.map(term => { 57 searchedTermsHTML += `<li data-inclusion-id=${term.id} data-inclusion-name="${term.name}" data-inclusion-type="${inclusionType}"><label for="search-list-item-${inclusionType}-0-${term.id}" data-inclusion-type="${inclusionType}" class=" solution-box-search-list__item depth-0"><input type="checkbox" id="search-list-item-${inclusionType}-0-${term.id}" name="search-list-item-${inclusionType}-0" class="solution-box-search-list__item-input" value=""> <span class="solution-box-search-list__item-label"><span class="solution-box-search-list__item-name">${term.name}</span></span></label></li>`; 58 }); 59 searchedTermsList.html(searchedTermsHTML).show(); 60 }); 61 } 62 $('#swt-category-search, #swt-tag-search , #swt-product-search').on('keyup', debounce(termSearch, 500)); 63 64 /** 65 * Display/Hide inclusions sections based on the visibility condition 66 */ 67 $('.sptb_visibility_condition').on('change', function () { 68 if ($(this).val() === 'yes') { 69 $('#inclusions-list.form-table').addClass('hide-section'); 70 } else { 71 $('#inclusions-list.form-table').removeClass('hide-section'); 72 } 73 }); 74 function selectTerm() { 75 const self = $(this); 76 const inclusionWrapper = self.closest('.swt-inclusion-selector'); 77 // the current term that clicked 78 const checkedTerm = self.attr('data-inclusion-id'); 79 const checkedTermName = self.attr('data-inclusion-name'); 80 const wptInclusionType = self.attr('data-inclusion-type'); 81 // get list of already added terms 82 const selectedTermDOM = inclusionWrapper.find('.solution-box-search-list__selected_terms input[type="hidden"]'); 83 const selectedTerms = Array.from(selectedTermDOM, term => term.value); 84 if (selectedTerms.includes(checkedTerm)) { 85 return; 86 } 87 let termListHTML = `<li><span class="solution-box-selected-list__tag"><span class="solution-box-tag__text" id="solution-box-tag__label-${checkedTerm}"><span class="screen-reader-text">${checkedTermName}</span><span aria-hidden="true">${checkedTermName}</span></span><input type="hidden" name="sptb_${wptInclusionType}_list[]" value="${checkedTerm}"><button type="button" aria-describedby="solution-box-tag__label-${checkedTerm}" class="components-button solution-box-tag__remove" id="solution-box-remove-term" aria-label="${checkedTermName}"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="clear-icon" aria-hidden="true" focusable="false"><path d="M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM15.5303 8.46967C15.8232 8.76256 15.8232 9.23744 15.5303 9.53033L13.0607 12L15.5303 14.4697C15.8232 14.7626 15.8232 15.2374 15.5303 15.5303C15.2374 15.8232 14.7626 15.8232 14.4697 15.5303L12 13.0607L9.53033 15.5303C9.23744 15.8232 8.76256 15.8232 8.46967 15.5303C8.17678 15.2374 8.17678 14.7626 8.46967 14.4697L10.9393 12L8.46967 9.53033C8.17678 9.23744 8.17678 8.76256 8.46967 8.46967C8.76256 8.17678 9.23744 8.17678 9.53033 8.46967L12 10.9393L14.4697 8.46967C14.7626 8.17678 15.2374 8.17678 15.5303 8.46967Z"></path></svg></button></span></li>`; 88 inclusionWrapper.find('.solution-box-search-list__selected').removeClass('wpt-hide-selected-terms-section'); 89 inclusionWrapper.find('.solution-box-search-list__selected').show(); 90 inclusionWrapper.find('.solution-box-search-list__selected_terms').append(termListHTML); 91 } 92 $(document).on('click', '.solution-box-search-list__list li', debounce(selectTerm, 50)); 93 $(document).on('click', '#solution-box-remove-term', function () { 94 var self = $(this); 95 let parent_list = $(this).parents('ul'); 96 self.closest('li').remove(); 97 if (parent_list.find('li').length === 0) { 98 $('.solution-box-remove-inclusions').click(); 99 } 100 }); 101 $('.solution-box-remove-inclusions').on('click', function () { 102 const self = $(this); 103 const wrapper = self.closest('.swt-inclusion-selector'); 104 wrapper.find('.solution-box-search-list__selected_terms').empty(); 105 wrapper.find('.solution-box-search-list__selected').hide(); 106 }); 107 108 /** 109 * Change the CPT filter status to a text field 110 */ 111 $('body.post-type-woo_product_tab .wrap .subsubsub').html('<p class="swt-sub-heading">Create additional tabs for your product pages and choose which categories they appear on. For more options,<a target="_blank" href="https://solution-box.com/wordpress-plugins/woocommerce-product-tabs/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=swtsettings">upgrade to Pro.</a></p>'); 112 113 //Accordion - Product Edit page 114 const acc = document.getElementsByClassName('sptb_accordion'); 115 if (acc) { 116 let i; 117 for (i = 0; i < acc.length; i++) { 118 const panel = acc[i].nextElementSibling; 119 if (!panel.querySelector('.override-tab-content').checked) { 120 panel.querySelector('.wp-editor-wrap').classList.add('hidden'); 121 } 122 acc[i].addEventListener('click', function () { 123 this.classList.toggle('active'); 124 panel.classList.toggle('hidden'); 125 }); 126 } 127 } 128 129 // Show the editor field 130 const overrideInputs = $('.woocommerce_options_panel .override-tab-content'); 131 if (overrideInputs) { 132 overrideInputs.each(function (i) { 133 let editor = $(this).parents('.tab-container').find('.wp-editor-wrap'); 134 $(this).on('change', function (e) { 135 editor.toggleClass('hidden'); 136 }); 137 }); 138 } 139 ; 140 })(jQuery); 141 /******/ })() 142 ; 143 //# sourceMappingURL=admin.js.map 1 (()=>{"use strict";!function(t){function e(t,e){var s=null;return function(){var o=this,i=arguments;clearTimeout(s),s=setTimeout((function(){t.apply(o,i)}),e)}}t("#swt-category-search, #swt-tag-search , #swt-product-search").on("keyup",e((function(){let e=t(this),s=e.attr("data-taxonomy"),o=e.closest(".swt-inclusion-selector"),i=e.attr("data-type");o.find(".swt-loader").show(),o.find(".swt-component-no-results").hide();let n=o.find(".solution-box-search-list__list");const l=e.val();if(!l&&!l.length)return void o.find(".swt-loader").hide();let a=new URLSearchParams({search:l}),c=`/wc/v3/products/${s}/?${a.toString()}`;"product"==s&&(c=`/wc/v3/products/?${a.toString()}`),wp.apiFetch({path:c}).then((t=>{if(e.closest(".swt-inclusion-selector").find(".swt-loader").hide(),0==t.length)return void e.closest(".swt-inclusion-selector").find(".swt-component-no-results").show();let s="";t.map((t=>{s+=`<li data-inclusion-id=${t.id} data-inclusion-name="${t.name}" data-inclusion-type="${i}"><label for="search-list-item-${i}-0-${t.id}" data-inclusion-type="${i}" class=" solution-box-search-list__item depth-0"><input type="checkbox" id="search-list-item-${i}-0-${t.id}" name="search-list-item-${i}-0" class="solution-box-search-list__item-input" value="">\t<span class="solution-box-search-list__item-label"><span class="solution-box-search-list__item-name">${t.name}</span></span></label></li>`})),n.html(s).show()}))}),500)),t(".sptb_visibility_condition").on("change",(function(){"yes"===t(this).val()?t("#inclusions-list.form-table").addClass("hide-section"):t("#inclusions-list.form-table").removeClass("hide-section")})),t(document).on("click",".solution-box-search-list__list li",e((function(){const e=t(this),s=e.closest(".swt-inclusion-selector"),o=e.attr("data-inclusion-id"),i=e.attr("data-inclusion-name"),n=e.attr("data-inclusion-type"),l=s.find('.solution-box-search-list__selected_terms input[type="hidden"]');if(Array.from(l,(t=>t.value)).includes(o))return;let a=`<li><span class="solution-box-selected-list__tag"><span class="solution-box-tag__text" id="solution-box-tag__label-${o}"><span class="screen-reader-text">${i}</span><span aria-hidden="true">${i}</span></span><input type="hidden" name="sptb_${n}_list[]" value="${o}"><button type="button" aria-describedby="solution-box-tag__label-${o}" class="components-button solution-box-tag__remove" id="solution-box-remove-term" aria-label="${i}"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" width="20" height="20" class="clear-icon" aria-hidden="true" focusable="false"><path d="M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM15.5303 8.46967C15.8232 8.76256 15.8232 9.23744 15.5303 9.53033L13.0607 12L15.5303 14.4697C15.8232 14.7626 15.8232 15.2374 15.5303 15.5303C15.2374 15.8232 14.7626 15.8232 14.4697 15.5303L12 13.0607L9.53033 15.5303C9.23744 15.8232 8.76256 15.8232 8.46967 15.5303C8.17678 15.2374 8.17678 14.7626 8.46967 14.4697L10.9393 12L8.46967 9.53033C8.17678 9.23744 8.17678 8.76256 8.46967 8.46967C8.76256 8.17678 9.23744 8.17678 9.53033 8.46967L12 10.9393L14.4697 8.46967C14.7626 8.17678 15.2374 8.17678 15.5303 8.46967Z"></path></svg></button></span></li>`;s.find(".solution-box-search-list__selected").removeClass("wpt-hide-selected-terms-section"),s.find(".solution-box-search-list__selected").show(),s.find(".solution-box-search-list__selected_terms").append(a)}),50)),t(document).on("click","#solution-box-remove-term",(function(){var e=t(this);let s=t(this).parents("ul");e.closest("li").remove(),0===s.find("li").length&&t(".solution-box-remove-inclusions").click()})),t(".solution-box-remove-inclusions").on("click",(function(){const e=t(this).closest(".swt-inclusion-selector");e.find(".solution-box-search-list__selected_terms").empty(),e.find(".solution-box-search-list__selected").hide()})),t("body.post-type-woo_product_tab .wrap .subsubsub").html('<p class="swt-sub-heading">Create additional tabs for your product pages and choose which categories they appear on. For more options,<a target="_blank" href="https://solution-box.com/wordpress-plugins/woocommerce-product-tabs/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=swtsettings">upgrade to Pro.</a></p>');const s=document.getElementsByClassName("sptb_accordion");if(s){let t;for(t=0;t<s.length;t++){const e=s[t].nextElementSibling;e.querySelector(".override-tab-content").checked||e.querySelector(".wp-editor-wrap").classList.add("hidden"),s[t].addEventListener("click",(function(){this.classList.toggle("active"),e.classList.toggle("hidden")}))}}const o=t(".woocommerce_options_panel .override-tab-content");o&&o.each((function(e){let s=t(this).parents(".tab-container").find(".wp-editor-wrap");t(this).on("change",(function(t){s.toggleClass("hidden")}))}))}(jQuery)})(); -
simple-product-tabs-for-woocommerce/trunk/assets/js/admin.js.map
r3100087 r3101865 1 {"version":3,"file":"js/admin.js","mappings":"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","sources":["webpack://simple-product-tabs-for-woocommerce/./assets/admin/admin.js"],"sourcesContent":["\"use strict\";\n(function ($) {\n function debounce(fn, delay) {\n var timer = null;\n return function () {\n var context = this,\n args = arguments;\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(context, args);\n }, delay);\n };\n }\n\n /**\n * Search terms on typing keywords in Inclusions section\n */\n function termSearch() {\n let self = $(this);\n let taxonomy = self.attr('data-taxonomy');\n let wrapperSelector = self.closest('.swt-inclusion-selector');\n let inclusionType = self.attr('data-type');\n // display the loader\n wrapperSelector.find('.swt-loader').show();\n // hide no results message initially\n wrapperSelector.find('.swt-component-no-results').hide();\n let searchedTermsList = wrapperSelector.find('.solution-box-search-list__list');\n const searchTerm = self.val();\n if (!searchTerm && !searchTerm.length) {\n wrapperSelector.find('.swt-loader').hide();\n return;\n }\n let searchParam = new URLSearchParams({\n search: searchTerm\n });\n\n // Make WooCommerce REST API call to get terms\n wp.apiFetch({\n path: `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`\n }).then(terms => {\n // hide the loader\n self.closest('.swt-inclusion-selector').find('.swt-loader').hide();\n if (terms.length == 0) {\n // if no terms found, display no results found message\n self.closest('.swt-inclusion-selector').find('.swt-component-no-results').show();\n return;\n }\n let searchedTermsHTML = '';\n terms.map(term => {\n searchedTermsHTML += `<li data-inclusion-id=${term.id} data-inclusion-name=\"${term.name}\" data-inclusion-type=\"${inclusionType}\"><label for=\"search-list-item-${inclusionType}-0-${term.id}\" data-inclusion-type=\"${inclusionType}\" class=\" solution-box-search-list__item depth-0\"><input type=\"checkbox\" id=\"search-list-item-${inclusionType}-0-${term.id}\" name=\"search-list-item-${inclusionType}-0\" class=\"solution-box-search-list__item-input\" value=\"\">\t<span class=\"solution-box-search-list__item-label\"><span class=\"solution-box-search-list__item-name\">${term.name}</span></span></label></li>`;\n });\n searchedTermsList.html(searchedTermsHTML).show();\n });\n }\n $('#swt-category-search, #swt-tag-search , #swt-product-search').on('keyup', debounce(termSearch, 500));\n\n /**\n * Display/Hide inclusions sections based on the visibility condition\n */\n $('.sptb_visibility_condition').on('change', function () {\n \n if ($(this).val() === 'yes') {\n $('#inclusions-list.form-table').addClass('hide-section');\n } else {\n $('#inclusions-list.form-table').removeClass('hide-section');\n }\n });\n function selectTerm() {\n const self = $(this);\n const inclusionWrapper = self.closest('.swt-inclusion-selector');\n // the current term that clicked\n const checkedTerm = self.attr('data-inclusion-id');\n const checkedTermName = self.attr('data-inclusion-name');\n const wptInclusionType = self.attr('data-inclusion-type');\n // get list of already added terms\n const selectedTermDOM = inclusionWrapper.find('.solution-box-search-list__selected_terms input[type=\"hidden\"]');\n const selectedTerms = Array.from(selectedTermDOM, term => term.value);\n if (selectedTerms.includes(checkedTerm)) {\n return;\n }\n let termListHTML = `<li><span class=\"solution-box-selected-list__tag\"><span class=\"solution-box-tag__text\" id=\"solution-box-tag__label-${checkedTerm}\"><span class=\"screen-reader-text\">${checkedTermName}</span><span aria-hidden=\"true\">${checkedTermName}</span></span><input type=\"hidden\" name=\"sptb_${wptInclusionType}_list[]\" value=\"${checkedTerm}\"><button type=\"button\" aria-describedby=\"solution-box-tag__label-${checkedTerm}\" class=\"components-button solution-box-tag__remove\" id=\"solution-box-remove-term\" aria-label=\"${checkedTermName}\"><svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" class=\"clear-icon\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM15.5303 8.46967C15.8232 8.76256 15.8232 9.23744 15.5303 9.53033L13.0607 12L15.5303 14.4697C15.8232 14.7626 15.8232 15.2374 15.5303 15.5303C15.2374 15.8232 14.7626 15.8232 14.4697 15.5303L12 13.0607L9.53033 15.5303C9.23744 15.8232 8.76256 15.8232 8.46967 15.5303C8.17678 15.2374 8.17678 14.7626 8.46967 14.4697L10.9393 12L8.46967 9.53033C8.17678 9.23744 8.17678 8.76256 8.46967 8.46967C8.76256 8.17678 9.23744 8.17678 9.53033 8.46967L12 10.9393L14.4697 8.46967C14.7626 8.17678 15.2374 8.17678 15.5303 8.46967Z\"></path></svg></button></span></li>`;\n inclusionWrapper.find('.solution-box-search-list__selected').removeClass('wpt-hide-selected-terms-section');\n inclusionWrapper.find('.solution-box-search-list__selected').show();\n inclusionWrapper.find('.solution-box-search-list__selected_terms').append(termListHTML);\n }\n $(document).on('click', '.solution-box-search-list__list li', debounce(selectTerm, 50));\n $(document).on('click', '#solution-box-remove-term', function () {\n var self = $(this);\n let parent_list = $(this).parents('ul');\n self.closest('li').remove();\n if (parent_list.find('li').length === 0) {\n $('.solution-box-remove-inclusions').click();\n }\n });\n $('.solution-box-remove-inclusions').on('click', function () {\n const self = $(this);\n const wrapper = self.closest('.swt-inclusion-selector');\n wrapper.find('.solution-box-search-list__selected_terms').empty();\n wrapper.find('.solution-box-search-list__selected').hide();\n });\n\n /**\n * Change the CPT filter status to a text field\n */\n $('body.post-type-woo_product_tab .wrap .subsubsub').html('<p class=\"swt-sub-heading\">Create additional tabs for your product pages and choose which categories they appear on. For more options,<a target=\"_blank\" href=\"https://solution-box.com/wordpress-plugins/woocommerce-product-tabs/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=swtsettings\">upgrade to Pro.</a></p>');\n\n\n\n //Accordion - Product Edit page\n const acc = document.getElementsByClassName( 'sptb_accordion' );\n if ( acc ) {\n let i;\n for ( i = 0; i < acc.length; i++ ) {\n const panel = acc[ i ].nextElementSibling;\n if( ! panel.querySelector( '.override-tab-content' ).checked ) {\n panel.querySelector( '.wp-editor-wrap' ).classList.add( 'hidden' );\n }\n acc[ i ].addEventListener( 'click', function() {\n this.classList.toggle( 'active' );\n panel.classList.toggle( 'hidden' );\n } );\n }\n }\n \n // Show the editor field\n const overrideInputs = $( '.woocommerce_options_panel .override-tab-content' );\n if( overrideInputs ) {\n overrideInputs.each( function( i ) {\n let editor = $( this ).parents('.tab-container').find( '.wp-editor-wrap' );\n $( this ).on( 'change', function( e ) {\n editor.toggleClass( 'hidden' );\n })\n } )\n };\n})(jQuery);"],"names":["$","debounce","fn","delay","timer","context","args","arguments","clearTimeout","setTimeout","apply","termSearch","self","taxonomy","attr","wrapperSelector","closest","inclusionType","find","show","hide","searchedTermsList","searchTerm","val","length","searchParam","URLSearchParams","search","wp","apiFetch","path","toString","then","terms","searchedTermsHTML","map","term","id","name","html","on","addClass","removeClass","selectTerm","inclusionWrapper","checkedTerm","checkedTermName","wptInclusionType","selectedTermDOM","selectedTerms","Array","from","value","includes","termListHTML","append","document","parent_list","parents","remove","click","wrapper","empty","acc","getElementsByClassName","i","panel","nextElementSibling","querySelector","checked","classList","add","addEventListener","toggle","overrideInputs","each","editor","e","toggleClass","jQuery"],"sourceRoot":""}1 {"version":3,"file":"js/admin.js","mappings":"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","sources":["webpack://simple-product-tabs-for-woocommerce/./assets/admin/admin.js"],"sourcesContent":["\"use strict\";\n(function ($) {\n function debounce(fn, delay) {\n var timer = null;\n return function () {\n var context = this,\n args = arguments;\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(context, args);\n }, delay);\n };\n }\n\n /**\n * Search terms on typing keywords in Inclusions section\n */\n function termSearch() {\n let self = $(this);\n let taxonomy = self.attr('data-taxonomy');\n let wrapperSelector = self.closest('.swt-inclusion-selector');\n let inclusionType = self.attr('data-type');\n // display the loader\n wrapperSelector.find('.swt-loader').show();\n // hide no results message initially\n wrapperSelector.find('.swt-component-no-results').hide();\n let searchedTermsList = wrapperSelector.find('.solution-box-search-list__list');\n const searchTerm = self.val();\n if (!searchTerm && !searchTerm.length) {\n wrapperSelector.find('.swt-loader').hide();\n return;\n }\n let searchParam = new URLSearchParams({\n search: searchTerm\n });\n \n let API_SEARCH = `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`;\n if( taxonomy == 'product' ) {\n API_SEARCH = `/wc/v3/products/?${searchParam.toString()}`;\n }\n\n // Make WooCommerce REST API call to get terms\n wp.apiFetch({\n path: API_SEARCH\n }).then(terms => {\n // hide the loader\n self.closest('.swt-inclusion-selector').find('.swt-loader').hide();\n if (terms.length == 0) {\n // if no terms found, display no results found message\n self.closest('.swt-inclusion-selector').find('.swt-component-no-results').show();\n return;\n }\n let searchedTermsHTML = '';\n terms.map(term => {\n searchedTermsHTML += `<li data-inclusion-id=${term.id} data-inclusion-name=\"${term.name}\" data-inclusion-type=\"${inclusionType}\"><label for=\"search-list-item-${inclusionType}-0-${term.id}\" data-inclusion-type=\"${inclusionType}\" class=\" solution-box-search-list__item depth-0\"><input type=\"checkbox\" id=\"search-list-item-${inclusionType}-0-${term.id}\" name=\"search-list-item-${inclusionType}-0\" class=\"solution-box-search-list__item-input\" value=\"\">\t<span class=\"solution-box-search-list__item-label\"><span class=\"solution-box-search-list__item-name\">${term.name}</span></span></label></li>`;\n });\n searchedTermsList.html(searchedTermsHTML).show();\n });\n }\n $('#swt-category-search, #swt-tag-search , #swt-product-search').on('keyup', debounce(termSearch, 500));\n\n /**\n * Display/Hide inclusions sections based on the visibility condition\n */\n $('.sptb_visibility_condition').on('change', function () {\n \n if ($(this).val() === 'yes') {\n $('#inclusions-list.form-table').addClass('hide-section');\n } else {\n $('#inclusions-list.form-table').removeClass('hide-section');\n }\n });\n function selectTerm() {\n const self = $(this);\n const inclusionWrapper = self.closest('.swt-inclusion-selector');\n // the current term that clicked\n const checkedTerm = self.attr('data-inclusion-id');\n const checkedTermName = self.attr('data-inclusion-name');\n const wptInclusionType = self.attr('data-inclusion-type');\n // get list of already added terms\n const selectedTermDOM = inclusionWrapper.find('.solution-box-search-list__selected_terms input[type=\"hidden\"]');\n const selectedTerms = Array.from(selectedTermDOM, term => term.value);\n if (selectedTerms.includes(checkedTerm)) {\n return;\n }\n let termListHTML = `<li><span class=\"solution-box-selected-list__tag\"><span class=\"solution-box-tag__text\" id=\"solution-box-tag__label-${checkedTerm}\"><span class=\"screen-reader-text\">${checkedTermName}</span><span aria-hidden=\"true\">${checkedTermName}</span></span><input type=\"hidden\" name=\"sptb_${wptInclusionType}_list[]\" value=\"${checkedTerm}\"><button type=\"button\" aria-describedby=\"solution-box-tag__label-${checkedTerm}\" class=\"components-button solution-box-tag__remove\" id=\"solution-box-remove-term\" aria-label=\"${checkedTermName}\"><svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" class=\"clear-icon\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM15.5303 8.46967C15.8232 8.76256 15.8232 9.23744 15.5303 9.53033L13.0607 12L15.5303 14.4697C15.8232 14.7626 15.8232 15.2374 15.5303 15.5303C15.2374 15.8232 14.7626 15.8232 14.4697 15.5303L12 13.0607L9.53033 15.5303C9.23744 15.8232 8.76256 15.8232 8.46967 15.5303C8.17678 15.2374 8.17678 14.7626 8.46967 14.4697L10.9393 12L8.46967 9.53033C8.17678 9.23744 8.17678 8.76256 8.46967 8.46967C8.76256 8.17678 9.23744 8.17678 9.53033 8.46967L12 10.9393L14.4697 8.46967C14.7626 8.17678 15.2374 8.17678 15.5303 8.46967Z\"></path></svg></button></span></li>`;\n inclusionWrapper.find('.solution-box-search-list__selected').removeClass('wpt-hide-selected-terms-section');\n inclusionWrapper.find('.solution-box-search-list__selected').show();\n inclusionWrapper.find('.solution-box-search-list__selected_terms').append(termListHTML);\n }\n $(document).on('click', '.solution-box-search-list__list li', debounce(selectTerm, 50));\n $(document).on('click', '#solution-box-remove-term', function () {\n var self = $(this);\n let parent_list = $(this).parents('ul');\n self.closest('li').remove();\n if (parent_list.find('li').length === 0) {\n $('.solution-box-remove-inclusions').click();\n }\n });\n $('.solution-box-remove-inclusions').on('click', function () {\n const self = $(this);\n const wrapper = self.closest('.swt-inclusion-selector');\n wrapper.find('.solution-box-search-list__selected_terms').empty();\n wrapper.find('.solution-box-search-list__selected').hide();\n });\n\n /**\n * Change the CPT filter status to a text field\n */\n $('body.post-type-woo_product_tab .wrap .subsubsub').html('<p class=\"swt-sub-heading\">Create additional tabs for your product pages and choose which categories they appear on. For more options,<a target=\"_blank\" href=\"https://solution-box.com/wordpress-plugins/woocommerce-product-tabs/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=swtsettings\">upgrade to Pro.</a></p>');\n\n\n\n //Accordion - Product Edit page\n const acc = document.getElementsByClassName( 'sptb_accordion' );\n if ( acc ) {\n let i;\n for ( i = 0; i < acc.length; i++ ) {\n const panel = acc[ i ].nextElementSibling;\n if( ! panel.querySelector( '.override-tab-content' ).checked ) {\n panel.querySelector( '.wp-editor-wrap' ).classList.add( 'hidden' );\n }\n acc[ i ].addEventListener( 'click', function() {\n this.classList.toggle( 'active' );\n panel.classList.toggle( 'hidden' );\n } );\n }\n }\n \n // Show the editor field\n const overrideInputs = $( '.woocommerce_options_panel .override-tab-content' );\n if( overrideInputs ) {\n overrideInputs.each( function( i ) {\n let editor = $( this ).parents('.tab-container').find( '.wp-editor-wrap' );\n $( this ).on( 'change', function( e ) {\n editor.toggleClass( 'hidden' );\n })\n } )\n };\n})(jQuery);"],"names":["$","debounce","fn","delay","timer","context","args","arguments","clearTimeout","setTimeout","apply","termSearch","self","taxonomy","attr","wrapperSelector","closest","inclusionType","find","show","hide","searchedTermsList","searchTerm","val","length","searchParam","URLSearchParams","search","API_SEARCH","toString","wp","apiFetch","path","then","terms","searchedTermsHTML","map","term","id","name","html","on","addClass","removeClass","selectTerm","inclusionWrapper","checkedTerm","checkedTermName","wptInclusionType","selectedTermDOM","selectedTerms","Array","from","value","includes","termListHTML","append","document","parent_list","parents","remove","click","wrapper","empty","acc","getElementsByClassName","i","panel","nextElementSibling","querySelector","checked","classList","add","addEventListener","toggle","overrideInputs","each","editor","e","toggleClass","jQuery"],"sourceRoot":""} -
simple-product-tabs-for-woocommerce/trunk/assets/js/public.asset.php
r3100087 r3101865 1 <?php return array('dependencies' => array(), 'version' => ' 859b5c02d3eed8cbb4bc');1 <?php return array('dependencies' => array(), 'version' => 'c2353c8f2ce8e8f14d80'); -
simple-product-tabs-for-woocommerce/trunk/readme.txt
r3099714 r3101865 7 7 Requires at least: 6.0 8 8 Tested up to: 6.4.3 9 Stable tag: 1. 0.09 Stable tag: 1.1.0 10 10 License: GPLv2 or later 11 11 License URI: htttp://www.gnu.org/licenses/gpl-2.0.html 12 12 Discover the easy way to add extra tabs to your WooCommerce product pages. 13 13 == Description == 14 15 Discover the easy way to add extra tabs to your WooCommerce product pages.16 14 [Documentation](https://solbox.dev/docs/?utm_source=freemium&utm_medium=reade-me&utm_campaign=go_pro_tabs) | [Support](https://solbox.dev/support/) | [Demo](https://solbox.dev/product-tabs) | [Premium Version](https://solbox.dev/plugins/simple-product-tabs-for-woocommerce/?utm_source=freemium&utm_medium=read-me&utm_campaign=go_pro_tabs) 17 15 … … 114 112 115 113 = 1.0.0 = 114 * Initial release 116 115 117 * Initial release 116 = 1.1.0 = 117 118 118 119 119 == Upgrade Notice == -
simple-product-tabs-for-woocommerce/trunk/simple-product-tabs-for-woocommerce.php
r3099714 r3101865 4 4 * Plugin URI: https://solbox.dev/plugins/simple-product-tabs-for-woocommerce/ 5 5 * Description: Boost your sale by adding custom tabs containing extra information. 6 * Version: 1. 0.06 * Version: 1.1.0 7 7 * Author: Solution Box 8 8 * Author URI: https://solbox.dev/ … … 30 30 } 31 31 32 const SPTB_PLUGIN_VERSION = '1. 0.0';32 const SPTB_PLUGIN_VERSION = '1.1.0'; 33 33 const SPTB_PLUGIN_FILE = __FILE__; 34 34 const SPTB_PLUGIN_DIR = __DIR__; -
simple-product-tabs-for-woocommerce/trunk/src/Post_Type.php
r3099679 r3101865 130 130 $flag_default_for_all = Util::is_tab_global( $post_id ); 131 131 132 $tab_categories = get_post_meta( $post_id, '_sptb_conditions_category', true ); 133 if ( 'no' === $flag_default_for_all && $tab_categories ) { 132 if ( $flag_default_for_all ) { 133 echo '<span class="dashicons dashicons-yes"></span>'; 134 } else { 134 135 echo '<span class="dashicons dashicons-no-alt"></span>'; 135 } else {136 echo '<span class="dashicons dashicons-yes"></span>';137 136 } 138 137 break; -
simple-product-tabs-for-woocommerce/trunk/src/Single_Tab.php
r3099679 r3101865 188 188 } 189 189 190 /**191 * Save product tabs settings.192 *193 * @since 1.0.0194 */190 /** 191 * Save product tabs settings. 192 * 193 * @since 1.0.0 194 */ 195 195 public function save_visibility_condition( $post_id ) { 196 196 … … 222 222 223 223 $tab_icon = ''; 224 if ( isset( $_POST['_sptb_tab_icon'] ) ) {224 if ( isset( $_POST['_sptb_tab_icon'] ) && ! empty( $_POST['_sptb_tab_icon'] ) ) { 225 225 $tab_icon = sanitize_text_field( wp_unslash( $_POST['_sptb_tab_icon'] ?? '' ) ); 226 227 } 228 229 update_post_meta( $post_id, '_sptb_tab_icon', $tab_icon );226 update_post_meta( $post_id, '_sptb_tab_icon', $tab_icon ); 227 } 228 229 230 230 231 231 }
Note: See TracChangeset
for help on using the changeset viewer.