UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.46 kB
{"version":3,"file":"useTimePicker.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/useTimePicker.ts"],"sourcesContent":["import { ref, watch } from 'vue'\n\nimport type { Dayjs } from 'dayjs'\n\nconst makeList = (total, method, methodFunc) => {\n const arr = []\n const disabledArr = method && methodFunc()\n for (let i = 0; i < total; i++) {\n arr[i] = disabledArr ? disabledArr.includes(i) : false\n }\n return arr\n}\n\nconst makeAvailableArr = (list) => {\n return list.map((_, index) => (!_ ? index : _)).filter((_) => _ !== true)\n}\n\nexport const getTimeLists = (\n disabledHours,\n disabledMinutes,\n disabledSeconds\n) => {\n const getHoursList = (role, compare?) => {\n return makeList(24, disabledHours, () => disabledHours(role, compare))\n }\n\n const getMinutesList = (hour, role, compare?) => {\n return makeList(60, disabledMinutes, () =>\n disabledMinutes(hour, role, compare)\n )\n }\n\n const getSecondsList = (hour, minute, role, compare?) => {\n return makeList(60, disabledSeconds, () =>\n disabledSeconds(hour, minute, role, compare)\n )\n }\n\n return {\n getHoursList,\n getMinutesList,\n getSecondsList,\n }\n}\n\nexport const getAvailableArrs = (\n disabledHours,\n disabledMinutes,\n disabledSeconds\n) => {\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n disabledHours,\n disabledMinutes,\n disabledSeconds\n )\n\n const getAvailableHours = (role, compare?) => {\n return makeAvailableArr(getHoursList(role, compare))\n }\n\n const getAvailableMinutes = (hour, role, compare?) => {\n return makeAvailableArr(getMinutesList(hour, role, compare))\n }\n\n const getAvailableSeconds = (hour, minute, role, compare?) => {\n return makeAvailableArr(getSecondsList(hour, minute, role, compare))\n }\n\n return {\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds,\n }\n}\n\nexport const useOldValue = (props: {\n parsedValue?: string | Dayjs | Dayjs[]\n visible: boolean\n}) => {\n const oldValue = ref(props.parsedValue)\n\n watch(\n () => props.visible,\n (val) => {\n if (!val) {\n oldValue.value = props.parsedValue\n }\n }\n )\n\n return oldValue\n}\n"],"names":[],"mappings":";;AAIA,MAAM,WAAW,CAAC,OAAO,QAAQ,eAAe;AAC9C,QAAM,MAAM;AACZ,QAAM,cAAc,UAAU;AAC9B,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,QAAI,KAAK,cAAc,YAAY,SAAS,KAAK;AAAA;AAEnD,SAAO;AAAA;AAGT,MAAM,mBAAmB,CAAC,SAAS;AACjC,SAAO,KAAK,IAAI,CAAC,GAAG,UAAW,CAAC,IAAI,QAAQ,GAAI,OAAO,CAAC,MAAM,MAAM;AAAA;MAGzD,eAAe,CAC1B,eACA,iBACA,oBACG;AACH,QAAM,eAAe,CAAC,MAAM,YAAa;AACvC,WAAO,SAAS,IAAI,eAAe,MAAM,cAAc,MAAM;AAAA;AAG/D,QAAM,iBAAiB,CAAC,MAAM,MAAM,YAAa;AAC/C,WAAO,SAAS,IAAI,iBAAiB,MACnC,gBAAgB,MAAM,MAAM;AAAA;AAIhC,QAAM,iBAAiB,CAAC,MAAM,QAAQ,MAAM,YAAa;AACvD,WAAO,SAAS,IAAI,iBAAiB,MACnC,gBAAgB,MAAM,QAAQ,MAAM;AAAA;AAIxC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;MAIS,mBAAmB,CAC9B,eACA,iBACA,oBACG;AACH,QAAM,EAAE,cAAc,gBAAgB,mBAAmB,aACvD,eACA,iBACA;AAGF,QAAM,oBAAoB,CAAC,MAAM,YAAa;AAC5C,WAAO,iBAAiB,aAAa,MAAM;AAAA;AAG7C,QAAM,sBAAsB,CAAC,MAAM,MAAM,YAAa;AACpD,WAAO,iBAAiB,eAAe,MAAM,MAAM;AAAA;AAGrD,QAAM,sBAAsB,CAAC,MAAM,QAAQ,MAAM,YAAa;AAC5D,WAAO,iBAAiB,eAAe,MAAM,QAAQ,MAAM;AAAA;AAG7D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA;AAAA;MAIS,cAAc,CAAC,UAGtB;AACJ,QAAM,WAAW,IAAI,MAAM;AAE3B,QACE,MAAM,MAAM,SACZ,CAAC,QAAQ;AACP,QAAI,CAAC,KAAK;AACR,eAAS,QAAQ,MAAM;AAAA;AAAA;AAK7B,SAAO;AAAA;;;;"}