import { FiltersMap, KeyedItem } from '@wix/bex-core'; import { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI'; import { NestedTableNodeState } from './NestedTableNodeState'; export interface NestedTableLeafNodeStateParams { parentNode: NestedTableNodeState; parent: KeyedItem | null; } export class NestedTableLeafNodeState implements NestedTableNodeStatePublicAPI { readonly _parentNode: NestedTableNodeState; readonly _parent: KeyedItem | null; constructor(params: NestedTableLeafNodeStateParams) { this._parentNode = params.parentNode; this._parent = params.parent; } getParent(): NestedTableNodeStatePublicAPI< C, TD, FD > | null { return this._parentNode; } getDescendants(): NestedTableNodeStatePublicAPI< C, TD, FD >[] { return []; } getData(): TD | null { const { _parent, _parentNode } = this; if (_parent == null || _parentNode == null) { return null; } return _parentNode.collection.getItem(_parent.key); } toggleExpand() {} get expanded() { return false; } get depth() { return this._parentNode.childrenDepth; } }