| 1 |
import{h as m,i as D,r as C,e as i,o as r,d as f,a as P,w as T,F as V,g as B,c as N,n as O,b as j,t as p,u as h,O as x,f as k,a2 as A}from"./chunks/vue.esm-bundler.js?ver=1.6.1";import{u as $}from"./chunks/useElementPlusComponents.js?ver=1.6.1";import{t as _}from"./chunks/Translator.js?ver=1.6.1";import{u as E}from"./chunks/useElementor.js?ver=1.6.1";import{R as F}from"./chunks/Rest.js?ver=1.6.1";import"./chunks/index.js?ver=1.6.1";import"./chunks/index2.js?ver=1.6.1";import"./chunks/index4.js?ver=1.6.1";import"./chunks/dayjs.min.js?ver=1.6.1";import"./chunks/index3.js?ver=1.6.1";import"./chunks/Arr.js?ver=1.6.1";function I(o,t=300){const e=m(null);return(...l)=>{e.value&&clearTimeout(e.value),e.value=setTimeout(()=>{o(...l)},t)}}const Q={class:"searchable-select-container"},R={key:0,class:"searchable-select-loading"},q={key:1,class:"no-results"},L={__name:"SearchableSelect",props:{value:{type:[String,Number],default:""},onChange:{type:Function,required:!0}},setup(o){const t=o,e=m(""),l=m({}),s=m(!1),g=async(u,n)=>{s.value=!0;try{const v={active_view:"publish",per_page:10,page:1,search:u,filter_type:"simple",sort_by:"ID",with:[]};n&&(v.include_ids=[n]),F.get("products",v).then(y=>{const a={};y.products.data.forEach(d=>{a[d.ID.toString()]={value:d.ID.toString(),label:d.post_title,product:d}}),l.value=a}).catch(y=>{}).finally(()=>{})}catch{}finally{s.value=!1}},b=I(()=>{g(e.value)},500),S=u=>{e.value=u,b()},c=u=>{t.onChange(u)};return D(()=>{g("",t.value)}),(u,n)=>{const v=C("el-option"),y=C("el-select");return r(),i("div",null,[f("div",Q,[P(y,{modelValue:e.value,"onUpdate:modelValue":n[0]||(n[0]=a=>e.value=a),filterable:"",remote:"",placeholder:h(_)("Search for products..."),"remote-method":S,loading:s.value,onChange:n[1]||(n[1]=a=>{const d=Object.values(l.value).find(w=>w.label===a);d&&c(d)})},{empty:T(()=>[s.value?(r(),i("div",R,p(h(_)("Loading...")),1)):e.value?(r(),i("div",q,p(h(_)("No products found.")),1)):j("",!0)]),default:T(()=>[(r(!0),i(V,null,B(Object.values(l.value),a=>(r(),N(v,{key:a.value,label:a.label,value:a.label,class:O({"option-item-selected":o.value===a.value})},null,8,["label","value","class"]))),128))]),_:1},8,["modelValue","placeholder","loading"])])])}}},M={class:"fluent-cart-product-details-button"},z={class:"fluent-cart-product-details-title"},H={key:0,class:"fct-selected-product-contents"},U=["title"],G={class:"product-title"},J={class:"product-id"},K={key:1},W={__name:"App",props:{selectedProduct:{type:String,default:""},productTitle:{type:String,default:""}},setup(o){let t=null;const e=o,l=m(e.productTitle),s=m(e.selectedProduct),g=()=>{s.value="",l.value="",setTimeout(()=>{t.setSettings("selected_product","")},100)},b=c=>{s.value=c,setTimeout(()=>{t.setSettings("selected_product",s.value.toString())},500)},S=c=>{c.hasOwnProperty("product")?(b(c.product.ID.toString()),l.value=c.product.post_title):b("")};return x(()=>{t=E()}),(c,u)=>{const n=C("el-button");return r(),i("div",M,[f("h3",z,p(h(_)("Product Details Button")),1),s.value?(r(),i("div",H,[f("div",{class:"fct-selected-product-contents-inner",title:l.value},[f("div",G,[f("span",J,"#"+p(s.value),1),k(" "+p(l.value),1)])],8,U),P(n,{class:"product-clear-button",onClick:g},{default:T(()=>[k(p(h(_)("Reset")),1)]),_:1})])):(r(),i("div",K,[P(L,{value:s.value,onChange:S},null,8,["value"])]))])}}},X=o=>{const t=o.dataset.selectedProduct,e=o.dataset.productTitle,l=A(W,{selectedProduct:t,productTitle:e});$(l),l.mixin({methods:{$t:_}}).mount(o)};jQuery(document).ready(function(){elementor.hooks.addAction("panel/open_editor/widget/fluent_cart_product_details_button",function(o,t,e){t.get("settings")})});jQuery(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/fluent_cart_product_details_button.default",function(o){const t=jQuery(o[0]).find("[data-fluent-cart-product-details-button-app]")[0];X(t)})}); |