in src/backend/entrypoints/streamlit_frontend/state.py [0:0]
def build_aggrid_options(data, currency):
df = pd.DataFrame(data)
gb = GridOptionsBuilder.from_dataframe(df)
gb.configure_auto_height(True)
gridOptions = gb.build()
if len(data) == 0:
return gridOptions
# gridOptions["headerHeight"] = 0
gridOptions["columnDefs"] = []
for field in data[0].keys():
if not field == "sheetHierarchy":
gridOptions["columnDefs"].append(
{"field": field, "type": "rightAligned", "valueFormatter": f"x.toLocaleString() + ' {currency}'"}
)
# gb.configure_column(field,
# type=["numericColumn","numberColumnFilter","customNumericFormat"], precision=0)
gridOptions["defaultColDef"] = {
"flex": 1,
}
gridOptions["autoGroupColumnDef"] = (
{
"headerName": "Balance sheet",
"minWidth": 300,
"cellRendererParams": {
"suppressCount": True,
},
},
)
gridOptions["treeData"] = True
gridOptions["animateRows"] = True
gridOptions["groupDefaultExpanded"] = 1
gridOptions["getDataPath"] = JsCode(
""" function(data){
return data.sheetHierarchy.split("/");
}"""
).js_code
return gridOptions