blob: b99cf36e1ada3dc1bf5ce899ef602fde87e687c6 [file] [log] [blame]
// 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;
}