| 
				
			 | 
			
			
				@@ -1,4 +1,5 @@ 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				1
			 | 
			
			
				 const React = require('react'); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				2
			 | 
			
			
				+const { useEffect } = require('react'); 
			 | 
		
	
		
			
			| 
				2
			 | 
			
				3
			 | 
			
			
				 const Root = require('../components/Root'); 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				4
			 | 
			
			
				 const Button = require('../components/Button') 
			 | 
		
	
		
			
			| 
				4
			 | 
			
				5
			 | 
			
			
				 const Navigation = require('../services/Navigation'); 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -9,27 +10,23 @@ const { 
			 | 
		
	
		
			
			| 
				9
			 | 
			
				10
			 | 
			
			
				   LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN 
			 | 
		
	
		
			
			| 
				10
			 | 
			
				11
			 | 
			
			
				 } = require('../testIDs'); 
			 | 
		
	
		
			
			| 
				11
			 | 
			
				12
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				12
			 | 
			
				
			 | 
			
			
				-class SideMenuLeftScreen extends React.Component { 
			 | 
		
	
		
			
			| 
				13
			 | 
			
				
			 | 
			
			
				-  static options() { 
			 | 
		
	
		
			
			| 
				14
			 | 
			
				
			 | 
			
			
				-    return { 
			 | 
		
	
		
			
			| 
				15
			 | 
			
				
			 | 
			
			
				-      layout: { 
			 | 
		
	
		
			
			| 
				16
			 | 
			
				
			 | 
			
			
				-        orientation: ['portrait', 'landscape'] 
			 | 
		
	
		
			
			| 
				17
			 | 
			
				
			 | 
			
			
				-      } 
			 | 
		
	
		
			
			| 
				18
			 | 
			
				
			 | 
			
			
				-    }; 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				
			 | 
			
			
				-  } 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				
			 | 
			
			
				-  render() { 
			 | 
		
	
		
			
			| 
				21
			 | 
			
				
			 | 
			
			
				-    return ( 
			 | 
		
	
		
			
			| 
				22
			 | 
			
				
			 | 
			
			
				-      <Root componentId={this.props.componentId} style={{ marginTop: this.props.marginTop || 0 }}> 
			 | 
		
	
		
			
			| 
				23
			 | 
			
				
			 | 
			
			
				-        <Button label='Push' testID={LEFT_SIDE_MENU_PUSH_BTN} onPress={this.push} /> 
			 | 
		
	
		
			
			| 
				24
			 | 
			
				
			 | 
			
			
				-        <Button label='Push and Close' testID={LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN} onPress={this.pushAndClose} /> 
			 | 
		
	
		
			
			| 
				25
			 | 
			
				
			 | 
			
			
				-        <Button label='Close' testID={CLOSE_LEFT_SIDE_MENU_BTN} onPress={this.close} /> 
			 | 
		
	
		
			
			| 
				26
			 | 
			
				
			 | 
			
			
				-      </Root> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+function SideMenuLeftScreen(props) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+  useEffect(() => { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				15
			 | 
			
			
				+    const componentDisappearListener = Navigation.events().registerComponentDidDisappearListener( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				16
			 | 
			
			
				+      ({ componentId }) => { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+        if (componentId === props.componentId) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				18
			 | 
			
			
				+          console.log('RNN', `componentDisappearListener ${componentId}/${JSON.stringify(props)}`); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+        } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+      }, 
			 | 
		
	
		
			
			| 
				27
			 | 
			
				21
			 | 
			
			
				     ); 
			 | 
		
	
		
			
			| 
				28
			 | 
			
				
			 | 
			
			
				-  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+    return () => { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				23
			 | 
			
			
				+      componentDisappearListener.remove(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				24
			 | 
			
			
				+    }; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				25
			 | 
			
			
				+  }, []); 
			 | 
		
	
		
			
			| 
				29
			 | 
			
				26
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				30
			 | 
			
				
			 | 
			
			
				-  push = () => Navigation.push('SideMenuCenter', Screens.Pushed); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				27
			 | 
			
			
				+  const push = () => Navigation.push('SideMenuCenter', Screens.Pushed); 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				28
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				32
			 | 
			
				
			 | 
			
			
				-  pushAndClose = () => Navigation.push('SideMenuCenter', { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				29
			 | 
			
			
				+  const pushAndClose = () => Navigation.push('SideMenuCenter', { 
			 | 
		
	
		
			
			| 
				33
			 | 
			
				30
			 | 
			
			
				     component: { 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				31
			 | 
			
			
				       name: Screens.Pushed, 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				32
			 | 
			
			
				       options: { 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -42,11 +39,19 @@ class SideMenuLeftScreen extends React.Component { 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				39
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				40
			 | 
			
			
				   }); 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				41
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				45
			 | 
			
				
			 | 
			
			
				-  close = () => Navigation.mergeOptions(this, { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+  const close = () => Navigation.mergeOptions(props.componentId, { 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				43
			 | 
			
			
				     sideMenu: { 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				44
			 | 
			
			
				       left: { visible: false } 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				45
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				46
			 | 
			
			
				   }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+    return ( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+      <Root componentId={props.componentId} style={{ marginTop: props.marginTop || 0 }}> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+        <Button label='Push' testID={LEFT_SIDE_MENU_PUSH_BTN} onPress={push} /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				51
			 | 
			
			
				+        <Button label='Push and Close' testID={LEFT_SIDE_MENU_PUSH_AND_CLOSE_BTN} onPress={pushAndClose} /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				52
			 | 
			
			
				+        <Button label='Close' testID={CLOSE_LEFT_SIDE_MENU_BTN} onPress={close} /> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				53
			 | 
			
			
				+      </Root> 
			 | 
		
	
		
			
			| 
				
			 | 
			
				54
			 | 
			
			
				+    ); 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				55
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				56
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				52
			 | 
			
				57
			 | 
			
			
				 module.exports = SideMenuLeftScreen; 
			 |