123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package com.reactnativenavigation.bridge;
-
- import com.facebook.react.bridge.ReactApplicationContext;
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
- import com.facebook.react.bridge.ReactMethod;
- import com.facebook.react.bridge.ReadableArray;
- import com.facebook.react.bridge.ReadableMap;
- import com.reactnativenavigation.controllers.NavigationCommandsHandler;
- import com.reactnativenavigation.params.TitleBarButtonParams;
- import com.reactnativenavigation.params.parsers.TitleBarButtonParamsParser;
-
- import java.util.List;
-
- /**
- * The basic abstract components we will expose:
- * BottomTabs (app) - boolean
- * TopBar (per screen)
- * - TitleBar
- * - TopTabs (segmented control / view pager)
- * DeviceStatusBar (app) (colors are per screen)
- * AndroidNavigationBar (app) (colors are per screen)
- * SideMenu (app) - boolean
- */
- public class NavigationReactModule extends ReactContextBaseJavaModule {
- public static final String NAME = "NavigationReactModule";
-
- public NavigationReactModule(ReactApplicationContext reactContext) {
- super(reactContext);
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
- @ReactMethod
- public void startApp(final ReadableMap params) {
- NavigationCommandsHandler.startApp(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void setScreenTitleBarTitle(String screenInstanceId, String title) {
- NavigationCommandsHandler.setScreenTitleBarTitle(screenInstanceId, title);
- }
-
- @ReactMethod
- public void setScreenTitleBarButtons(String screenInstanceId, String navigatorEventId, ReadableArray buttons) {
- List<TitleBarButtonParams> titleBarButtons = TitleBarButtonParamsParser.parseButtons(BundleConverter.toBundle(buttons));
- NavigationCommandsHandler.setScreenTitleBarButtons(screenInstanceId, navigatorEventId, titleBarButtons);
- }
-
- @ReactMethod
- public void setTabBadge(final ReadableMap params) {
- }
-
- @ReactMethod
- public void selectBottomTab(final ReadableMap params) {
- }
-
- @ReactMethod
- public void toggleSideMenuVisible(final ReadableMap params) {
- }
-
- @ReactMethod
- public void toggleTopBarVisible(final ReadableMap params) {
- }
-
- @ReactMethod
- public void setTopBarVisible(String screenInstanceID, boolean hidden, boolean animated) {
- NavigationCommandsHandler.setTopBarVisible(screenInstanceID, hidden, animated);
- }
-
- @ReactMethod
- public void toggleBottomTabsVisible(final ReadableMap params) {
- }
-
- @ReactMethod
- public void setBottomTabsVisible(final ReadableMap params) {
- }
-
- @ReactMethod
- public void push(final ReadableMap params) {
- NavigationCommandsHandler.push(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void pop(final ReadableMap params) {
- NavigationCommandsHandler.pop(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void popToRoot(final ReadableMap params) {
- NavigationCommandsHandler.popToRoot(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void newStack(final ReadableMap params) {
- NavigationCommandsHandler.newStack(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void showModal(final ReadableMap params) {
- NavigationCommandsHandler.showModal(BundleConverter.toBundle(params));
- }
-
- @ReactMethod
- public void dismissAllModals() {
- NavigationCommandsHandler.dismissAlModals();
- }
-
- @ReactMethod
- public void dismissTopModal() {
- NavigationCommandsHandler.dismissTopModal();
- }
- }
|