dm-vue3-ui
Version:
This Components Library will help get you started developing in Vue 3.
2 lines (1 loc) • 4.38 kB
JavaScript
const e=require("ant-design-vue/es"),t=require("vue"),a=require("ant-design-vue"),l=require("./utils/index.js"),r=require("./panel/real/index.vue"),i=require("./panel/preset/index.vue"),o=require("./panel/relative/index.vue"),u=require("./panel/absolute/index.vue"),n=require("../i18n/index"),s=require("@ant-design/icons-vue"),d=require("@vueuse/core"),c={class:"dm-date-picker"},v={key:0},p={key:1},m=["title","disabled"],f=t.defineComponent({name:"dm-date-picker",__name:"index",props:{placement:{default:"bottom"},disabled:{type:Boolean,default:!1},value:{default:()=>["",""]},items:{default:()=>["preset","real","relative","absolute"]},presetValues:{default:()=>[]},relativeStartUnits:{default:()=>[]},relativeEndUnits:{default:()=>[]},disabledRelativeEndUnit:{type:Boolean,default:!1},relativeStartMaxValue:{default:-1},onlyShowText:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:!1},dateFormat:{default:"YYYY-MM-DD HH:mm:ss"}},emits:["change","update:value"],setup(f,{emit:k}){const y=t.ref(!1),B=t.ref(),b=t.ref(),x=t.ref(),g=t.ref(),h=t.ref();let C=t.ref("");const _=f,V=k,w=d.useVModel(_,"value",V),T=t.computed((()=>2===w.value.length?w.value[0].toString():"")),q=t.computed((()=>2===w.value.length?w.value[1].toString():"")),S=t.computed((()=>l.getTimeType(T.value,q.value,_.presetValues))),E=t.computed((()=>l.getLabelText(S.value.type,T.value,q.value,_.presetValues,_.dateFormat))),N=e=>{e.setValue(T.value,q.value)};t.watch((()=>y.value),(()=>{_.disabled&&(y.value=!1),y.value?(C.value=S.value.type,setTimeout((()=>{(()=>{switch(S.value.type){case"preset":N(b.value[0]);break;case"real":N(x.value[0]);break;case"relative":N(g.value[0]);break;case"absolute":N(h.value[0])}})()}),300)):C.value=""}));const U=e=>{w.value=e.date;const t=l.getLabelText(e.type,e.date[0]||"",e.date[1]||"",_.presetValues);V("change",{...e,label:t}),y.value=!1};return(l,d)=>{const f=e.Tooltip,k=e.CollapsePanel,V=e.Collapse,w=e.Card,T=e.Popover;return t.openBlock(),t.createBlock(t.unref(a.ConfigProvider),{prefixCls:"dm-ui"},{default:t.withCtx((()=>[t.createElementVNode("div",c,[l.onlyShowText?(t.openBlock(),t.createElementBlock("div",v,[l.showTooltip?(t.openBlock(),t.createBlock(f,{key:0,title:E.value,placement:"top"},{default:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(E.value),1)])),_:1},8,["title"])):(t.openBlock(),t.createElementBlock("span",p,t.toDisplayString(E.value),1))])):(t.openBlock(),t.createBlock(T,{key:1,visible:y.value,"onUpdate:visible":d[1]||(d[1]=e=>y.value=e),trigger:"click",placement:l.placement,overlayClassName:"dm-date-picker-popover"},{content:t.withCtx((()=>[t.createVNode(w,{ref_key:"timeCard",ref:B,class:"dm-date-picker__card",bordered:!1},{default:t.withCtx((()=>[t.createVNode(V,{activeKey:t.unref(C),"onUpdate:activeKey":d[0]||(d[0]=e=>t.isRef(C)?C.value=e:C=e),accordion:"","expand-icon-position":"right"},{default:t.withCtx((()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.items,(e=>(t.openBlock(),t.createBlock(k,{header:t.unref(n.$t)(`datePicker.${e}.title`),key:e},{default:t.withCtx((()=>["preset"==e?(t.openBlock(),t.createBlock(i,{key:0,onChange:U,"custom-preset-values":l.presetValues,ref_for:!0,ref_key:"preset",ref:b},null,8,["custom-preset-values"])):"real"==e?(t.openBlock(),t.createBlock(r,{key:1,ref_for:!0,ref_key:"real",ref:x,onChange:U},null,512)):"relative"==e?(t.openBlock(),t.createBlock(o,{key:2,onChange:U,"custom-relative-start-units":l.relativeStartUnits,"custom-relative-end-units":l.relativeEndUnits,"disabled-relative-end-unit":l.disabledRelativeEndUnit,"relative-start-max-value":l.relativeStartMaxValue,ref_for:!0,ref_key:"relative",ref:g},null,8,["custom-relative-start-units","custom-relative-end-units","disabled-relative-end-unit","relative-start-max-value"])):"absolute"==e?(t.openBlock(),t.createBlock(u,{key:3,dateFormatBack:_.dateFormat,onChange:U,ref_for:!0,ref_key:"absolute",ref:h},null,8,["dateFormatBack"])):t.createCommentVNode("",!0)])),_:2},1032,["header"])))),128))])),_:1},8,["activeKey"])])),_:1},512)])),default:t.withCtx((()=>[t.createElementVNode("div",{class:t.normalizeClass({"time-content":!0,"disabled-style":l.disabled}),title:E.value,disabled:l.disabled},[t.createTextVNode(t.toDisplayString(E.value)+" ",1),t.createVNode(t.unref(s.DownOutlined))],10,m)])),_:1},8,["visible","placement"]))])])),_:1})}}});module.exports=f;
;