dm-vue3-ui
Version:
This Components Library will help get you started developing in Vue 3.
2 lines (1 loc) • 1.88 kB
JavaScript
const e=require("vue"),l=require("../../utils/util"),n=require("@vueuse/core"),c={class:"cron-picker-picker-panel-inner"},r={class:"cron-picker-picker-panel-header"},o={class:"cron-picker-picker-panel-body"},a={class:"cron-picker-picker-panel-column-ul"},t=["onClick"],i=e.defineComponent({__name:"index",props:{type:{},value:{},runTimes:{}},emits:["update:runTimes"],setup(i,{expose:p,emit:s}){const u=i,k=s,m=n.useVModel(u,"runTimes",k),d=e.computed((()=>l.generatorColumnsHeader(u.type))),v=e.computed((()=>l.generatorColumnsData(u.type))),B=(e,l)=>{var n,c;n=e.name,c=l.value,m.value[n]=c,y(e.name,e.data.findIndex((e=>e.value===l.value)))},E={},y=(e,n)=>{let c=E[e];const r=c.scrollTop,o=32*n;l.scrollTop(c,r,o,500)};return p({updateScroll:()=>{v.value.forEach((l=>{const n=l.name,c=u.value[n]||l.data[0].value;let r=E[n];e.nextTick((()=>{r.scrollTop=32*l.data.findIndex((e=>e.value===c))}))}))}}),(l,n)=>(e.openBlock(),e.createElementBlock("div",c,[e.createElementVNode("div",r,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,((l,n)=>(e.openBlock(),e.createElementBlock("div",{class:"cron-picker-picker-panel-column-title",key:n},e.toDisplayString(l),1)))),128))]),e.createElementVNode("div",o,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,((n,c)=>(e.openBlock(),e.createElementBlock("div",{class:"cron-picker-picker-panel-column-list",key:c,ref_for:!0,ref:e=>((e,l)=>{e&&E&&(E[l]=e)})(e,n.name)},[e.createElementVNode("ul",a,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.data,(c=>(e.openBlock(),e.createElementBlock("li",{key:c.text,class:e.normalizeClass(["cron-picker-picker-panel-column-cell",{"cron-picker-picker-panel-column-cell-selected":l.value[n.name]===c.value}]),onClick:e=>B(n,c)},e.toDisplayString(c.text),11,t)))),128))])])))),128))])]))}});module.exports=i;
;