UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

111 lines (95 loc) 4.24 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _createSuper from "@babel/runtime/helpers/createSuper"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; var _excluded = ["value", "dragging", "index", "disabled"], _excluded2 = ["prefixCls", "overlay", "placement", "visible"]; import React from 'react'; import Tooltip from '../tooltip'; import Handle from './Handle'; export default function createSliderWithTooltip(Component) { var _class; return _class = /*#__PURE__*/function (_Component) { _inherits(ComponentWrapper, _Component); var _super = _createSuper(ComponentWrapper); function ComponentWrapper(props) { var _this; _classCallCheck(this, ComponentWrapper); _this = _super.call(this, props); _defineProperty(_assertThisInitialized(_this), "handleTooltipVisibleChange", function (index, visible) { _this.setState(function (prevState) { return { visibles: _objectSpread(_objectSpread({}, prevState.visibles), {}, _defineProperty({}, index, visible)) }; }); }); _defineProperty(_assertThisInitialized(_this), "handleWithTooltip", function (_ref) { var value = _ref.value, dragging = _ref.dragging, index = _ref.index, disabled = _ref.disabled, restProps = _objectWithoutProperties(_ref, _excluded); var _this$props = _this.props, tipFormatter = _this$props.tipFormatter, tipProps = _this$props.tipProps, handleStyle = _this$props.handleStyle; var _tipProps$prefixCls = tipProps.prefixCls, prefixCls = _tipProps$prefixCls === void 0 ? 'rc-slider-tooltip' : _tipProps$prefixCls, _tipProps$overlay = tipProps.overlay, overlay = _tipProps$overlay === void 0 ? tipFormatter(value) : _tipProps$overlay, _tipProps$placement = tipProps.placement, placement = _tipProps$placement === void 0 ? 'top' : _tipProps$placement, _tipProps$visible = tipProps.visible, visible = _tipProps$visible === void 0 ? visible || false : _tipProps$visible, restTooltipProps = _objectWithoutProperties(tipProps, _excluded2); var handleStyleWithIndex; if (Array.isArray(handleStyle)) { handleStyleWithIndex = handleStyle[index] || handleStyle[0]; } else { handleStyleWithIndex = handleStyle; } return /*#__PURE__*/React.createElement(Tooltip, _extends({}, restTooltipProps, { prefixCls: prefixCls, overlay: overlay, placement: placement, visible: !disabled && (_this.state.visibles[index] || dragging) || visible, key: index }), /*#__PURE__*/React.createElement(Handle, _extends({}, restProps, { style: _objectSpread({}, handleStyleWithIndex), value: value, onMouseEnter: function onMouseEnter() { return _this.handleTooltipVisibleChange(index, true); }, onMouseLeave: function onMouseLeave() { return _this.handleTooltipVisibleChange(index, false); } }))); }); _this.state = { visibles: {} }; return _this; } _createClass(ComponentWrapper, [{ key: "render", value: function render() { return /*#__PURE__*/React.createElement(Component, _extends({}, this.props, { handle: this.handleWithTooltip })); } }]); return ComponentWrapper; }(Component), _defineProperty(_class, "defaultProps", { tipFormatter: function tipFormatter(value) { return value; }, handleStyle: [{}], tipProps: {} }), _class; } //# sourceMappingURL=createSliderWithTooltip.js.map