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:
Родитель
ca783414d6
Коммит
e52bc2aa73
|
@ -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 =>
|
||||
|
|
Загрузка…
Ссылка в новой задаче