diff --git a/index.d.ts b/index.d.ts index 73667b4..88ec3d5 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3,8 +3,10 @@ import * as React from 'react'; +type NodeId = number | string; + interface BasicNode { - id: number | string; + id: NodeId; name: string; state?: {[stateKey: string]: any}; } @@ -94,7 +96,7 @@ interface GroupRendererProps { } export interface FilteringContainerProps { - children: (nodes: Node[]) => JSX.Element; + children: (params: {nodes: Node[]; nodeParentMappings: {[id: NodeId]: NodeId[]}}) => JSX.Element; debouncer?: (func: (...p: any[]) => any, timeout: number) => void; groups?: {[g: string]: Group}; selectedGroup?: string; diff --git a/src/FilteringContainer.js b/src/FilteringContainer.js index f518a0a..701fc2b 100644 --- a/src/FilteringContainer.js +++ b/src/FilteringContainer.js @@ -65,7 +65,7 @@ export default class FilteringContainer extends React.Component { const relevantNodes = groups && selectedGroup && groups[selectedGroup] ? filterNodes(groups[selectedGroup].filter, nodes) - : {nodes, nodeParentMappings: []}; + : {nodes, nodeParentMappings: {}}; const {nodes: filteredNodes, nodeParentMappings} = filterTerm ? filterNodes(nameMatchesSearchTerm(filterTerm), relevantNodes.nodes)