Add onExpand callback

This commit is contained in:
Ann Balina 2020-11-19 22:21:38 +02:00
parent c980eadec7
commit 4d6ccc52cc
2 changed files with 11 additions and 0 deletions

View File

@ -95,6 +95,7 @@ interface Props extends CircularPropsPassedThroughJSONNestedNode {
nodeTypeIndicator: string;
createItemString: (data: any, collectionLimit: number) => string;
expandable: boolean;
onExpand?: (data: any, level: number, keyPath: any[]) => void;
}
interface State {
@ -131,6 +132,7 @@ export default class JSONNestedNode extends React.Component<Props, State> {
sortObjectKeys: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
isCircular: PropTypes.bool,
expandable: PropTypes.bool,
onExpand: PropTypes.func
};
static defaultProps = {
@ -234,6 +236,14 @@ export default class JSONNestedNode extends React.Component<Props, State> {
handleClick = () => {
if (this.props.expandable) {
if (this.props.onExpand && !this.state.expanded) {
const {
data,
level,
keyPath
} = this.props;
this.props.onExpand(data, level, keyPath);
}
this.setState({ expanded: !this.state.expanded });
}
};

View File

@ -20,6 +20,7 @@ interface Props extends CircularPropsPassedThroughJSONTree {
data: any;
theme?: Theme;
invertTheme: boolean;
onExpand?: (data: any, level: number, keyPath: any[]) => void;
}
interface State {