react-native-swipeable-list-view
Version:
React native swipeable list view component
68 lines (67 loc) • 2.58 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeGestureHandler = require("react-native-gesture-handler");
var _Swipeable = _interopRequireDefault(require("react-native-gesture-handler/Swipeable"));
var _propTypes = _interopRequireDefault(require("prop-types"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const Swipelist = _ref => {
let {
overshootRight = false,
friction = 1,
rightOpenValue = 200,
data,
renderRightItem,
renderHiddenItem,
onSwipelistOpen,
onSwipelistClose
} = _ref;
const renderRightAction = (progress, item, index) => {
const transLeft = progress.interpolate({
inputRange: [0, 1],
outputRange: [rightOpenValue, 1]
});
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: {
width: rightOpenValue
}
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
style: {
flex: 1,
transform: [{
translateX: transLeft
}]
}
}, renderHiddenItem(item, index)));
};
const RenderListView = () => {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, data === null || data === void 0 ? void 0 : data.map((item, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
key: index
}, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureHandlerRootView, null, /*#__PURE__*/_react.default.createElement(_Swipeable.default, {
renderRightActions: progress => renderRightAction(progress, item, index),
onSwipeableOpen: onSwipelistOpen,
onSwipeableClose: onSwipelistClose,
friction: friction,
overshootRight: overshootRight
// rightThreshold={200}
}, renderRightItem(item, index))))));
};
return /*#__PURE__*/_react.default.createElement(RenderListView, null);
};
Swipelist.propTypes = {
data: _propTypes.default.array.isRequired,
renderRightItem: _propTypes.default.func.isRequired,
renderHiddenItem: _propTypes.default.func.isRequired,
rightOpenValue: _propTypes.default.number,
friction: _propTypes.default.number,
overshootRight: _propTypes.default.bool,
onSwipelistOpen: _propTypes.default.func,
onSwipelistClose: _propTypes.default.func
};
var _default = Swipelist;
exports.default = _default;
//# sourceMappingURL=Swipelist.js.map