2fb0fb3fb4744b29eeda26da066b04d0857a78fcf045150603cf86abee14f69e6482d1902552c515e608724854c444de99781d7dc72c86d10969e89209c64d 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var utils = require('../utils.js');
  5. const makeAvailableArr = (disabledList) => {
  6. const trueOrNumber = (isDisabled, index) => isDisabled || index;
  7. const getNumber = (predicate) => predicate !== true;
  8. return disabledList.map(trueOrNumber).filter(getNumber);
  9. };
  10. const getTimeLists = (disabledHours, disabledMinutes, disabledSeconds) => {
  11. const getHoursList = (role, compare) => {
  12. return utils.makeList(24, disabledHours && (() => disabledHours == null ? void 0 : disabledHours(role, compare)));
  13. };
  14. const getMinutesList = (hour, role, compare) => {
  15. return utils.makeList(60, disabledMinutes && (() => disabledMinutes == null ? void 0 : disabledMinutes(hour, role, compare)));
  16. };
  17. const getSecondsList = (hour, minute, role, compare) => {
  18. return utils.makeList(60, disabledSeconds && (() => disabledSeconds == null ? void 0 : disabledSeconds(hour, minute, role, compare)));
  19. };
  20. return {
  21. getHoursList,
  22. getMinutesList,
  23. getSecondsList
  24. };
  25. };
  26. const buildAvailableTimeSlotGetter = (disabledHours, disabledMinutes, disabledSeconds) => {
  27. const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(disabledHours, disabledMinutes, disabledSeconds);
  28. const getAvailableHours = (role, compare) => {
  29. return makeAvailableArr(getHoursList(role, compare));
  30. };
  31. const getAvailableMinutes = (hour, role, compare) => {
  32. return makeAvailableArr(getMinutesList(hour, role, compare));
  33. };
  34. const getAvailableSeconds = (hour, minute, role, compare) => {
  35. return makeAvailableArr(getSecondsList(hour, minute, role, compare));
  36. };
  37. return {
  38. getAvailableHours,
  39. getAvailableMinutes,
  40. getAvailableSeconds
  41. };
  42. };
  43. const useOldValue = (props) => {
  44. const oldValue = vue.ref(props.parsedValue);
  45. vue.watch(() => props.visible, (val) => {
  46. if (!val) {
  47. oldValue.value = props.parsedValue;
  48. }
  49. });
  50. return oldValue;
  51. };
  52. exports.buildAvailableTimeSlotGetter = buildAvailableTimeSlotGetter;
  53. exports.getTimeLists = getTimeLists;
  54. exports.useOldValue = useOldValue;
  55. //# sourceMappingURL=use-time-picker.js.map