-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.py
127 lines (110 loc) · 3.52 KB
/
index.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
from app import app
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_bootstrap_components as dbc
from dash.dependencies import Input, Output
from pages import Home, Analyse_by_keyword, Analyse_topic_modeling
import grasia_dash_components as gdc
from app import df_tweet
from functions.Plots import wordCloud
globalActiveSideBar = ""
sideBar = html.Nav(
id='sidebar',
children=[
html.Div(
children=html.H3('Covid-19'),
className='sidebar-header'
),
html.Hr(),
html.Ul(
className='list-unstyled components',
children=[
html.Li(
className='active',
children=[
html.Li(
dbc.NavLink(
'Home',
href="/",
)
),
html.Li(
dbc.NavLink(
'Analyse by keywords',
href="/analysebykeyword",
)
),
html.Li(
dbc.NavLink(
'Topic modeling Analysis',
href="/analysetopicmodeling",
)
),
]
),
]
)
]
)
navBar = html.Div(
children=[
html.Nav(
className='navbar navbar-expand-lg navbar-light bg-light',
children=[
html.Div(
id="buttonNavcontainer",
className='container-fluid',
children=[
html.Button(
type='button',
id='sidebarCollapse',
className='btn btn-info',
children=[
html.I(className='fas fa-align-left'),
]
)
]
)
]
)
]
)
app.layout = html.Div(
[
dcc.Location(id="url"), sideBar,
html.Div([navBar, html.Div([], id="content-page")],
id='content', style={"font-size": "12px"})
],
className="wrapper")
@app.callback(
[Output('sidebar', 'className'), Output('content', 'className')],
[Input('sidebarCollapse', 'n_clicks')])
def clicks(n_clicks):
global globalActiveSideBar
if (globalActiveSideBar == ""):
globalActiveSideBar = "active"
return ['active', 'active']
else:
globalActiveSideBar = ""
return ['', '']
@app.callback(Output("content-page", "children"), [Input("url", "pathname")])
def render_page_content(pathname):
if pathname == "/":
return Home.layout
if pathname == "/analysebykeyword":
return Analyse_by_keyword.layout
if pathname == "/analysetopicmodeling":
return Analyse_topic_modeling.layout
elif pathname == "/exec":
return html.Div(html.H1("bbbbbb"))
# If the user tries to reach a different page, return a 404 message
return dbc.Jumbotron(
[
html.H1("404: Not found", className="text-danger"),
html.Hr(),
html.P(f"The pathname {pathname} was not recognised..."),
]
)
if __name__ == "__main__":
app.run_server(port=8888, debug=True)