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:
David Vacca 2021-03-04 13:51:50 -08:00 коммит произвёл Facebook GitHub Bot
Родитель ce0b7e080b
Коммит aeed84d361
2 изменённых файлов: 18 добавлений и 45 удалений

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

@ -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);