Plugin Directory

Changeset 3101865


Ignore:
Timestamp:
06/12/2024 03:00:14 PM (18 months ago)
Author:
sharaz
Message:

Release 1.1.0

Location:
simple-product-tabs-for-woocommerce/trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • simple-product-tabs-for-woocommerce/trunk/assets/admin/admin.js

    r3100087 r3101865  
    3434      search: searchTerm
    3535    });
     36 
     37    let API_SEARCH = `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`;
     38    if( taxonomy == 'product' ) {
     39      API_SEARCH = `/wc/v3/products/?${searchParam.toString()}`;
     40    }
    3641
    3742    // Make WooCommerce REST API call to get terms
    3843    wp.apiFetch({
    39       path: `/wc/v3/products/${taxonomy}/?${searchParam.toString()}`
     44      path: API_SEARCH
    4045    }).then(terms => {
    4146      // 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  
    77Requires at least: 6.0
    88Tested up to: 6.4.3
    9 Stable tag: 1.0.0
     9Stable tag: 1.1.0
    1010License: GPLv2 or later
    1111License URI: htttp://www.gnu.org/licenses/gpl-2.0.html
    12 
     12Discover the easy way to add extra tabs to your WooCommerce product pages.
    1313== Description ==
    14 
    15 Discover the easy way to add extra tabs to your WooCommerce product pages.
    1614 [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)
    1715
     
    114112
    115113= 1.0.0 =
     114* Initial release
    116115
    117 * Initial release
     116= 1.1.0 =
     117
    118118
    119119== Upgrade Notice ==
  • simple-product-tabs-for-woocommerce/trunk/simple-product-tabs-for-woocommerce.php

    r3099714 r3101865  
    44 * Plugin URI: https://solbox.dev/plugins/simple-product-tabs-for-woocommerce/
    55 * Description: Boost your sale by adding custom tabs containing extra information.
    6  * Version: 1.0.0
     6 * Version: 1.1.0
    77 * Author: Solution Box
    88 * Author URI: https://solbox.dev/
     
    3030}
    3131
    32 const SPTB_PLUGIN_VERSION = '1.0.0';
     32const SPTB_PLUGIN_VERSION = '1.1.0';
    3333const SPTB_PLUGIN_FILE    = __FILE__;
    3434const SPTB_PLUGIN_DIR     = __DIR__;
  • simple-product-tabs-for-woocommerce/trunk/src/Post_Type.php

    r3099679 r3101865  
    130130                $flag_default_for_all = Util::is_tab_global( $post_id );
    131131
    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 {
    134135                    echo '<span class="dashicons dashicons-no-alt"></span>';
    135                 } else {
    136                     echo '<span class="dashicons dashicons-yes"></span>';
    137136                }
    138137                break;
  • simple-product-tabs-for-woocommerce/trunk/src/Single_Tab.php

    r3099679 r3101865  
    188188    }
    189189
    190         /**
    191         *  Save product tabs settings.
    192         *
    193         * @since 1.0.0
    194         */
     190    /**
     191    *  Save product tabs settings.
     192    *
     193    * @since 1.0.0
     194    */
    195195    public function save_visibility_condition( $post_id ) {
    196196
     
    222222
    223223        $tab_icon = '';
    224         if ( isset( $_POST['_sptb_tab_icon'] ) ) {
     224        if ( isset( $_POST['_sptb_tab_icon'] ) && ! empty( $_POST['_sptb_tab_icon'] ) ) {
    225225            $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       
    230230
    231231    }
Note: See TracChangeset for help on using the changeset viewer.