UNPKG

ll-package

Version:

2 lines (1 loc) 2.89 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),o=require("../propTypes.js");var E=(u=>(u.unset="UNSET",u.every="EVERY",u.range="RANGE",u.loop="LOOP",u.work="WORK",u.last="LAST",u.specify="SPECIFY",u))(E||{});function T(u){const b=(u==null?void 0:u.defaultValue)??"?";return{value:o.propTypes.string.def(b),disabled:o.propTypes.bool.def(!1),...u==null?void 0:u.props}}function x(){return["change","update:value"]}function y(u,b,l){const{emit:m}=b,V=a.inject("prefixCls"),i=a.ref((l==null?void 0:l.defaultValue)??"?"),s=a.ref(l.defaultType??"EVERY"),r=a.ref([]),c=a.reactive(l.valueRange),n=a.reactive(l.valueLoop),g=a.reactive(l.valueWeek||{}),p=a.ref(l.valueWork),d=a.ref(l.maxValue),f=a.ref(l.minValue),v=a.computed(()=>{const e=[];switch(s.value){case"UNSET":e.push("?");break;case"EVERY":e.push("*");break;case"RANGE":e.push(`${c.start}-${c.end}`);break;case"LOOP":e.push(`${n.start}/${n.interval}`);break;case"WORK":e.push(`${p.value}W`);break;case"LAST":e.push("L");break;case"SPECIFY":r.value.length===0&&r.value.push(f.value),e.push(r.value.join(","));break;default:e.push(i.value);break}return e.length>0?e.join(""):i.value}),S=a.computed(()=>{const e=[];if(d.value!=null)for(let t=f.value;t<=d.value;t++)e.push(t);return e});a.watch(()=>u.value,e=>{e!==v.value&&R(e)},{immediate:!0}),a.watch(v,e=>O(e));function O(e){m("change",e),m("update:value",e)}function R(e){if(e!==v.value)try{if(!e||e===i.value)s.value="EVERY";else if(e.indexOf("?")>=0)s.value="UNSET";else if(e.indexOf("-")>=0){s.value="RANGE";const t=e.split("-");t.length>=2&&(c.start=parseInt(t[0]),c.end=parseInt(t[1]))}else if(e.indexOf("/")>=0){s.value="LOOP";const t=e.split("/");t.length>=2&&(n.start=e[0]==="*"?0:parseInt(t[0]),n.interval=parseInt(t[1]))}else if(e.indexOf("W")>=0){s.value="WORK";const t=e.split("W");!t[0]&&!isNaN(t[0])&&(p.value=parseInt(t[0]))}else e.indexOf("L")>=0?s.value="LAST":e.indexOf(",")>=0||!isNaN(e)?(s.value="SPECIFY",r.value=e.split(",").map(t=>parseInt(t))):s.value="EVERY"}catch{s.value="EVERY"}}const k=a.computed(()=>({class:["choice"],disabled:u.disabled||a.unref(l.disabled)})),h=a.computed(()=>({class:["w100"],max:d.value,min:f.value,precision:0})),A=a.computed(()=>({disabled:s.value!=="RANGE"||u.disabled||a.unref(l.disabled),...h.value})),L=a.computed(()=>({disabled:s.value!=="LOOP"||u.disabled||a.unref(l.disabled),...h.value})),N=a.computed(()=>({disabled:s.value!=="SPECIFY"||u.disabled||a.unref(l.disabled),class:["list-check-item"]}));return{type:s,TypeEnum:E,prefixCls:V,defaultValue:i,valueRange:c,valueLoop:n,valueWeek:g,valueList:r,valueWork:p,maxValue:d,minValue:f,computeValue:v,specifyRange:S,updateValue:O,parseValue:R,beforeRadioAttrs:k,inputNumberAttrs:h,typeRangeAttrs:A,typeLoopAttrs:L,typeSpecifyAttrs:N}}exports.TypeEnum=E;exports.useTabEmits=x;exports.useTabProps=T;exports.useTabSetup=y;