u-picker.a4660fd3.js
5.5 KB
import{d as e,m as t,a as n,o as l,c as i,w as o,f as a,n as s,g as r,t as c,h as u,aa as d,k as m,C as h,r as p,b as f,e as C,F as x,G as g,an as _,ao as y}from"./index-bf4b7222.js";import{_ as k}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as I}from"./u-loading-icon.9bcbb484.js";import{_ as b}from"./u-popup.b94d5453.js";const v=k({name:"u-toolbar",mixins:[t,n,{props:{show:{type:Boolean,default:e.toolbar.show},cancelText:{type:String,default:e.toolbar.cancelText},confirmText:{type:String,default:e.toolbar.confirmText},cancelColor:{type:String,default:e.toolbar.cancelColor},confirmColor:{type:String,default:e.toolbar.confirmColor},title:{type:String,default:e.toolbar.title}}}],methods:{cancel(){this.$emit("cancel")},confirm(){this.$emit("confirm")}}},[["render",function(e,t,n,p,f,C){const x=m,g=h;return e.show?(l(),i(g,{key:0,class:"u-toolbar",onTouchmove:d(e.noop,["stop","prevent"])},{default:o((()=>[a(g,{class:"u-toolbar__cancel__wrapper","hover-class":"u-hover-class"},{default:o((()=>[a(x,{class:"u-toolbar__wrapper__cancel",onClick:C.cancel,style:s({color:e.cancelColor})},{default:o((()=>[r(c(e.cancelText),1)])),_:1},8,["onClick","style"])])),_:1}),e.title?(l(),i(x,{key:0,class:"u-toolbar__title u-line-1"},{default:o((()=>[r(c(e.title),1)])),_:1})):u("",!0),a(g,{class:"u-toolbar__confirm__wrapper","hover-class":"u-hover-class"},{default:o((()=>[a(x,{class:"u-toolbar__wrapper__confirm",onClick:C.confirm,style:s({color:e.confirmColor})},{default:o((()=>[r(c(e.confirmText),1)])),_:1},8,["onClick","style"])])),_:1})])),_:1},8,["onTouchmove"])):u("",!0)}],["__scopeId","data-v-01bc6a0d"]]);const w=k({name:"u-picker",mixins:[t,n,{props:{show:{type:Boolean,default:e.picker.show},showToolbar:{type:Boolean,default:e.picker.showToolbar},title:{type:String,default:e.picker.title},columns:{type:Array,default:e.picker.columns},loading:{type:Boolean,default:e.picker.loading},itemHeight:{type:[String,Number],default:e.picker.itemHeight},cancelText:{type:String,default:e.picker.cancelText},confirmText:{type:String,default:e.picker.confirmText},cancelColor:{type:String,default:e.picker.cancelColor},confirmColor:{type:String,default:e.picker.confirmColor},visibleItemCount:{type:[String,Number],default:e.picker.visibleItemCount},keyName:{type:String,default:e.picker.keyName},closeOnClickOverlay:{type:Boolean,default:e.picker.closeOnClickOverlay},defaultIndex:{type:Array,default:e.picker.defaultIndex},immediateChange:{type:Boolean,default:e.picker.immediateChange}}}],data:()=>({lastIndex:[],innerIndex:[],innerColumns:[],columnIndex:0}),watch:{defaultIndex:{immediate:!0,handler(e){this.setIndexs(e,!0)}},columns:{immediate:!0,deep:!0,handler(e){this.setColumns(e)}}},emits:["close","cancel","confirm","change"],methods:{getItemText(e){return uni.$u.test.object(e)?e[this.keyName]:e},closeHandler(){this.closeOnClickOverlay&&this.$emit("close")},cancel(){this.$emit("cancel")},confirm(){this.$emit("confirm",{indexs:this.innerIndex,value:this.innerColumns.map(((e,t)=>e[this.innerIndex[t]])),values:this.innerColumns})},changeHandler(e){const{value:t}=e.detail;let n=0,l=0;for(let o=0;o<t.length;o++){let e=t[o];if(e!==(this.lastIndex[o]||0)){l=o,n=e;break}}this.columnIndex=l;const i=this.innerColumns;this.setLastIndex(t),this.setIndexs(t),this.$emit("change",{picker:this,value:this.innerColumns.map(((e,n)=>e[t[n]])),index:n,indexs:t,values:i,columnIndex:l})},setIndexs(e,t){this.innerIndex=uni.$u.deepClone(e),t&&this.setLastIndex(e)},setLastIndex(e){this.lastIndex=uni.$u.deepClone(e)},setColumnValues(e,t){this.innerColumns.splice(e,1,t);let n=uni.$u.deepClone(this.innerIndex);for(let l=0;l<this.innerColumns.length;l++)l>this.columnIndex&&(n[l]=0);this.setIndexs(n)},getColumnValues(e){return(async()=>{await uni.$u.sleep()})(),this.innerColumns[e]},setColumns(e){console.log(e),this.innerColumns=uni.$u.deepClone(e),0===this.innerIndex.length&&(this.innerIndex=new Array(e.length).fill(0))},getIndexs(){return this.innerIndex},getValues(){return(async()=>{await uni.$u.sleep()})(),this.innerColumns.map(((e,t)=>e[this.innerIndex[t]]))}}},[["render",function(e,t,n,d,k,w){const T=p(f("u-toolbar"),v),$=m,S=_,H=y,B=p(f("u-loading-icon"),I),O=h,j=p(f("u-popup"),b);return l(),i(j,{show:e.show,onClose:w.closeHandler},{default:o((()=>[a(O,{class:"u-picker"},{default:o((()=>[e.showToolbar?(l(),i(T,{key:0,cancelColor:e.cancelColor,confirmColor:e.confirmColor,cancelText:e.cancelText,confirmText:e.confirmText,title:e.title,onCancel:w.cancel,onConfirm:w.confirm},null,8,["cancelColor","confirmColor","cancelText","confirmText","title","onCancel","onConfirm"])):u("",!0),a(H,{class:"u-picker__view",indicatorStyle:`height: ${e.$u.addUnit(e.itemHeight)}`,value:k.innerIndex,immediateChange:e.immediateChange,style:s({height:`${e.$u.addUnit(e.visibleItemCount*e.itemHeight)}`}),onChange:w.changeHandler},{default:o((()=>[(l(!0),C(x,null,g(k.innerColumns,((t,n)=>(l(),i(S,{key:n,class:"u-picker__view__column"},{default:o((()=>[e.$u.test.array(t)?(l(!0),C(x,{key:0},g(t,((t,a)=>(l(),i($,{class:"u-picker__view__column__item u-line-1",key:a,style:s({height:e.$u.addUnit(e.itemHeight),lineHeight:e.$u.addUnit(e.itemHeight),fontWeight:a===k.innerIndex[n]?"bold":"normal"})},{default:o((()=>[r(c(w.getItemText(t)),1)])),_:2},1032,["style"])))),128)):u("",!0)])),_:2},1024)))),128))])),_:1},8,["indicatorStyle","value","immediateChange","style","onChange"]),e.loading?(l(),i(O,{key:1,class:"u-picker--loading"},{default:o((()=>[a(B,{mode:"circle"})])),_:1})):u("",!0)])),_:1})])),_:1},8,["show","onClose"])}],["__scopeId","data-v-0b153ee6"]]);export{w as _};