UNPKG

dm-vue3-ui

Version:

This Components Library will help get you started developing in Vue 3.

2 lines (1 loc) 2.04 kB
"use strict";const e=require("ant-design-vue/es"),t=require("vue"),u=require("../../i18n/index"),l=require("../utils/util"),r=require("./panel/index.vue"),a=require("@vueuse/core"),i=require("@ant-design/icons-vue"),n=t.defineComponent({__name:"index",props:{size:{default:"default"},title:{default:u.$t("cronPicker.title")},placement:{default:"bottomLeft"},panelVisible:{type:Boolean},disabled:{type:Boolean,default:!1},runtypeList:{default:()=>[]},runTypes:{default:()=>[]},runTimes:{},format:{default:""},runType:{}},emits:["update:runTimes"],setup(u,{emit:n}){const o=t.ref(!1),s=u,d=n,p=a.useVModel(s,"runTimes",d),c=t.ref(0),f=t.computed((()=>l.PICKER_TYPE_LIST.includes(s.runType))),v=t.computed((()=>(()=>{const e=l.DEFAULT_PICKER_FORMAT[f.value?s.runType:"default"],{formatter:t}=l.TYPE_VALUE_RESOLVER_MAP[s.runType]||l.TYPE_VALUE_RESOLVER_MAP.default;return t(p.value,s.format||e)})())),m=t.ref(),T=t.ref();return t.watch((()=>o.value),(e=>{e&&(c.value=m.value.$el.offsetWidth,t.nextTick((()=>{T.value&&T.value.updateScroll()})))})),(u,l)=>{const a=e.Input,n=e.Popover;return t.openBlock(),t.createBlock(n,{visible:o.value,"onUpdate:visible":l[2]||(l[2]=e=>o.value=e),trigger:"click",disabled:u.disabled,placement:"bottomLeft",overlayClassName:"cron-picker-picker-panel",overlayStyle:{width:`${c.value}px`},align:{offset:[0,-2],overflow:{adjustX:1,adjustY:1},points:["tl","tl"],targetOffset:[0,0]}},{content:t.withCtx((()=>[f.value?(t.openBlock(),t.createBlock(r,{key:0,ref_key:"pickerPanel",ref:T,type:u.runType,value:u.runTimes,runTimes:t.unref(p),"onUpdate:runTimes":l[1]||(l[1]=e=>t.isRef(p)?p.value=e:null)},null,8,["type","value","runTimes"])):t.createCommentVNode("",!0)])),default:t.withCtx((()=>[t.createVNode(a,{ref_key:"pickerInput",ref:m,value:v.value,"onUpdate:value":l[0]||(l[0]=e=>v.value=e),disabled:!f.value,class:"cron-picker-picker-input"},{suffix:t.withCtx((()=>[t.createVNode(t.unref(i.ClockCircleOutlined))])),_:1},8,["value","disabled"])])),_:1},8,["visible","disabled","overlayStyle"])}}});module.exports=n;