web: Components: Split group checkbox for select and check in AdvancedSelector v2

This commit is contained in:
Alexey Safronov 2019-11-08 17:26:44 +03:00
parent 04d9032d75
commit 46ecdb8d74

View File

@ -67,6 +67,10 @@ const StyledContainer = styled(Container)`
.row-block { .row-block {
padding-left: 8px; padding-left: 8px;
.group_checkbox {
display: inline-block;
}
} }
} }
} }
@ -277,6 +281,7 @@ const ADSelector = props => {
: selectedGroupList.filter(el => el.key !== group.key); : selectedGroupList.filter(el => el.key !== group.key);
//console.log("onGroupChange", item); //console.log("onGroupChange", item);
setSelectedGroupList(newSelectedGroups); setSelectedGroupList(newSelectedGroups);
onGroupSelect(group); onGroupSelect(group);
if (e.target.checked) { if (e.target.checked) {
@ -294,6 +299,9 @@ const ADSelector = props => {
}; };
const onGroupSelect = group => { const onGroupSelect = group => {
if(!currentGroup || !group || currentGroup.key === group.key)
return;
resetCache(); resetCache();
setCurrentGroup(group); setCurrentGroup(group);
onGroupChanged && onGroupChanged(group); onGroupChanged && onGroupChanged(group);
@ -436,17 +444,16 @@ const ADSelector = props => {
style={style} style={style}
className={`row-block${isSelected ? " selected" : ""}`} className={`row-block${isSelected ? " selected" : ""}`}
> >
{isMultiSelect ? ( {isMultiSelect && (
<Checkbox <Checkbox
id={group.key} id={group.key}
value={`${index}`} value={`${index}`}
label={`${group.label} (${group.total}/${selected})`}
isChecked={isChecked} isChecked={isChecked}
isIndeterminate={isIndeterminate} isIndeterminate={isIndeterminate}
className="group_checkbox" className="group_checkbox"
onChange={onGroupChange} onChange={onGroupChange}
/> />
) : ( )}
<Link <Link
as="span" as="span"
key={group.key} key={group.key}
@ -454,9 +461,10 @@ const ADSelector = props => {
className="group_link" className="group_link"
onClick={() => onGroupSelect(group)} onClick={() => onGroupSelect(group)}
> >
{group.label} {isMultiSelect
? `${group.label} (${group.total}/${selected})`
: group.label}
</Link> </Link>
)}
</div> </div>
); );
}; };