From 7d4f5a5c47cb056cc3942660cc6c9f0a40b0d683 Mon Sep 17 00:00:00 2001 From: Manuel Nakamurakare Date: Wed, 28 Oct 2015 05:46:47 -0700 Subject: [PATCH] added property to sliderIOS to be able to disable it Summary: added a new property named 'disable' to SliderIOS this property prevents the user from being able to slide the slider Closes https://github.com/facebook/react-native/pull/3730 Reviewed By: svcscm Differential Revision: D2590154 Pulled By: javache fb-gh-sync-id: b8a9c82c1b05eb813d9b81180cb1083b3f1852ac --- Libraries/Components/SliderIOS/SliderIOS.ios.js | 13 +++++++++++++ React/Views/RCTSliderManager.m | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/Libraries/Components/SliderIOS/SliderIOS.ios.js b/Libraries/Components/SliderIOS/SliderIOS.ios.js index 0c06fbf6f..424354455 100644 --- a/Libraries/Components/SliderIOS/SliderIOS.ios.js +++ b/Libraries/Components/SliderIOS/SliderIOS.ios.js @@ -63,6 +63,12 @@ var SliderIOS = React.createClass({ */ maximumTrackTintColor: PropTypes.string, + /** + * If true the user won't be able to move the slider. + * Default value is false. + */ + disabled: PropTypes.bool, + /** * Callback continuously called while the user is dragging the slider. */ @@ -86,6 +92,12 @@ var SliderIOS = React.createClass({ } }, + getDefaultProps: function() : any { + return { + disabled: false, + }; + }, + render: function() { return ( ); diff --git a/React/Views/RCTSliderManager.m b/React/Views/RCTSliderManager.m index 60f65aa68..9de9b4a56 100644 --- a/React/Views/RCTSliderManager.m +++ b/React/Views/RCTSliderManager.m @@ -54,5 +54,13 @@ RCT_EXPORT_VIEW_PROPERTY(maximumValue, float); RCT_EXPORT_VIEW_PROPERTY(minimumTrackTintColor, UIColor); RCT_EXPORT_VIEW_PROPERTY(maximumTrackTintColor, UIColor); RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock); +RCT_CUSTOM_VIEW_PROPERTY(disabled, BOOL, RCTSlider) +{ + if (json) { + view.enabled = !([RCTConvert BOOL:json]); + } else { + view.enabled = defaultView.enabled; + } +} @end