mirror of
https://github.com/status-im/react-native.git
synced 2025-02-23 22:58:19 +00:00
Summary: Thank you for sending the PR! We appreciate you spending the time to work on these changes. Help us understand your motivation by explaining why you decided to make this change: Changelog: ---------- Help reviewers and the release process by writing your own changelog entry. See http://facebook.github.io/react-native/docs/contributing#changelog for an example. [General] [Fixed] - Same style was applied twice to SwipeableQuickActionButton in a recent commit causing problems with the buttons layout. Pull Request resolved: https://github.com/facebook/react-native/pull/23113 Differential Revision: D13781896 Pulled By: cpojer fbshipit-source-id: 659ddaed32b6a1e90080344ea3b0b42088fd9783
80 lines
2.6 KiB
JavaScript
80 lines
2.6 KiB
JavaScript
/**
|
|
* 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.
|
|
*
|
|
* @format
|
|
* @flow
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const DeprecatedViewPropTypes = require('DeprecatedViewPropTypes');
|
|
const Image = require('Image');
|
|
const React = require('React');
|
|
const Text = require('Text');
|
|
const TouchableHighlight = require('TouchableHighlight');
|
|
const View = require('View');
|
|
|
|
import type {ImageSource} from 'ImageSource';
|
|
|
|
/**
|
|
* Standard set of quick action buttons that can, if the user chooses, be used
|
|
* with SwipeableListView. Each button takes an image and text with optional
|
|
* formatting.
|
|
*/
|
|
class SwipeableQuickActionButton extends React.Component<{
|
|
accessibilityLabel?: string,
|
|
imageSource?: ?(ImageSource | number),
|
|
/* $FlowFixMe(>=0.82.0 site=react_native_fb) This comment suppresses an error
|
|
* found when Flow v0.82 was deployed. To see the error delete this comment
|
|
* and run Flow. */
|
|
imageStyle?: ?DeprecatedViewPropTypes.style,
|
|
mainView?: ?React.Node,
|
|
onPress?: Function,
|
|
/* $FlowFixMe(>=0.82.0 site=react_native_fb) This comment suppresses an error
|
|
* found when Flow v0.82 was deployed. To see the error delete this comment
|
|
* and run Flow. */
|
|
style?: ?DeprecatedViewPropTypes.style,
|
|
/* $FlowFixMe(>=0.82.0 site=react_native_fb) This comment suppresses an error
|
|
* found when Flow v0.82 was deployed. To see the error delete this comment
|
|
* and run Flow. */
|
|
containerStyle?: ?DeprecatedViewPropTypes.style,
|
|
testID?: string,
|
|
text?: ?(string | Object | Array<string | Object>),
|
|
/* $FlowFixMe(>=0.82.0 site=react_native_fb) This comment suppresses an error
|
|
* found when Flow v0.82 was deployed. To see the error delete this comment
|
|
* and run Flow. */
|
|
textStyle?: ?DeprecatedViewPropTypes.style,
|
|
}> {
|
|
render(): React.Node {
|
|
if (!this.props.imageSource && !this.props.text && !this.props.mainView) {
|
|
return null;
|
|
}
|
|
const mainView = this.props.mainView ? (
|
|
this.props.mainView
|
|
) : (
|
|
<View style={this.props.style}>
|
|
<Image
|
|
accessibilityLabel={this.props.accessibilityLabel}
|
|
source={this.props.imageSource}
|
|
style={this.props.imageStyle}
|
|
/>
|
|
<Text style={this.props.textStyle}>{this.props.text}</Text>
|
|
</View>
|
|
);
|
|
return (
|
|
<TouchableHighlight
|
|
onPress={this.props.onPress}
|
|
testID={this.props.testID}
|
|
underlayColor="transparent"
|
|
style={this.props.containerStyle}>
|
|
{mainView}
|
|
</TouchableHighlight>
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = SwipeableQuickActionButton;
|