UNPKG

shineout

Version:

Shein 前端组件库

106 lines (83 loc) 3.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _component = require("../component"); var _Scroll = _interopRequireDefault(require("./Scroll")); var default_1 = /*#__PURE__*/ function (_PureComponent) { (0, _inheritsLoose2.default)(default_1, _PureComponent); function default_1(props) { var _this; _this = _PureComponent.call(this, props) || this; _this.state = { left: props.scrollLeft || 0, top: props.scrollTop || 0 }; _this.handleScroll = _this.handleScroll.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this))); return _this; } var _proto = default_1.prototype; _proto.getRect = function getRect() { var left = this.props.scrollLeft === undefined ? this.state.left : this.props.scrollLeft; var top = this.props.scrollTop === undefined ? this.state.top : this.props.scrollTop; return { left: left, top: top }; }; _proto.handleScroll = function handleScroll(x, y) { var left = this.scrollX ? x : 0; var top = this.scrollY ? y : 0; this.setState({ left: left, top: top }); if (this.props.onScroll) { var _this$props; for (var _len = arguments.length, others = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { others[_key - 2] = arguments[_key]; } // @ts-ignore (_this$props = this.props).onScroll.apply(_this$props, [left, top].concat(others)); } }; _proto.render = function render() { var _this$getRect = this.getRect(), left = _this$getRect.left, top = _this$getRect.top; return _react.default.createElement(_Scroll.default, (0, _extends2.default)({}, this.props, { left: left, top: top, scrollX: this.scrollX, scrollY: this.scrollY, onScroll: this.handleScroll })); }; (0, _createClass2.default)(default_1, [{ key: "scrollX", get: function get() { var scroll = this.props.scroll; return scroll === 'x' || scroll === 'both'; } }, { key: "scrollY", get: function get() { var scroll = this.props.scroll; return scroll === 'y' || scroll === 'both'; } }]); return default_1; }(_component.PureComponent); exports.default = default_1; (0, _defineProperty2.default)(default_1, "displayName", 'ShineoutScroll'); (0, _defineProperty2.default)(default_1, "defaultProps", { scroll: 'both' });