vip-3c0fff4a.js 7.8 KB

1
  1. import{k as oe}from"./utils-8747c988.js";import{g as ue,B as se}from"./index-e1d206b5.js";import{h as ce,b as me,c as Z,k as ee,u as ve}from"./request-9a0f9c1d.js";import{i as fe,u as de,c as te,b as ae,e as J,L as he,t as ge,j as ye,w as be}from"./index-ea32d722.js";import{c as U}from"./index-f53ab261.js";import{d as Y,K as re,A as Ce,C as z,c as s,G,M as j}from"./runtime-core.esm-bundler-8a997806.js";function A(e){if(!fe(e))return e;if(Array.isArray(e))return e.map(l=>A(l));if(typeof e=="object"){var c={};return Object.keys(e).forEach(l=>{c[l]=A(e[l])}),c}return e}var Q=200,W=300,Te=15,[ne,F]=te("picker-column");function xe(e){var c=window.getComputedStyle(e),l=c.transform||c.webkitTransform,v=l.slice(7,l.length-1).split(", ")[5];return Number(v)}var le=Symbol(ne);function q(e){return ae(e)&&e.disabled}const pe=Y({name:ne,props:{readonly:Boolean,allowHtml:Boolean,className:de,textKey:{type:String,required:!0},itemHeight:{type:Number,required:!0},swipeDuration:{type:[Number,String],required:!0},visibleItemCount:{type:[Number,String],required:!0},defaultIndex:{type:Number,default:0},initialOptions:{type:Array,default:()=>[]}},emits:["change"],setup(e,{emit:c,slots:l}){var v,p,b,m,f,M=re(),n=Ce({index:e.defaultIndex,offset:0,duration:0,options:A(e.initialOptions)}),d=ce(),w=()=>n.options.length,P=()=>e.itemHeight*(+e.visibleItemCount-1)/2,S=a=>{a=U(a,0,w());for(var i=a;i<w();i++)if(!q(n.options[i]))return i;for(var u=a-1;u>=0;u--)if(!q(n.options[u]))return u},h=(a,i)=>{a=S(a)||0;var u=-a*e.itemHeight,g=()=>{a!==n.index&&(n.index=a,i&&c("change",a))};v&&u!==n.offset?f=g:g(),n.offset=u},N=a=>{JSON.stringify(a)!==JSON.stringify(n.options)&&(n.options=A(a),h(e.defaultIndex))},T=a=>{v||e.readonly||(f=null,n.duration=Q,h(a,!0))},I=a=>ae(a)&&e.textKey in a?a[e.textKey]:a,k=a=>U(Math.round(-a/e.itemHeight),0,w()-1),O=(a,i)=>{var u=Math.abs(a/i);a=n.offset+u/.003*(a<0?-1:1);var g=k(a);n.duration=+e.swipeDuration,h(g,!0)},_=()=>{v=!1,n.duration=0,f&&(f(),f=null)},K=a=>{if(!e.readonly){if(d.start(a),v){var i=xe(M.value);n.offset=Math.min(0,i-P()),p=n.offset}else p=n.offset;n.duration=0,b=Date.now(),m=p,f=null}},E=a=>{if(!e.readonly){d.move(a),d.isVertical()&&(v=!0,ee(a,!0)),n.offset=U(p+d.deltaY.value,-(w()*e.itemHeight),e.itemHeight);var i=Date.now();i-b>W&&(b=i,m=n.offset)}},B=()=>{if(!e.readonly){var a=n.offset-m,i=Date.now()-b,u=i<W&&Math.abs(a)>Te;if(u){O(a,i);return}var g=k(n.offset);n.duration=Q,h(g,!0),setTimeout(()=>{v=!1},0)}},R=()=>{var a={height:e.itemHeight+"px"};return n.options.map((i,u)=>{var g=I(i),D=q(i),V={role:"button",style:a,tabindex:D?-1:0,class:F("item",{disabled:D,selected:u===n.index}),onClick:()=>T(u)},$={class:"van-ellipsis",[e.allowHtml?"innerHTML":"textContent"]:g};return s("li",V,[l.option?l.option(i):s("div",$,null)])})},H=a=>{for(var{options:i}=n,u=0;u<i.length;u++)if(I(i[u])===a)return h(u)},L=()=>n.options[n.index];return h(n.index),me(le),Z({state:n,setIndex:h,getValue:L,setValue:H,setOptions:N,stopMomentum:_}),z(()=>e.initialOptions,N),z(()=>e.defaultIndex,a=>{h(a)}),()=>{var a={transform:"translate3d(0, "+(n.offset+P())+"px, 0)",transitionDuration:n.duration+"ms",transitionProperty:n.duration?"all":"none"};return s("div",{class:[F(),e.className],onTouchstart:K,onTouchmove:E,onTouchend:B,onTouchcancel:B},[s("ul",{ref:M,style:a,class:F("wrapper"),onTransitionend:_},[R()])])}}});var[we,C,X]=te("picker"),Ne={title:String,loading:Boolean,readonly:Boolean,allowHtml:Boolean,showToolbar:ge,cancelButtonText:String,confirmButtonText:String,itemHeight:{type:[Number,String],default:44},visibleItemCount:{type:[Number,String],default:6},swipeDuration:{type:[Number,String],default:1e3}};const Ie=Y({name:we,props:J({},Ne,{columnsFieldNames:Object,columns:{type:Array,default:()=>[]},defaultIndex:{type:[Number,String],default:0},toolbarPosition:{type:String,default:"top"},valueKey:{type:String,default:"text"}}),emits:["confirm","cancel","change"],setup(e,{emit:c,slots:l}){var v=re([]),{text:p,values:b,children:m}=J({text:e.valueKey,values:"values",children:"children"},e.columnsFieldNames),{children:f,linkChildren:M}=ve(le);M();var n=G(()=>ye(e.itemHeight)),d=G(()=>{var t=e.columns[0];if(t&&typeof t!="string"){if(m in t)return"cascade";if(b in t)return"object"}return"plain"}),w=()=>{for(var t=[],r={[m]:e.columns};r&&r[m];){for(var o,y=r[m],x=(o=r.defaultIndex)!=null?o:+e.defaultIndex;y[x]&&y[x].disabled;)if(x<y.length-1)x++;else{x=0;break}t.push({[b]:r[m],className:r.className,defaultIndex:x}),r=y[x]}v.value=t},P=()=>{var{columns:t}=e;d.value==="plain"?v.value=[{[b]:t}]:d.value==="cascade"?w():v.value=t},S=()=>f.map(t=>t.state.index),h=(t,r)=>{var o=f[t];o&&o.setOptions(r)},N=t=>{for(var r={[m]:e.columns},o=S(),y=0;y<=t;y++)r=r[m][o[y]];for(;r&&r[m];)t++,h(t,r[m]),r=r[m][r.defaultIndex||0]},T=t=>f[t],I=t=>{var r=T(t);if(r)return r.getValue()},k=(t,r)=>{var o=T(t);o&&(o.setValue(r),d.value==="cascade"&&N(t))},O=t=>{var r=T(t);if(r)return r.state.index},_=(t,r)=>{var o=T(t);o&&(o.setIndex(r),d.value==="cascade"&&N(t))},K=t=>{var r=T(t);if(r)return r.state.options},E=()=>f.map(t=>t.getValue()),B=t=>{t.forEach((r,o)=>{k(o,r)})},R=t=>{t.forEach((r,o)=>{_(o,r)})},H=t=>{d.value==="plain"?c(t,I(0),O(0)):c(t,E(),S())},L=t=>{d.value==="cascade"&&N(t),d.value==="plain"?c("change",I(0),O(0)):c("change",E(),t)},a=()=>{f.forEach(t=>t.stopMomentum()),H("confirm")},i=()=>H("cancel"),u=()=>{if(l.title)return l.title();if(e.title)return s("div",{class:[C("title"),"van-ellipsis"]},[e.title])},g=()=>{var t=e.cancelButtonText||X("cancel");return s("button",{type:"button",class:C("cancel"),onClick:i},[l.cancel?l.cancel():t])},D=()=>{var t=e.confirmButtonText||X("confirm");return s("button",{type:"button",class:C("confirm"),onClick:a},[l.confirm?l.confirm():t])},V=()=>{if(e.showToolbar)return s("div",{class:C("toolbar")},[l.default?l.default():[g(),u(),D()]])},$=()=>v.value.map((t,r)=>{var o;return s(pe,{textKey:p,readonly:e.readonly,allowHtml:e.allowHtml,className:t.className,itemHeight:n.value,defaultIndex:(o=t.defaultIndex)!=null?o:+e.defaultIndex,swipeDuration:e.swipeDuration,initialOptions:t[b],visibleItemCount:e.visibleItemCount,onChange:()=>L(r)},{option:l.option})}),ie=()=>{var t=n.value*+e.visibleItemCount,r={height:n.value+"px"},o={height:t+"px"},y={backgroundSize:"100% "+(t-n.value)/2+"px"};return s("div",{class:C("columns"),style:o,onTouchmove:ee},[$(),s("div",{class:C("mask"),style:y},null),s("div",{class:[ue,C("frame")],style:r},null)])};return z(()=>e.columns,P,{immediate:!0}),Z({confirm:a,getValues:E,setValues:B,getIndexes:S,setIndexes:R,getColumnIndex:O,setColumnIndex:_,getColumnValue:I,setColumnValue:k,getColumnValues:K,setColumnValues:h}),()=>{var t,r;return s("div",{class:C()},[e.toolbarPosition==="top"?V():null,e.loading?s(he,{class:C("loading")},null):null,(t=l["columns-top"])==null?void 0:t.call(l),ie(),(r=l["columns-bottom"])==null?void 0:r.call(l),e.toolbarPosition==="bottom"?V():null])}}});var Se=be(Ie);const ke="_container_za4sl_1",Oe="_picker_za4sl_24",_e="_button_za4sl_30",Ee={container:ke,picker:Oe,button:_e},Me="_container_dbwho_1",Pe="_picker_dbwho_24",Be="_button_dbwho_27",He={container:Me,picker:Pe,button:Be},$e=Y({name:"choosePartName",props:{isRem:{type:Boolean,default:!0},partNames:{type:Array,default:()=>[]},onSelectedPartName:{type:Function,default:e=>{}}},mounted(){this.isRem?this.styles=He:this.styles=Ee},data(){return{selectedPart:0,styles:{}}},render(){const e=this.styles;return s("div",{class:e.container},[s("h3",null,[j("请选择您练习的分谱")]),s(Se,{class:e.picker,showToolbar:!1,columns:this.partNames.map((c,l)=>({text:oe(c),value:l})),onChange:c=>{this.selectedPart=c.value},visibleItemCount:this.isRem?6:4},null),s(se,{class:e.button,type:"primary",round:!0,block:!0,color:"#01C1B5",onClick:()=>this.onSelectedPartName(this.selectedPart)},{default:()=>[j("确定")]})])}}),Ue=""+new URL("vip-af2bccfe.png",import.meta.url).href;export{$e as C,Ue as V};