/** * The examples provided by Facebook are for non-commercial testing and * evaluation purposes only. * * Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @flow */ 'use strict'; var React = require('react-native'); var { StyleSheet, View, Text, TouchableHighlight, AlertIOS, } = React; var { SimpleAlertExampleBlock } = require('./AlertExample'); exports.framework = 'React'; exports.title = 'AlertIOS'; exports.description = 'iOS alerts and action sheets'; exports.examples = [{ title: 'Alerts', render() { return ; } }, { title: 'Alert Types', render() { return ( AlertIOS.alert( 'Hello World', null, [ {text: 'OK', onPress: (text) => console.log('OK pressed'), type: 'default'} ] )}> {'default'} AlertIOS.alert( 'Plain Text Entry', null, [ {text: 'Submit', onPress: (text) => console.log('Text: ' + text), type: 'plain-text'}, {text: 'Cancel', onPress: () => console.log('Cancel'), style: 'cancel'} ] )}> plain-text AlertIOS.alert( 'Secure Text Entry', null, [ {text: 'Submit', onPress: (text) => console.log('Password: ' + text), type: 'secure-text'}, {text: 'Cancel', onPress: () => console.log('Cancel'), style: 'cancel'} ] )}> secure-text AlertIOS.alert( 'Login & Password', null, [ {text: 'Submit', onPress: (details) => console.log('Login: ' + details.login + '; Password: ' + details.password), type: 'login-password'}, {text: 'Cancel', onPress: () => console.log('Cancel'), style: 'cancel'} ] )}> login-password ); } }, { title: 'Prompt', render(): React.Component { return } }]; class PromptExample extends React.Component { constructor(props) { super(props); this.promptResponse = this.promptResponse.bind(this); this.state = { promptValue: undefined, }; this.title = 'Type a value'; this.defaultValue = 'Default value'; this.buttons = [{ text: 'Custom OK', onPress: this.promptResponse }, { text: 'Custom Cancel', style: 'cancel', }]; } render() { return ( Prompt value: {this.state.promptValue} prompt with title & callback prompt with title & custom buttons prompt with title, default value & callback prompt with title, default value & custom buttons ); } prompt() { // Flow's apply support is broken: #7035621 ((AlertIOS.prompt: any).apply: any)(AlertIOS, arguments); } promptResponse(promptValue) { this.setState({ promptValue }); } } var styles = StyleSheet.create({ wrapper: { borderRadius: 5, marginBottom: 5, }, button: { backgroundColor: '#eeeeee', padding: 10, }, });