You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
7.2 KiB

1 month ago
  1. {"ast":null,"code":"import { ref, watch } from 'vue';\nimport { makeList } from '../utils.mjs';\nconst makeAvailableArr = disabledList => {\n const trueOrNumber = (isDisabled, index) => isDisabled || index;\n const getNumber = predicate => predicate !== true;\n return disabledList.map(trueOrNumber).filter(getNumber);\n};\nconst getTimeLists = (disabledHours, disabledMinutes, disabledSeconds) => {\n const getHoursList = (role, compare) => {\n return makeList(24, disabledHours && (() => disabledHours == null ? void 0 : disabledHours(role, compare)));\n };\n const getMinutesList = (hour, role, compare) => {\n return makeList(60, disabledMinutes && (() => disabledMinutes == null ? void 0 : disabledMinutes(hour, role, compare)));\n };\n const getSecondsList = (hour, minute, role, compare) => {\n return makeList(60, disabledSeconds && (() => disabledSeconds == null ? void 0 : disabledSeconds(hour, minute, role, compare)));\n };\n return {\n getHoursList,\n getMinutesList,\n getSecondsList\n };\n};\nconst buildAvailableTimeSlotGetter = (disabledHours, disabledMinutes, disabledSeconds) => {\n const {\n getHoursList,\n getMinutesList,\n getSecondsList\n } = getTimeLists(disabledHours, disabledMinutes, disabledSeconds);\n const getAvailableHours = (role, compare) => {\n return makeAvailableArr(getHoursList(role, compare));\n };\n const getAvailableMinutes = (hour, role, compare) => {\n return makeAvailableArr(getMinutesList(hour, role, compare));\n };\n const getAvailableSeconds = (hour, minute, role, compare) => {\n return makeAvailableArr(getSecondsList(hour, minute, role, compare));\n };\n return {\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds\n };\n};\nconst useOldValue = props => {\n const oldValue = ref(props.parsedValue);\n watch(() => props.visible, val => {\n if (!val) {\n oldValue.value = props.parsedValue;\n }\n });\n return oldValue;\n};\nexport { buildAvailableTimeSlotGetter, getTimeLists, useOldValue };","map":{"version":3,"names":["makeAvailableArr","disabledList","trueOrNumber","isDisabled","index","getNumber","predicate","map","filter","getTimeLists","disabledHours","disabledMinutes","disabledSeconds","getHoursList","role","compare","makeList","getMinutesList","hour","getSecondsList","minute","buildAvailableTimeSlotGetter","getAvailableHours","getAvailableMinutes","getAvailableSeconds","useOldValue","props","oldValue","ref","parsedValue","watch","visible","val","value"],"sources":["../../../../../../../packages/components/time-picker/src/composables/use-time-picker.ts"],"sourcesContent":["import { ref, watch } from 'vue'\nimport { makeList } from '../utils'\n\nimport type { Dayjs } from 'dayjs'\nimport type {\n GetDisabledHoursState,\n GetDisabledMinutesState,\n GetDisabledSecondsState,\n} from '../types'\nimport type {\n GetDisabledHours,\n GetDisabledMinutes,\n GetDisabledSeconds,\n} from '../props/shared'\n\nconst makeAvailableArr = (disabledList: boolean[]): number[] => {\n const trueOrNumber = (isDisabled: boolean, index: number) =>\n isDisabled || index\n\n const getNumber = (predicate: number | true): predicate is number =>\n predicate !== true\n\n return disabledList.map(trueOrNumber).filter(getNumber)\n}\n\nexport const getTimeLists = (\n disabledHours?: GetDisabledHours,\n disabledMinutes?: GetDisabledMinutes,\n disabledSeconds?: GetDisabledSeconds\n) => {\n const getHoursList = (role: string, compare?: Dayjs) => {\n return makeList(24, disabledHours && (() => disabledHours?.(role, compare)))\n }\n\n const getMinutesList = (hour: number, role: string, compare?: Dayjs) => {\n return makeList(\n 60,\n disabledMinutes && (() => disabledMinutes?.(hour, role, compare))\n )\n }\n\n const getSecondsList = (\n hour: number,\n minute: number,\n role: string,\n compare?: Dayjs\n ) => {\n return makeList(\n 60,\n disabledSeconds && (() => disabledSeconds?.(hour, minute, role, compare))\n )\n }\n\n return {\n getHoursList,\n getMinutesLis