Plugin Directory

Changeset 3100087


Ignore:
Timestamp:
06/09/2024 03:06:35 PM (18 months ago)
Author:
sharaz
Message:

HPOS compatibility added
Product Edit issue fixed

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

Legend:

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

    r3099870 r3100087  
    124124 
    125125   // Show the editor field
    126    const overrideInputs = $( '.sptb_accordion .override-tab-content' );
     126   const overrideInputs = $( '.woocommerce_options_panel .override-tab-content' );
    127127   if( overrideInputs ) {
    128128     overrideInputs.each( function( i ) {
  • simple-product-tabs-for-woocommerce/trunk/assets/css/admin.asset.php

    r3099777 r3100087  
    1 <?php return array('dependencies' => array(), 'version' => 'b5e3006dc15cfef46e1a');
     1<?php return array('dependencies' => array(), 'version' => '16b0a3570177a441af22');
  • simple-product-tabs-for-woocommerce/trunk/assets/css/public.asset.php

    r3099777 r3100087  
    1 <?php return array('dependencies' => array(), 'version' => 'f6341de4e8cbb8f29908');
     1<?php return array('dependencies' => array(), 'version' => '9fb66ffc6b8d36778d69');
  • simple-product-tabs-for-woocommerce/trunk/assets/js/admin.asset.php

    r3099870 r3100087  
    1 <?php return array('dependencies' => array(), 'version' => '799ea422ca3369a9a9d5');
     1<?php return array('dependencies' => array(), 'version' => '4de43ffe4fcedb1ddd8d');
  • simple-product-tabs-for-woocommerce/trunk/assets/js/admin.js

    r3099870 r3100087  
    1 (()=>{"use strict";!function(t){function s(t,s){var e=null;return function(){var i=this,o=arguments;clearTimeout(e),e=setTimeout((function(){t.apply(i,o)}),s)}}t("#swt-category-search, #swt-tag-search , #swt-product-search").on("keyup",s((function(){let s=t(this),e=s.attr("data-taxonomy"),i=s.closest(".swt-inclusion-selector"),o=s.attr("data-type");i.find(".swt-loader").show(),i.find(".swt-component-no-results").hide();let n=i.find(".solution-box-search-list__list");const l=s.val();if(!l&&!l.length)return void i.find(".swt-loader").hide();let a=new URLSearchParams({search:l});wp.apiFetch({path:`/wc/v3/products/${e}/?${a.toString()}`}).then((t=>{if(s.closest(".swt-inclusion-selector").find(".swt-loader").hide(),0==t.length)return void s.closest(".swt-inclusion-selector").find(".swt-component-no-results").show();let e="";t.map((t=>{e+=`<li data-inclusion-id=${t.id} data-inclusion-name="${t.name}" data-inclusion-type="${o}"><label for="search-list-item-${o}-0-${t.id}" data-inclusion-type="${o}" class=" solution-box-search-list__item depth-0"><input type="checkbox" id="search-list-item-${o}-0-${t.id}" name="search-list-item-${o}-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(e).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",s((function(){const s=t(this),e=s.closest(".swt-inclusion-selector"),i=s.attr("data-inclusion-id"),o=s.attr("data-inclusion-name"),n=s.attr("data-inclusion-type"),l=e.find('.solution-box-search-list__selected_terms input[type="hidden"]');if(Array.from(l,(t=>t.value)).includes(i))return;let a=`<li><span class="solution-box-selected-list__tag"><span class="solution-box-tag__text" id="solution-box-tag__label-${i}"><span class="screen-reader-text">${o}</span><span aria-hidden="true">${o}</span></span><input type="hidden" name="sptb_${n}_list[]" value="${i}"><button type="button" aria-describedby="solution-box-tag__label-${i}" class="components-button solution-box-tag__remove" id="solution-box-remove-term" aria-label="${o}"><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>`;e.find(".solution-box-search-list__selected").removeClass("wpt-hide-selected-terms-section"),e.find(".solution-box-search-list__selected").show(),e.find(".solution-box-search-list__selected_terms").append(a)}),50)),t(document).on("click","#solution-box-remove-term",(function(){var s=t(this);let e=t(this).parents("ul");s.closest("li").remove(),0===e.find("li").length&&t(".solution-box-remove-inclusions").click()})),t(".solution-box-remove-inclusions").on("click",(function(){const s=t(this).closest(".swt-inclusion-selector");s.find(".solution-box-search-list__selected_terms").empty(),s.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 e=document.getElementsByClassName("sptb_accordion");if(e){let t;for(t=0;t<e.length;t++){const s=e[t].nextElementSibling;s.querySelector(".override-tab-content").checked||s.querySelector(".wp-editor-wrap").classList.add("hidden"),e[t].addEventListener("click",(function(){this.classList.toggle("active"),s.classList.toggle("hidden")}))}}const i=t(".sptb_accordion .override-tab-content");i&&i.each((function(s){let e=t(this).parents(".tab-container").find(".wp-editor-wrap");t(this).on("change",(function(t){e.toggleClass("hidden")}))}))}(jQuery)})();
     1/******/ (() => { // webpackBootstrap
     2/******/    "use strict";
     3var __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
  • simple-product-tabs-for-woocommerce/trunk/assets/js/admin.js.map

    r3099870 r3100087  
    1 {"version":3,"file":"js/admin.js","mappings":";;;;;;AAAa;;AACb,CAAC,UAAUA,CAAC,EAAE;EACZ,SAASC,QAAQA,CAACC,EAAE,EAAEC,KAAK,EAAE;IAC3B,IAAIC,KAAK,GAAG,IAAI;IAChB,OAAO,YAAY;MACjB,IAAIC,OAAO,GAAG,IAAI;QAChBC,IAAI,GAAGC,SAAS;MAClBC,YAAY,CAACJ,KAAK,CAAC;MACnBA,KAAK,GAAGK,UAAU,CAAC,YAAY;QAC7BP,EAAE,CAACQ,KAAK,CAACL,OAAO,EAAEC,IAAI,CAAC;MACzB,CAAC,EAAEH,KAAK,CAAC;IACX,CAAC;EACH;;EAEA;AACF;AACA;EACE,SAASQ,UAAUA,CAAA,EAAG;IACpB,IAAIC,IAAI,GAAGZ,CAAC,CAAC,IAAI,CAAC;IAClB,IAAIa,QAAQ,GAAGD,IAAI,CAACE,IAAI,CAAC,eAAe,CAAC;IACzC,IAAIC,eAAe,GAAGH,IAAI,CAACI,OAAO,CAAC,yBAAyB,CAAC;IAC7D,IAAIC,aAAa,GAAGL,IAAI,CAACE,IAAI,CAAC,WAAW,CAAC;IAC1C;IACAC,eAAe,CAACG,IAAI,CAAC,aAAa,CAAC,CAACC,IAAI,CAAC,CAAC;IAC1C;IACAJ,eAAe,CAACG,IAAI,CAAC,2BAA2B,CAAC,CAACE,IAAI,CAAC,CAAC;IACxD,IAAIC,iBAAiB,GAAGN,eAAe,CAACG,IAAI,CAAC,iCAAiC,CAAC;IAC/E,MAAMI,UAAU,GAAGV,IAAI,CAACW,GAAG,CAAC,CAAC;IAC7B,IAAI,CAACD,UAAU,IAAI,CAACA,UAAU,CAACE,MAAM,EAAE;MACrCT,eAAe,CAACG,IAAI,CAAC,aAAa,CAAC,CAACE,IAAI,CAAC,CAAC;MAC1C;IACF;IACA,IAAIK,WAAW,GAAG,IAAIC,eAAe,CAAC;MACpCC,MAAM,EAAEL;IACV,CAAC,CAAC;;IAEF;IACAM,EAAE,CAACC,QAAQ,CAAC;MACVC,IAAI,EAAG,mBAAkBjB,QAAS,KAAIY,WAAW,CAACM,QAAQ,CAAC,CAAE;IAC/D,CAAC,CAAC,CAACC,IAAI,CAACC,KAAK,IAAI;MACf;MACArB,IAAI,CAACI,OAAO,CAAC,yBAAyB,CAAC,CAACE,IAAI,CAAC,aAAa,CAAC,CAACE,IAAI,CAAC,CAAC;MAClE,IAAIa,KAAK,CAACT,MAAM,IAAI,CAAC,EAAE;QACrB;QACAZ,IAAI,CAACI,OAAO,CAAC,yBAAyB,CAAC,CAACE,IAAI,CAAC,2BAA2B,CAAC,CAACC,IAAI,CAAC,CAAC;QAChF;MACF;MACA,IAAIe,iBAAiB,GAAG,EAAE;MAC1BD,KAAK,CAACE,GAAG,CAACC,IAAI,IAAI;QAChBF,iBAAiB,IAAK,yBAAwBE,IAAI,CAACC,EAAG,yBAAwBD,IAAI,CAACE,IAAK,0BAAyBrB,aAAc,kCAAiCA,aAAc,MAAKmB,IAAI,CAACC,EAAG,0BAAyBpB,aAAc,iGAAgGA,aAAc,MAAKmB,IAAI,CAACC,EAAG,4BAA2BpB,aAAc,mKAAkKmB,IAAI,CAACE,IAAK,6BAA4B;MAChlB,CAAC,CAAC;MACFjB,iBAAiB,CAACkB,IAAI,CAACL,iBAAiB,CAAC,CAACf,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ;EACAnB,CAAC,CAAC,6DAA6D,CAAC,CAACwC,EAAE,CAAC,OAAO,EAAEvC,QAAQ,CAACU,UAAU,EAAE,GAAG,CAAC,CAAC;;EAEvG;AACF;AACA;EACEX,CAAC,CAAC,4BAA4B,CAAC,CAACwC,EAAE,CAAC,QAAQ,EAAE,YAAY;IAEvD,IAAIxC,CAAC,CAAC,IAAI,CAAC,CAACuB,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;MAC3BvB,CAAC,CAAC,6BAA6B,CAAC,CAACyC,QAAQ,CAAC,cAAc,CAAC;IAC3D,CAAC,MAAM;MACLzC,CAAC,CAAC,6BAA6B,CAAC,CAAC0C,WAAW,CAAC,cAAc,CAAC;IAC9D;EACF,CAAC,CAAC;EACF,SAASC,UAAUA,CAAA,EAAG;IACpB,MAAM/B,IAAI,GAAGZ,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM4C,gBAAgB,GAAGhC,IAAI,CAACI,OAAO,CAAC,yBAAyB,CAAC;IAChE;IACA,MAAM6B,WAAW,GAAGjC,IAAI,CAACE,IAAI,CAAC,mBAAmB,CAAC;IAClD,MAAMgC,eAAe,GAAGlC,IAAI,CAACE,IAAI,CAAC,qBAAqB,CAAC;IACxD,MAAMiC,gBAAgB,GAAGnC,IAAI,CAACE,IAAI,CAAC,qBAAqB,CAAC;IACzD;IACA,MAAMkC,eAAe,GAAGJ,gBAAgB,CAAC1B,IAAI,CAAC,gEAAgE,CAAC;IAC/G,MAAM+B,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACH,eAAe,EAAEZ,IAAI,IAAIA,IAAI,CAACgB,KAAK,CAAC;IACrE,IAAIH,aAAa,CAACI,QAAQ,CAACR,WAAW,CAAC,EAAE;MACvC;IACF;IACA,IAAIS,YAAY,GAAI,sHAAqHT,WAAY,sCAAqCC,eAAgB,mCAAkCA,eAAgB,iDAAgDC,gBAAiB,mBAAkBF,WAAY,qEAAoEA,WAAY,kGAAiGC,eAAgB,0yBAAyyB;IACr0CF,gBAAgB,CAAC1B,IAAI,CAAC,qCAAqC,CAAC,CAACwB,WAAW,CAAC,iCAAiC,CAAC;IAC3GE,gBAAgB,CAAC1B,IAAI,CAAC,qCAAqC,CAAC,CAACC,IAAI,CAAC,CAAC;IACnEyB,gBAAgB,CAAC1B,IAAI,CAAC,2CAA2C,CAAC,CAACqC,MAAM,CAACD,YAAY,CAAC;EACzF;EACAtD,CAAC,CAACwD,QAAQ,CAAC,CAAChB,EAAE,CAAC,OAAO,EAAE,oCAAoC,EAAEvC,QAAQ,CAAC0C,UAAU,EAAE,EAAE,CAAC,CAAC;EACvF3C,CAAC,CAACwD,QAAQ,CAAC,CAAChB,EAAE,CAAC,OAAO,EAAE,2BAA2B,EAAE,YAAY;IAC/D,IAAI5B,IAAI,GAAGZ,CAAC,CAAC,IAAI,CAAC;IAClB,IAAIyD,WAAW,GAAGzD,CAAC,CAAC,IAAI,CAAC,CAAC0D,OAAO,CAAC,IAAI,CAAC;IACvC9C,IAAI,CAACI,OAAO,CAAC,IAAI,CAAC,CAAC2C,MAAM,CAAC,CAAC;IAC3B,IAAIF,WAAW,CAACvC,IAAI,CAAC,IAAI,CAAC,CAACM,MAAM,KAAK,CAAC,EAAE;MACvCxB,CAAC,CAAC,iCAAiC,CAAC,CAAC4D,KAAK,CAAC,CAAC;IAC9C;EACF,CAAC,CAAC;EACF5D,CAAC,CAAC,iCAAiC,CAAC,CAACwC,EAAE,CAAC,OAAO,EAAE,YAAY;IAC3D,MAAM5B,IAAI,GAAGZ,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM6D,OAAO,GAAGjD,IAAI,CAACI,OAAO,CAAC,yBAAyB,CAAC;IACvD6C,OAAO,CAAC3C,IAAI,CAAC,2CAA2C,CAAC,CAAC4C,KAAK,CAAC,CAAC;IACjED,OAAO,CAAC3C,IAAI,CAAC,qCAAqC,CAAC,CAACE,IAAI,CAAC,CAAC;EAC5D,CAAC,CAAC;;EAEF;AACF;AACA;EACEpB,CAAC,CAAC,iDAAiD,CAAC,CAACuC,IAAI,CAAC,0VAA0V,CAAC;;EAIpZ;EACA,MAAMwB,GAAG,GAAGP,QAAQ,CAACQ,sBAAsB,CAAE,gBAAiB,CAAC;EAC/D,IAAKD,GAAG,EAAG;IACT,IAAIE,CAAC;IACL,KAAMA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAACvC,MAAM,EAAEyC,CAAC,EAAE,EAAG;MACjC,MAAMC,KAAK,GAAGH,GAAG,CAAEE,CAAC,CAAE,CAACE,kBAAkB;MACzC,IAAI,CAAED,KAAK,CAACE,aAAa,CAAE,uBAAwB,CAAC,CAACC,OAAO,EAAG;QAC7DH,KAAK,CAACE,aAAa,CAAE,iBAAkB,CAAC,CAACE,SAAS,CAACC,GAAG,CAAE,QAAS,CAAC;MACpE;MACAR,GAAG,CAAEE,CAAC,CAAE,CAACO,gBAAgB,CAAE,OAAO,EAAE,YAAW;QAC7C,IAAI,CAACF,SAAS,CAACG,MAAM,CAAE,QAAS,CAAC;QACjCP,KAAK,CAACI,SAAS,CAACG,MAAM,CAAE,QAAS,CAAC;MACpC,CAAE,CAAC;IACL;EACF;;EAEA;EACA,MAAMC,cAAc,GAAG1E,CAAC,CAAE,uCAAwC,CAAC;EACnE,IAAI0E,cAAc,EAAG;IACnBA,cAAc,CAACC,IAAI,CAAE,UAAUV,CAAC,EAAG;MACjC,IAAIW,MAAM,GAAG5E,CAAC,CAAE,IAAK,CAAC,CAAC0D,OAAO,CAAC,gBAAgB,CAAC,CAACxC,IAAI,CAAE,iBAAkB,CAAC;MAC1ElB,CAAC,CAAE,IAAK,CAAC,CAACwC,EAAE,CAAE,QAAQ,EAAE,UAAUqC,CAAC,EAAG;QACpCD,MAAM,CAACE,WAAW,CAAE,QAAS,CAAC;MAChC,CAAC,CAAC;IACJ,CAAE,CAAC;EACL;EAAC;AACJ,CAAC,EAAEC,MAAM,CAAC,C","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 = $( '.sptb_accordion .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    // 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":""}
  • simple-product-tabs-for-woocommerce/trunk/assets/js/public.asset.php

    r3099777 r3100087  
    1 <?php return array('dependencies' => array(), 'version' => 'c2353c8f2ce8e8f14d80');
     1<?php return array('dependencies' => array(), 'version' => '859b5c02d3eed8cbb4bc');
  • simple-product-tabs-for-woocommerce/trunk/src/Plugin.php

    r3099679 r3100087  
    8080
    8181        add_action( 'init', array( $this, 'load_textdomain' ), 5 );
     82
     83        add_action( 'before_woocommerce_init', array( $this, 'add_hpos_support' ) );
    8284    }
    8385
     
    169171        return $base_file;
    170172    }
     173
     174
     175    /**
     176     * HPOS support
     177     *
     178     * @see https://woocommerce.com/posts/platform-update-high-performance-order-storage-for-woocommerce/
     179     */
     180    public function add_hpos_support() {
     181        if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
     182            \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', $this->get_data( 'file' ), true );
     183        }
     184    }
    171185}
Note: See TracChangeset for help on using the changeset viewer.