Skip to content

Commit

Permalink
Update branch, add more use cases and add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
joshwooding committed Jul 26, 2020
1 parent 333dec7 commit 7ea7461
Show file tree
Hide file tree
Showing 4 changed files with 454 additions and 92 deletions.
42 changes: 20 additions & 22 deletions packages/material-ui-lab/src/TreeItem/TreeItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,9 @@ export const styles = (theme) => ({
),
},
},
'&$disabled, &$disabled:hover, &$disabled$focused': {
'&$disabled': {
color: theme.palette.action.disabled,
opacity: theme.palette.action.disabledOpacity,
backgroundColor: 'transparent',
},
},
/* Pseudo-class applied to the content element when expanded. */
Expand Down Expand Up @@ -180,29 +179,27 @@ const TreeItem = React.forwardRef(function TreeItem(props, ref) {
}

const handleClick = (event) => {
if (disabled) {
return;
}

if (!focused) {
focus(event, nodeId);
}
if (!disabled) {
if (!focused) {
focus(event, nodeId);
}

const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);

// If already expanded and trying to toggle selection don't close
if (expandable && !event.defaultPrevented && !(multiple && isExpanded(nodeId))) {
toggleExpansion(event, nodeId);
}
// If already expanded and trying to toggle selection don't close
if (expandable && !event.defaultPrevented && !(multiple && isExpanded(nodeId))) {
toggleExpansion(event, nodeId);
}

if (multiple) {
if (event.shiftKey) {
selectRange(event, { end: nodeId });
if (multiple) {
if (event.shiftKey) {
selectRange(event, { end: nodeId });
} else {
selectNode(event, nodeId, true);
}
} else {
selectNode(event, nodeId, true);
selectNode(event, nodeId);
}
} else {
selectNode(event, nodeId);
}

if (onClick) {
Expand Down Expand Up @@ -230,6 +227,7 @@ const TreeItem = React.forwardRef(function TreeItem(props, ref) {
index,
parentId,
expandable,
disabled: disabledProp,
});

return () => {
Expand All @@ -238,7 +236,7 @@ const TreeItem = React.forwardRef(function TreeItem(props, ref) {
}

return undefined;
}, [registerNode, unregisterNode, parentId, index, nodeId, expandable, id]);
}, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id]);

React.useEffect(() => {
if (mapFirstChar && unMapFirstChar && label) {
Expand Down Expand Up @@ -297,7 +295,7 @@ const TreeItem = React.forwardRef(function TreeItem(props, ref) {
role="treeitem"
aria-expanded={expandable ? expanded : null}
aria-selected={ariaSelected}
aria-disabled={disabled}
aria-disabled={disabled || null}
ref={handleRef}
id={id}
tabIndex="-1"
Expand Down
Loading

0 comments on commit 7ea7461

Please sign in to comment.