Using generated ViewConfigs for AndroidSwipeRefreshLayoutNativeComponent

Summary: $title

Reviewed By: rickhanlonii

Differential Revision: D15914074

fbshipit-source-id: 40fa6dcdf27b4fb88d936c439ba66a11e55966a9
This commit is contained in:
Eli White
2019-06-20 13:58:15 -07:00
committed by Facebook Github Bot
parent f4fa539b8c
commit 2a4882e7e9
2 changed files with 26 additions and 22 deletions
@@ -10,18 +10,16 @@
'use strict';
const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
import type {
DirectEvent,
Float,
Int32,
WithDefault,
} from '../../Types/CodegenTypes';
import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
import type {ViewProps} from '../View/ViewPropTypes';
import type {NativeComponent} from '../../Renderer/shims/ReactNative';
const AndroidSwipeRefreshLayout = require('../../ReactNative/UIManager').getViewManagerConfig(
'AndroidSwipeRefreshLayout',
);
const RefreshLayoutConsts = AndroidSwipeRefreshLayout
? AndroidSwipeRefreshLayout.Constants
: {SIZE: {}};
type NativeProps = $ReadOnly<{|
...ViewProps,
@@ -29,7 +27,7 @@ type NativeProps = $ReadOnly<{|
/**
* Whether the pull to refresh functionality is enabled.
*/
enabled?: ?boolean,
enabled?: ?WithDefault<boolean, false>,
/**
* The colors (at least one) that will be used to draw the refresh indicator.
*/
@@ -40,29 +38,35 @@ type NativeProps = $ReadOnly<{|
progressBackgroundColor?: ?ColorValue,
/**
* Size of the refresh indicator, see RefreshControl.SIZE.
*
* This type isn't currently accurate. It really is specific numbers
* hard coded in the Android platform.
*
* Also, 1 isn't actually a safe default. We are able to set this here
* because native code isn't currently consuming the generated artifact.
* This will end up being
* size?: ?WithDefault<'default' | 'large', 'default'>,
*/
size?: ?(
| typeof RefreshLayoutConsts.SIZE.DEFAULT
| typeof RefreshLayoutConsts.SIZE.LARGE
),
size?: ?WithDefault<Int32, 1>,
/**
* Progress view top offset
*/
progressViewOffset?: ?number,
progressViewOffset?: ?WithDefault<Float, 0>,
/**
* Called when the view starts refreshing.
*/
onRefresh?: ?() => mixed,
onRefresh?: ?(event: DirectEvent<null>) => mixed,
/**
* Whether the view should be indicating an active refresh.
*/
refreshing: boolean,
refreshing: WithDefault<boolean, false>,
|}>;
type AndroidSwipeRefreshLayoutNativeType = Class<NativeComponent<NativeProps>>;
module.exports = ((requireNativeComponent(
export default codegenNativeComponent<NativeProps>(
'AndroidSwipeRefreshLayout',
): any): AndroidSwipeRefreshLayoutNativeType);
{
interfaceOnly: true,
},
);