mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Revert D21396409: Add possibility to disable buttons in action sheet ios
Differential Revision: D21396409 Original commit changeset: b3c3e4429651 fbshipit-source-id: 073bea94d96f0ebbb474c474c73e4e3f01f27b2e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
8ef0f1d90b
commit
c8d678abcf
@@ -33,7 +33,6 @@ const ActionSheetIOS = {
|
||||
* - `destructiveButtonIndex` (int or array of ints) - index or indices of destructive buttons in `options`
|
||||
* - `title` (string) - a title to show above the action sheet
|
||||
* - `message` (string) - a message to show below the title
|
||||
* - `disabledButtonIndices` (array of numbers) - a list of button indices which should be disabled
|
||||
*
|
||||
* The 'callback' function takes one parameter, the zero-based index
|
||||
* of the selected item.
|
||||
@@ -50,7 +49,6 @@ const ActionSheetIOS = {
|
||||
+anchor?: ?number,
|
||||
+tintColor?: ColorValue | ProcessedColorValue,
|
||||
+userInterfaceStyle?: string,
|
||||
+disabledButtonIndices?: Array<number>,
|
||||
|},
|
||||
callback: (buttonIndex: number) => void,
|
||||
) {
|
||||
|
||||
@@ -25,7 +25,6 @@ export interface Spec extends TurboModule {
|
||||
+anchor?: ?number,
|
||||
+tintColor?: ?number,
|
||||
+userInterfaceStyle?: ?string,
|
||||
+disabledButtonIndices?: Array<number>,
|
||||
|},
|
||||
callback: (buttonIndex: number) => void,
|
||||
) => void;
|
||||
|
||||
@@ -118,7 +118,6 @@ namespace JS {
|
||||
folly::Optional<double> anchor() const;
|
||||
folly::Optional<double> tintColor() const;
|
||||
NSString *userInterfaceStyle() const;
|
||||
folly::Optional<facebook::react::LazyVector<double>> disabledButtonIndices() const;
|
||||
|
||||
SpecShowActionSheetWithOptionsOptions(NSDictionary *const v) : _v(v) {}
|
||||
private:
|
||||
@@ -2942,11 +2941,6 @@ inline NSString *JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOpt
|
||||
id const p = _v[@"userInterfaceStyle"];
|
||||
return RCTBridgingToString(p);
|
||||
}
|
||||
inline folly::Optional<facebook::react::LazyVector<double>> JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::disabledButtonIndices() const
|
||||
{
|
||||
id const p = _v[@"disabledButtonIndices"];
|
||||
return RCTBridgingToOptionalVec(p, ^double(id itemValue_0) { return RCTBridgingToDouble(itemValue_0); });
|
||||
}
|
||||
inline NSString *JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::message() const
|
||||
{
|
||||
id const p = _v[@"message"];
|
||||
|
||||
@@ -25,7 +25,6 @@ const ScreenshotManager = NativeModules.ScreenshotManager;
|
||||
const BUTTONS = ['Option 0', 'Option 1', 'Option 2', 'Delete', 'Cancel'];
|
||||
const DESTRUCTIVE_INDEX = 3;
|
||||
const CANCEL_INDEX = 4;
|
||||
const DISABLED_BUTTON_INDICES = [1, 2];
|
||||
|
||||
type Props = $ReadOnly<{||}>;
|
||||
type State = {|clicked: string|};
|
||||
@@ -139,37 +138,6 @@ class ActionSheetAnchorExample extends React.Component<
|
||||
};
|
||||
}
|
||||
|
||||
class ActionSheetDisabledExample extends React.Component<Props, State> {
|
||||
state = {
|
||||
clicked: 'none',
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<View>
|
||||
<Text onPress={this.showActionSheet} style={style.button}>
|
||||
Click to show the ActionSheet
|
||||
</Text>
|
||||
<Text>Clicked button: {this.state.clicked}</Text>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
showActionSheet = () => {
|
||||
ActionSheetIOS.showActionSheetWithOptions(
|
||||
{
|
||||
options: BUTTONS,
|
||||
cancelButtonIndex: CANCEL_INDEX,
|
||||
destructiveButtonIndex: DESTRUCTIVE_INDEX,
|
||||
disabledButtonIndices: DISABLED_BUTTON_INDICES,
|
||||
},
|
||||
buttonIndex => {
|
||||
this.setState({clicked: BUTTONS[buttonIndex]});
|
||||
},
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
class ShareActionSheetExample extends React.Component<
|
||||
$FlowFixMeProps,
|
||||
$FlowFixMeState,
|
||||
@@ -347,12 +315,6 @@ exports.examples = [
|
||||
return <ActionSheetAnchorExample />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Show Action Sheet with disabled buttons',
|
||||
render(): React.Element<any> {
|
||||
return <ActionSheetDisabledExample />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Show Share Action Sheet',
|
||||
render(): React.Element<any> {
|
||||
|
||||
@@ -76,10 +76,6 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
NSInteger cancelButtonIndex =
|
||||
options.cancelButtonIndex() ? [RCTConvert NSInteger:@(*options.cancelButtonIndex())] : -1;
|
||||
NSArray<NSNumber *> *destructiveButtonIndices;
|
||||
NSArray<NSNumber *> *disabledButtonIndices =
|
||||
RCTConvertVecToArray(*options.disabledButtonIndices(), ^id(double element) {
|
||||
return @(element);
|
||||
});
|
||||
if (options.destructiveButtonIndices()) {
|
||||
destructiveButtonIndices = RCTConvertVecToArray(*options.destructiveButtonIndices(), ^id(double element) {
|
||||
return @(element);
|
||||
@@ -102,7 +98,6 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
@"destructiveButtonIndices" : destructiveButtonIndices,
|
||||
@"anchor" : anchor,
|
||||
@"tintColor" : tintColor,
|
||||
@"disabledButtonIndices" : disabledButtonIndices,
|
||||
});
|
||||
return;
|
||||
}
|
||||
@@ -137,18 +132,6 @@ RCT_EXPORT_METHOD(showActionSheetWithOptions
|
||||
index++;
|
||||
}
|
||||
|
||||
for (NSNumber *disabledButtonIndex in disabledButtonIndices) {
|
||||
if ([disabledButtonIndex integerValue] < buttons.count) {
|
||||
[alertController.actions[[disabledButtonIndex integerValue]] setEnabled:false];
|
||||
} else {
|
||||
RCTLogError(
|
||||
@"Index %@ from `disabledButtonIndices` is out of bounds. Maximum index value is %@.",
|
||||
@([disabledButtonIndex integerValue]),
|
||||
@(buttons.count - 1));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
alertController.view.tintColor = tintColor;
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && defined(__IPHONE_13_0) && \
|
||||
__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0
|
||||
|
||||
Reference in New Issue
Block a user