Файловый менеджер - Редактировать - /home/harasnat/www/horse/wp-content/plugins/woocommerce/assets/client/blocks/woocommerce/add-to-cart-with-options.js
Назад
import*as t from"@woocommerce/stores/woocommerce/cart";import*as e from"@wordpress/interactivity";import*as r from"@woocommerce/stores/woocommerce/product-data";var n={7908:t=>{t.exports=import("@woocommerce/stores/store-notices")},1401:e=>{e.exports=t}},a={};function o(t){var e=a[t];if(void 0!==e)return e.exports;var r=a[t]={exports:{}};return n[t](r,r.exports,o),r.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const i=(s={getContext:()=>e.getContext,store:()=>e.store},c={},o.d(c,s),c);var s,c;o.d({},{});const u=(t,e)=>Array.isArray(t)&&Array.isArray(e)&&0!==t.length&&0!==e.length&&t.find((t=>Object.entries(t.attributes).every((([t,r])=>e.some((e=>!(e.attribute!==t)&&(e.value===r||e.value&&""===r)))))))||null,l="I acknowledge that using a private store means my plugin will inevitably break on the next store release.",{state:d}=(0,i.store)("woocommerce",{},{lock:l}),m=(t,e)=>({min:"grouped"===t&&e?0:1,step:1,max:null}),p=t=>{var e;const r=(t=>{let e=null;return t.target instanceof HTMLButtonElement&&(e=t.target.parentElement?.querySelector(".qty")),t.target instanceof HTMLInputElement&&(e=t.target),e})(t);if(!r)return;const n=parseInt(r.value,10),{productType:a,productId:o,quantityConstraints:s}=(0,i.getContext)(),c=parseInt(null!==(e=r.name.match(/\[(\d+)\]/)?.[1])&&void 0!==e?e:"0",10),u=c||o,l=s?.[u]||m(a,c),d=l.min,p=l.max,v=l.step;return{currentValue:isNaN(n)?0:n,minValue:d,maxValue:p,step:v,childProductId:c,inputElement:r}},v=(t,e,r)=>{const n=d.cart?.items.find((e=>{return"variation"===e.type?!(e.id!==t||!e.variation||!r||e.variation.length!==r.length)&&(n=e,a=r,!(!Array.isArray(n.variation)||!Array.isArray(a))&&n.variation.length===a.length&&n.variation.every((({raw_attribute:t,value:e})=>a.some((r=>r.attribute===t&&(r.value.toLowerCase()===e.toLowerCase()||r.value&&""===e)))))):e.id===t;var n,a}));return(n?.quantity||0)+e},y=t=>{const e=new Event("change",{bubbles:!0});t.dispatchEvent(e)},g=(0,i.store)("woocommerce/add-to-cart-with-options",{state:{get isFormValid(){const t=(0,i.getContext)();if(!t)return!0;const{availableVariations:e,selectedAttributes:r,productType:n,quantity:a}=t;if("variable"===n){const t=u(e,r);return Boolean(t?.is_in_stock&&t?.variation_id)}return"grouped"!==n||Object.values(a).some((t=>t>0))},get variationId(){const t=(0,i.getContext)();if(!t)return null;const{availableVariations:e,selectedAttributes:r}=t,n=u(e,r);return n?.variation_id||null},get selectedAttributes(){const t=(0,i.getContext)();return t?t.selectedAttributes:[]},get allowsDecrease(){const{quantity:t,childProductId:e,productType:r,quantityConstraints:n,productId:a,availableVariations:o,selectedAttributes:s}=(0,i.getContext)(),c=u(o,s),l=c?.variation_id||e||a,d=t[l]||0,p=n?.[l]||m(r,e),v=p.min;return d-p.step>=v},get allowsIncrease(){const{quantity:t,childProductId:e,productType:r,quantityConstraints:n,productId:a,availableVariations:o,selectedAttributes:s}=(0,i.getContext)(),c=u(o,s),l=c?.variation_id||e||a,d=t[l]||0,p=n?.[l]||m(r,e),v=p.max,y=p.step;return null===v||d+y<=v}},actions:{setQuantity(t,e){const r=(0,i.getContext)();if("variable"===r.productType)r.availableVariations.map((t=>t.variation_id)).forEach((e=>{r.quantity[e]=t}));else{const n=e||r.productId;r.quantity={...r.quantity,[n]:t}}},setAttribute(t,e){const{selectedAttributes:r}=(0,i.getContext)(),n=r.findIndex((e=>e.attribute===t));n>=0?r[n]={attribute:t,value:e}:r.push({attribute:t,value:e})},removeAttribute(t){const{selectedAttributes:e}=(0,i.getContext)(),r=e.findIndex((e=>e.attribute===t));r>=0&&e.splice(r,1)},increaseQuantity:t=>{const e=p(t);if(!e)return;const{currentValue:r,maxValue:n,minValue:a,step:o,childProductId:i,inputElement:s}=e,c=r+o;if(null===n||c<=n){const t=Math.max(a,c);g.actions.setQuantity(t,i),s.value=t.toString(),y(s)}},decreaseQuantity:t=>{const e=p(t);if(!e)return;const{currentValue:r,maxValue:n,minValue:a,step:o,childProductId:i,inputElement:s}=e,c=r-o;if(c>=a){const t=Math.min(null!=n?n:1/0,c);g.actions.setQuantity(t,i),s.value=t.toString(),y(s)}},handleQuantityInput:t=>{const e=p(t);if(!e)return;const{childProductId:r,currentValue:n}=e;g.actions.setQuantity(n,r)},handleQuantityChange:t=>{const e=p(t);if(!e)return;const{childProductId:r,maxValue:n,minValue:a,currentValue:o}=e,i=Math.min(null!=n?n:1/0,Math.max(a,o));t.target.value!==i.toString()&&(g.actions.setQuantity(i,r),t.target.value=i.toString(),y(t.target))},handleQuantityCheckboxChange:t=>{const e=p(t);if(!e)return;const{inputElement:r,childProductId:n}=e;g.actions.setQuantity(r.checked?1:0,n)},*handleSubmit(t){t.preventDefault(),yield Promise.resolve().then(o.bind(o,1401));const{productId:e,quantity:r,selectedAttributes:n,productType:a,groupedProductIds:s}=(0,i.getContext)();if("grouped"===a&&s.length>0){const t=[];for(const e of s){if(0===r[e])continue;const o=v(e,r[e]);t.push({id:e,quantity:o,variation:n,type:a})}if(0===t.length){yield Promise.resolve().then(o.bind(o,7908));const{actions:t}=(0,i.store)("woocommerce/store-notices",{},{lock:"I acknowledge that using a private store means my plugin will inevitably break on the next store release."}),e=d?.errorMessages?.groupedProductAddToCartMissingItems;return void(e&&t.addNotice({notice:e,type:"error",dismissible:!0}))}const{actions:e}=(0,i.store)("woocommerce",{},{lock:l});yield e.batchAddCartItems(t)}else{const{variationId:t}=g.state,o=t||e,s=v(o,r[o],n),{actions:c}=(0,i.store)("woocommerce",{},{lock:l});yield c.addCartItem({id:o,quantity:s,variation:n,type:a})}}},callbacks:{setSelectedVariationId:()=>{const{availableVariations:t,selectedAttributes:e}=(0,i.getContext)(),r=u(t,e),{actions:n}=(0,i.store)("woocommerce/product-data",{},{lock:l}),a=r?.variation_id;n.setVariationId(null!=a?a:null)}}},{lock:!0});
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка