2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{u as H}from"./exchange-rate--sifpuzz.js";import{e as X,g as k,D as J,l as E,h as w,i as j,ad as Y,ae as se,k as le,z as G,N as ce,r as g,o as R,n as V,w as s,b as f,q as B,t as _,m as e,a as o,I as D,H as K,s as ie,C as ue,a5 as de,a3 as ge,c as ve,ax as pe,p as he,ay as me,az as fe,aA as ye,L as _e,F as xe}from"./main-vzIkKseS.js";import Ce from"./BaseTable-HYHVnjlk.js";const Ee={class:"flex justify-between w-full"},$e=["onSubmit"],be={class:"px-4 md:px-8 py-8 overflow-y-auto sm:p-6"},ke={class:"z-0 flex justify-end p-4 border-t border-gray-200 border-solid"},Re={setup(Q){const{t:$}=X();let c=k(!1),i=k(!1),x=k(!1),h=k([]),v=k([]);const y=J(),t=H();let M=k([]);const z=E(()=>({currentExchangeRate:{key:{required:w.withMessage($("validation.required"),j)},driver:{required:w.withMessage($("validation.required"),j)},currencies:{required:w.withMessage($("validation.required"),j)}},currencyConverter:{type:{required:w.withMessage($("validation.required"),Y(l))},url:{required:w.withMessage($("validation.required"),Y(C)),url:w.withMessage($("validation.invalid_url"),se)}}})),A=E(()=>t.drivers.map(r=>Object.assign({},r,{key:$(r.key)}))),O=E(()=>y.active&&y.componentName==="ExchangeRateProviderModal");E(()=>y.title);const l=E(()=>t.currentExchangeRate.driver==="currency_converter"),C=E(()=>t.currencyConverter&&t.currencyConverter.type==="DEDICATED"),I=E(()=>{switch(t.currentExchangeRate.driver){case"currency_converter":return"https://www.currencyconverterapi.com";case"currency_freak":return"https://currencyfreaks.com";case"currency_layer":return"https://currencylayer.com";case"open_exchange_rate":return"https://openexchangerates.org";default:return""}}),n=le(z,E(()=>t));function q(){h.value=[]}function F(){const{currencies:r}=t.currentExchangeRate;h.value.forEach(a=>{r.forEach((p,m)=>{p===a&&r.splice(m,1)})}),h.value=[]}function N(){t.currentExchangeRate.key=null,t.currentExchangeRate.currencies=[],t.supportedCurrencies=[]}function u(){t.supportedCurrencies=[],v.value=[],t.currentExchangeRate={id:null,name:"",driver:"",key:"",active:!0,currencies:[]},t.currencyConverter={type:"",url:""},h.value=[]}async function S(){t.currentExchangeRate.driver="currency_converter";let r={};t.isEdit&&(r.provider_id=t.currentExchangeRate.id),i.value=!0,await t.fetchDefaultProviders(),await t.fetchActiveCurrency(r),v.value=t.currentExchangeRate.currencies,i.value=!1}G(()=>l.value,(r,a)=>{r&&ee()},{immediate:!0}),G(()=>t.currentExchangeRate.key,(r,a)=>{r&&P()}),G(()=>{var r;return(r=t==null?void 0:t.currencyConverter)==null?void 0:r.type},(r,a)=>{r&&P()}),P=ce.debounce(P,500);function W(){return n.value.$touch(),te(),!!(n.value.$invalid||h.value.length&&t.currentExchangeRate.active)}async function Z(){if(W())return!0;let r={...t.currentExchangeRate};l.value&&(r.driver_config={...t.currencyConverter},C.value||(r.driver_config.url=""));const a=t.isEdit?t.updateProvider:t.addProvider;c.value=!0,await a(r).then(p=>{c.value=!1,y.refreshData&&y.refreshData(),U()}).catch(p=>{c.value=!1})}async function ee(){let r=await t.getCurrencyConverterServers();M.value=r.data.currency_converter_servers,t.currencyConverter.type="FREE"}function P(){var p;const{driver:r,key:a}=t.currentExchangeRate;if(r&&a){x.value=!0;let m={driver:r,key:a};if(l.value&&!t.currencyConverter.type){x.value=!1;return}(p=t==null?void 0:t.currencyConverter)!=null&&p.type&&(m.type=t.currencyConverter.type),t.fetchCurrencies(m).then(b=>{x.value=!1}).catch(b=>{x.value=!1})}}function te(r=!0){var p;h.value=[];const{currencies:a}=t.currentExchangeRate;a.length&&((p=t.activeUsedCurrencies)!=null&&p.length)&&a.forEach(m=>{t.activeUsedCurrencies.includes(m)&&h.value.push(m)})}function U(){y.closeModal(),setTimeout(()=>{u(),n.value.$reset()},300)}return(r,a)=>{const p=g("BaseIcon"),m=g("BaseMultiselect"),b=g("BaseInputGroup"),L=g("BaseInput"),re=g("BaseSwitch"),ae=g("BaseInputGrid"),ne=g("BaseInfoAlert"),T=g("BaseButton"),oe=g("BaseModal");return R(),V(oe,{show:e(O),onClose:U,onOpen:S},{header:s(()=>[f("div",Ee,[B(_(e(y).title)+" ",1),o(p,{name:"XIcon",class:"w-6 h-6 text-gray-500 cursor-pointer",onClick:U})])]),default:s(()=>[f("form",{onSubmit:ie(Z,["prevent"])},[f("div",be,[o(ae,{layout:"one-column"},{default:s(()=>[o(b,{label:r.$tc("settings.exchange_rate.driver"),"content-loading":e(i),required:"",error:e(n).currentExchangeRate.driver.$error&&e(n).currentExchangeRate.driver.$errors[0].$message,"help-text":e(I)},{default:s(()=>[o(m,{modelValue:e(t).currentExchangeRate.driver,"onUpdate:modelValue":[a[0]||(a[0]=d=>e(t).currentExchangeRate.driver=d),N],options:e(A),"content-loading":e(i),"value-prop":"value","can-deselect":!0,label:"key",searchable:!0,invalid:e(n).currentExchangeRate.driver.$error,"track-by":"key",onInput:a[1]||(a[1]=d=>e(n).currentExchangeRate.driver.$touch())},null,8,["modelValue","options","content-loading","invalid"])]),_:1},8,["label","content-loading","error","help-text"]),e(l)?(R(),V(b,{key:0,required:"",label:r.$t("settings.exchange_rate.server"),"content-loading":e(i),error:e(n).currencyConverter.type.$error&&e(n).currencyConverter.type.$errors[0].$message},{default:s(()=>[o(m,{modelValue:e(t).currencyConverter.type,"onUpdate:modelValue":[a[2]||(a[2]=d=>e(t).currencyConverter.type=d),N],"content-loading":e(i),"value-prop":"value",searchable:"",options:e(M),invalid:e(n).currencyConverter.type.$error,label:"value","track-by":"value"},null,8,["modelValue","content-loading","options","invalid"])]),_:1},8,["label","content-loading","error"])):D("",!0),o(b,{label:r.$t("settings.exchange_rate.key"),required:"","content-loading":e(i),error:e(n).currentExchangeRate.key.$error&&e(n).currentExchangeRate.key.$errors[0].$message},{default:s(()=>[o(L,{modelValue:e(t).currentExchangeRate.key,"onUpdate:modelValue":a[3]||(a[3]=d=>e(t).currentExchangeRate.key=d),"content-loading":e(i),type:"text",name:"key",loading:e(x),"loading-position":"right",invalid:e(n).currentExchangeRate.key.$error},null,8,["modelValue","content-loading","loading","invalid"])]),_:1},8,["label","content-loading","error"]),e(t).supportedCurrencies.length?(R(),V(b,{key:1,label:r.$t("settings.exchange_rate.currency"),"content-loading":e(i),error:e(n).currentExchangeRate.currencies.$error&&e(n).currentExchangeRate.currencies.$errors[0].$message,"help-text":r.$t("settings.exchange_rate.currency_help_text")},{default:s(()=>[o(m,{modelValue:e(t).currentExchangeRate.currencies,"onUpdate:modelValue":a[4]||(a[4]=d=>e(t).currentExchangeRate.currencies=d),"content-loading":e(i),"value-prop":"code",mode:"tags",searchable:"",options:e(t).supportedCurrencies,invalid:e(n).currentExchangeRate.currencies.$error,label:"code","track-by":"code","open-direction":"top",onInput:a[5]||(a[5]=d=>e(n).currentExchangeRate.currencies.$touch())},null,8,["modelValue","content-loading","options","invalid"])]),_:1},8,["label","content-loading","error","help-text"])):D("",!0),e(C)?(R(),V(b,{key:2,label:r.$t("settings.exchange_rate.url"),"content-loading":e(i),error:e(n).currencyConverter.url.$error&&e(n).currencyConverter.url.$errors[0].$message},{default:s(()=>[o(L,{modelValue:e(t).currencyConverter.url,"onUpdate:modelValue":a[6]||(a[6]=d=>e(t).currencyConverter.url=d),"content-loading":e(i),type:"url",invalid:e(n).currencyConverter.url.$error,onInput:a[7]||(a[7]=d=>e(n).currencyConverter.url.$touch())},null,8,["modelValue","content-loading","invalid"])]),_:1},8,["label","content-loading","error"])):D("",!0),o(re,{modelValue:e(t).currentExchangeRate.active,"onUpdate:modelValue":a[8]||(a[8]=d=>e(t).currentExchangeRate.active=d),class:"flex","label-right":r.$t("settings.exchange_rate.active")},null,8,["modelValue","label-right"])]),_:1}),e(h).length&&e(t).currentExchangeRate.active?(R(),V(ne,{key:0,class:"mt-5",title:r.$t("settings.exchange_rate.currency_in_used"),lists:[e(h).toString()],actions:["Remove"],onHide:q,onRemove:F},null,8,["title","lists"])):D("",!0)]),f("div",ke,[o(T,{class:"mr-3",variant:"primary-outline",type:"button",disabled:e(c),onClick:U},{default:s(()=>[B(_(r.$t("general.cancel")),1)]),_:1},8,["disabled"]),o(T,{loading:e(c),disabled:e(c)||e(x),variant:"primary",type:"submit"},{left:s(d=>[e(c)?D("",!0):(R(),V(p,{key:0,name:"SaveIcon",class:K(d.class)},null,8,["class"]))]),default:s(()=>[B(" "+_(e(t).isEdit?r.$t("general.update"):r.$t("general.save")),1)]),_:1},8,["loading","disabled"])])],40,$e)]),_:1},8,["show"])}}},Be={slot:"header",class:"flex flex-wrap justify-between lg:flex-nowrap"},we={class:"text-lg font-medium text-left"},Ve={class:"mt-2 text-sm leading-snug text-left text-gray-500",style:{"max-width":"680px"}},Ie={class:"mt-4 lg:mt-0 lg:ml-2"},Se={class:"capitalize"},De={class:"inline-block"},Pe={setup(Q){const{tm:$,t:c}=X();ue();const i=H(),x=J(),h=de();let v=k("");const y=ge("utils"),t=E(()=>[{key:"driver",label:c("settings.exchange_rate.driver"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"key",label:c("settings.exchange_rate.key"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"active",label:c("settings.exchange_rate.active"),thClass:"extra",tdClass:"font-medium text-gray-900"},{key:"actions",label:"",tdClass:"text-right text-sm font-medium",sortable:!1}]);async function M({page:l,sort:C}){let I=xe({orderByField:C.fieldName||"created_at",orderBy:C.order||"desc",page:l}),n=await i.fetchProviders(I);return{data:n.data.data,pagination:{totalPages:n.data.meta.last_page,currentPage:l,totalCount:n.data.meta.total,limit:5}}}function z(){x.openModal({title:c("settings.exchange_rate.new_driver"),componentName:"ExchangeRateProviderModal",size:"md",refreshData:v.value&&v.value.refresh})}function A(l){i.fetchProvider(l),x.openModal({title:c("settings.exchange_rate.edit_driver"),componentName:"ExchangeRateProviderModal",size:"md",data:l,refreshData:v.value&&v.value.refresh})}function O(l){h.openDialog({title:c("general.are_you_sure"),message:c("settings.exchange_rate.exchange_rate_confirm_delete"),yesLabel:c("general.ok"),noLabel:c("general.cancel"),variant:"danger",hideNoButton:!1,size:"lg"}).then(async C=>{C&&(await i.deleteExchangeRate(l),v.value&&v.value.refresh())})}return(l,C)=>{const I=g("BaseButton"),n=g("BaseBadge"),q=g("BaseDropdownItem"),F=g("BaseDropdown"),N=g("BaseCard");return R(),ve(_e,null,[o(Re),o(N,null,{default:s(()=>[f("div",Be,[f("div",null,[f("h6",we,_(l.$t("settings.menu_title.exchange_rate")),1),f("p",Ve,_(l.$t("settings.exchange_rate.providers_description")),1)]),f("div",Ie,[o(I,{variant:"primary-outline",size:"lg",onClick:z},{left:s(u=>[o(e(pe),{class:K(u.class)},null,8,["class"])]),default:s(()=>[B(" "+_(l.$t("settings.exchange_rate.new_driver")),1)]),_:1})])]),o(Ce,{ref:(u,S)=>{S.table=u,he(v)?v.value=u:v=u},class:"mt-16",data:M,columns:e(t)},{"cell-driver":s(({row:u})=>[f("span",Se,_(u.data.driver.replace("_"," ")),1)]),"cell-active":s(({row:u})=>[o(n,{"bg-color":e(y).getBadgeStatusColor(u.data.active?"YES":"NO").bgColor,color:e(y).getBadgeStatusColor(u.data.active?"YES":"NO").color},{default:s(()=>[B(_(u.data.active?"YES":"NO"),1)]),_:2},1032,["bg-color","color"])]),"cell-actions":s(({row:u})=>[o(F,null,{activator:s(()=>[f("div",De,[o(e(me),{class:"w-5 text-gray-500"})])]),default:s(()=>[o(q,{onClick:S=>A(u.data.id)},{default:s(()=>[o(e(fe),{class:"h-5 mr-3 text-gray-600"}),B(" "+_(l.$t("general.edit")),1)]),_:2},1032,["onClick"]),o(q,{onClick:S=>O(u.data.id)},{default:s(()=>[o(e(ye),{class:"h-5 mr-3 text-gray-600"}),B(" "+_(l.$t("general.delete")),1)]),_:2},1032,["onClick"])]),_:2},1024)]),_:1},8,["columns"])]),_:1})],64)}}};export{Pe as default};
|