Skip to content

Commit 21afd1c

Browse files
committed
update dash
1 parent 40ae3ed commit 21afd1c

File tree

6 files changed

+138
-121
lines changed

6 files changed

+138
-121
lines changed

Dash/advcom/navbar.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010

1111
# 通用组件
1212
nav_item1 = dbc.NavItem(children=dbc.NavLink("首页", href="/"))
13-
nav_item2 = dbc.NavItem(children=dbc.NavLink("Link2", href="#"))
13+
nav_item2 = dbc.NavItem(children=dbc.NavLink("app1", href="/app1"))
14+
nav_item3 = dbc.NavItem(children=dbc.NavLink("app2", href="/app2"))
15+
nav_item4 = dbc.NavItem(children=dbc.NavLink("app3", href="/app3"))
16+
nav_item5 = dbc.NavItem(children=dbc.NavLink("app4", href="/app4"))
1417
drop_down = dbc.DropdownMenu(children=[
1518
dbc.DropdownMenuItem("More", header=True),
1619
dbc.DropdownMenuItem("Entry app1", href="/app1"),
@@ -19,14 +22,15 @@
1922
dbc.DropdownMenuItem("Entry app3", href="/app3"),
2023
dbc.DropdownMenuItem("Entry app4", href="/app4"),
2124
], nav=True, in_navbar=True, label="Menu")
25+
nav_item_list = [nav_item1, nav_item2, nav_item3, nav_item4, nav_item5, drop_down]
2226

2327
# 定义不同的导航栏
24-
navbar_default = dbc.NavbarSimple(children=[nav_item1, nav_item2, drop_down], brand="Dash", brand_href="#", sticky="top")
28+
navbar_default = dbc.NavbarSimple(children=nav_item_list, brand="Dash", brand_href="#", sticky="top")
2529

2630
navbar_custom = dbc.Navbar(children=dbc.Container(children=[
2731
dbc.NavbarBrand("Dash", href="#"),
2832
# dbc.NavbarToggler(id="navbar-toggler1"),
29-
dbc.Collapse(children=dbc.Nav([nav_item1, nav_item2, drop_down], className="ml-auto", navbar=True), navbar=True),
33+
dbc.Collapse(children=dbc.Nav(nav_item_list, className="ml-auto", navbar=True), navbar=True),
3034
]))
3135

3236
navbar_logo = dbc.Navbar(children=dbc.Container(children=[
@@ -35,7 +39,7 @@
3539
dbc.Col(dbc.NavbarBrand("Dash", className="ml-2")),
3640
], align="center", no_gutters=True), href="https://plot.ly"),
3741
# dbc.NavbarToggler(id="navbar-toggler2"),
38-
dbc.Collapse(children=dbc.Nav([nav_item1, nav_item2, drop_down], className="ml-auto", navbar=True), navbar=True),
42+
dbc.Collapse(children=dbc.Nav(nav_item_list, className="ml-auto", navbar=True), navbar=True),
3943
]), color="dark", dark=True)
4044

4145
navbar_search = dbc.Navbar(children=dbc.Container(children=[

Dash/apps/app1.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111
from dash.dependencies import Output, Input
1212
from Dash.app import app
1313

14-
# 全局变量
15-
df = pd.read_csv("apps/data.csv")
16-
1714
# 构造components
1815
tab1_content = dbc.Card(children=dbc.CardBody([
1916
dbc.CardText("This is tab 1!"),
@@ -30,10 +27,6 @@ def generate_table(dataframe, max_rows=10, size="md"):
3027
"""
3128
创建表
3229
"""
33-
# Headers
34-
headers = [html.Th(col, className="text-center") if index != 1 else html.Th(col) for index, col in enumerate(dataframe.columns[:10])]
35-
36-
# Rows
3730
rows = []
3831
for i_row in range(max_rows):
3932
td_list = []
@@ -43,6 +36,7 @@ def generate_table(dataframe, max_rows=10, size="md"):
4336
else:
4437
td_list.append(html.Td(dataframe.iloc[i_row][col], className="text-center"))
4538
rows.append(html.Tr(td_list))
39+
headers = [html.Th(col, className="text-center") if index != 1 else html.Th(col) for index, col in enumerate(dataframe.columns[:10])]
4640
return dbc.Table([html.Thead(html.Tr(headers)), html.Tbody(rows)], striped=True, bordered=True, hover=True, size=size)
4741

4842

@@ -120,13 +114,15 @@ def generate_table(dataframe, max_rows=10, size="md"):
120114
{"x": [1, 2, 3], "y": [2, 4, 5], "type": "bar", "name": u"Montréal"},
121115
],
122116
"layout": {
123-
"title": "Dash Data Visualization"
117+
"title": "Dash Data Visualization",
118+
"xaxis": {"title": "类别", },
119+
"yaxis": {"title": "数量", },
124120
}
125121
}, className="mt-2"),
126122

127123
# 表格Table ========================================================================================
128-
html.Div(children=generate_table(df, size="sm"), className="mt-2"),
129-
html.Div(children=generate_table(df, size="md"), className="mt-2"),
124+
html.Div(children=generate_table(pd.read_csv("apps/data.csv"), size="sm"), className="mt-2"),
125+
html.Div(children=generate_table(pd.read_csv("apps/data.csv"), size="md"), className="mt-2"),
130126
])
131127

132128

Dash/apps/app2.py

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,25 @@
3939
# ---------------------------------------------------------------------------------------
4040
email_input = dbc.FormGroup(children=[
4141
dbc.Label("Email", html_for="example-email"),
42-
dbc.Input(type="email", placeholder="Enter email"),
42+
dbc.Input(placeholder="Enter email", type="email"),
4343
dbc.FormText("Are you on email? You simply have to be these days", color="secondary"),
4444
])
4545

4646
password_input = dbc.FormGroup(children=[
4747
dbc.Label("Password", html_for="example-password"),
48-
dbc.Input(type="password", placeholder="Enter password"),
48+
dbc.Input(placeholder="Enter password", type="password"),
4949
dbc.FormText("A password stops mean people taking your stuff", color="secondary"),
5050
])
5151

5252
# ---------------------------------------------------------------------------------------
5353
email_input_row = dbc.FormGroup(children=[
5454
dbc.Label("Email", html_for="example-email-row", width=2),
55-
dbc.Col(dbc.Input(type="email", placeholder="Enter email"), width=10)
55+
dbc.Col(dbc.Input(placeholder="Enter email", type="email"), width=10)
5656
], row=True)
5757

5858
password_input_row = dbc.FormGroup(children=[
5959
dbc.Label("Password", html_for="example-password-row", width=2),
60-
dbc.Col(dbc.Input(type="password", placeholder="Enter password"), width=10)
60+
dbc.Col(dbc.Input(placeholder="Enter password", type="password"), width=10)
6161
], row=True)
6262

6363
# ---------------------------------------------------------------------------------------
@@ -123,20 +123,20 @@
123123

124124
# 按钮类 ========================================================================================
125125
html.Div(children=[
126-
dbc.Button("Primary", color="primary", className="mr-2", id="button_memory"),
127-
dbc.Button("Secondary", color="secondary", className="mr-2", id="button_local"),
128-
dbc.Button("Success", color="success", className="mr-2", id="button_session"),
129-
dbc.Button("Info", color="info", className="mr-2"),
130-
dbc.Button("Warning", color="warning", className="mr-2"),
131-
dbc.Button("Danger", color="danger", className="mr-2"),
132-
dbc.Button("outline", color="primary", className="mr-2", size="sm", outline=True),
133-
dbc.Button("outline", color="secondary", className="mr-2", size="md", outline=True),
134-
dbc.Button("outline", color="success", className="mr-2", size="lg", outline=True),
135-
dbc.Button("outline", color="info", className="mr-2", size="md", outline=True),
136-
dbc.Button("outline", color="warning", className="mr-2", size="sm", outline=True),
126+
dbc.Button("primary", color="primary", className="mr-2", id="button_memory"),
127+
dbc.Button("secondary", color="secondary", className="mr-2", id="button_local"),
128+
dbc.Button("success", color="success", className="mr-2", id="button_session"),
129+
dbc.Button("info", color="info", className="mr-2"),
130+
dbc.Button("warning", color="warning", className="mr-2"),
131+
dbc.Button("danger", color="danger", className="mr-2"),
132+
dbc.Button("primary", color="primary", className="mr-2", size="sm", outline=True),
133+
dbc.Button("secondary", color="secondary", className="mr-2", size="md", outline=True),
134+
dbc.Button("success", color="success", className="mr-2", size="lg", outline=True),
135+
dbc.Button("info", color="info", className="mr-2", size="md", outline=True),
136+
dbc.Button("warning", color="warning", className="mr-2", size="sm", outline=True),
137137
], className="mt-2"),
138138

139-
html.Div(children=dbc.ButtonGroup([
139+
html.Div(children=dbc.ButtonGroup(children=[
140140
dbc.Button("Primary", color="primary"),
141141
dbc.Button("Secondary", color="secondary"),
142142
dbc.Button("Success", color="success"),
@@ -201,25 +201,25 @@
201201
dbc.Input(value=10, type="number", className="mb-2"),
202202
dbc.Input(value=10, type="range", className="mb-2"),
203203
dbc.Textarea(placeholder="Enter a value...", className="mb-2"),
204-
dbc.Textarea(placeholder="Enter a value...", className="mb-2", valid=True, bs_size="sm"),
204+
dbc.Textarea(placeholder="Enter a value(sm)...", className="mb-2", valid=True, bs_size="sm"),
205205
], className="mt-2"),
206206

207207
html.Div(children=[
208208
dbc.InputGroup([
209209
dbc.InputGroupAddon("@", addon_type="prepend"),
210-
dbc.Input(placeholder="username, size=lg"),
211-
], size="lg", className="mb-2"),
210+
dbc.Input(placeholder="username"),
211+
], size="md", className="mb-2"),
212212
dbc.InputGroup([
213-
dbc.Input(placeholder="username, size=md"),
213+
dbc.Input(placeholder="username"),
214214
dbc.InputGroupAddon("@example.com", addon_type="append"),
215215
], className="mb-2"),
216216
dbc.InputGroup([
217217
dbc.InputGroupAddon("$", addon_type="prepend"),
218-
dbc.Input(placeholder="Amount, size=sm", type="number"),
218+
dbc.Input(placeholder="Amount", type="number"),
219219
dbc.InputGroupAddon(".00", addon_type="append"),
220-
], size="sm", className="mb-2"),
220+
], size="md", className="mb-2"),
221221
dbc.InputGroup([
222-
dbc.InputGroupAddon(dbc.Button("Random name"), addon_type="prepend"),
222+
dbc.InputGroupAddon(dbc.Button("Random"), addon_type="prepend"),
223223
dbc.Input(placeholder="name"),
224224
], className="mb-2"),
225225
dbc.InputGroup([
@@ -234,11 +234,11 @@
234234
dbc.Form(children=[
235235
dbc.FormGroup([
236236
dbc.Label("Email", className="mr-2"),
237-
dbc.Input(type="email", placeholder="Enter email")
237+
dbc.Input(placeholder="Enter email", type="email")
238238
], className="mr-3"),
239239
dbc.FormGroup([
240240
dbc.Label("Password", className="mr-2"),
241-
dbc.Input(type="password", placeholder="Enter password")
241+
dbc.Input(placeholder="Enter password", type="password")
242242
], className="mr-3"),
243243
dbc.FormGroup([
244244
dbc.Label("Date", className="mr-2"),
@@ -253,7 +253,7 @@
253253
# 表单类 ========================================================================================
254254
html.Div(children=[
255255
dbc.Label("Slider", html_for="slider"),
256-
dcc.Slider(min=0, max=9, marks={i: "Label {}".format(i) if i == 1 else str(i) for i in range(1, 6)}, value=5),
256+
dcc.Slider(min=0, max=9, marks={i: "Label {}".format(i) for i in range(1, 10)}, value=5),
257257
html.Br(),
258258
dbc.Label("RangeSlider", html_for="range-slider"),
259259
dcc.RangeSlider(count=1, min=-5, max=10, step=0.5, value=[-3, 7])
@@ -321,13 +321,15 @@
321321
@app.callback(Output(store, "data"), [
322322
Input("button_%s" % store, "n_clicks")
323323
], [
324-
State(store, "data")
324+
State(store, "data"),
325+
State(store, "modified_timestamp"),
325326
])
326-
def toggle_store_button(n_clicks, data):
327+
def toggle_store_button(n_clicks, data, ts):
327328
if n_clicks is None:
328329
raise dash.exceptions.PreventUpdate
329-
data = data or {"clicks": 0}
330+
data = data or {"clicks": 0, "ts": -1}
330331
data["clicks"] = data["clicks"] + 1
332+
data["ts"] = ts
331333
return data
332334

333335
@app.callback(Output("alert_%s" % store, "children"), [
@@ -336,11 +338,11 @@ def toggle_store_button(n_clicks, data):
336338
State(store, "data"),
337339
State(store, "id")
338340
])
339-
def toggle_store_change(ts, data, _id):
341+
def toggle_store_change(ts, data, name):
340342
if ts is None:
341343
raise dash.exceptions.PreventUpdate
342-
data = data or {}
343-
return "%s: %s" % (_id, data.get("clicks", 0))
344+
data = data or {"clicks": 0, "ts": -1}
345+
return "%s: %s, ts=%s" % (name, data["clicks"], data["ts"])
344346

345347

346348
@app.callback(Output("collapse", "is_open"), [

Dash/apps/app3.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,27 +43,19 @@
4343
html.Div(children=dbc.Row(children=[
4444
dbc.Col(children=dbc.Card([
4545
dbc.CardHeader("Hover Data"),
46-
dbc.CardBody([
47-
dbc.CardText(html.Pre(id="hover-data")),
48-
]),
46+
dbc.CardBody(dbc.CardText(html.Pre(id="hover-data"))),
4947
])),
5048
dbc.Col(children=dbc.Card([
5149
dbc.CardHeader("Click Data"),
52-
dbc.CardBody([
53-
dbc.CardText(html.Pre(id="click-data")),
54-
]),
50+
dbc.CardBody(dbc.CardText(html.Pre(id="click-data"))),
5551
])),
5652
dbc.Col(children=dbc.Card([
5753
dbc.CardHeader("Selected Data"),
58-
dbc.CardBody([
59-
dbc.CardText(html.Pre(id="selected-data")),
60-
]),
54+
dbc.CardBody(dbc.CardText(html.Pre(id="selected-data"))),
6155
])),
6256
dbc.Col(children=dbc.Card([
6357
dbc.CardHeader("Zoom and Relayout Data"),
64-
dbc.CardBody([
65-
dbc.CardText(html.Pre(id="relayout-data")),
66-
]),
58+
dbc.CardBody(dbc.CardText(html.Pre(id="relayout-data"))),
6759
])),
6860
]), className="mt-2"),
6961
])

0 commit comments

Comments
 (0)