Skip to content

Commit

Permalink
fix: column names case insenative
Browse files Browse the repository at this point in the history
closes #21
  • Loading branch information
BrightGrafana committed Feb 14, 2024
1 parent 6b4bd7f commit efb9745
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
14 changes: 3 additions & 11 deletions src/Tree-View.tsx
Expand Up @@ -43,11 +43,8 @@ export const TreeView = ({
...baseExpanded,
...getProvidedNodes(dashboardVariableName).flatMap((providedNodeId) => {
const nodes = tree.getPath(providedNodeId);
// if (options.toggleMode === ToggleMode.NoTogle || options.toggleMode === ToggleMode.ChevronOnly) {
return nodes.filter((nodeId) => nodeId !== providedNodeId);
// }

// return nodes;
return nodes.filter((nodeId) => nodeId !== providedNodeId);
}),
]),
]);
Expand All @@ -66,14 +63,8 @@ export const TreeView = ({
...expandedNodes,
...getProvidedNodes(dashboardVariableName).flatMap((providedNodeId) => {
const nodes = tree.getPath(providedNodeId);
// if (
// options.toggleMode === ToggleMode.NoTogle ||
// options.toggleMode === ToggleMode.ChevronOnly ||
// options.toggleMode === ToggleMode.SingleClick
// ) {

return nodes.filter((nodeId) => nodeId !== providedNodeId);
// }
// return nodes;
}),
]),
];
Expand Down Expand Up @@ -194,6 +185,7 @@ export const TreeView = ({
const handleSelect = (event: React.SyntheticEvent, nodeIds: string[]) => {
setSelected(nodeIds);
};

// still needed for keyboard toggle
const handleToggle = (event: React.SyntheticEvent, nodeIds: string[]) => {
if (options.toggleMode === ToggleMode.NoTogle) {
Expand Down
7 changes: 5 additions & 2 deletions src/utils.ts
Expand Up @@ -71,9 +71,12 @@ export class Utils {
* @returns {TreeNode[]} An array of Node objects.
*/
static dfToNodeArray(df: DataFrame, idColumn: string, parentColumn: string, labelColumn: string): RawNode[] {
const data = new DataFrameView(df).toArray();
const dfv = new DataFrameView(df);

return data.map((dfRow) => ({
idColumn =
Object.keys(dfv.fields).find((key) => key.toLowerCase().trim() === idColumn.toLowerCase().trim()) || idColumn;

return dfv.toArray().map((dfRow) => ({
name: `${dfRow[labelColumn]}`,
id: `${dfRow[idColumn]}`,
parent: dfRow[parentColumn] != null ? `${dfRow[parentColumn]}` : undefined,
Expand Down
8 changes: 6 additions & 2 deletions src/validator.ts
Expand Up @@ -85,8 +85,12 @@ export class Validator {
}

// Validate column names
const colNames = Utils.getDataFrameColumnNames(data);
const requiredColumns = [options.idColumn, options.labelColumn, options.parentIdColumn];
const colNames = Utils.getDataFrameColumnNames(data).map((colName) => colName.toLowerCase().trim());
const requiredColumns = [
options.idColumn.toLowerCase().trim(),
options.labelColumn.toLowerCase().trim(),
options.parentIdColumn.toLowerCase().trim(),
];

for (const colName of requiredColumns) {
if (!colNames.includes(colName)) {
Expand Down

0 comments on commit efb9745

Please sign in to comment.