cleanup dataeditor js code and hooks (#2095)

This commit is contained in:
Thomas Brandého 2023-11-01 01:06:49 +01:00 committed by GitHub
parent 5211706bd4
commit 60c8c1d40e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 15 deletions

View File

@ -47,10 +47,21 @@ export function formatCell(value, column) {
readonly: !editable,
}
default:
console.log("Warning: column.type is undefined for column.title=" + column.title)
return {
kind: GridCellKind.Text,
data: value,
displayData: "type not specified in column definition"
displayData: column.type
}
};
};
export function formatDataEditorCells(col, row, columns, data) {
if (row < data.length && col < columns.length) {
const column = getDEColumn(columns, col);
const rowData = getDERow(data, row);
const cellData = locateCell(rowData, column);
return formatCell(cellData, column);
}
return { kind: GridCellKind.Loading };
}

View File

@ -211,11 +211,9 @@ class DataEditor(NoSSRComponent):
},
self.library: {ImportVar(tag="GridCellKind")},
"/utils/helpers/dataeditor.js": {
ImportVar(tag=f"getDEColumn", is_default=False, install=False),
ImportVar(tag=f"getDERow", is_default=False, install=False),
ImportVar(tag=f"locateCell", is_default=False, install=False),
ImportVar(tag=f"formatCell", is_default=False, install=False),
ImportVar(tag=f"onEditCell", is_default=False, install=False),
ImportVar(
tag=f"formatDataEditorCells", is_default=False, install=False
),
},
},
)
@ -258,21 +256,16 @@ class DataEditor(NoSSRComponent):
code = [f"function {data_callback}([col, row])" "{"]
columns_path = f"{self.columns._var_full_name}"
data_path = f"{self.data._var_full_name}"
code.extend(
[
f" if (row < {self.data._var_full_name}.length && col < {self.columns._var_full_name}.length)"
" {",
f" const column = getDEColumn({self.columns._var_full_name}, col);",
f" const rowData = getDERow({self.data._var_full_name}, row);",
f" const cellData = locateCell(rowData, column);",
" return formatCell(cellData, column);",
f" return formatDataEditorCells(col, row, {columns_path}, {data_path});",
" }",
" return { kind: GridCellKind.Loading};",
]
)
code.append("}")
return "\n".join(code)
@classmethod