Web: Components: Combobox: added displaySelectedOption prop

This commit is contained in:
Nikita Gopienko 2022-02-25 12:18:10 +03:00
parent ba0bfe7260
commit d255872c2a
2 changed files with 21 additions and 11 deletions

View File

@ -511,6 +511,7 @@ class Calendar extends Component {
options={optionsMonth} options={optionsMonth}
isDisabled={false} isDisabled={false}
name="month-button" name="month-button"
displaySelectedOption
/> />
</ComboBoxMonthStyle> </ComboBoxMonthStyle>
<ComboBoxDateStyle> <ComboBoxDateStyle>
@ -525,6 +526,7 @@ class Calendar extends Component {
isDisabled={false} isDisabled={false}
showDisabledItems showDisabledItems
name="year-button" name="year-button"
displaySelectedOption
/> />
</ComboBoxDateStyle> </ComboBoxDateStyle>
</ComboBoxStyle> </ComboBoxStyle>

View File

@ -94,6 +94,7 @@ class ComboBox extends React.Component {
manualX, manualX,
isDefaultMode, isDefaultMode,
manualWidth, manualWidth,
displaySelectedOption,
} = this.props; } = this.props;
const { isOpen, selectedOption } = this.state; const { isOpen, selectedOption } = this.state;
@ -161,17 +162,22 @@ class ComboBox extends React.Component {
> >
{advancedOptions {advancedOptions
? advancedOptions ? advancedOptions
: options.map((option) => ( : options.map((option) => {
<DropDownItem const disabled =
{...option} option.disabled ||
textOverflow={textOverflow} (!displaySelectedOption &&
key={option.key} option.label === selectedOption.label);
disabled={
option.disabled || option.label === selectedOption.label return (
} <DropDownItem
onClick={this.optionClick.bind(this, option)} {...option}
/> textOverflow={textOverflow}
))} key={option.key}
disabled={disabled}
onClick={this.optionClick.bind(this, option)}
/>
);
})}
</DropDown> </DropDown>
)} )}
</StyledComboBox> </StyledComboBox>
@ -233,6 +239,7 @@ ComboBox.propTypes = {
manualX: PropTypes.string, manualX: PropTypes.string,
//** Dropdown manual width */ //** Dropdown manual width */
manualWidth: PropTypes.string, manualWidth: PropTypes.string,
displaySelectedOption: PropTypes.bool,
}; };
ComboBox.defaultProps = { ComboBox.defaultProps = {
@ -247,6 +254,7 @@ ComboBox.defaultProps = {
manualY: "102%", manualY: "102%",
isDefaultMode: true, isDefaultMode: true,
manualWidth: "200px", manualWidth: "200px",
displaySelectedOption: false,
}; };
export default ComboBox; export default ComboBox;