Skip to content
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 hideKeyboardOnSwipe prop for Fabric (3) #1433

Conversation

kkafar
Copy link
Member

@kkafar kkafar commented Apr 29, 2022

@kkafar kkafar changed the title chore: add hideKeyboardOnSwipe prop for Fabric chore: add hideKeyboardOnSwipe prop for Fabric (3) Apr 29, 2022
@kkafar kkafar marked this pull request as ready for review May 13, 2022 07:49
@kkafar kkafar force-pushed the @kkafar/unify-impls-replaceAnimation branch from cc3b347 to bf05190 Compare May 13, 2022 10:13
@kkafar kkafar force-pushed the @kkafar/unify-impls-hideKeyboardOnSwipe branch from a28a2aa to 9ec97db Compare May 13, 2022 10:14
* 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 kkafar merged commit 2f977e1 into @kkafar/unify-impls-replaceAnimation May 13, 2022
@kkafar kkafar deleted the @kkafar/unify-impls-hideKeyboardOnSwipe branch May 13, 2022 11:55
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants