time-picker.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var dayjs = require('dayjs');
  5. var customParseFormat = require('dayjs/plugin/customParseFormat.js');
  6. var constants = require('./constants.js');
  7. var picker = require('./common/picker.js');
  8. var panelTimePick = require('./time-picker-com/panel-time-pick.js');
  9. var panelTimeRange = require('./time-picker-com/panel-time-range.js');
  10. var props = require('./common/props.js');
  11. function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
  12. var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
  13. var customParseFormat__default = /*#__PURE__*/_interopDefaultLegacy(customParseFormat);
  14. dayjs__default["default"].extend(customParseFormat__default["default"]);
  15. var TimePicker = vue.defineComponent({
  16. name: "ElTimePicker",
  17. install: null,
  18. props: {
  19. ...props.timePickerDefaultProps,
  20. isRange: {
  21. type: Boolean,
  22. default: false
  23. }
  24. },
  25. emits: ["update:modelValue"],
  26. setup(props, ctx) {
  27. const commonPicker = vue.ref();
  28. const [type, Panel] = props.isRange ? ["timerange", panelTimeRange["default"]] : ["time", panelTimePick["default"]];
  29. const modelUpdater = (value) => ctx.emit("update:modelValue", value);
  30. vue.provide("ElPopperOptions", props.popperOptions);
  31. ctx.expose({
  32. focus: (e) => {
  33. var _a;
  34. (_a = commonPicker.value) == null ? void 0 : _a.handleFocusInput(e);
  35. },
  36. blur: (e) => {
  37. var _a;
  38. (_a = commonPicker.value) == null ? void 0 : _a.handleBlurInput(e);
  39. },
  40. handleOpen: () => {
  41. var _a;
  42. (_a = commonPicker.value) == null ? void 0 : _a.handleOpen();
  43. },
  44. handleClose: () => {
  45. var _a;
  46. (_a = commonPicker.value) == null ? void 0 : _a.handleClose();
  47. }
  48. });
  49. return () => {
  50. var _a;
  51. const format = (_a = props.format) != null ? _a : constants.DEFAULT_FORMATS_TIME;
  52. return vue.createVNode(picker["default"], vue.mergeProps(props, {
  53. "ref": commonPicker,
  54. "type": type,
  55. "format": format,
  56. "onUpdate:modelValue": modelUpdater
  57. }), {
  58. default: (props2) => vue.createVNode(Panel, props2, null)
  59. });
  60. };
  61. }
  62. });
  63. exports["default"] = TimePicker;
  64. //# sourceMappingURL=time-picker.js.map