File tree Expand file tree Collapse file tree 4 files changed +22
-2
lines changed
Expand file tree Collapse file tree 4 files changed +22
-2
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,10 @@ export default class ModalScreen extends Component {
3535 < Text style = { styles . button } > Close Modal</ Text >
3636 </ TouchableOpacity >
3737
38+ < TouchableOpacity onPress = { this . onCloseAllPress . bind ( this ) } >
39+ < Text style = { styles . button } > Close All Modals</ Text >
40+ </ TouchableOpacity >
41+
3842 </ View >
3943 ) ;
4044 }
@@ -58,6 +62,9 @@ export default class ModalScreen extends Component {
5862 onClosePress ( ) {
5963 this . props . navigator . dismissModal ( ) ;
6064 }
65+ onCloseAllPress ( ) {
66+ this . props . navigator . dismissAllModals ( ) ;
67+ }
6168}
6269
6370const styles = StyleSheet . create ( {
Original file line number Diff line number Diff line change @@ -67,6 +67,10 @@ function dismissModal(params = {}) {
6767 return platformSpecific . dismissModal ( params ) ;
6868}
6969
70+ function dismissAllModals ( params = { } ) {
71+ return platformSpecific . dismissAllModals ( params ) ;
72+ }
73+
7074function showLightBox ( params = { } ) {
7175 return platformSpecific . showLightBox ( params ) ;
7276}
@@ -81,6 +85,7 @@ export default {
8185 registerComponent,
8286 showModal,
8387 dismissModal,
88+ dismissAllModals,
8489 showLightBox,
8590 dismissLightBox,
8691 startTabBasedApp : platformSpecific . startTabBasedApp ,
Original file line number Diff line number Diff line change @@ -29,6 +29,9 @@ class Navigator {
2929 dismissModal ( params = { } ) {
3030 return Navigation . dismissModal ( params ) ;
3131 }
32+ dismissAllModals ( params = { } ) {
33+ return Navigation . dismissAllModals ( params ) ;
34+ }
3235 showLightBox ( params = { } ) {
3336 return Navigation . showLightBox ( params ) ;
3437 }
Original file line number Diff line number Diff line change @@ -76,7 +76,7 @@ function startTabBasedApp(params) {
7676 }
7777 } ) ;
7878 ControllerRegistry . registerController ( controllerID , ( ) => Controller ) ;
79- ControllerRegistry . setRootController ( controllerID , params . animationType , params . passProps || { } ) ;
79+ ControllerRegistry . setRootController ( controllerID ) ;
8080}
8181
8282function startSingleScreenApp ( params ) {
@@ -134,7 +134,7 @@ function startSingleScreenApp(params) {
134134 }
135135 } ) ;
136136 ControllerRegistry . registerController ( controllerID , ( ) => Controller ) ;
137- ControllerRegistry . setRootController ( controllerID , params . animationType , params . passProps || { } ) ;
137+ ControllerRegistry . setRootController ( controllerID ) ;
138138}
139139
140140function _mergeScreenSpecificSettings ( screenID , screenInstanceID , params ) {
@@ -350,6 +350,10 @@ function dismissModal(params) {
350350 Modal . dismissController ( params . animationType ) ;
351351}
352352
353+ function dismissAllModals ( params ) {
354+ Modal . dismissAllControllers ( params . animationType ) ;
355+ }
356+
353357function showLightBox ( params ) {
354358 if ( ! params . screen ) {
355359 console . error ( 'showLightBox(params): params.screen is required' ) ;
@@ -387,6 +391,7 @@ export default {
387391 navigatorResetTo,
388392 showModal,
389393 dismissModal,
394+ dismissAllModals,
390395 showLightBox,
391396 dismissLightBox,
392397 navigatorSetButtons,
You can’t perform that action at this time.
0 commit comments