chrome-devtools-frontend
Version:
Chrome DevTools UI
25 lines (21 loc) • 899 B
text/typescript
// Copyright 2024 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import type * as DataGrid from '../ui/legacy/components/data_grid/data_grid.js';
export function getCellElementFromNodeAndColumnId<T>(
dataGrid: DataGrid.DataGrid.DataGridImpl<T>, node: DataGrid.DataGrid.DataGridNode<T>, columnId: string): Element|
null {
const column = dataGrid.columns[columnId];
const cellIndex = dataGrid.visibleColumnsArray.indexOf(column);
return node.element()?.children[cellIndex] || null;
}
export function selectNodeByKey<T>(
dataGrid: DataGrid.DataGrid.DataGridImpl<T>, key: string|null): DataGrid.DataGrid.DataGridNode<T>|null {
for (const node of dataGrid.rootNode().children) {
if (node?.data?.key === key) {
node.select();
return node;
}
}
return null;
}