const React = require('react');
const { Component } = require('react');
const { View, Text, Button, Platform } = require('react-native');
const { Navigation } = require('react-native-navigation');
const testIDs = require('../testIDs');
const Bounds = require('../components/Bounds');
class TextScreen extends Component {
static get options() {
return {
bottomTabs: {
drawBehind: true,
testID: testIDs.BOTTOM_TABS_ELEMENT
},
topBar: {
testID: testIDs.TOP_BAR_ELEMENT
}
};
}
render() {
return (
{this.props.text || 'Text Screen'}
{this.renderTextFromFunctionInProps()}
{`this.props.componentId = ${this.props.componentId}`}
);
}
onClickPush = async () => {
await Navigation.push(this.props.componentId, {
component: {
name: 'navigation.playground.PushedScreen'
}
});
}
onClickPop = async () => {
await Navigation.pop(this.props.componentId);
}
renderTextFromFunctionInProps() {
if (!this.props.myFunction) {
return undefined;
}
return (
{this.props.myFunction()}
);
}
onClickSetBadge() {
Navigation.mergeOptions(this.props.componentId, {
bottomTab: {
badge: `TeSt`
}
});
}
onClickSwitchToTab() {
Navigation.mergeOptions(this.props.componentId, {
bottomTabs: {
currentTabIndex: 1,
visible: false,
drawBehind: true,
animate: true
}
});
}
onClickSwitchToTabByComponentID() {
Navigation.mergeOptions(this.props.componentId, {
bottomTabs: {
currentTabId: 'TAB1_ID'
}
});
}
toggleTabBarVisibility(componentId, visible) {
Navigation.mergeOptions(componentId, {
bottomTabs: {
visible,
drawBehind: true,
animate: true
}
});
}
hideTabBarOnPush() {
Navigation.push(this.props.componentId, {
component: {
name: 'navigation.playground.PushedScreen'
}
});
}
showSideMenu(side) {
Navigation.mergeOptions(this.props.componentId, {
sideMenu: {
[side]: {
visible: true
}
}
});
}
onClickPop() {
Navigation.pop(this.props.componentId);
}
}
module.exports = TextScreen;
const styles = {
root: {
flexGrow: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#E3DCC3'
},
h1: {
fontSize: 24,
textAlign: 'center',
margin: 10
},
h2: {
fontSize: 12,
textAlign: 'center',
margin: 10
},
footer: {
fontSize: 10,
color: '#888',
marginTop: 10
}
};