Plugin Directory

Changeset 3402617


Ignore:
Timestamp:
11/25/2025 02:48:16 PM (5 weeks ago)
Author:
wijnbergdevelopments
Message:
  • Improved FacetWP compatibility
  • Added compatibility for YayMail - WooCommerce Email Customizer
  • Added compatibility for PDF Invoices & Packing Slips for WooCommerce
  • Tested WooCommerce 10.3.5
Location:
tax-switch-for-woocommerce
Files:
106 added
8 edited

Legend:

Unmodified
Added
Removed
  • tax-switch-for-woocommerce/trunk/README.txt

    r3384402 r3402617  
    44Requires at least: 5.0
    55Tested up to: 6.8
    6 Stable tag: 1.6.0
     6Stable tag: 1.6.1
    77Requires PHP: 7.2
    88License: GPL-2.0+
     
    199199* Extra Product Options & Add-Ons for WooCommerce
    200200* FiboSearch – Ajax Search for WooCommerce (+ Pro)
     201* YayMail - WooCommerce Email Customizer
     202* PDF Invoices & Packing Slips for WooCommerce
    201203
    202204If you encounter any compatibility issues with other plugins or themes, please let us know. Your feedback helps us improve the plugin and extend compatibility to more third-party solutions.
     
    235237
    236238== Changelog ==
     239= 1.6.1 =
     240* Improved FacetWP compatibility
     241* Added compatibility for YayMail - WooCommerce Email Customizer
     242* Added compatibility for PDF Invoices & Packing Slips for WooCommerce
     243* Tested WooCommerce 10.3.5
     244
    237245= 1.6.0 =
    238246* Added option to enable price switching in the mini cart
  • tax-switch-for-woocommerce/trunk/build/label/block.json

    r3384402 r3402617  
    33  "apiVersion": 3,
    44  "name": "wdevs/tax-switch-label",
    5   "version": "1.6.0",
     5  "version": "1.6.1",
    66  "title": "Tax Switch text label",
    77  "category": "woocommerce",
  • tax-switch-for-woocommerce/trunk/build/switch/block.json

    r3384402 r3402617  
    33  "apiVersion": 3,
    44  "name": "wdevs/tax-switch",
    5   "version": "1.6.0",
     5  "version": "1.6.1",
    66  "title": "Tax Switch for WooCommerce",
    77  "category": "woocommerce",
  • tax-switch-for-woocommerce/trunk/build/switch/facetwp.asset.php

    r3384402 r3402617  
    1 <?php return array('dependencies' => array('wp-data'), 'version' => '6932b4c366919de929b2');
     1<?php return array('dependencies' => array('wp-data'), 'version' => '62d4ba5b49dbc570a70f');
  • tax-switch-for-woocommerce/trunk/build/switch/facetwp.js

    r3384402 r3402617  
    1 (()=>{"use strict";var e,t={12:(e,t,i)=>{var r=i(159),a=i(75),n=i(143);const o=class{constructor(e,t){this.originalTaxDisplay=e,this.taxRate=t,this.facetHistory={}}getStepPrecision(e){const t=void 0!==e.step?parseFloat(e.step):NaN;if(Number.isNaN(t)||t<=0)return 1;const i=t.toString();return i.includes(".")?i.split(".")[1].length:1}roundToSliderStep(e,t){if(null==e)return e;const i=Number(e);if(!Number.isFinite(i))return i;const r=this.getStepPrecision(t),a=Math.pow(10,r),n=Math.round(i*a)/a;return Number(n.toFixed(r))}countDecimals(e){if(null==e||""===e)return 0;let t=e.toString().trim().replace(",",".");const i=t.match(/e-(\d+)$/i);if(i)return parseInt(i[1],10);const r=t.split(".");return r[1]?r[1].length:0}init(){this.registerFacetWPEvents(),this.registerTaxSwitchListener(),this.setupFacetWPLoadedListener()}calculateAndStoreRangeBounds(){if(void 0===window.FWP||!window.FWP.settings)return;const e=this;Object.keys(window.FWP.settings).forEach((t=>{var i,a;const n=window.FWP.settings[t];if("slider"!==window.FWP.facet_type[t])return;if(!(n.suffix&&n.suffix.includes("wts-price-container")||n.prefix&&n.prefix.includes("wts-price-container")))return;const o=e.roundToSliderStep(parseFloat(n.start?n.start[0]:n.lower),n),s=e.roundToSliderStep(parseFloat(n.start?n.start[1]:n.upper),n),l=e.roundToSliderStep(parseFloat(null!==(i=n.range?.min)&&void 0!==i?i:o),n),c=e.roundToSliderStep(parseFloat(null!==(a=n.range?.max)&&void 0!==a?a:s),n),d={original:{lower:o,upper:s,rangeMin:l,rangeMax:c},alternate:{lower:e.roundToSliderStep(r.A.calculateAlternatePrice(o,e.originalTaxDisplay,e.taxRate),n),upper:e.roundToSliderStep(r.A.calculateAlternatePrice(s,e.originalTaxDisplay,e.taxRate),n),rangeMin:Math.max(0,e.roundToSliderStep(r.A.calculateAlternatePrice(l,e.originalTaxDisplay,e.taxRate),n)),rangeMax:Math.max(0,e.roundToSliderStep(r.A.calculateAlternatePrice(c,e.originalTaxDisplay,e.taxRate),n))}};e.facetHistory[t]=d}))}setupFacetWPLoadedListener(){window.addEventListener("facetwp-loaded",(()=>{this.calculateAndStoreRangeBounds(),this.initializePriceSliders(),(0,a.z6)(!1)}))}initializePriceSliders(){if(void 0===window.FWP||!window.FWP.settings)return;const e=(0,a.ir)(),t=this;Object.keys(window.FWP.settings).forEach((i=>{const n=window.FWP.settings[i];if("slider"!==window.FWP.facet_type[i])return;if(!(n.suffix&&n.suffix.includes("wts-price-container")||n.prefix&&n.prefix.includes("wts-price-container")))return;if(!t.facetHistory[i])return;const o=document.querySelector(`.facetwp-facet[data-name="${i}"] .facetwp-slider`);if(!o||!o.noUiSlider)return;const s=t.facetHistory[i];let l,c,d,u;e?(l=s.alternate.rangeMin,c=s.alternate.rangeMax,d=s.alternate.lower,u=s.alternate.upper):(l=s.original.rangeMin,c=s.original.rangeMax,d=s.original.lower,u=s.original.upper),o.noUiSlider.updateOptions({range:{min:l,max:c}},!1),o.noUiSlider.set([d,u]),o.noUiSlider.on("slide",(function(){r.A.togglePriceClasses(t.originalTaxDisplay,(0,a.ir)())})),o.noUiSlider.on("set",(function(){r.A.togglePriceClasses(t.originalTaxDisplay,(0,a.ir)())}))}))}registerTaxSwitchListener(){let e=(0,a.ir)();const t=this;(0,n.subscribe)((()=>{const i=(0,n.select)("wdevs-tax-switch/store").getIsSwitched();i!==e&&(e=i,void 0!==window.FWP&&((0,a.z6)(!0),t.updateAllPriceSliders(i),window.FWP.refresh()))}))}updateAllPriceSliders(e){if(void 0===window.FWP||!window.FWP.settings)return;const t=this;Object.keys(window.FWP.settings).forEach((i=>{const r=window.FWP.settings[i];if("slider"!==window.FWP.facet_type[i])return;if(!(r.suffix&&r.suffix.includes("wts-price-container")||r.prefix&&r.prefix.includes("wts-price-container")))return;if(!t.facetHistory[i])return;const a=document.querySelector(`.facetwp-facet[data-name="${i}"] .facetwp-slider`);if(!a||!a.noUiSlider)return;const n=t.facetHistory[i];let o,s,l,c;e?(o=n.alternate.rangeMin,s=n.alternate.rangeMax,l=n.alternate.lower,c=n.alternate.upper):(o=n.original.rangeMin,s=n.original.rangeMax,l=n.original.lower,c=n.original.upper),a.noUiSlider.updateOptions({range:{min:o,max:s}},!1),a.noUiSlider.set([l,c])}))}registerFacetWPEvents(){const e=this;void 0!==window.FWP&&window.FWP.hooks&&window.FWP.hooks.addAction("facetwp/refresh/slider",(function(t,i){const n=(0,a.ir)();if(!e.taxRate)return;const o=window.FWP.settings[i];if(o&&(o.suffix&&o.suffix.includes("wts-price-container")||o.prefix&&o.prefix.includes("wts-price-container")))if(n){var s,l;const t=e.roundToSliderStep(parseFloat(o.lower),o),a=e.roundToSliderStep(parseFloat(o.upper),o),n=e.roundToSliderStep(parseFloat(null!==(s=o.range?.min)&&void 0!==s?s:t),o),c=e.roundToSliderStep(parseFloat(null!==(l=o.range?.max)&&void 0!==l?l:a),o),d=e.roundToSliderStep(r.A.calculateOriginalPrice(t,e.originalTaxDisplay,e.taxRate),o),u=e.roundToSliderStep(r.A.calculateOriginalPrice(a,e.originalTaxDisplay,e.taxRate),o),p={original:{lower:t,upper:a,rangeMin:n,rangeMax:c},alternate:{lower:d,upper:u,rangeMin:Math.max(0,e.roundToSliderStep(r.A.calculateOriginalPrice(n,e.originalTaxDisplay,e.taxRate),o)),rangeMax:Math.max(0,e.roundToSliderStep(r.A.calculateOriginalPrice(c,e.originalTaxDisplay,e.taxRate),o))}};e.facetHistory[i]=p;const w=document.querySelector(`.facetwp-facet[data-name="${i}"] .facetwp-slider`);let f=2;if(w&&w.noUiSlider){const t=w.noUiSlider.get();t&&t.length&&(f=e.countDecimals(t[0]))}window.FWP.facets[i]=[Number(d).toFixed(f),Number(u).toFixed(f)]}else e.facetHistory[i]&&delete e.facetHistory[i]}))}};window.addEventListener("DOMContentLoaded",(()=>{const e=window.wtsViewObject||{originalTaxDisplay:"incl"},t=window.wtsCompatibilityObject||{baseTaxRate:0};new o(e.originalTaxDisplay,t.baseTaxRate).init()}))},143:e=>{e.exports=window.wp.data}},i={};function r(e){var a=i[e];if(void 0!==a)return a.exports;var n=i[e]={exports:{}};return t[e](n,n.exports,r),n.exports}r.m=t,e=[],r.O=(t,i,a,n)=>{if(!i){var o=1/0;for(d=0;d<e.length;d++){for(var[i,a,n]=e[d],s=!0,l=0;l<i.length;l++)(!1&n||o>=n)&&Object.keys(r.O).every((e=>r.O[e](i[l])))?i.splice(l--,1):(s=!1,n<o&&(o=n));if(s){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[i,a,n]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.j=894,(()=>{var e={894:0};r.O.j=t=>0===e[t];var t=(t,i)=>{var a,n,[o,s,l]=i,c=0;if(o.some((t=>0!==e[t]))){for(a in s)r.o(s,a)&&(r.m[a]=s[a]);if(l)var d=l(r)}for(t&&t(i);c<o.length;c++)n=o[c],r.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return r.O(d)},i=globalThis.webpackChunkwdevs_tax_switch=globalThis.webpackChunkwdevs_tax_switch||[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})();var a=r.O(void 0,[320],(()=>r(12)));a=r.O(a)})();
     1(()=>{"use strict";var e,t={12:(e,t,i)=>{var r=i(159),n=i(75),a=i(143);const o=class{constructor(e,t){this.originalTaxDisplay=e,this.taxRate=t,this.facetHistory={},this.taxSwitchUnsubscribe=null}getStepPrecision(e){const t=void 0!==e.step?parseFloat(e.step):NaN;if(Number.isNaN(t)||t<=0)return 1;const i=t.toString();return i.includes(".")?i.split(".")[1].length:1}roundToSliderStep(e,t){if(null==e)return e;const i=Number(e);if(!Number.isFinite(i))return i;const r=this.getStepPrecision(t),n=Math.pow(10,r),a=Math.round(i*n)/n;return Number(a.toFixed(r))}countDecimals(e){if(null==e||""===e)return 0;let t=e.toString().trim().replace(",",".");const i=t.match(/e-(\d+)$/i);if(i)return parseInt(i[1],10);const r=t.split(".");return r[1]?r[1].length:0}init(){this.registerFacetWPEvents(),this.setupFacetWPLoadedListener()}hasRelevantFacet(){if(void 0===window.FWP||!window.FWP.settings)return!1;const e=window.FWP.settings||{};return Object.keys(e).some((e=>this.getSliderSettings(e)))}hasPriceContainer(e={}){const t=e?.suffix||"",i=e?.prefix||"";return t.includes("wts-price-container")||i.includes("wts-price-container")}getSliderSettings(e){if(void 0===window.FWP||!window.FWP.settings)return null;const t=window.FWP.settings[e];return t?"slider"!==(window.FWP.facet_type||{})[e]?null:this.hasPriceContainer(t)?t:null:null}getSliderElement(e){return document.querySelector(`.facetwp-facet[data-name="${e}"] .facetwp-slider`)}calculateAndStoreRangeBounds(){if(void 0===window.FWP||!window.FWP.settings)return;const e=this;Object.keys(window.FWP.settings).forEach((t=>{var i,n;const a=e.getSliderSettings(t);if(!a)return;const o=e.roundToSliderStep(parseFloat(a.start?a.start[0]:a.lower),a),l=e.roundToSliderStep(parseFloat(a.start?a.start[1]:a.upper),a),s=e.roundToSliderStep(parseFloat(null!==(i=a.range?.min)&&void 0!==i?i:o),a),c=e.roundToSliderStep(parseFloat(null!==(n=a.range?.max)&&void 0!==n?n:l),a),d={original:{lower:o,upper:l,rangeMin:s,rangeMax:c},alternate:{lower:e.roundToSliderStep(r.A.calculateAlternatePrice(o,e.originalTaxDisplay,e.taxRate),a),upper:e.roundToSliderStep(r.A.calculateAlternatePrice(l,e.originalTaxDisplay,e.taxRate),a),rangeMin:Math.max(0,e.roundToSliderStep(r.A.calculateAlternatePrice(s,e.originalTaxDisplay,e.taxRate),a)),rangeMax:Math.max(0,e.roundToSliderStep(r.A.calculateAlternatePrice(c,e.originalTaxDisplay,e.taxRate),a))}};e.facetHistory[t]=d}))}setupFacetWPLoadedListener(){window.addEventListener("facetwp-loaded",(()=>{this.calculateAndStoreRangeBounds(),this.initializePriceSliders(),(0,n.z6)(!1)}))}initializePriceSliders(){if(void 0===window.FWP||!window.FWP.settings)return;const e=(0,n.ir)(),t=this;Object.keys(window.FWP.settings).forEach((i=>{if(!t.getSliderSettings(i))return;if(!t.facetHistory[i])return;const a=t.getSliderElement(i);if(!a||!a.noUiSlider)return;const o=t.facetHistory[i];let l,s,c,d;e?(l=o.alternate.rangeMin,s=o.alternate.rangeMax,c=o.alternate.lower,d=o.alternate.upper):(l=o.original.rangeMin,s=o.original.rangeMax,c=o.original.lower,d=o.original.upper),a.noUiSlider.updateOptions({range:{min:l,max:s}},!1),a.noUiSlider.set([c,d]),a.noUiSlider.on("slide",(function(){r.A.togglePriceClasses(t.originalTaxDisplay,(0,n.ir)())})),a.noUiSlider.on("set",(function(){r.A.togglePriceClasses(t.originalTaxDisplay,(0,n.ir)())}))}))}registerTaxSwitchListener(e=!0){const t=this;if(e){if(this.taxSwitchUnsubscribe)return;let e=(0,n.ir)();t.taxSwitchUnsubscribe=(0,a.subscribe)((()=>{const i=(0,a.select)("wdevs-tax-switch/store").getIsSwitched();i!==e&&(e=i,void 0!==window.FWP&&((0,n.z6)(!0),t.updateAllPriceSliders(i),window.FWP.refresh()))}))}else t.taxSwitchUnsubscribe&&(t.taxSwitchUnsubscribe(),t.taxSwitchUnsubscribe=null)}updateAllPriceSliders(e){if(void 0===window.FWP||!window.FWP.settings)return;const t=this;Object.keys(window.FWP.settings).forEach((i=>{if(!t.getSliderSettings(i))return;if(!t.facetHistory[i])return;const r=t.getSliderElement(i);if(!r||!r.noUiSlider)return;const n=t.facetHistory[i];let a,o,l,s;e?(a=n.alternate.rangeMin,o=n.alternate.rangeMax,l=n.alternate.lower,s=n.alternate.upper):(a=n.original.rangeMin,o=n.original.rangeMax,l=n.original.lower,s=n.original.upper),r.noUiSlider.updateOptions({range:{min:a,max:o}},!1),r.noUiSlider.set([l,s])}))}registerFacetWPEvents(){const e=this;void 0!==window.FWP&&window.FWP.hooks&&(window.FWP.hooks.addAction("facetwp/loaded",(function(){const t=e.hasRelevantFacet();e.registerTaxSwitchListener(t)})),window.FWP.hooks.addAction("facetwp/refresh/slider",(function(t,i){const a=(0,n.ir)();if(!e.taxRate)return;const o=e.getSliderSettings(i);if(o)if(a){var l,s;const t=e.roundToSliderStep(parseFloat(o.lower),o),n=e.roundToSliderStep(parseFloat(o.upper),o),a=e.roundToSliderStep(parseFloat(null!==(l=o.range?.min)&&void 0!==l?l:t),o),c=e.roundToSliderStep(parseFloat(null!==(s=o.range?.max)&&void 0!==s?s:n),o),d=e.roundToSliderStep(r.A.calculateOriginalPrice(t,e.originalTaxDisplay,e.taxRate),o),u=e.roundToSliderStep(r.A.calculateOriginalPrice(n,e.originalTaxDisplay,e.taxRate),o),p={original:{lower:t,upper:n,rangeMin:a,rangeMax:c},alternate:{lower:d,upper:u,rangeMin:Math.max(0,e.roundToSliderStep(r.A.calculateOriginalPrice(a,e.originalTaxDisplay,e.taxRate),o)),rangeMax:Math.max(0,e.roundToSliderStep(r.A.calculateOriginalPrice(c,e.originalTaxDisplay,e.taxRate),o))}};e.facetHistory[i]=p;const g=e.getSliderElement(i);let w=2;if(g&&g.noUiSlider){const t=g.noUiSlider.get();t&&t.length&&(w=e.countDecimals(t[0]))}window.FWP.facets[i]=[Number(d).toFixed(w),Number(u).toFixed(w)]}else e.facetHistory[i]&&delete e.facetHistory[i]})))}};window.addEventListener("DOMContentLoaded",(()=>{const e=window.wtsViewObject||{originalTaxDisplay:"incl"},t=window.wtsCompatibilityObject||{baseTaxRate:0};new o(e.originalTaxDisplay,t.baseTaxRate).init()}))},143:e=>{e.exports=window.wp.data}},i={};function r(e){var n=i[e];if(void 0!==n)return n.exports;var a=i[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.m=t,e=[],r.O=(t,i,n,a)=>{if(!i){var o=1/0;for(d=0;d<e.length;d++){for(var[i,n,a]=e[d],l=!0,s=0;s<i.length;s++)(!1&a||o>=a)&&Object.keys(r.O).every((e=>r.O[e](i[s])))?i.splice(s--,1):(l=!1,a<o&&(o=a));if(l){e.splice(d--,1);var c=n();void 0!==c&&(t=c)}}return t}a=a||0;for(var d=e.length;d>0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[i,n,a]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.j=894,(()=>{var e={894:0};r.O.j=t=>0===e[t];var t=(t,i)=>{var n,a,[o,l,s]=i,c=0;if(o.some((t=>0!==e[t]))){for(n in l)r.o(l,n)&&(r.m[n]=l[n]);if(s)var d=s(r)}for(t&&t(i);c<o.length;c++)a=o[c],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(d)},i=globalThis.webpackChunkwdevs_tax_switch=globalThis.webpackChunkwdevs_tax_switch||[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})();var n=r.O(void 0,[320],(()=>r(12)));n=r.O(n)})();
  • tax-switch-for-woocommerce/trunk/includes/trait-wdevs-tax-switch-helper.php

    r3384402 r3402617  
    237237
    238238    public function is_mail_context() {
    239         return (
     239        if (
    240240            did_action( 'woocommerce_email_header' ) ||
    241241            did_action( 'woocommerce_email_order_details' )
    242         );
     242        ) {
     243            return true;
     244        }
     245
     246        //Compatibility for YayMail - WooCommerce Email Customizer
     247        return did_action( 'yaymail_before_email_content' );
     248    }
     249
     250    /**
     251     * @return bool
     252     * @since 1.6.1
     253     */
     254    public function is_file_context() {
     255        //Compatibility for PDF Invoices & Packing Slips for WooCommerce
     256        if (did_filter( 'wcpdf_get_document' ) ) {
     257            return true;
     258        }
     259
     260
     261        return false;
    243262    }
    244263
  • tax-switch-for-woocommerce/trunk/public/class-wdevs-tax-switch-public.php

    r3384402 r3402617  
    8181
    8282        if ( $this->should_hide_on_current_page() ) {
     83            return $return;
     84        }
     85
     86        if ( $this->is_file_context() ) {
    8387            return $return;
    8488        }
  • tax-switch-for-woocommerce/trunk/wdevs-tax-switch.php

    r3384402 r3402617  
    1717 * Plugin URI:           https://wijnberg.dev
    1818 * Description:          Let customers toggle between inclusive and exclusive VAT pricing in your WooCommerce store.
    19  * Version:              1.6.0
     19 * Version:              1.6.1
    2020 * Author:               Wijnberg Developments
    2121 * Author URI:           https://wijnberg.dev/
     
    2727 * Requires at least:    5.0
    2828 * WC requires at least: 7.0.0
    29  * WC tested up to:      10.2.2
     29 * WC tested up to:      10.3.5
    3030 * Requires Plugins:     woocommerce
    3131 */
     
    4141 * Rename this for your plugin and update it as you release new versions.
    4242 */
    43 define( 'WDEVS_TAX_SWITCH_VERSION', '1.6.0' );
     43define( 'WDEVS_TAX_SWITCH_VERSION', '1.6.1' );
    4444
    4545/**
     
    9393
    9494wdevs_tax_switch_run();
    95 
    96 
Note: See TracChangeset for help on using the changeset viewer.