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

View File

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