Search in sources :

Example 1 with ComponentViewController

use of com.reactnativenavigation.viewcontrollers.component.ComponentViewController in project react-native-navigation by wix.

the class OptionsApplyingTest method beforeEach.

@Override
public void beforeEach() {
    super.beforeEach();
    activity = newActivity();
    initialNavigationOptions = new Options();
    view = spy(new TestComponentLayout(activity, new TestReactView(activity)));
    view.asView().setLayoutParams(new RelativeLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT));
    uut = new ComponentViewController(activity, new ChildControllersRegistry(), "componentId1", "componentName", (activity1, componentId, componentName) -> view, initialNavigationOptions, new Presenter(activity, new Options()), new ComponentPresenter(Options.EMPTY)) {

        @Override
        public boolean isViewShown() {
            return true;
        }
    };
    TopBarController topBarController = new TopBarController() {

        @Override
        protected TopBar createTopBar(Context context, StackLayout stackLayout) {
            topBar = spy(super.createTopBar(context, stackLayout));
            return topBar;
        }
    };
    stack = TestUtils.newStackController(activity).setTopBarController(topBarController).build();
    stack.ensureViewIsCreated();
    stack.getView().layout(0, 0, 1000, 1000);
    stack.getTopBar().layout(0, 0, 1000, 100);
    activity.setContentView(stack.getView());
    disablePushAnimation(uut);
}
Also used : StackController(com.reactnativenavigation.viewcontrollers.stack.StackController) TopBar(com.reactnativenavigation.views.stack.topbar.TopBar) Context(android.content.Context) Text(com.reactnativenavigation.options.params.Text) CommandListenerAdapter(com.reactnativenavigation.react.CommandListenerAdapter) StackLayout(com.reactnativenavigation.views.stack.StackLayout) Java6Assertions.assertThat(org.assertj.core.api.Java6Assertions.assertThat) IReactView(com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView) ColorDrawable(android.graphics.drawable.ColorDrawable) Colour(com.reactnativenavigation.options.params.Colour) Mockito.spy(org.mockito.Mockito.spy) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) TopBarController(com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController) View(android.view.View) Bool(com.reactnativenavigation.options.params.Bool) BaseTest(com.reactnativenavigation.BaseTest) MATCH_PARENT(android.view.ViewGroup.LayoutParams.MATCH_PARENT) Test(org.junit.Test) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) Color(android.graphics.Color) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) TestReactView(com.reactnativenavigation.mocks.TestReactView) ThemeColour(com.reactnativenavigation.options.params.ThemeColour) Options(com.reactnativenavigation.options.Options) Configuration(android.content.res.Configuration) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) TestUtils(com.reactnativenavigation.TestUtils) RelativeLayout(android.widget.RelativeLayout) TestComponentLayout(com.reactnativenavigation.mocks.TestComponentLayout) Activity(android.app.Activity) Context(android.content.Context) Options(com.reactnativenavigation.options.Options) TestReactView(com.reactnativenavigation.mocks.TestReactView) ChildControllersRegistry(com.reactnativenavigation.viewcontrollers.child.ChildControllersRegistry) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) TestComponentLayout(com.reactnativenavigation.mocks.TestComponentLayout) RelativeLayout(android.widget.RelativeLayout) StackLayout(com.reactnativenavigation.views.stack.StackLayout) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) TopBarController(com.reactnativenavigation.viewcontrollers.stack.topbar.TopBarController)

Example 2 with ComponentViewController

use of com.reactnativenavigation.viewcontrollers.component.ComponentViewController in project react-native-navigation by wix.

the class TopTabsViewControllerTest method createTabsControllers.

private List<ViewController<?>> createTabsControllers(Activity activity, List<Options> tabOptions) {
    List<ViewController<?>> tabControllers = new ArrayList<>(SIZE);
    for (int i = 0; i < SIZE; i++) {
        ComponentViewController viewController = new ComponentViewController(activity, childRegistry, "idTab" + i, "theComponentName", new TestComponentViewCreator(), tabOptions.get(i), new Presenter(activity, new Options()), new ComponentPresenter(Options.EMPTY));
        tabControllers.add(spy(viewController));
    }
    return tabControllers;
}
Also used : Options(com.reactnativenavigation.options.Options) SimpleViewController(com.reactnativenavigation.mocks.SimpleViewController) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) ViewController(com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController) TestComponentViewCreator(com.reactnativenavigation.mocks.TestComponentViewCreator) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) ArrayList(java.util.ArrayList) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter)

Example 3 with ComponentViewController

use of com.reactnativenavigation.viewcontrollers.component.ComponentViewController in project react-native-navigation by wix.

the class LayoutFactory method createComponent.

private ViewController<?> createComponent(LayoutNode node) {
    String id = node.id;
    String name = node.data.optString("name");
    return new ComponentViewController(activity, childRegistry, id, name, new ComponentViewCreator(reactInstanceManager), parseOptions(node.getOptions()), new Presenter(activity, defaultOptions), new ComponentPresenter(defaultOptions));
}
Also used : StackPresenter(com.reactnativenavigation.viewcontrollers.stack.StackPresenter) BottomTabPresenter(com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabPresenter) BottomTabsPresenter(com.reactnativenavigation.viewcontrollers.bottomtabs.BottomTabsPresenter) SideMenuPresenter(com.reactnativenavigation.viewcontrollers.sidemenu.SideMenuPresenter) Presenter(com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter) ExternalComponentPresenter(com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalComponentPresenter) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) ExternalComponentViewController(com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalComponentViewController) ComponentViewCreator(com.reactnativenavigation.views.component.ComponentViewCreator) ExternalComponentPresenter(com.reactnativenavigation.viewcontrollers.externalcomponent.ExternalComponentPresenter) ComponentPresenter(com.reactnativenavigation.viewcontrollers.component.ComponentPresenter)

Example 4 with ComponentViewController

use of com.reactnativenavigation.viewcontrollers.component.ComponentViewController in project react-native-navigation by wix.

the class NavigatorTest method mergeOptions_CallsApplyNavigationOptions.

@Test
public void mergeOptions_CallsApplyNavigationOptions() {
    ComponentViewController componentVc = new SimpleComponentViewController(activity, childRegistry, "theId", new Options());
    componentVc.setParentController(parentController);
    assertThat(componentVc.options.topBar.title.text.get("")).isEmpty();
    uut.setRoot(componentVc, new CommandListenerAdapter(), reactInstanceManager);
    Options options = new Options();
    options.topBar.title.text = new Text("new title");
    uut.mergeOptions("theId", options);
    assertThat(componentVc.options.topBar.title.text.get()).isEqualTo("new title");
}
Also used : ModalOptions(com.reactnativenavigation.options.ModalOptions) Options(com.reactnativenavigation.options.Options) SimpleComponentViewController(com.reactnativenavigation.mocks.SimpleComponentViewController) ComponentViewController(com.reactnativenavigation.viewcontrollers.component.ComponentViewController) Text(com.reactnativenavigation.options.params.Text) SimpleComponentViewController(com.reactnativenavigation.mocks.SimpleComponentViewController) CommandListenerAdapter(com.reactnativenavigation.react.CommandListenerAdapter) BaseTest(com.reactnativenavigation.BaseTest) Test(org.junit.Test)

Aggregations

ComponentViewController (com.reactnativenavigation.viewcontrollers.component.ComponentViewController)4 Options (com.reactnativenavigation.options.Options)3 ComponentPresenter (com.reactnativenavigation.viewcontrollers.component.ComponentPresenter)3 Presenter (com.reactnativenavigation.viewcontrollers.viewcontroller.Presenter)3 BaseTest (com.reactnativenavigation.BaseTest)2 Text (com.reactnativenavigation.options.params.Text)2 CommandListenerAdapter (com.reactnativenavigation.react.CommandListenerAdapter)2 Test (org.junit.Test)2 Activity (android.app.Activity)1 Context (android.content.Context)1 Configuration (android.content.res.Configuration)1 Color (android.graphics.Color)1 ColorDrawable (android.graphics.drawable.ColorDrawable)1 View (android.view.View)1 MATCH_PARENT (android.view.ViewGroup.LayoutParams.MATCH_PARENT)1 RelativeLayout (android.widget.RelativeLayout)1 TestUtils (com.reactnativenavigation.TestUtils)1 SimpleComponentViewController (com.reactnativenavigation.mocks.SimpleComponentViewController)1 SimpleViewController (com.reactnativenavigation.mocks.SimpleViewController)1 TestComponentLayout (com.reactnativenavigation.mocks.TestComponentLayout)1