Migrate AndroidDialogPicker to use NativeComponentRegistry instead of requireNativeComponent
Summary: This diff migrates AndroidDialogPicker to use NativeComponentRegistry instead of requireNativeComponent. The intention is to unify the way the component is registered and enable StaticViewConfigs for this component changelog: [internal] internal Reviewed By: yungsters Differential Revision: D26799476 fbshipit-source-id: d6605f60cc083d1d22b4f0fc0a2f79881502b1b4
This commit is contained in:
Родитель
ce0b7e080b
Коммит
aeed84d361
|
@ -11,15 +11,13 @@
|
|||
import * as React from 'react';
|
||||
|
||||
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
||||
import requireNativeComponent from '../../ReactNative/requireNativeComponent';
|
||||
import registerGeneratedViewConfig from '../../Utilities/registerGeneratedViewConfig';
|
||||
import AndroidDialogPickerViewConfig from './AndroidDialogPickerViewConfig';
|
||||
|
||||
import type {
|
||||
DirectEventHandler,
|
||||
Int32,
|
||||
WithDefault,
|
||||
} from '../../Types/CodegenTypes';
|
||||
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {TextStyleProp} from '../../StyleSheet/StyleSheet';
|
||||
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
||||
|
@ -64,17 +62,22 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|||
supportedCommands: ['setNativeSelectedPosition'],
|
||||
});
|
||||
|
||||
let AndroidDialogPickerNativeComponent;
|
||||
if (global.RN$Bridgeless) {
|
||||
registerGeneratedViewConfig(
|
||||
const AndroidDialogPickerNativeComponent: HostComponent<NativeProps> = NativeComponentRegistry.get<NativeProps>(
|
||||
'AndroidDialogPicker',
|
||||
AndroidDialogPickerViewConfig,
|
||||
() => ({
|
||||
uiViewClassName: 'AndroidDialogPicker',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {
|
||||
color: {process: require('../../StyleSheet/processColor')},
|
||||
backgroundColor: {process: require('../../StyleSheet/processColor')},
|
||||
enabled: true,
|
||||
items: true,
|
||||
prompt: true,
|
||||
selected: true,
|
||||
onSelect: true,
|
||||
},
|
||||
}),
|
||||
);
|
||||
AndroidDialogPickerNativeComponent = 'AndroidDialogPicker';
|
||||
} else {
|
||||
AndroidDialogPickerNativeComponent = requireNativeComponent<NativeProps>(
|
||||
'AndroidDialogPicker',
|
||||
);
|
||||
}
|
||||
|
||||
export default ((AndroidDialogPickerNativeComponent: any): NativeType);
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @flow strict-local
|
||||
* @format
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import type {PartialViewConfig} from 'react-native/Libraries/Renderer/shims/ReactNativeTypes';
|
||||
|
||||
const AndroidDialogPickerViewConfig = {
|
||||
uiViewClassName: 'AndroidDialogPicker',
|
||||
bubblingEventTypes: {},
|
||||
directEventTypes: {},
|
||||
validAttributes: {
|
||||
color: {process: require('../../StyleSheet/processColor')},
|
||||
backgroundColor: {process: require('../../StyleSheet/processColor')},
|
||||
enabled: true,
|
||||
items: true,
|
||||
prompt: true,
|
||||
selected: true,
|
||||
onSelect: true,
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = (AndroidDialogPickerViewConfig: PartialViewConfig);
|
Загрузка…
Ссылка в новой задаче