RN: Update ViewConfig for ScrollView

Summary:
Updates `ReactScrollViewManager` and the `ViewConfig` for `ScrollView` so that they are equivalent.

- `inverted` was missing.
- `contentOffset` was missing differ on Android. (However, there does not seem to be any perceivable behavior difference besides the native `ViewConfig` being different.)

Changelog:
[Internal]

Reviewed By: JoshuaGross

Differential Revision: D25084470

fbshipit-source-id: 8bea3b7a692c1038819a4147b174583a4faa71e9
This commit is contained in:
Tim Yung 2020-11-19 02:49:06 -08:00 коммит произвёл Facebook GitHub Bot
Родитель de92e7405d
Коммит f6b8736b09
3 изменённых файлов: 14 добавлений и 6 удалений

Просмотреть файл

@ -10,7 +10,7 @@
'use strict';
import type {PartialViewConfig} from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';
import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
const ScrollViewViewConfig = {
uiViewClassName: 'RCTScrollView',
@ -28,15 +28,22 @@ const ScrollViewViewConfig = {
bouncesZoom: true,
canCancelContentTouches: true,
centerContent: true,
contentInset: {diff: require('../../Utilities/differ/pointsDiffer')},
contentOffset: {diff: require('../../Utilities/differ/pointsDiffer')},
contentInset: {
diff: require('../../Utilities/differ/pointsDiffer'),
},
contentOffset: {
diff: require('../../Utilities/differ/pointsDiffer'),
},
contentInsetAdjustmentBehavior: true,
decelerationRate: true,
directionalLockEnabled: true,
disableIntervalMomentum: true,
endFillColor: {process: require('../../StyleSheet/processColor')},
endFillColor: {
process: require('../../StyleSheet/processColor'),
},
fadingEdgeLength: true,
indicatorStyle: true,
inverted: true,
keyboardDismissMode: true,
maintainVisibleContentPosition: true,
maximumZoomScale: true,

Просмотреть файл

@ -154,7 +154,8 @@ function getDifferForType(
case 'UIEdgeInsets':
return insetsDiffer;
// Android Types
// (not yet implemented)
case 'Point':
return pointsDiffer;
}
return null;
}

Просмотреть файл

@ -305,7 +305,7 @@ public class ReactScrollViewManager extends ViewGroupManager<ReactScrollView>
}
}
@ReactProp(name = "contentOffset")
@ReactProp(name = "contentOffset", customType = "Point")
public void setContentOffset(ReactScrollView view, ReadableMap value) {
if (value != null) {
double x = value.hasKey("x") ? value.getDouble("x") : 0;