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.

1 lines
7.2 KiB

{"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 getMinutesList,\n getSecondsList,\n }\n}\n\nexport const buildAvailableTimeSlotGetter = (\n disabledHours: GetDisabledHours,\n disabledMinutes: GetDisabledMinutes,\n disabledSeconds: GetDisabledSeconds\n) => {\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n disabledHours,\n disabledMinutes,\n disabledSeconds\n )\n\n const getAvailableHours: GetDisabledHoursState = (role, compare?) => {\n return makeAvailableArr(getHoursList(role, compare))\n }\n\n const getAvailableMinutes: GetDisabledMinutesState = (\n hour,\n role,\n compare?\n ) => {\n return makeAvailableArr(getMinutesList(hour, role, compare))\n }\n\n const getAvailableSeconds: GetDisabledSecondsState = (\n hour,\n minute,\n role,\n compare?\n ) => {\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"],"mappings":";;AAEA,MAAMA,gBAAgB,GAAIC,YAAY,IAAK;EACzC,MAAMC,YAAY,GAAGA,CAACC,UAAU,EAAEC,KAAK,KAAKD,UAAU,IAAIC,KAAK;EAC/D,MAAMC,SAAS,GAAIC,SAAS,IAAKA,SAAS,KAAK,IAAI;EACnD,OAAOL,YAAY,CAACM,GAAG,CAACL,YAAY,CAAC,CAACM,MAAM,CAACH,SAAS,CAAC;AACzD,CAAC;AACW,MAACI,YAAY,GAAGA,CAACC,aAAa,EAAEC,eAAe,EAAEC,eAAe,KAAK;EAC/E,MAAMC,YAAY,GAAGA,CAACC,IAAI,EAAEC,OAAO,KAAK;IACtC,OAAOC,QAAQ,CAAC,EAAE,EAAEN,aAAa,KAAK,MAAMA,aAAa,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,aAAa,CAACI,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAC;EAC/G,CAAG;EACD,MAAME,cAAc,GAAGA,CAACC,IAAI,EAAEJ,IAAI,EAAEC,OAAO,KAAK;IAC9C,OAAOC,QAAQ,CAAC,EAAE,EAAEL,eAAe,KAAK,MAAMA,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,eAAe,CAACO,IAAI,EAAEJ,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAC;EAC3H,CAAG;EACD,MAAMI,cAAc,GAAGA,CAACD,IAAI,EAAEE,MAAM,EAAEN,IAAI,EAAEC,OAAO,KAAK;IACtD,OAAOC,QAAQ,CAAC,EAAE,EAAEJ,eAAe,KAAK,MAAMA,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,eAAe,CAACM,IAAI,EAAEE,MAAM,EAAEN,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAC;EACnI,CAAG;EACD,OAAO;IACLF,YAAY;IACZI,cAAc;IACdE;EACJ,CAAG;AACH;AACY,MAACE,4BAA4B,GAAGA,CAACX,aAAa,EAAEC,eAAe,EAAEC,eAAe,KAAK;EAC/F,MAAM;IAAEC,YAAY;IAAEI,cAAc;IAAEE;EAAc,CAAE,GAAGV,YAAY,CAACC,aAAa,EAAEC,eAAe,EAAEC,eAAe,CAAC;EACtH,MAAMU,iBAAiB,GAAGA,CAACR,IAAI,EAAEC,OAAO,KAAK;IAC3C,OAAOf,gBAAgB,CAACa,YAAY,CAACC,IAAI,EAAEC,OAAO,CAAC,CAAC;EACxD,CAAG;EACD,MAAMQ,mBAAmB,GAAGA,CAACL,IAAI,EAAEJ,IAAI,EAAEC,OAAO,KAAK;IACnD,OAAOf,gBAAgB,CAACiB,cAAc,CAACC,IAAI,EAAEJ,IAAI,EAAEC,OAAO,CAAC,CAAC;EAChE,CAAG;EACD,MAAMS,mBAAmB,GAAGA,CAACN,IAAI,EAAEE,MAAM,EAAEN,IAAI,EAAEC,OAAO,KAAK;IAC3D,OAAOf,gBAAgB,CAACmB,cAAc,CAACD,IAAI,EAAEE,MAAM,EAAEN,IAAI,EAAEC,OAAO,CAAC,CAAC;EACxE,CAAG;EACD,OAAO;IACLO,iBAAiB;IACjBC,mBAAmB;IACnBC;EACJ,CAAG;AACH;AACY,MAACC,WAAW,GAAIC,KAAK,IAAK;EACpC,MAAMC,QAAQ,GAAGC,GAAG,CAACF,KAAK,CAACG,WAAW,CAAC;EACvCC,KAAK,CAAC,MAAMJ,KAAK,CAACK,OAAO,EAAGC,GAAG,IAAK;IAClC,IAAI,CAACA,GAAG,EAAE;MACRL,QAAQ,CAACM,KAAK,GAAGP,KAAK,CAACG,WAAW;IACxC;EACA,CAAG,CAAC;EACF,OAAOF,QAAQ;AACjB","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}