Skip to content

Commit

Permalink
Remove mutation
Browse files Browse the repository at this point in the history
  • Loading branch information
joshwooding committed Jul 30, 2020
1 parent ffee36b commit 8cec22f
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions packages/material-ui-lab/src/TreeView/TreeView.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,20 @@ function noopSelection() {
return false;
}

const defaultDefaultExpanded = [];
const defaultDefaultSelected = [];

const TreeView = React.forwardRef(function TreeView(props, ref) {
const {
children,
classes,
className,
defaultCollapseIcon,
defaultEndIcon,
defaultExpanded = [],
defaultExpanded = defaultDefaultExpanded,
defaultExpandIcon,
defaultParentIcon,
defaultSelected = [],
defaultSelected = defaultDefaultSelected,
disabledItemsFocusable = false,
disableSelection = false,
expanded: expandedProp,
Expand Down Expand Up @@ -398,7 +401,7 @@ const TreeView = React.forwardRef(function TreeView(props, ref) {
const currentRangeSelection = React.useRef([]);

const handleRangeArrowSelect = (event, nodes) => {
let base = selected;
let base = [...selected];
const { start, next, current } = nodes;

if (!next || !current) {
Expand Down Expand Up @@ -432,11 +435,11 @@ const TreeView = React.forwardRef(function TreeView(props, ref) {
};

const handleRangeSelect = (event, nodes) => {
let base = selected;
let base = [...selected];
const { start, end } = nodes;
// If last selection was a range selection ignore nodes that were selected.
if (lastSelectionWasRange.current) {
base = selected.filter((id) => currentRangeSelection.current.indexOf(id) === -1);
base = base.filter((id) => currentRangeSelection.current.indexOf(id) === -1);
}

let range = getNodesInRange(start, end);
Expand Down

0 comments on commit 8cec22f

Please sign in to comment.