UNPKG

choerodon-ui

Version:

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

125 lines (101 loc) 5.15 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = createSliderWithTooltip; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _tooltip = _interopRequireDefault(require("../tooltip")); var _Handle = _interopRequireDefault(require("./Handle")); var _excluded = ["value", "dragging", "index", "disabled"], _excluded2 = ["prefixCls", "overlay", "placement", "visible"]; function createSliderWithTooltip(Component) { var _class; return _class = /*#__PURE__*/function (_Component) { (0, _inherits2["default"])(ComponentWrapper, _Component); var _super = (0, _createSuper2["default"])(ComponentWrapper); function ComponentWrapper(props) { var _this; (0, _classCallCheck2["default"])(this, ComponentWrapper); _this = _super.call(this, props); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTooltipVisibleChange", function (index, visible) { _this.setState(function (prevState) { return { visibles: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, prevState.visibles), {}, (0, _defineProperty2["default"])({}, index, visible)) }; }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleWithTooltip", function (_ref) { var value = _ref.value, dragging = _ref.dragging, index = _ref.index, disabled = _ref.disabled, restProps = (0, _objectWithoutProperties2["default"])(_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 = (0, _objectWithoutProperties2["default"])(tipProps, _excluded2); var handleStyleWithIndex; if (Array.isArray(handleStyle)) { handleStyleWithIndex = handleStyle[index] || handleStyle[0]; } else { handleStyleWithIndex = handleStyle; } return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], (0, _extends2["default"])({}, restTooltipProps, { prefixCls: prefixCls, overlay: overlay, placement: placement, visible: !disabled && (_this.state.visibles[index] || dragging) || visible, key: index }), /*#__PURE__*/_react["default"].createElement(_Handle["default"], (0, _extends2["default"])({}, restProps, { style: (0, _objectSpread3["default"])({}, handleStyleWithIndex), value: value, onMouseEnter: function onMouseEnter() { return _this.handleTooltipVisibleChange(index, true); }, onMouseLeave: function onMouseLeave() { return _this.handleTooltipVisibleChange(index, false); } }))); }); _this.state = { visibles: {} }; return _this; } (0, _createClass2["default"])(ComponentWrapper, [{ key: "render", value: function render() { return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, this.props, { handle: this.handleWithTooltip })); } }]); return ComponentWrapper; }(Component), (0, _defineProperty2["default"])(_class, "defaultProps", { tipFormatter: function tipFormatter(value) { return value; }, handleStyle: [{}], tipProps: {} }), _class; } //# sourceMappingURL=createSliderWithTooltip.js.map