From 55f457fb8724eff3f24e720eac8c9206aceb244e Mon Sep 17 00:00:00 2001 From: Daniil Senkiv Date: Fri, 26 Jul 2019 10:42:21 +0300 Subject: [PATCH] Web: components: RadioButtonGroup: added isDisabledGroup prop --- .../src/components/radio-button-group/index.js | 5 ++++- .../stories/input/radio-button-group/README.md | 1 + .../input/radio-button-group/radio-button-group.stories.js | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/web/ASC.Web.Components/src/components/radio-button-group/index.js b/web/ASC.Web.Components/src/components/radio-button-group/index.js index 15f6939c81..65b818f18e 100644 --- a/web/ASC.Web.Components/src/components/radio-button-group/index.js +++ b/web/ASC.Web.Components/src/components/radio-button-group/index.js @@ -5,6 +5,7 @@ import styled from 'styled-components'; const StyledDiv = styled.div` display: flex; + flex-wrap: wrap; `; class RadioButtonGroup extends React.Component { @@ -38,7 +39,7 @@ class RadioButtonGroup extends React.Component { value={option.value} checked={this.state.selectedOption === option.value} onChange={this.handleOptionChange} - disabled={option.disabled} + disabled={this.props.isDisabledGroup || option.disabled} label={option.label} spaceBtwnElems={this.props.spaceBtwnElems} /> @@ -52,6 +53,7 @@ class RadioButtonGroup extends React.Component { }; RadioButtonGroup.propTypes = { + isDisabledGroup: PropTypes.bool, name: PropTypes.string.isRequired, options: PropTypes.arrayOf(PropTypes.shape({ value: PropTypes.string.isRequired, @@ -63,6 +65,7 @@ RadioButtonGroup.propTypes = { } RadioButtonGroup.defaultProps = { + isDisabledGroup: false, selected: undefined, spaceBtwnElems: 33 } diff --git a/web/ASC.Web.Storybook/stories/input/radio-button-group/README.md b/web/ASC.Web.Storybook/stories/input/radio-button-group/README.md index ec2cabd808..811ffc38f3 100644 --- a/web/ASC.Web.Storybook/stories/input/radio-button-group/README.md +++ b/web/ASC.Web.Storybook/stories/input/radio-button-group/README.md @@ -31,6 +31,7 @@ import { RadioButtonGroup } from 'asc-web-components'; | `selected` | `string` | ✅ | - | - | Value of the selected radiobutton | `options` | `arrayOf` | ✅ | - | - | Radiobuttons data: it is array of objects, each of this can include next information: `value` (required), `label`, `disabled` | `spaceBtwnElems` | `number` | - | - | 33 | Margin (in px) between radiobuttons +| `isDisabledGroup` | `bool` | - | - | `false` | Disabling all radiobuttons in group #### Prop `options` diff --git a/web/ASC.Web.Storybook/stories/input/radio-button-group/radio-button-group.stories.js b/web/ASC.Web.Storybook/stories/input/radio-button-group/radio-button-group.stories.js index 1f6b2c6195..21fd96fa70 100644 --- a/web/ASC.Web.Storybook/stories/input/radio-button-group/radio-button-group.stories.js +++ b/web/ASC.Web.Storybook/stories/input/radio-button-group/radio-button-group.stories.js @@ -13,7 +13,7 @@ storiesOf('Components|Input', module) return (
<> -