Добавлено залипание кнопки при раскрытии Dropdown.

Класс открытого состояние перенесён на верх компонента.
This commit is contained in:
ErickSkrauch 2016-05-29 19:48:30 +03:00
parent 8b4ea446b0
commit c66c2ac446
2 changed files with 16 additions and 11 deletions

View File

@ -18,7 +18,7 @@ export default class Dropdown extends FormComponent {
]).isRequired,
items: PropTypes.arrayOf(PropTypes.string).isRequired,
block: PropTypes.bool,
color: PropTypes.oneOf(['green', 'blue', 'red', 'lightViolet', 'darkBlue', 'violet'])
color: PropTypes.oneOf(['green', 'blue', 'red', 'lightViolet', 'darkBlue', 'violet', 'orange'])
};
state = {
@ -42,14 +42,13 @@ export default class Dropdown extends FormComponent {
return (
<div className={classNames(styles[color], {
[styles.block]: block
[styles.block]: block,
[styles.opened]: isActive
})} {...this.props} onClick={this.onToggle}>
{label}
<span className={styles.toggleIcon} />
<div className={classNames(styles.menu, {
[styles.menuActive]: isActive
})}>
<div className={styles.menu}>
{items.map((item, key) => (
<div className={styles.menuItem} key={key} onClick={this.onSelectItem(item)}>
{item}

View File

@ -14,7 +14,8 @@ $dropdownPadding: 15px;
background-color: lighter($backgroundColor);
}
&:active { // TODO: +.open, чтобы он был ужатый в раскрытом состоянии
&:active,
&.opened {
background-color: darker($backgroundColor);
}
}
@ -42,6 +43,10 @@ $dropdownPadding: 15px;
}
}
.opened {
}
.toggleIcon {
composes: selecter from 'components/ui/icons.scss';
@ -55,7 +60,8 @@ $dropdownPadding: 15px;
right: $dropdownPadding - 5px;
}
.dropdown:active & { // TODO: + .open, смотри коммент выше
.dropdown:active &,
.dropdown.opened & {
right: $dropdownPadding + 5px;
}
}
@ -84,11 +90,11 @@ $dropdownPadding: 15px;
transition-property: opacity, visibility;
opacity: 0;
visibility: hidden;
}
.menuActive {
opacity: 1;
visibility: visible;
.dropdown.opened & {
opacity: 1;
visibility: visible;
}
}
.menuItem {