Просмотр исходного кода

add actual navigatorID to screens

Guy Carmeli 9 лет назад
Родитель
Сommit
dfa881134a

+ 0
- 3
android/app/src/main/java/com/reactnativenavigation/core/objects/Screen.java Просмотреть файл

16
     private static final String KEY_TITLE = "title";
16
     private static final String KEY_TITLE = "title";
17
     private static final String KEY_SCREEN = "screen";
17
     private static final String KEY_SCREEN = "screen";
18
     public static final String KEY_SCREEN_INSTANCE_ID = "screenInstanceID";
18
     public static final String KEY_SCREEN_INSTANCE_ID = "screenInstanceID";
19
-    public static final String KEY_STACK_ID = "stackID";
20
     public static final String KEY_NAVIGATOR_ID = "navigatorID";
19
     public static final String KEY_NAVIGATOR_ID = "navigatorID";
21
     public static final String KEY_NAVIGATOR_EVENT_ID = "navigatorEventID";
20
     public static final String KEY_NAVIGATOR_EVENT_ID = "navigatorEventID";
22
     private static final String KEY_ICON = "icon";
21
     private static final String KEY_ICON = "icon";
25
     public String title;
24
     public String title;
26
     public String screenId;
25
     public String screenId;
27
     public String screenInstanceId;
26
     public String screenInstanceId;
28
-    public String stackId;
29
     public String navigatorId;
27
     public String navigatorId;
30
     public String navigatorEventId;
28
     public String navigatorEventId;
31
     public int icon;
29
     public int icon;
35
         title = getString(screen, KEY_TITLE);
33
         title = getString(screen, KEY_TITLE);
36
         screenId = getString(screen, KEY_SCREEN);
34
         screenId = getString(screen, KEY_SCREEN);
37
         screenInstanceId = getString(screen, KEY_SCREEN_INSTANCE_ID);
35
         screenInstanceId = getString(screen, KEY_SCREEN_INSTANCE_ID);
38
-        stackId = getString(screen, KEY_STACK_ID);
39
         navigatorId = getString(screen, KEY_NAVIGATOR_ID);
36
         navigatorId = getString(screen, KEY_NAVIGATOR_ID);
40
         navigatorEventId = getString(screen, KEY_NAVIGATOR_EVENT_ID);
37
         navigatorEventId = getString(screen, KEY_NAVIGATOR_EVENT_ID);
41
         icon = getInt(screen, KEY_ICON);
38
         icon = getInt(screen, KEY_ICON);

+ 0
- 1
android/app/src/main/java/com/reactnativenavigation/views/RctView.java Просмотреть файл

23
         String componentName = screen.screenId;
23
         String componentName = screen.screenId;
24
         Bundle passProps = new Bundle();
24
         Bundle passProps = new Bundle();
25
         passProps.putString(Screen.KEY_SCREEN_INSTANCE_ID, screen.screenInstanceId);
25
         passProps.putString(Screen.KEY_SCREEN_INSTANCE_ID, screen.screenInstanceId);
26
-        passProps.putString(Screen.KEY_STACK_ID, screen.stackId);
27
         passProps.putString(Screen.KEY_NAVIGATOR_ID, screen.navigatorId);
26
         passProps.putString(Screen.KEY_NAVIGATOR_ID, screen.navigatorId);
28
         passProps.putString(Screen.KEY_NAVIGATOR_EVENT_ID, screen.navigatorEventId);
27
         passProps.putString(Screen.KEY_NAVIGATOR_EVENT_ID, screen.navigatorEventId);
29
 
28
 

+ 5
- 7
src/platformSpecific.android.js Просмотреть файл

14
     return;
14
     return;
15
   }
15
   }
16
 
16
 
17
-  console.log(RctActivity);
18
   addNavigatorParams(screen);
17
   addNavigatorParams(screen);
19
   addNavigatorButtons(screen);
18
   addNavigatorButtons(screen);
20
   RctActivity.startSingleScreenApp(screen);
19
   RctActivity.startSingleScreenApp(screen);
27
   }
26
   }
28
 
27
 
29
   params.tabs.forEach(function (tab, idx) {
28
   params.tabs.forEach(function (tab, idx) {
30
-    addNavigatorParams(tab, idx)
29
+    addNavigatorParams(tab, null, idx)
31
     addNavigatorButtons(tab);
30
     addNavigatorButtons(tab);
32
   });
31
   });
33
 
32
 
35
 }
34
 }
36
 
35
 
37
 function navigatorPush(navigator, params) {
36
 function navigatorPush(navigator, params) {
38
-  addNavigatorParams(params)
37
+  addNavigatorParams(params, navigator)
39
   addNavigatorButtons(params);
38
   addNavigatorButtons(params);
40
   RctActivity.navigatorPush(params);
39
   RctActivity.navigatorPush(params);
41
 }
40
 }
42
 
41
 
43
-function addNavigatorParams(screen, idx = '') {
44
-  screen.stackID = utils.getRandomId();
45
-  screen.navigatorID = utils.getRandomId() + '_nav' + idx;
42
+function addNavigatorParams(screen, navigator = null, idx = '') {
43
+  screen.navigatorID = navigator ? navigator.navigatorID : utils.getRandomId() + '_nav' + idx;
46
   screen.screenInstanceID = utils.getRandomId();
44
   screen.screenInstanceID = utils.getRandomId();
47
-  screen.navigatorEventID = screen.screenInstanceID + '_events';
45
+  screen.navigatorEventID = navigator ? navigator.navigatorEventID : screen.screenInstanceID + '_events';
48
 }
46
 }
49
 
47
 
50
 function addNavigatorButtons(screen) {
48
 function addNavigatorButtons(screen) {