* Remove orphaned node models when their corresponding leaf is deleted. * @param leafOrder The new leaf order array to use when locating orphaned nodes.
(leafOrder: LeafOrderEntry[])
| 1102 | * @param leafOrder The new leaf order array to use when locating orphaned nodes. |
| 1103 | */ |
| 1104 | private cleanupNodeModels(leafOrder: LeafOrderEntry[]) { |
| 1105 | const orphanedNodeModels = [...this.nodeModels.keys()].filter( |
| 1106 | (id) => !leafOrder.find((leafEntry) => leafEntry.nodeid == id) |
| 1107 | ); |
| 1108 | for (const id of orphanedNodeModels) { |
| 1109 | this.nodeModels.delete(id); |
| 1110 | } |
| 1111 | } |
| 1112 | |
| 1113 | /** |
| 1114 | * Switch focus to the next node in the given direction in the layout. |