UNPKG

rax-scrollview

Version:
136 lines (135 loc) 3.67 kB
"use strict"; var _fmtEvent = _interopRequireDefault(require("./fmtEvent")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var noop = function () {}; Component({ data: { direction: 'vertical', scrollY: 0, scrollX: 0, scrollIntoViewId: '', scrollWithAnimation: true, scrollAnimationDuration: 400 }, props: { id: '', className: '', style: '', disableScroll: false, horizontal: false, endReachedThreshold: 500, onEndReached: noop, onScroll: noop, scrollTop: 0, scrollLeft: 0, trapScroll: false, enableBackToTop: false, ref: noop, onTouchStart: noop, onTouchMove: noop, onTouchEnd: noop, onTouchCancel: noop }, methods: { onEndReached: function onEndReached(e) { var event = (0, _fmtEvent.default)(this.props, e); this.props.onEndReached(event); }, onScroll: function onScroll(e) { var event = (0, _fmtEvent.default)(this.props, e); event.nativeEvent = { get contentOffset() { return { x: e.detail.scrollLeft, y: e.detail.scrollTop }; }, get contentSize() { return { width: e.detail.scrollWidth, height: e.detail.scrollHeight }; } }; this.props.onScroll(event); }, scrollTo: function scrollTo(param) { var _ref = param || {}, _ref$x = _ref.x, x = _ref$x === void 0 ? 0 : _ref$x, _ref$y = _ref.y, y = _ref$y === void 0 ? 0 : _ref$y, _ref$animated = _ref.animated, animated = _ref$animated === void 0 ? true : _ref$animated, _ref$duration = _ref.duration, duration = _ref$duration === void 0 ? 400 : _ref$duration; this.setData({ scrollY: y, scrollX: x, scrollWithAnimation: animated, scrollAnimationDuration: duration }); }, scrollIntoView: function scrollIntoView(param) { var _ref2 = param || {}, id = _ref2.id, _ref2$animated = _ref2.animated, animated = _ref2$animated === void 0 ? true : _ref2$animated, _ref2$duration = _ref2.duration, duration = _ref2$duration === void 0 ? 400 : _ref2$duration; this.setData({ scrollIntoViewId: id, scrollWithAnimation: animated, scrollAnimationDuration: duration }); }, onTouchStart: function (e) { var event = (0, _fmtEvent.default)(this.props, e); event.nativeEvent = { get target() { return e.target; }, get currentTarget() { return e.currentTarget; } }; this.props.onTouchStart(event); }, onTouchMove: function (e) { var event = (0, _fmtEvent.default)(this.props, e); event.nativeEvent = { get target() { return e.target; }, get currentTarget() { return e.currentTarget; } }; this.props.onTouchMove(event); }, onTouchEnd: function (e) { var event = (0, _fmtEvent.default)(this.props, e); event.nativeEvent = { get target() { return e.target; }, get currentTarget() { return e.currentTarget; } }; this.props.onTouchEnd(event); }, onTouchCancel: function (e) { var event = (0, _fmtEvent.default)(this.props, e); event.nativeEvent = { get target() { return e.target; }, get currentTarget() { return e.currentTarget; } }; this.props.onTouchCancel(event); } } });