Use generated view config for Slider

Summary: This diff uses the generated view config for the slider component �

Reviewed By: JoshuaGross, TheSavior, mdvacca

Differential Revision: D15336089

fbshipit-source-id: 46c458805fd947e202e2084df65c8c83560cf106
This commit is contained in:
Rick Hanlon 2019-05-24 09:15:10 -07:00 коммит произвёл Facebook Github Bot
Родитель ca783414d6
Коммит e52bc2aa73
5 изменённых файлов: 82 добавлений и 7 удалений

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

@ -11,7 +11,7 @@
'use strict';
const Platform = require('../../Utilities/Platform');
const RCTSliderNativeComponent = require('./RCTSliderNativeComponent');
const SliderNativeComponent = require('./SliderNativeComponent');
const React = require('react');
const ReactNative = require('../../Renderer/shims/ReactNative');
const StyleSheet = require('../../StyleSheet/StyleSheet');
@ -197,7 +197,7 @@ type Props = $ReadOnly<{|
*/
const Slider = (
props: Props,
forwardedRef?: ?React.Ref<typeof RCTSliderNativeComponent>,
forwardedRef?: ?React.Ref<typeof SliderNativeComponent>,
) => {
const style = StyleSheet.compose(
styles.slider,
@ -227,7 +227,7 @@ const Slider = (
: null;
return (
<RCTSliderNativeComponent
<SliderNativeComponent
{...localProps}
ref={forwardedRef}
style={style}

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

@ -10,8 +10,6 @@
'use strict';
const requireNativeComponent = require('../../ReactNative/requireNativeComponent');
import type {
Float,
BubblingEvent,
@ -61,4 +59,4 @@ type Options = {
type SliderType = CodegenNativeComponent<'Slider', NativeProps, Options>;
module.exports = ((requireNativeComponent('RCTSlider'): any): SliderType);
module.exports = ((require('SliderNativeViewConfig'): any): SliderType);

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

@ -0,0 +1,76 @@
/**
* 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
*/
'use strict';
const ReactNativeViewConfigRegistry = require('ReactNativeViewConfigRegistry');
const ReactNativeViewViewConfig = require('ReactNativeViewViewConfig');
const verifyComponentAttributeEquivalence = require('verifyComponentAttributeEquivalence');
const SliderViewConfig = {
uiViewClassName: 'RCTSlider',
Commands: {},
bubblingEventTypes: {
...ReactNativeViewViewConfig.bubblingEventTypes,
topChange: {
phasedRegistrationNames: {
captured: 'onChangeCapture',
bubbled: 'onChange',
},
},
topValueChange: {
phasedRegistrationNames: {
captured: 'onValueChangeCapture',
bubbled: 'onValueChange',
},
},
},
directEventTypes: {
...ReactNativeViewViewConfig.directEventTypes,
topSlidingComplete: {
registrationName: 'onSlidingComplete',
},
},
validAttributes: {
...ReactNativeViewViewConfig.validAttributes,
disabled: true,
enabled: true,
maximumTrackImage: { process: require('resolveAssetSource') },
maximumTrackTintColor: { process: require('processColor') },
maximumValue: true,
minimumTrackImage: { process: require('resolveAssetSource') },
minimumTrackTintColor: { process: require('processColor') },
minimumValue: true,
step: true,
testID: true,
thumbImage: { process: require('resolveAssetSource') },
thumbTintColor: { process: require('processColor') },
trackImage: { process: require('resolveAssetSource') },
value: true,
onChange: true,
onValueChange: true,
onSlidingComplete: true,
},
};
verifyComponentAttributeEquivalence('RCTSlider', SliderViewConfig);
ReactNativeViewConfigRegistry.register(
'RCTSlider',
() => SliderViewConfig,
);
module.exports = 'RCTSlider'; // RCT prefix present for paper support

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

@ -18,6 +18,7 @@ const SliderSchema: SchemaType = {
components: {
Slider: {
interfaceOnly: true,
isDeprecatedPaperComponentNameRCT: true,
extendsProps: [
{
type: 'ReactNativeBuiltInType',

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

@ -23,7 +23,7 @@ const yargv = yargs.strict().option('t', {
const argv = yargv.argv;
const fileList = argv._[0].split('\n');
const CURRENT_VIEW_CONFIG_FILES = [];
const CURRENT_VIEW_CONFIG_FILES = ['SliderNativeComponent.js'];
generate(
fileList.filter(fileName =>