From 96b78adf45be2c27ae514d1a3793a9433ef8d71f Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 14 Nov 2019 10:32:08 -0800 Subject: [PATCH] Adding ability to disable attachment buttons and fields. (#3541) * Adding ability to disable attachment buttons and fields. * Revert package lock * Use changeOpacity --- .../autocomplete_selector/autocomplete_selector.js | 8 +++++++- .../action_button/action_button.js | 11 +++++++++-- .../message_attachments/action_menu/action_menu.js | 3 +++ .../action_menu/action_menu.test.js | 10 ++++++++++ .../message_attachments/attachment_actions.js | 2 ++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/app/components/autocomplete_selector/autocomplete_selector.js b/app/components/autocomplete_selector/autocomplete_selector.js index 83abb8488..c5b8c1499 100644 --- a/app/components/autocomplete_selector/autocomplete_selector.js +++ b/app/components/autocomplete_selector/autocomplete_selector.js @@ -36,6 +36,7 @@ export default class AutocompleteSelector extends PureComponent { errorText: PropTypes.node, roundedBorders: PropTypes.bool, isLandscape: PropTypes.bool.isRequired, + disabled: PropTypes.bool, }; static contextTypes = { @@ -119,6 +120,7 @@ export default class AutocompleteSelector extends PureComponent { showRequiredAsterisk, roundedBorders, isLandscape, + disabled, } = this.props; const {selectedText} = this.state; const style = getStyleSheet(theme); @@ -188,9 +190,10 @@ export default class AutocompleteSelector extends PureComponent { {labelContent} { color: theme.errorTextColor, fontSize: 14, }, + disabled: { + opacity: 0.5, + }, }; }); diff --git a/app/components/message_attachments/action_button/action_button.js b/app/components/message_attachments/action_button/action_button.js index a604f6995..760a101d8 100644 --- a/app/components/message_attachments/action_button/action_button.js +++ b/app/components/message_attachments/action_button/action_button.js @@ -6,7 +6,7 @@ import PropTypes from 'prop-types'; import Button from 'react-native-button'; import {preventDoubleTap} from 'app/utils/tap'; -import {makeStyleSheetFromTheme} from 'app/utils/theme'; +import {makeStyleSheetFromTheme, changeOpacity} from 'app/utils/theme'; import ActionButtonText from './action_button_text'; export default class ActionButton extends PureComponent { @@ -19,6 +19,7 @@ export default class ActionButton extends PureComponent { postId: PropTypes.string.isRequired, theme: PropTypes.object.isRequired, cookie: PropTypes.string.isRequired, + disabled: PropTypes.bool, }; handleActionPress = preventDoubleTap(() => { @@ -27,13 +28,15 @@ export default class ActionButton extends PureComponent { }, 4000); render() { - const {name, theme} = this.props; + const {name, theme, disabled} = this.props; const style = getStyleSheet(theme); return (