123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _vue = require("vue");
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
- var _TimeHeader = _interopRequireDefault(require("./TimeHeader"));
- var _TimeBody = _interopRequireDefault(require("./TimeBody"));
- var _uiUtil = require("../../utils/uiUtil");
- var _classNames2 = _interopRequireDefault(require("../../../_util/classNames"));
- var _useMergeProps = _interopRequireDefault(require("../../hooks/useMergeProps"));
- var countBoolean = function countBoolean(boolList) {
- return boolList.filter(function (bool) {
- return bool !== false;
- }).length;
- };
- function TimePanel(_props) {
- var props = (0, _useMergeProps.default)(_props);
- var generateConfig = props.generateConfig,
- _props$format = props.format,
- format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,
- prefixCls = props.prefixCls,
- active = props.active,
- operationRef = props.operationRef,
- showHour = props.showHour,
- showMinute = props.showMinute,
- showSecond = props.showSecond,
- _props$use12Hours = props.use12Hours,
- use12Hours = _props$use12Hours === void 0 ? false : _props$use12Hours,
- onSelect = props.onSelect,
- value = props.value;
- var panelPrefixCls = "".concat(prefixCls, "-time-panel");
- var bodyOperationRef = (0, _vue.ref)();
- // ======================= Keyboard =======================
- var activeColumnIndex = (0, _vue.ref)(-1);
- var columnsCount = countBoolean([showHour, showMinute, showSecond, use12Hours]);
- operationRef.value = {
- onKeydown: function onKeydown(event) {
- return (0, _uiUtil.createKeydownHandler)(event, {
- onLeftRight: function onLeftRight(diff) {
- activeColumnIndex.value = (activeColumnIndex.value + diff + columnsCount) % columnsCount;
- },
- onUpDown: function onUpDown(diff) {
- if (activeColumnIndex.value === -1) {
- activeColumnIndex.value = 0;
- } else if (bodyOperationRef.value) {
- bodyOperationRef.value.onUpDown(diff);
- }
- },
- onEnter: function onEnter() {
- onSelect(value || generateConfig.getNow(), 'key');
- activeColumnIndex.value = -1;
- }
- });
- },
- onBlur: function onBlur() {
- activeColumnIndex.value = -1;
- }
- };
- return (0, _vue.createVNode)("div", {
- "class": (0, _classNames2.default)(panelPrefixCls, (0, _defineProperty2.default)({}, "".concat(panelPrefixCls, "-active"), active))
- }, [(0, _vue.createVNode)(_TimeHeader.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
- "format": format,
- "prefixCls": prefixCls
- }), null), (0, _vue.createVNode)(_TimeBody.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
- "prefixCls": prefixCls,
- "activeColumnIndex": activeColumnIndex.value,
- "operationRef": bodyOperationRef
- }), null)]);
- }
- TimePanel.displayName = 'TimePanel';
- TimePanel.inheritAttrs = false;
- var _default = TimePanel;
- exports.default = _default;
|