-
-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: add gestureResponseDistance
prop for Fabric (5)
#1442
Merged
kkafar
merged 14 commits into
@kkafar/unify-impls-customAnimationOnSwipe
from
@kkafar/unify-impls-gestureResponseDistance
May 13, 2022
Merged
chore: add gestureResponseDistance
prop for Fabric (5)
#1442
kkafar
merged 14 commits into
@kkafar/unify-impls-customAnimationOnSwipe
from
@kkafar/unify-impls-gestureResponseDistance
May 13, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kkafar
force-pushed
the
@kkafar/unify-impls-customAnimationOnSwipe
branch
from
May 4, 2022 13:02
ce2ef04
to
c9cfe8c
Compare
kkafar
force-pushed
the
@kkafar/unify-impls-gestureResponseDistance
branch
from
May 4, 2022 13:04
1ab0b96
to
2aa8d11
Compare
8 tasks
WoLewicki
reviewed
May 5, 2022
kkafar
force-pushed
the
@kkafar/unify-impls-gestureResponseDistance
branch
from
May 13, 2022 06:21
4ca0e17
to
c0413bd
Compare
kkafar
force-pushed
the
@kkafar/unify-impls-gestureResponseDistance
branch
from
May 13, 2022 07:56
897790d
to
b66419f
Compare
WoLewicki
reviewed
May 13, 2022
kkafar
force-pushed
the
@kkafar/unify-impls-customAnimationOnSwipe
branch
from
May 13, 2022 10:15
be15f17
to
1269604
Compare
As there is no way for creating custom `equality operator` for custom struct via codegen && such check (newProps != oldProps) would require three "ands" I think it is easier and potentially cheaper to just assign this (w/o surrounding if-check)
RNSScreenStackView#isInGestureResponseDistance:gestureRecognizer: method to common section This is now possible, as `gestureResponseDistance` prop is available on Fabric
This prop is annotated as iOS only in docs
It is still to be checked whether it is only place where this should be added
kkafar
force-pushed
the
@kkafar/unify-impls-gestureResponseDistance
branch
from
May 13, 2022 10:15
b66419f
to
2e74e5c
Compare
…6) (#1443) * chore: add homeIndicatorHidden prop to codegen * chore: add prop update on Fabric * chore: add noop for Android This prop is iOS only * chore: move `activityState` prop to common section in RNSScreen interface * chore: move activityState setter to common section in RNSScreenView impl * refact: linter suggestion * chore: make RNSScreenView#reactSuperview common & make it implement RNSScreenContainerDelegate protocol This hasn't been tested yet. However in any instance it crashes (as the protocol might be not implemented) we can just implement noops for Fabric * chore: move activityState to implemented section in codegen config files * chore: make series of methods shared (see details) * `RNSScreenView#notifyFinishTransitioning` * `RNSScreen#notifyFinishTransitioning` * `willMoveToParentViewController` * `RNSScreenContainer#updateContainer` These methods were coupled together. * fix: handle activityState on Fabric Default value for the prop (when it is not set) on Fabric is -1 instead of nil (I believe we can not get nil from C++) thus this improved condition should work for both archs. * chore: add `preventNativeDismiss` prop for Fabric (7) (#1444) * chore: move preventNativeDismiss prop to common section in RNSScreen interface * fix: merge artifact * chore: add preventNativeDismiss prop to codegen * chore: add preventNativeDismiss prop update * fix: add noop for Android * chore: unify business logic between archs (8) (#1446) * chore: unify RNSScreen#vieDidLayoutSubviews * chore: make RNSScreenStack#hitTest:withEvent: method shared #1416 (comment) * chore: make RNSScreenStackView#isScrollViewPanGestureRecongnizer & some helper methods shared #1416 (comment) * chore: move backButtonInCustomView to shared sectionin RNSScreenStackHeaderConfig.h * chore: move backButtonInCustomView prop to implemented section in JS * chore: update `backButtonInCustomView` for Fabric * chore: unify RNSScreenStackHeaderConfigView#willShowViewController:animated:withConfig * refact: linter suggestion * fix: RNSScreen viewDidLayoutSubviews * chore: copy interfaces to android/src/paper directory * fix: commit address in comment It changed after I rebased
kkafar
added a commit
that referenced
this pull request
May 13, 2022
* chore: add customAnimationOnSwipe prop to codegen * chore: move customAnimationOnSwipe prop to shared section in RNSScreen interface * refact: linter suggestion * chore: add customAnimationOnSwipe update for Fabric * chore: unify RNSScreenStackAnimator#animateTransition method This is possible as customAnimationOnSwipe prop is now implemented on Fabric * chore: unify RNSScreenStack#gestureRecognizer should begin method This is possible as customAnimationOnSwipe prop in now implemented on Fabric * chore: noop for Android This prop is annotated as iOS only in docs * chore: remove not needed difference between implementations * chore: add `gestureResponseDistance` prop for Fabric (5) (#1442) * chore: move gestureResponseDistance prop to shared section in RNSScreen interface * refact: linter suggestions * chore: add gestureResponseDistanceProp to Codegen * chore: add conversion methods for GestureResponseDistanceStruct * refact: linter suggestion * chore: add props update for Fabric As there is no way for creating custom `equality operator` for custom struct via codegen && such check (newProps != oldProps) would require three "ands" I think it is easier and potentially cheaper to just assign this (w/o surrounding if-check) * chore: unify RNSScreenStack#gestureRecognizerShouldBegin method * chore: move RNSScreenStackView#isInGestureResponseDistance:gestureRecognizer: method to common section This is now possible, as `gestureResponseDistance` prop is available on Fabric * chore: add noop for Android This prop is annotated as iOS only in docs * chore: change GestureResponseDistance field type from int to float * fix: merge artifact * chore: add deafult value for gestureResponseDistance on JS side It is still to be checked whether it is only place where this should be added * chore: unify RNSScreenStack#isInGestureResponseDistance:topScreen: method * chore: add `homeIndicatorHidden` & `activityState` props for Fabric (6) (#1443) * chore: add homeIndicatorHidden prop to codegen * chore: add prop update on Fabric * chore: add noop for Android This prop is iOS only * chore: move `activityState` prop to common section in RNSScreen interface * chore: move activityState setter to common section in RNSScreenView impl * refact: linter suggestion * chore: make RNSScreenView#reactSuperview common & make it implement RNSScreenContainerDelegate protocol This hasn't been tested yet. However in any instance it crashes (as the protocol might be not implemented) we can just implement noops for Fabric * chore: move activityState to implemented section in codegen config files * chore: make series of methods shared (see details) * `RNSScreenView#notifyFinishTransitioning` * `RNSScreen#notifyFinishTransitioning` * `willMoveToParentViewController` * `RNSScreenContainer#updateContainer` These methods were coupled together. * fix: handle activityState on Fabric Default value for the prop (when it is not set) on Fabric is -1 instead of nil (I believe we can not get nil from C++) thus this improved condition should work for both archs. * chore: add `preventNativeDismiss` prop for Fabric (7) (#1444) * chore: move preventNativeDismiss prop to common section in RNSScreen interface * fix: merge artifact * chore: add preventNativeDismiss prop to codegen * chore: add preventNativeDismiss prop update * fix: add noop for Android * chore: unify business logic between archs (8) (#1446) * chore: unify RNSScreen#vieDidLayoutSubviews * chore: make RNSScreenStack#hitTest:withEvent: method shared #1416 (comment) * chore: make RNSScreenStackView#isScrollViewPanGestureRecongnizer & some helper methods shared #1416 (comment) * chore: move backButtonInCustomView to shared sectionin RNSScreenStackHeaderConfig.h * chore: move backButtonInCustomView prop to implemented section in JS * chore: update `backButtonInCustomView` for Fabric * chore: unify RNSScreenStackHeaderConfigView#willShowViewController:animated:withConfig * refact: linter suggestion * fix: RNSScreen viewDidLayoutSubviews * chore: copy interfaces to android/src/paper directory * fix: commit address in comment It changed after I rebased
kkafar
added a commit
that referenced
this pull request
May 13, 2022
* chore: move hideKeyboardOnSwipe prop to common section in RNSScreen header * chore: add hideKeyboardOnSwipe prop to codegen * chore: make keyboard dismiss logic common * chore: add hideKeyboardOnSwipe prop update for Fabric * chore: add noop for Android This prop is marked as iOS only * chore: add `customAnimationOnSwipe` prop for Fabric (4) (#1434) * chore: add customAnimationOnSwipe prop to codegen * chore: move customAnimationOnSwipe prop to shared section in RNSScreen interface * refact: linter suggestion * chore: add customAnimationOnSwipe update for Fabric * chore: unify RNSScreenStackAnimator#animateTransition method This is possible as customAnimationOnSwipe prop is now implemented on Fabric * chore: unify RNSScreenStack#gestureRecognizer should begin method This is possible as customAnimationOnSwipe prop in now implemented on Fabric * chore: noop for Android This prop is annotated as iOS only in docs * chore: remove not needed difference between implementations * chore: add `gestureResponseDistance` prop for Fabric (5) (#1442) * chore: move gestureResponseDistance prop to shared section in RNSScreen interface * refact: linter suggestions * chore: add gestureResponseDistanceProp to Codegen * chore: add conversion methods for GestureResponseDistanceStruct * refact: linter suggestion * chore: add props update for Fabric As there is no way for creating custom `equality operator` for custom struct via codegen && such check (newProps != oldProps) would require three "ands" I think it is easier and potentially cheaper to just assign this (w/o surrounding if-check) * chore: unify RNSScreenStack#gestureRecognizerShouldBegin method * chore: move RNSScreenStackView#isInGestureResponseDistance:gestureRecognizer: method to common section This is now possible, as `gestureResponseDistance` prop is available on Fabric * chore: add noop for Android This prop is annotated as iOS only in docs * chore: change GestureResponseDistance field type from int to float * fix: merge artifact * chore: add deafult value for gestureResponseDistance on JS side It is still to be checked whether it is only place where this should be added * chore: unify RNSScreenStack#isInGestureResponseDistance:topScreen: method * chore: add `homeIndicatorHidden` & `activityState` props for Fabric (6) (#1443) * chore: add homeIndicatorHidden prop to codegen * chore: add prop update on Fabric * chore: add noop for Android This prop is iOS only * chore: move `activityState` prop to common section in RNSScreen interface * chore: move activityState setter to common section in RNSScreenView impl * refact: linter suggestion * chore: make RNSScreenView#reactSuperview common & make it implement RNSScreenContainerDelegate protocol This hasn't been tested yet. However in any instance it crashes (as the protocol might be not implemented) we can just implement noops for Fabric * chore: move activityState to implemented section in codegen config files * chore: make series of methods shared (see details) * `RNSScreenView#notifyFinishTransitioning` * `RNSScreen#notifyFinishTransitioning` * `willMoveToParentViewController` * `RNSScreenContainer#updateContainer` These methods were coupled together. * fix: handle activityState on Fabric Default value for the prop (when it is not set) on Fabric is -1 instead of nil (I believe we can not get nil from C++) thus this improved condition should work for both archs. * chore: add `preventNativeDismiss` prop for Fabric (7) (#1444) * chore: move preventNativeDismiss prop to common section in RNSScreen interface * fix: merge artifact * chore: add preventNativeDismiss prop to codegen * chore: add preventNativeDismiss prop update * fix: add noop for Android * chore: unify business logic between archs (8) (#1446) * chore: unify RNSScreen#vieDidLayoutSubviews * chore: make RNSScreenStack#hitTest:withEvent: method shared #1416 (comment) * chore: make RNSScreenStackView#isScrollViewPanGestureRecongnizer & some helper methods shared #1416 (comment) * chore: move backButtonInCustomView to shared sectionin RNSScreenStackHeaderConfig.h * chore: move backButtonInCustomView prop to implemented section in JS * chore: update `backButtonInCustomView` for Fabric * chore: unify RNSScreenStackHeaderConfigView#willShowViewController:animated:withConfig * refact: linter suggestion * fix: RNSScreen viewDidLayoutSubviews * chore: copy interfaces to android/src/paper directory * fix: commit address in comment It changed after I rebased
kkafar
added a commit
that referenced
this pull request
May 13, 2022
* chore: add method for converting RNSScreenReplaceAnimation enum from Cpp to obj-c * chore: update replaceAnimation prop on Fabric * refact: linter suggestion * chore: add `hideKeyboardOnSwipe` prop for Fabric (3) (#1433) * chore: move hideKeyboardOnSwipe prop to common section in RNSScreen header * chore: add hideKeyboardOnSwipe prop to codegen * chore: make keyboard dismiss logic common * chore: add hideKeyboardOnSwipe prop update for Fabric * chore: add noop for Android This prop is marked as iOS only * chore: add `customAnimationOnSwipe` prop for Fabric (4) (#1434) * chore: add customAnimationOnSwipe prop to codegen * chore: move customAnimationOnSwipe prop to shared section in RNSScreen interface * refact: linter suggestion * chore: add customAnimationOnSwipe update for Fabric * chore: unify RNSScreenStackAnimator#animateTransition method This is possible as customAnimationOnSwipe prop is now implemented on Fabric * chore: unify RNSScreenStack#gestureRecognizer should begin method This is possible as customAnimationOnSwipe prop in now implemented on Fabric * chore: noop for Android This prop is annotated as iOS only in docs * chore: remove not needed difference between implementations * chore: add `gestureResponseDistance` prop for Fabric (5) (#1442) * chore: move gestureResponseDistance prop to shared section in RNSScreen interface * refact: linter suggestions * chore: add gestureResponseDistanceProp to Codegen * chore: add conversion methods for GestureResponseDistanceStruct * refact: linter suggestion * chore: add props update for Fabric As there is no way for creating custom `equality operator` for custom struct via codegen && such check (newProps != oldProps) would require three "ands" I think it is easier and potentially cheaper to just assign this (w/o surrounding if-check) * chore: unify RNSScreenStack#gestureRecognizerShouldBegin method * chore: move RNSScreenStackView#isInGestureResponseDistance:gestureRecognizer: method to common section This is now possible, as `gestureResponseDistance` prop is available on Fabric * chore: add noop for Android This prop is annotated as iOS only in docs * chore: change GestureResponseDistance field type from int to float * fix: merge artifact * chore: add deafult value for gestureResponseDistance on JS side It is still to be checked whether it is only place where this should be added * chore: unify RNSScreenStack#isInGestureResponseDistance:topScreen: method * chore: add `homeIndicatorHidden` & `activityState` props for Fabric (6) (#1443) * chore: add homeIndicatorHidden prop to codegen * chore: add prop update on Fabric * chore: add noop for Android This prop is iOS only * chore: move `activityState` prop to common section in RNSScreen interface * chore: move activityState setter to common section in RNSScreenView impl * refact: linter suggestion * chore: make RNSScreenView#reactSuperview common & make it implement RNSScreenContainerDelegate protocol This hasn't been tested yet. However in any instance it crashes (as the protocol might be not implemented) we can just implement noops for Fabric * chore: move activityState to implemented section in codegen config files * chore: make series of methods shared (see details) * `RNSScreenView#notifyFinishTransitioning` * `RNSScreen#notifyFinishTransitioning` * `willMoveToParentViewController` * `RNSScreenContainer#updateContainer` These methods were coupled together. * fix: handle activityState on Fabric Default value for the prop (when it is not set) on Fabric is -1 instead of nil (I believe we can not get nil from C++) thus this improved condition should work for both archs. * chore: add `preventNativeDismiss` prop for Fabric (7) (#1444) * chore: move preventNativeDismiss prop to common section in RNSScreen interface * fix: merge artifact * chore: add preventNativeDismiss prop to codegen * chore: add preventNativeDismiss prop update * fix: add noop for Android * chore: unify business logic between archs (8) (#1446) * chore: unify RNSScreen#vieDidLayoutSubviews * chore: make RNSScreenStack#hitTest:withEvent: method shared #1416 (comment) * chore: make RNSScreenStackView#isScrollViewPanGestureRecongnizer & some helper methods shared #1416 (comment) * chore: move backButtonInCustomView to shared sectionin RNSScreenStackHeaderConfig.h * chore: move backButtonInCustomView prop to implemented section in JS * chore: update `backButtonInCustomView` for Fabric * chore: unify RNSScreenStackHeaderConfigView#willShowViewController:animated:withConfig * refact: linter suggestion * fix: RNSScreen viewDidLayoutSubviews * chore: copy interfaces to android/src/paper directory * fix: commit address in comment It changed after I rebased
kkafar
added a commit
that referenced
this pull request
May 13, 2022
* chore: unify RNSScreenStack#updateContainer method This is now possible as dismissed prop is implemented on both platforms * fix: set _dismissed = NO in prepareForRecycle As the component gets recycled, we must re-initialize the prop * chore: add `replaceAnimation` prop for Fabric (2) (#1432) * chore: add method for converting RNSScreenReplaceAnimation enum from Cpp to obj-c * chore: update replaceAnimation prop on Fabric * refact: linter suggestion * chore: add `hideKeyboardOnSwipe` prop for Fabric (3) (#1433) * chore: move hideKeyboardOnSwipe prop to common section in RNSScreen header * chore: add hideKeyboardOnSwipe prop to codegen * chore: make keyboard dismiss logic common * chore: add hideKeyboardOnSwipe prop update for Fabric * chore: add noop for Android This prop is marked as iOS only * chore: add `customAnimationOnSwipe` prop for Fabric (4) (#1434) * chore: add customAnimationOnSwipe prop to codegen * chore: move customAnimationOnSwipe prop to shared section in RNSScreen interface * refact: linter suggestion * chore: add customAnimationOnSwipe update for Fabric * chore: unify RNSScreenStackAnimator#animateTransition method This is possible as customAnimationOnSwipe prop is now implemented on Fabric * chore: unify RNSScreenStack#gestureRecognizer should begin method This is possible as customAnimationOnSwipe prop in now implemented on Fabric * chore: noop for Android This prop is annotated as iOS only in docs * chore: remove not needed difference between implementations * chore: add `gestureResponseDistance` prop for Fabric (5) (#1442) * chore: move gestureResponseDistance prop to shared section in RNSScreen interface * refact: linter suggestions * chore: add gestureResponseDistanceProp to Codegen * chore: add conversion methods for GestureResponseDistanceStruct * refact: linter suggestion * chore: add props update for Fabric As there is no way for creating custom `equality operator` for custom struct via codegen && such check (newProps != oldProps) would require three "ands" I think it is easier and potentially cheaper to just assign this (w/o surrounding if-check) * chore: unify RNSScreenStack#gestureRecognizerShouldBegin method * chore: move RNSScreenStackView#isInGestureResponseDistance:gestureRecognizer: method to common section This is now possible, as `gestureResponseDistance` prop is available on Fabric * chore: add noop for Android This prop is annotated as iOS only in docs * chore: change GestureResponseDistance field type from int to float * fix: merge artifact * chore: add deafult value for gestureResponseDistance on JS side It is still to be checked whether it is only place where this should be added * chore: unify RNSScreenStack#isInGestureResponseDistance:topScreen: method * chore: add `homeIndicatorHidden` & `activityState` props for Fabric (6) (#1443) * chore: add homeIndicatorHidden prop to codegen * chore: add prop update on Fabric * chore: add noop for Android This prop is iOS only * chore: move `activityState` prop to common section in RNSScreen interface * chore: move activityState setter to common section in RNSScreenView impl * refact: linter suggestion * chore: make RNSScreenView#reactSuperview common & make it implement RNSScreenContainerDelegate protocol This hasn't been tested yet. However in any instance it crashes (as the protocol might be not implemented) we can just implement noops for Fabric * chore: move activityState to implemented section in codegen config files * chore: make series of methods shared (see details) * `RNSScreenView#notifyFinishTransitioning` * `RNSScreen#notifyFinishTransitioning` * `willMoveToParentViewController` * `RNSScreenContainer#updateContainer` These methods were coupled together. * fix: handle activityState on Fabric Default value for the prop (when it is not set) on Fabric is -1 instead of nil (I believe we can not get nil from C++) thus this improved condition should work for both archs. * chore: add `preventNativeDismiss` prop for Fabric (7) (#1444) * chore: move preventNativeDismiss prop to common section in RNSScreen interface * fix: merge artifact * chore: add preventNativeDismiss prop to codegen * chore: add preventNativeDismiss prop update * fix: add noop for Android * chore: unify business logic between archs (8) (#1446) * chore: unify RNSScreen#vieDidLayoutSubviews * chore: make RNSScreenStack#hitTest:withEvent: method shared #1416 (comment) * chore: make RNSScreenStackView#isScrollViewPanGestureRecongnizer & some helper methods shared #1416 (comment) * chore: move backButtonInCustomView to shared sectionin RNSScreenStackHeaderConfig.h * chore: move backButtonInCustomView prop to implemented section in JS * chore: update `backButtonInCustomView` for Fabric * chore: unify RNSScreenStackHeaderConfigView#willShowViewController:animated:withConfig * refact: linter suggestion * fix: RNSScreen viewDidLayoutSubviews * chore: copy interfaces to android/src/paper directory * fix: commit address in comment It changed after I rebased
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Part of stack PR. See:
This PR adds
gestureResponseDistance
prop for Fabric & unifies some logic related to the prop.Changes
See commits.
Test code and steps to reproduce
TODO
Checklist