Refactor SplitView options and make them work with Tabs (#4612)
The bottomTab settings were not being properly applied if a SplitView
controller was nested. Part of this seems to be that the 'options' for
SplitView were in their V1 form, i.e. they did not have access to the
full topBar/bottomTab/etc.
I refactored the options to be in their own subsettings. NOTE: the
settings for splitView are not being applied currently -- they weren't
before and they still are not now.
With access to the full options now, I was able to change
RNNSplitViewController to properly override
willMoveToParentViewController to get the bottomTab icon to properly
show up.
* 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
* 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
* Refactored bottomTab and bottomTabs
* Initial commit before switching to our fork of AHBottomNavigation
* Bump AHBottomNavigation version
* More work on BottomTab options
Need to merge some child options when a child is attached to parent
* Fix tests
* DefaultOptions refactor
* defaultOptions are now merged before applying options
* Handle BottomTab options in dedicated presenter
* Create BottomTabs in BottomTabsController.createView() instead of constructor
* Set bottomTab TypeFace
* Update Android installation guide
* fixed unit tests
* Fix unit tests
Kind of a workaround
* Handle NPE in getPreferredHeight
If a view hasn't been attached yet, return 0 height
* Apply BottomTab text and icon color individually
wix-playground/AHBottomNavigation does not support setting color for the entire tab (icon and text),
instead it supports setting color individually to text and icon. Another change is that it no longer supports
default color for icons. If icon color is undefined - it won't tint the icon.
* Add getCurrentChild to ParentController contract
* Clear backButton when setting stack root
* Add ViewController.resolveCurrentOptions
resolveCurrentOptions merges the controllers options with all of its current children
* StackController refactor
* Create pushed child view only in StackController.createView
* When initialising a stack with multiple children, only create the top child's view
* StackController constructor now accepts children
* When pushing child to stack, apply options that change LayoutParams
* Apply BottomTabs layout options when tab views are created
* bototmTab changes in iOS
* options fix
* Fixes options propagating
* Refactored backButton api
* Move StackController to separate package
Implement BackButtonOptions
* Somewhat simplify StackController creation in tests
* Pull backButton logic from StackController
* Handle all TopBar button options in TopBarButtons
* fix back button on iOS
* V2: Peek and pop
* Add event when preview is dismissed in non commit mode
* tslint
* Refactor playground. Document preview api
* Added width prop
* Implement hybrid push/preview button
* Fixing small linting errors
V2 side menu visibility ios (toggleDrawer) (#2324)
* side menu visibility options
* e2e fix
* Rename ContainerView related classes (#2328)
* Rename ContainerView related classes
* fix test
* rename ContainerViewCreator
* splitted showSideMenu into two methods
[Experimental] Custom transition animation for ios (#1955)
* screen Background Color iOS
* ios v2 topBarTextFontFamily
* added topBarHidden to iOS
* minor fix and topBarHideOnScroll
* minor fix
* topBarButtonColor iOS
* topBarTranslucent iOS
* topBarTranslucent IOS minor fixes
* eslint fixes
* minor fixes
* changed setTabBadge to tabBadge and added a unit test in iOS
* added fontSize on iOS
* minor fix
* topBarTransparent
* minor fix
* first dirty custom transition iOS poc. in need of complete refactor and testing
* dirty poc for view transition
* dirty poc of interactive transition
* deleted unNeeded Files
* cleaning
* cleaning, support for interactiveImagePop and backButton custom transition
* cleaning
* merge v2 into custom-transition-animation fix
* merge fix
* merge fix
* cleaning and merge fix
* support for multiple animation in parralel, animations with are not shared element including: velocity, spring, alpha and translate
* last commit should also include these
* added resize mode animation and fixed flickering bug
* refactoring
* first cleaning and another test
* cleaning
* commandsHandler now accepts bridge in constructor, fixed tests, added e2e test
* eslint
* android pop now recieves two parameters - preparation for custom transition
* Refactor + add afterLoad to modal
* merge v2 second try
* merge fix
* merge fix
* fix ios unit tests
* fixed topBarTransparent e2e
* fix js tests
* refactored RNNAnimator, RNNAnimatedView, small fixes
* refactor topBarLargeTitle
* fixed lifycycle bug with componentWillUnmount, small fixes
* fix transparent conflict
* removered Element.js from coverage report
* comment redundent test
(still needs to be discussed), small fix
* removed commented test, moved element.js to adapters
V2 tab badge iOS refactoring and added fontSize on iOS (#1659)
* screen Background Color iOS
* ios v2 topBarTextFontFamily
* added topBarHidden to iOS
* minor fix and topBarHideOnScroll
* minor fix
* topBarButtonColor iOS
* topBarTranslucent iOS
* topBarTranslucent IOS minor fixes
* eslint fixes
* minor fixes
* changed setTabBadge to tabBadge and added a unit test in iOS
* added fontSize on iOS
* minor fix
changed setOptions to receive RNNNavigationOptions and added topBarTextColor (#1616)
* created RNNNavigationOptions
* created RNNRootViewControllerTest and added a test for the topBarBackgroundColor style
* working
* process navigationOptions colors
* created a test for new RNNRootViewController functionality
* changed RNNRootViewController to init with name, navigationOptions and container id, instead of node
* changed RNNRootViewController to get a new type - RNNavigationOptions
* refactored statusBarHidden test and implementation, all tests pass
* added setup to RNNRootViewControllerTest.m and refactored tests
* added test for title and implemented static title
* minor fixes
* removed redundant eslint config
* added topBarTextColor to RNNNavigationOptions
* topBarTextColor RNNRootViewController test
* changed setOptions to receive RNNNavigationOptions. created OptionsProcessor to process colors in both layoutTreeCrawler and Commands
* minor fix
* create setOptionsDynamically in RNNNavigationOptions to make dynamic options merge with static option instead of overriding them
* findcontainerId returns a RNNRootViewController , setOptions now merges styles with the static styles of the view
* created RNNNavigationOptions
* created RNNRootViewControllerTest and added a test for the topBarBackgroundColor style
* working
* process navigationOptions colors
* created a test for new RNNRootViewController functionality
* changed RNNRootViewController to init with name, navigationOptions and container id, instead of node
* changed RNNRootViewController to get a new type - RNNavigationOptions
* refactored statusBarHidden test and implementation, all tests pass
* added setup to RNNRootViewControllerTest.m and refactored tests
* added test for title and implemented static title
* minor fixes
* removed redundant eslint config