| 
				
			 | 
			
			
				@@ -1,3 +1,4 @@ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				1
			 | 
			
			
				+import _ from 'lodash'; 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				2
			 | 
			
			
				 import React, { Component } from 'react'; 
			 | 
		
	
		
			
			| 
				2
			 | 
			
				3
			 | 
			
			
				 import { 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				4
			 | 
			
			
				   StyleSheet, 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -15,6 +16,7 @@ class ModalScreen extends Component { 
			 | 
		
	
		
			
			| 
				15
			 | 
			
				16
			 | 
			
			
				     this.onClickDismissModal = this.onClickDismissModal.bind(this); 
			 | 
		
	
		
			
			| 
				16
			 | 
			
				17
			 | 
			
			
				     this.onClickDismissPreviousModal = this.onClickDismissPreviousModal.bind(this); 
			 | 
		
	
		
			
			| 
				17
			 | 
			
				18
			 | 
			
			
				     this.onClickDismissUnknownModal = this.onClickDismissUnknownModal.bind(this); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+    this.onClickDismissAllPreviousModals = this.onClickDismissAllPreviousModals.bind(this); 
			 | 
		
	
		
			
			| 
				18
			 | 
			
				20
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				21
			 | 
			
			
				   render() { 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				22
			 | 
			
			
				     return ( 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -24,7 +26,8 @@ class ModalScreen extends Component { 
			 | 
		
	
		
			
			| 
				24
			 | 
			
				26
			 | 
			
			
				         <Button title="Show Modal" onPress={this.onClickShowModal} /> 
			 | 
		
	
		
			
			| 
				25
			 | 
			
				27
			 | 
			
			
				         <Button title="Dismiss Modal" onPress={this.onClickDismissModal} /> 
			 | 
		
	
		
			
			| 
				26
			 | 
			
				28
			 | 
			
			
				         <Button title="Dismiss Unknown Modal" onPress={this.onClickDismissUnknownModal} /> 
			 | 
		
	
		
			
			| 
				27
			 | 
			
				
			 | 
			
			
				-        {this.props.previousModalId ? (<Button title="Dismiss Previous Modal" onPress={this.onClickDismissPreviousModal} />) : undefined} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+        {this.getPreviousModalId() ? (<Button title="Dismiss Previous Modal" onPress={this.onClickDismissPreviousModal} />) : undefined} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				30
			 | 
			
			
				+        {this.props.previousModalIds ? (<Button title="Dismiss ALL Previous Modals" onPress={this.onClickDismissAllPreviousModals} />) : undefined} 
			 | 
		
	
		
			
			| 
				28
			 | 
			
				31
			 | 
			
			
				         <Text style={styles.footer}>{`this.props.id = ${this.props.id}`}</Text> 
			 | 
		
	
		
			
			| 
				29
			 | 
			
				32
			 | 
			
			
				          
			 | 
		
	
		
			
			| 
				30
			 | 
			
				33
			 | 
			
			
				       </View> 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -36,7 +39,7 @@ class ModalScreen extends Component { 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				39
			 | 
			
			
				       name: 'navigation.playground.ModalScreen', 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				40
			 | 
			
			
				       passProps: { 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				41
			 | 
			
			
				         modalPosition: this.getModalPosition() + 1, 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				
			 | 
			
			
				-        previousModalId: this.props.id 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+        previousModalIds: _.concat([], this.props.previousModalIds, this.props.id) 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				43
			 | 
			
			
				       } 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				44
			 | 
			
			
				     }); 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				45
			 | 
			
			
				   } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -46,15 +49,24 @@ class ModalScreen extends Component { 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				49
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				50
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				48
			 | 
			
				51
			 | 
			
			
				   onClickDismissPreviousModal() { 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				
			 | 
			
			
				-    Navigation.dismissModal(this.props.previousModalId); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+    Navigation.dismissModal(this.getPreviousModalId()); 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				53
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				51
			 | 
			
				55
			 | 
			
			
				   onClickDismissUnknownModal() { 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				56
			 | 
			
			
				     Navigation.dismissModal('unknown'); 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				57
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				58
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+  onClickDismissAllPreviousModals() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				60
			 | 
			
			
				+    _.forEach(this.props.previousModalIds, (id) => Navigation.dismissModal(id)); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				61
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				62
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				55
			 | 
			
				63
			 | 
			
			
				   getModalPosition() { 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				64
			 | 
			
			
				     return (this.props.modalPosition || 1); 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				65
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				
			 | 
			
				67
			 | 
			
			
				+  getPreviousModalId() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+    return _.last(this.props.previousModalIds); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				69
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				70
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				71
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				60
			 | 
			
				72
			 | 
			
			
				 const styles = { 
			 |