@mui/x-tree-view
Version:
The community edition of the MUI X Tree View components.
49 lines (48 loc) • 1.45 kB
JavaScript
;
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTreeViewId = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _useSelector = require("../../hooks/useSelector");
var _useTreeViewId = require("./useTreeViewId.selectors");
var _useTreeViewId2 = require("./useTreeViewId.utils");
const useTreeViewId = ({
params,
store
}) => {
React.useEffect(() => {
store.update(prevState => {
if (params.id === prevState.id.providedTreeId && prevState.id.treeId !== undefined) {
return prevState;
}
return (0, _extends2.default)({}, prevState, {
id: (0, _extends2.default)({}, prevState.id, {
treeId: params.id ?? (0, _useTreeViewId2.createTreeViewDefaultId)()
})
});
});
}, [store, params.id]);
const treeId = (0, _useSelector.useSelector)(store, _useTreeViewId.selectorTreeViewId);
return {
getRootProps: () => ({
id: treeId
})
};
};
exports.useTreeViewId = useTreeViewId;
useTreeViewId.params = {
id: true
};
useTreeViewId.getInitialState = ({
id
}) => ({
id: {
treeId: undefined,
providedTreeId: id
}
});