| 1 |
- var Le=Object.defineProperty,Ee=Object.defineProperties;var ze=Object.getOwnPropertyDescriptors;var ve=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var ke=(g,d,p)=>d in g?Le(g,d,{enumerable:!0,configurable:!0,writable:!0,value:p}):g[d]=p,G=(g,d)=>{for(var p in d||(d={}))Me.call(d,p)&&ke(g,p,d[p]);if(ve)for(var p of ve(d))Oe.call(d,p)&&ke(g,p,d[p]);return g},U=(g,d)=>Ee(g,ze(d));import{b as Se,ab as Ve,c as v,m as T,a as me,ak as _,by as ge,bm as qe,d as $e,r as w,w as Y,ad as Pe,f as $,o as y,j as Ke,n as N,a4 as R,g as f,J as Q,h as k,al as He,bz as Ne,G as fe,I as ye,bA as Re,H as pe,L as E,M as z,bB as S,bc as Te,bC as be,bi as Ce,an as X,q as Ae,a5 as We,ae as Ie,e as J,ag as je,ah as Ge,ai as Ue,as as Je,bD as Ye,k as _e,F as le,_ as we,a7 as Qe,i as Xe,ap as de}from"./index-BvrJT4vV.js";const Ze=U(G({},Se),{loading:v(!1),loadingColor:T("#4D80F0"),columnsHeight:me(217),valueKey:T("value"),labelKey:T("label"),immediateChange:v(!1),modelValue:{type:[String,Number,Boolean,Array,Array,Array],default:"",required:!0},columns:Ve(),columnChange:Function});function ae(g,d,p){let r=_(g)?g:[g];const t=new Set(g.map(ge));if(t.size!==1&&t.has("object"))throw Error("The columns are correct");return _(g[0])||(r=[r]),r.map(h=>h.map(n=>{if(!qe(n))return{[d]:n,[p]:n};if(!n.hasOwnProperty(d)&&!n.hasOwnProperty(p))throw Error("Can't find valueKey and labelKey in columns");return n.hasOwnProperty(p)||(n[p]=n[d]),n.hasOwnProperty(d)||(n[d]=n[p]),n}))}const xe={name:"wd-picker-view",options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"}},el=$e(U(G({},xe),{props:Ze,emits:["change","pickstart","pickend","update:modelValue"],setup(g,{expose:d,emit:p}){const r=g,t=p,i=w([]),h=w(35),n=w([]);Y([()=>r.modelValue,()=>r.columns],(l,a)=>{Ce(a[1],l[1])||(_(l[1])&&l[1].length>0?i.value=ae(l[1],r.valueKey,r.labelKey):(i.value=[],n.value=[])),X(l[0])&&A(l[0])},{deep:!0,immediate:!0});const{proxy:M}=Pe();function A(l){if(i.value.length===0){n.value=[];return}(l===""||!X(l)||_(l)&&l.length===0)&&(l=i.value.map(s=>s[0][r.valueKey])),ge(l),l=_(l)?l:[l],l=l.slice(0,i.value.length);let a=S(n.value);l.forEach((s,o)=>{let m=i.value[o].findIndex(C=>C[r.valueKey].toString()===s.toString());m=m===-1?0:m,a=b(o,m,a)}),n.value=a.slice(0,l.length)}function K(l){let a=S(l);return l.forEach((s,o)=>{s=be(s,0,i.value[o].length-1),a=b(o,s,a)}),a}function b(l,a,s){const o=i.value[l];if(!o||!o[a])throw Error(`The value to select with Col:${l} Row:${a} is incorrect`);const m=S(s);if(m[l]=a,o[a].disabled){const C=o.slice(0,a).reverse().findIndex(B=>!B.disabled),V=o.slice(a+1).findIndex(B=>!B.disabled);C!==-1?m[l]=a-1-C:V!==-1?m[l]=a+1+V:m[l]===void 0&&(m[l]=0)}return m}function O({detail:{value:l}}){l=l.map(s=>Number(s||0));const a=W(l);n.value=S(l),Te(()=>{n.value=K(l),r.columnChange?r.columnChange.length<4?(r.columnChange(M.$.exposed,F(),a||0,()=>{}),L(a||0)):r.columnChange(M.$.exposed,F(),a||0,()=>{L(a||0)}):L(a||0)})}function D(l,a){return!l||!a?-1:l.findIndex((o,m)=>o!==a[m])}function W(l){l=l.slice(0,i.value.length);const a=S(n.value);let s=S(n.value);l.forEach((C,V)=>{C=be(C,0,i.value[V].length-1),C!==a[V]&&(s=b(V,C,s))});const o=D(s,a);if(o===-1)return;const m=s[o];return s.length===1?m:o}function L(l){const a=P();Ce(a,r.modelValue)||(t("update:modelValue",a),setTimeout(()=>{t("change",{picker:M.$.exposed,value:a,index:l})},0))}function F(){const l=n.value.map((a,s)=>i.value[s][a]);return l.length===1?l[0]:l}function P(){const{valueKey:l}=r,a=n.value.map((s,o)=>i.value[o][s][l]);return a.length===1?a[0]:a}function Z(){const{labelKey:l}=r;return n.value.map((a,s)=>i.value[s][a][l])}function te(l){return n.value[l]}function se(l){return i.value[l]}function q(l,a,s=0){i.value[l]=ae(a,r.valueKey,r.labelKey).reduce((o,m)=>o.concat(m),[]),n.value=b(l,s,n.value)}function ne(){return S(i.value)}function oe(){return n.value}function ie(l){_(l)&&l.length&&(i.value=ae(l,r.valueKey,r.labelKey))}function x(){t("pickstart")}function I(){t("pickend")}return d({getSelects:F,getValues:P,setColumnData:q,getColumnsData:ne,getColumnData:se,getColumnIndex:te,getLabels:Z,getSelectedIndex:oe,resetColumns:ie}),(l,a)=>{const s=Ke,o=Re,m=Ne;return y(),$(s,{class:R(`wd-picker-view ${l.customClass}`),style:N(l.customStyle)},{default:f(()=>[l.loading?(y(),$(s,{key:0,class:"wd-picker-view__loading"},{default:f(()=>[k(He,{color:l.loadingColor},null,8,["color"])]),_:1})):Q("",!0),k(s,{style:N(`height: ${l.columnsHeight-20}px;`)},{default:f(()=>[k(m,{"mask-class":"wd-picker-view__mask","indicator-class":"wd-picker-view__roller","indicator-style":`height: ${h.value}px;`,style:N(`height: ${l.columnsHeight-20}px;`),value:n.value,"immediate-change":l.immediateChange,onChange:O,onPickstart:x,onPickend:I},{default:f(()=>[(y(!0),fe(pe,null,ye(i.value,(C,V)=>(y(),$(o,{key:V,class:"wd-picker-view-column"},{default:f(()=>[(y(!0),fe(pe,null,ye(C,(B,j)=>(y(),$(s,{key:j,class:R(`wd-picker-view-column__item ${B.disabled?"wd-picker-view-column__item--disabled":""} ${n.value[V]==j?"wd-picker-view-column__item--active":""}`),style:N(`line-height: ${h.value}px;`)},{default:f(()=>[E(z(B[l.labelKey]),1)]),_:2},1032,["class","style"]))),128))]),_:2},1024))),128))]),_:1},8,["indicator-style","style","value","immediate-change"])]),_:1},8,["style"])]),_:1},8,["class","style"])}}})),ll=Ae(el,[["__scopeId","data-v-e413638e"]]),al=U(G({},Se),{customLabelClass:T(""),customValueClass:T(""),customViewClass:T(""),label:String,placeholder:String,disabled:v(!1),readonly:v(!1),loading:v(!1),loadingColor:T("#4D80F0"),title:String,cancelButtonText:String,confirmButtonText:String,required:v(!1),size:String,labelWidth:String,useDefaultSlot:v(!1),useLabelSlot:v(!1),error:v(!1),alignRight:v(!1),beforeConfirm:Function,closeOnClickModal:v(!0),safeAreaInsetBottom:v(!0),ellipsis:v(!1),columnsHeight:me(217),valueKey:T("value"),labelKey:T("label"),modelValue:{type:[String,Number,Array],default:""},columns:{type:Array,default:()=>[]},columnChange:Function,displayFormat:Function,zIndex:me(15),prop:String,rules:Ve(),immediateChange:v(!1),clearable:v(!1)}),tl={name:"wd-picker",options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"}},sl=$e(U(G({},tl),{props:al,emits:["confirm","open","cancel","clear","update:modelValue"],setup(g,{expose:d,emit:p}){const{translate:r}=We("picker"),t=g,i=p,h=w(null),n=Ie(),M=w(!1),A=w(!1),K=w(""),b=w(""),O=w([]),D=w([]),W=w(!1),L=w(!1),F=J(()=>t.loading||M.value);Y(()=>t.displayFormat,e=>{e&&de(e),h.value&&h.value.getSelectedIndex().length!==0&&q(t.modelValue)},{immediate:!0,deep:!0}),Y(()=>t.modelValue,e=>{b.value=e,q(e)},{deep:!0,immediate:!0}),Y(()=>t.columns,e=>{O.value=S(e),D.value=S(e),e.length===0?(b.value=_(t.modelValue)?[]:"",K.value=""):q(t.modelValue)},{deep:!0,immediate:!0}),Y(()=>t.columnChange,e=>{e&&de(e)},{deep:!0,immediate:!0});const{parent:P}=je(Ge),Z=J(()=>P&&t.prop&&P.errorMessages&&P.errorMessages[t.prop]?P.errorMessages[t.prop]:""),te=J(()=>{let e=!1;if(P&&P.props.rules){const c=P.props.rules;for(const u in c)Object.prototype.hasOwnProperty.call(c,u)&&u===t.prop&&Array.isArray(c[u])&&(e=c[u].some(H=>H.required))}return t.required||t.rules.some(c=>c.required)||e}),{proxy:se}=Pe();Ue(()=>{q(t.modelValue)}),Je(()=>{O.value=S(t.columns),D.value=S(t.columns)});function q(e){_(e)&&e.length>0||X(e)&&!_(e)&&e!==""?h.value?Te(()=>{o(h.value.getSelects())}):o(ne(e)):K.value=""}function ne(e){const c=ae(t.columns,t.valueKey,t.labelKey);if(t.columns.length===0||e===""||!X(e)||_(e)&&e.length===0)return;const u=ge(e);if(["string","number","boolean","array"].indexOf(u)===-1)return[];e=_(e)?e:[e],e=e.slice(0,c.length),e.length===0&&(e=c.map(()=>0));let he=[];e.forEach((ue,ce)=>{let ee=c[ce].findIndex(De=>De[t.valueKey].toString()===ue.toString());ee=ee===-1?0:ee,he.push(ee)});const re=he.map((ue,ce)=>c[ce][ue]);return re.length===1?re[0]:re}function oe(){x()}function ie(){I()}function x(){t.disabled||t.readonly||(i("open"),A.value=!0,b.value=t.modelValue,O.value=D.value)}function I(){A.value=!1,i("cancel");let e=setTimeout(()=>{clearTimeout(e),X(h.value)&&h.value.resetColumns(D.value)},300)}function l(){if(F.value)return;if(W.value){L.value=!0;return}const{beforeConfirm:e}=t;e&&de(e)?e(b.value,c=>{c&&a()},se.$.exposed):a()}function a(){if(F.value||t.disabled){A.value=!1;return}const e=h.value.getSelects(),c=h.value.getValues(),u=h.value.getColumnsData();A.value=!1,D.value=S(u),i("update:modelValue",c),o(e),i("confirm",{value:c,selectedItems:e})}function s({value:e}){b.value=e}function o(e){if(_(e)&&!e.length||!e)return;const{valueKey:c,labelKey:u}=t;K.value=(t.displayFormat||Ye)(e,{valueKey:c,labelKey:u})}function m(){}function C(){W.value=!0}function V(){W.value=!1,L.value&&(L.value=!1,l())}function B(e){M.value=e}const j=J(()=>t.clearable&&!t.disabled&&!t.readonly&&K.value.length);function Fe(){const e=_(b.value)?[]:"";i("update:modelValue",e),i("clear")}const Be=J(()=>!t.disabled&&!t.readonly&&!j.value);return d({close:ie,open:oe,setLoading:B}),(e,c)=>{const u=Ke;return y(),$(u,{class:R(`wd-picker ${e.disabled?"is-disabled":""} ${e.size?"is-"+e.size:""} ${le(n).border.value?"is-border":""} ${e.alignRight?"is-align-right":""} ${e.error?"is-error":""} ${e.customClass}`),style:N(e.customStyle)},{default:f(()=>[k(u,{class:"wd-picker__field",onClick:x},{default:f(()=>[e.useDefaultSlot?_e(e.$slots,"default",{key:0},void 0,!0):(y(),$(u,{key:1,class:"wd-picker__cell"},{default:f(()=>[e.label||e.useLabelSlot?(y(),$(u,{key:0,class:R(`wd-picker__label ${e.customLabelClass} ${te.value?"is-required":""}`),style:N(e.labelWidth?"min-width:"+e.labelWidth+";max-width:"+e.labelWidth+";":"")},{default:f(()=>[e.label?(y(),fe(pe,{key:0},[E(z(e.label),1)],64)):_e(e.$slots,"label",{key:1},void 0,!0)]),_:3},8,["class","style"])):Q("",!0),k(u,{class:"wd-picker__body"},{default:f(()=>[k(u,{class:"wd-picker__value-wraper"},{default:f(()=>[k(u,{class:R(`wd-picker__value ${e.ellipsis&&"is-ellipsis"} ${e.customValueClass} ${K.value?"":"wd-picker__placeholder"}`)},{default:f(()=>[E(z(K.value?K.value:e.placeholder||le(r)("placeholder")),1)]),_:1},8,["class"]),Be.value?(y(),$(we,{key:0,"custom-class":"wd-picker__arrow",name:"arrow-right"})):j.value?(y(),$(u,{key:1,onClick:Qe(Fe,["stop"])},{default:f(()=>[k(we,{"custom-class":"wd-picker__clear",name:"error-fill"})]),_:1})):Q("",!0)]),_:1}),Z.value?(y(),$(u,{key:0,class:"wd-picker__error-message"},{default:f(()=>[E(z(Z.value),1)]),_:1})):Q("",!0)]),_:1})]),_:3}))]),_:3}),k(Xe,{modelValue:A.value,"onUpdate:modelValue":c[1]||(c[1]=H=>A.value=H),position:"bottom","hide-when-close":!1,"close-on-click-modal":e.closeOnClickModal,"z-index":e.zIndex,"safe-area-inset-bottom":e.safeAreaInsetBottom,onClose:I,"custom-class":"wd-picker__popup"},{default:f(()=>[k(u,{class:"wd-picker__wraper"},{default:f(()=>[k(u,{class:"wd-picker__toolbar",onTouchmove:m},{default:f(()=>[k(u,{class:"wd-picker__action wd-picker__action--cancel",onClick:I},{default:f(()=>[E(z(e.cancelButtonText||le(r)("cancel")),1)]),_:1}),e.title?(y(),$(u,{key:0,class:"wd-picker__title"},{default:f(()=>[E(z(e.title),1)]),_:1})):Q("",!0),k(u,{class:R(`wd-picker__action ${F.value?"is-loading":""}`),onClick:l},{default:f(()=>[E(z(e.confirmButtonText||le(r)("done")),1)]),_:1},8,["class"])]),_:1}),k(ll,{ref_key:"pickerViewWd",ref:h,"custom-class":e.customViewClass,modelValue:b.value,"onUpdate:modelValue":c[0]||(c[0]=H=>b.value=H),columns:O.value,loading:F.value,"loading-color":e.loadingColor,"columns-height":e.columnsHeight,"value-key":e.valueKey,"label-key":e.labelKey,"immediate-change":e.immediateChange,onChange:s,onPickstart:C,onPickend:V,"column-change":e.columnChange},null,8,["custom-class","modelValue","columns","loading","loading-color","columns-height","value-key","label-key","immediate-change","column-change"])]),_:1})]),_:1},8,["modelValue","close-on-click-modal","z-index","safe-area-inset-bottom"])]),_:3},8,["class","style"])}}})),il=Ae(sl,[["__scopeId","data-v-d4c54cb0"]]);export{il as _};
|