-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathui.R
More file actions
189 lines (188 loc) · 10.1 KB
/
ui.R
File metadata and controls
189 lines (188 loc) · 10.1 KB
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
library(tidyverse)
library(mclust)
library(highcharter)
library(shiny)
library(bs4Dash)
library(waiter)
library(shinycssloaders)
library(DT)
library(callr)
library(data.table)
library(rintrojs)
dashboardPage(
preloader = list(html = tagList(spin_1(), "Loading ..."), color = "#18191A"),
fullscreen = TRUE,
dashboardHeader(title = dashboardBrand(
title = "EDM Dashboard",
color = "danger",
image = "logo.jpg"
),
titleWidth = 500), # end of header
dashboardSidebar(
skin = "light",
status = "danger",
sidebarUserPanel(
name = "Modelling",
image = "modelling.png"
),
sidebarMenu(
menuItem("GMM Data Analysis", tabName = "da", icon = icon("magnifying-glass-chart"))),
sidebarUserPanel(
name = "Engagement Level EDA",
image = "data_analysis.jpeg"
),
sidebarMenu(id = "sidebar",
menuItem("Instructional Methods", tabName = "im", icon = icon("person-chalkboard")),
menuItem("Student Characteristics", tabName = "sc", icon = icon("user-graduate"))),
sidebarUserPanel(
name = "Dashboard Information",
image = "info.jpg"
),
actionButton("show", "Press for Info", icon = icon("circle-info"), status = "primary")
), # end of Sidebar
dashboardBody(
tabItems(
tabItem("da",
fluidPage(
introjsUI(),
tags$head(tags$style(".butt{background:#dc3545;} .butt{color: white;}"),
tags$style(
HTML(".shiny-notification {
position:fixed;
top: calc(50%);
left: calc(50%);
}
"
)
)),
fluidRow(
column(5,
introBox(
data.step = 1,
data.intro = p("This is the Gaussian Mixture Modeling (GMM) Query Box. You are required to press
", strong("Submit Query "),
"with default inputs or enter inputs of your own choosing to generate GMM analysis"),
box(title = "Query Box",
solidHeader = TRUE, width = 12,status = "gray-dark",
maximizable = FALSE, icon = icon("magnifying-glass"),
introBox(
data.step = 2,
data.intro = "This is the academic year (e.g., 2013) and semester (e.g., B/J) you wish to
perform GMM on.",
uiOutput("year_sem_query")),
introBox(
data.step = 3,
data.intro = "This is the number of days before the start (0) of the selected year & semester
and the number of days after the start (0) of the selected year & semester.",
uiOutput("date_period_query")),
introBox(
data.step = 4,
data.intro = "This is the number student engagement levels you want to create to understand
how low and high engaged students interact with the VLE by clicks",
numericInput("gmm_el", "Enter Number of Engagement Levels",
value = 3,
min = 1, max = 6,
width = "auto")),
actionButton(inputId = "submit", "Submit Query", status = "danger",
icon = icon("play")),
downloadButton("report", "Download Report", class = "butt"),
actionButton("help", "User Guide", status = "primary",
icon = icon("circle-info"))))),
column(7,
introBox(
data.step = 5,
data.intro = "The chart that will be/is displayed in this box shows how uncertain the GMM model
is on assigning students to the selected number of engagement levels.
The uncertainty ranges from 0% - 100%. Uncertainty values close to 100% is an
indication of great uncertainty in assigning students to the different engagement levels.",
box(title = "Student Engagement Level Assignment Uncertainty",
width = 12, status = "gray-dark", icon = icon("chart-area"),
solidHeader = TRUE, maximizable = TRUE,
#verbatimTextOutput("test_output"),
highchartOutput("fig1", height = 320))))),
fluidRow(
valueBoxOutput('min_c', width = 3),
valueBoxOutput("max_c", width = 3),
valueBoxOutput("mean_c", width = 3),
valueBoxOutput("mean_u", width = 3)
),
fluidRow(
column(6,
introBox(
data.step = 6,
data.intro = "The bar chart that will be/is displayed in this box shows how many times
a student in a particular engagement level interacted with the VLE on average based on clicks for
the selected academic period (year, semester & days).",
box(title = "Average Clicks Per Engagement Level", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig2")))),
column(6,
introBox(
data.step = 7,
data.intro = "The bar chart that will be/is displayed in this box shows how many students
belong to each engagement level. This is for easily communicating how many students are highly
engaged or disengaged with the VLE",
box(title = "Student Count Per Engagement Level", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig3"))))),
fluidRow(
column(12,
introBox(
data.step = 8,
data.intro = "The table that will be/is displayed in this box shows the probability of a student
belonging to every engagement level, the engagement level a student belongs to, the uncertainty of
a student belonging to an engagement level, the number of times a student interacted with the materials
in the VLE for the selected academic period.",
box(title = "Student Engagement Level Information Table",
icon = icon("table"),
solidHeader = TRUE, width = 12,status = "gray-dark", collapsed = TRUE,
maximizable = TRUE, withSpinner(DTOutput("table1"))))))
) # end of fluid page
), # end of GMM data analysis tab
tabItem("im",
fluidPage(
fluidRow(box(title = "Virtual Learning Environment (VLE) Activity Access",
width = 12, status = "danger",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
uiOutput("activity_el_query"),
withSpinner(highchartOutput("fig4")))),
fluidRow(box(title = "Virtual Learning Environment (VLE) Module or Course Access",
width = 12, status = "white", collapsed = FALSE,
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
withSpinner(highchartOutput("fig5"))))
) # end of fluid page
), # end of instructional methods tab
tabItem("sc",
fluidPage(
fluidRow(
column(5,
box(title = "Gender", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig6"))),
column(7,
box(title = "Age Band", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig7")))),
fluidRow(
column(5,
box(title = "Disability", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig8"))),
column(7,
box(title = "Number of Previous Attempts", width = 12, status = "gray-dark",
solidHeader = TRUE, maximizable = TRUE, icon = icon("chart-bar"),
highchartOutput("fig9")))),
fluidRow(
tabBox(maximizable = TRUE, width = 12,
solidHeader = FALSE, status = "white", selected = "Region of Stay",
tabPanel("Final Academic Result", icon = icon("chart-bar"),
highchartOutput("fig10")),
tabPanel("Region of Stay", icon = icon("chart-bar"),
uiOutput("region_el_query"),
highchartOutput("fig11")))
)
) # end of fluid page
) # end of student characteristics tab
) # end of tab items
) # end of body
) # end of page