/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow * @format */ 'use strict'; const React = require('react'); const ReactNative = require('react-native'); const { Image, SwipeableFlatList, TouchableHighlight, StyleSheet, Text, View, Alert, } = ReactNative; const RNTesterPage = require('./RNTesterPage'); import type {RNTesterProps} from 'RNTesterTypes'; const data = [ { key: 'like', icon: require('./Thumbnails/like.png'), data: 'Like!', }, { key: 'heart', icon: require('./Thumbnails/heart.png'), data: 'Heart!', }, { key: 'party', icon: require('./Thumbnails/party.png'), data: 'Party!', }, ]; class SwipeableFlatListExample extends React.Component { static title = ''; static description = 'Performant, scrollable, swipeable list of data.'; render() { return ( '} noSpacer={true} noScroll={true}> ); } _renderItem({item}): ?React.Element { return ( {item.data} ); } _renderQuickActions({item}: Object): ?React.Element { return ( { Alert.alert( 'Tips', 'You could do something with this edit action!', ); }}> Edit { Alert.alert( 'Tips', 'You could do something with this remove action!', ); }}> Remove ); } } var styles = StyleSheet.create({ row: { flexDirection: 'row', justifyContent: 'center', alignItems: 'center', padding: 10, backgroundColor: '#F6F6F6', }, rowIcon: { width: 64, height: 64, marginRight: 20, }, rowData: { flex: 1, }, rowDataText: { fontSize: 24, }, actionsContainer: { flex: 1, flexDirection: 'row', justifyContent: 'flex-end', alignItems: 'center', }, actionButton: { padding: 10, width: 80, backgroundColor: '#999999', }, actionButtonDestructive: { backgroundColor: '#FF0000', }, actionButtonText: { textAlign: 'center', }, }); module.exports = SwipeableFlatListExample;