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,27 +444,27 @@ 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
as="span"
key={group.key}
truncate={true}
className="group_link"
onClick={() => onGroupSelect(group)}
>
{group.label}
</Link>
)} )}
<Link
as="span"
key={group.key}
truncate={true}
className="group_link"
onClick={() => onGroupSelect(group)}
>
{isMultiSelect
? `${group.label} (${group.total}/${selected})`
: group.label}
</Link>
</div> </div>
); );
}; };