awesome-fastapi-projects/app.py
2020-11-21 00:44:10 +01:00

59 lines
1.4 KiB
Python

import json
import dash
import dash_html_components as html
import dash_table as dt
from dash.dependencies import Input, Output
HEADERS = ("name", "age", "dependencies")
app = dash.Dash()
with open("results.json") as json_file:
data = json.load(json_file)
print(data)
app.layout = html.Div(
[
html.Link(rel="stylesheet", href="/static/dash-datatable.css"),
dt.DataTable(
id="datatable-interactivity",
columns=[
{"name": i.capitalize(), "id": i, "deletable": True, "selectable": True}
for i in HEADERS
],
data=data,
editable=True,
filter_action="native",
sort_action="native",
sort_mode="multi",
column_selectable="single",
row_selectable="multi",
row_deletable=True,
selected_columns=[],
selected_rows=[],
page_action="native",
page_current=0,
page_size=10,
),
html.Div(id="datatable-interactivity-container"),
]
)
@app.callback(
Output("datatable-interactivity", "style_data_conditional"),
[Input("datatable-interactivity", "selected_columns")],
)
def update_styles(selected_columns):
return [
{"if": {"column_id": i}, "background_color": "#D2F3FF"}
for i in selected_columns
]
if __name__ == "__main__":
app.run_server(debug=True)