* bind viewController to presenters using bindViewController
* Merge options to the specific provided layout
* Moved custom titleView creation to RNNRootViewController
* Moved default options to presenters, moved options applying to presenters, resolved options in RNNOptionsResolver
* Fixes merge options
* Fixes topBar transition on pop
* Prevent titleView creation when react titleView exists
* Fixed unit tests
* Options refactor WIP
* Detach applied options from DTO - WIP
* Added option types and option parsers
* Unit test passes
* Added presenters for each parent type
* Fixes unit tests
* Rename StringParam to Text, changed bottomTabs.drawBehind and topBar.drawBehind default to false
* set layout.backgroundColor default to white
* Added unit tests for RNNViewControllerPresenter
* Set layout.backgroundColor default nil
* Fixes buttons color missing options
* Fix unit test
* fix button color parsing
* Moved default options to presenters
* default options fixes
* Fixes e2e
* Fixes unit tests
* Resolve child options on childWillAppear
* Recrusively setDefaultOptions on rootViewController tree
* Fixes default values
* Fixes tests
Fix YellowBox handling in TopBar components on RN >= 0.56
This commit includes two fixes to YellowBox handling:
1. RN started throwing exceptions when views added in JSX were removed from hierarchy.
We could probably use UiManager to fiddle around with the yellow box, either removing it or making
it hidden and allow touch events to pass through it. For now, we continue removing yellow boxes from hierarchy
and we replace the removed yellow boxed with dummy views.
2. A “Dismiss All” button was recently added, we remove that as well.
Fixes #4035
Options are handled in Js and should not be passed over the bridge as that may
cause serialisation errors. Omitting passProps reduces the amount of data passed over the
bridge as well.
Don’t warn when a navigationButtonPress event was not handled by a component
The motivation behind this feature was to warn when a user declared a button but forgot register
a handler in a component to handle button press event.
Since buttons can be handled globally using Navigation.events().registerNavigationButtonPressedListener, this feature
is meaningless.
closes #4017
Lists are a crucial component to almost every single app out there. This example contains a flatlist inside a bottomTab layout with a sidemenu too (basically as complicated as a screen would get).
Use resolved child options when applying stack child options
When a stack’s child appears we previously applied the child’s options on the stack, without merging the child and the stack’s options.
This commit fixes this by resolving options of all visible children when applying child options.
Adds uid=501(saleksandras) gid=20(staff) groups=20(staff),401(com.apple.sharepoint.group.1),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh) and to OptionsTopBarTitle.component (#4078)
Apply resolved options each time a child controller appears
This commit fixes #4045, which revealed a design flaw in the options applying logic.
Child options are applied when a ViewController.onViewAppeared is invoked.
A ViewController's appearance is determined from a GlobalLayoutListener.
Consider the following layout hierarchy:
BottomTabs > Stack > Component
onViewAppeared will be triggered for the BottomTabs first, then for the Stack and last for the component.
This means that if the Stack and the Component options will be applied consecutively which in some cases
might case flickering, mostly when drawBehind options are applied.
Use Case: When exposing the layout, other android code can check what kind of layout it is and react accordingly, fx:
```
if (activity.getLayout() instanceof BottomTabsLayout) {
// ...
}
```
Relying on WRAP_CONTENT caused rare bugs where the TopBar would appear stretched due to flex issues
when a react component was displayed in the title.
Another reason for this change is that we don’t need to wait for the TopBar to measure itself when its height needs to be taken
into account, for example when animating it or when positioning views below it.
* Fix ability to add color for back button
* Change docs because color can be used with iOS too
* Simplify code more
* Move icon logic to one function
* Make returning more clear
* Remove title setting because it is in setBackItem
* Make setBackItem function more clear
* Looks like the if is not needed
* Update RNNBackButtonOptions.m
* Update RNNBackButtonOptions.m
* Renamed RNNRootViewProtocol to RNNParentProtocol and added RNNLeafProtocol
* fixed unit test
* Better options resolving
* Revert "Revert "Refactor options (#3962)""
This reverts commit c266041b85.
* Revert "Revert "Fixes shared element transition""
This reverts commit 005f039f7c.
* Revert "Revert "Adresses #3963 - stack options applied to children""
This reverts commit be09cb0e9a.
* Revert "Revert "Added unit test coverage for RNNNavigationController""
This reverts commit 199cebd221.
* Merge stack options
This commits adds support for merging stack options by the stack’s componentId
Also while I’m at it - use fade animation when setting root
* Merge BottomTabs options
Merge BottomTabs options when calling mergeOptions with BottomTabs componentId
* Fixes options