Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
211ebf4
[statistics] Cleanup filters and add Registration Date
skarya22 Jul 30, 2025
0e01c2f
Fix line length
skarya22 Jul 30, 2025
30edbbf
Fix possibility for null project Name
skarya22 Jul 30, 2025
adbca43
Add subtitles to dashboard panels
skarya22 Jul 31, 2025
789ca93
Add subtitles and govern values on user projects/sites
skarya22 Jul 31, 2025
2958e20
Fix formatting
skarya22 Jul 31, 2025
f928c34
Fix tests
skarya22 Jul 31, 2025
c702826
Try to shorten line length
skarya22 Jul 31, 2025
fd2af3e
Error because 2006 was not a leap year
skarya22 Jul 31, 2025
d99590b
remove useless line
skarya22 Jul 31, 2025
eac1018
Remove php extra space
skarya22 Jul 31, 2025
69a3250
Add value to pie chart tooltip
skarya22 Jul 31, 2025
25b67c9
Merge remote-tracking branch 'aces/main' into 2025_07_30_Fix_Dashboar…
skarya22 Aug 13, 2025
9126cb4
Fix issue with visit filter + console warning + date_registered
skarya22 Aug 13, 2025
528eb3a
Fix spacing
skarya22 Aug 13, 2025
cea0e24
Reorganize and add age distribution
skarya22 Aug 14, 2025
0278c40
Attempt to blindly fix tests before running
skarya22 Aug 14, 2025
9317146
Fix php formatting
skarya22 Aug 14, 2025
9b6efa9
Get around phan error with ++
skarya22 Aug 14, 2025
61e339d
try again
skarya22 Aug 14, 2025
84b1c58
another!
skarya22 Aug 14, 2025
cc89622
Try again !
skarya22 Aug 14, 2025
57b3518
Just trying to make phan happy
skarya22 Aug 14, 2025
9f7c493
Please stop phan
skarya22 Aug 14, 2025
2ed342c
please be the last try
skarya22 Aug 14, 2025
d9afe46
Merge remote-tracking branch 'aces/main' into 2025_07_30_Fix_Dashboar…
skarya22 Aug 18, 2025
8a538c2
Merge remote-tracking branch 'aces/main' into 2025_07_30_Fix_Dashboar…
skarya22 Sep 3, 2025
5856b84
Add % to age chart and bigger subtitle
skarya22 Sep 3, 2025
c274259
Merge branch 'main' into 2025_07_30_Fix_Dashboard_Filters_and_Registr…
skarya22 Sep 4, 2025
5e564d4
Remove dupe css from merge
skarya22 Sep 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions jsx/Panel.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,14 @@ const Panel = (props) => {
{props.views && props.views[activeView]['title']
? props.views[activeView]['title']
: props.title}
{props.views && props.views[activeView]['subtitle']
&& <span>
{!props.views[activeView]['subtitle'].endsWith('-1')
? ' | ' + `${props.views[activeView]['subtitle']}`
: ' | ' + 'Loading...'
}
</span>
}
</h3>
{panelViews}
{props.collapsing
Expand Down
162 changes: 162 additions & 0 deletions modules/statistics/css/WidgetIndex.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,165 @@
.c3-tooltip-container {
top: 0px !important;
}

.filter-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
padding: 20px;
width: 100%;
}

.c3-chart-line.c3-target.c3-target-Total{
display: none !important;
}

/* ===== Chart Header (Title + Dropdown) ===== */
.chart-header {
display: flex;
flex-direction: column;
align-items: center; /* center both title and dropdown */
gap: 10px;
}

.chart-title {
font-size: 1.5rem;
font-weight: 700;
}

.chart-dropdown-wrapper {
width: 100%;
display: flex;
justify-content: center;
}

.chart-dropdown {
padding: 5px 10px;
font-size: 0.9rem;
border-radius: 5px;
border: 1px solid #ccc;
min-width: 100px;
max-width: 200px;
}


.chart-visual-wrapper {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}

.chart-visual-wrapper svg {
display: block;
margin: 0 auto;
max-width: 100%;
}

/* Mobile view: stack title and dropdown */
@media (max-width: 600px) {
.chart-header {
flex-direction: column;
align-items: flex-start;
}

.chart-title {
padding: 10px;
}

.chart-dropdown {
width: 100%;
margin-top: 8px;
}
}

/* ===== Grid Wrapper for Chart Cards + Filters ===== */

.charts-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
padding: 20px;
margin: 0 auto;
width: 100%;
box-sizing: border-box;
}

#charts-one-column {
grid-template-columns: 1fr;
}

/* Chart Card */
.chart-card {
background-color: #ffffff;
border-radius: 20px;
padding: 10px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
transition: all 0.3s ease;
}

.chart-card:hover {
transform: translateY(-10px);
background-color: #f9fdff;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
border: 1px solid #acacac;
}

@media (max-width: 768px) {

body,
html {
width: 100%;
overflow-x: hidden;
}

.charts-grid,
.chart-card,
.charts-grid>[class*="col-"] {
max-width: 100% !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box;
}

.chart-card svg,
.chart-card .c3 {
max-width: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}

.chart-card .c3 {
display: flex;
justify-content: center;
}

.charts-grid {
grid-template-columns: 1fr;
padding-left: 0 !important;
padding-right: 0 !important;
margin-left: 0 !important;
margin-right: 0 !important;
width: 100% !important;
box-sizing: border-box;
}

.charts-grid>[class*="col-"] {
width: 100% !important;
margin: 0 auto !important;
padding-left: 0 !important;
padding-right: 0 !important;
box-sizing: border-box;
}

.site-breakdown-card {
width: 100% !important;
box-sizing: border-box;
}

.filter-grid {
grid-template-columns: 1fr;
}
}
197 changes: 0 additions & 197 deletions modules/statistics/css/recruitment.css
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
background-color: #2FA4E7;
}

.c3-chart-line.c3-target.c3-target-Total{
display: none !important;
}

.study-progression-container {
max-height: 415px;
overflow-y: auto;
Expand Down Expand Up @@ -46,197 +42,4 @@
transform: translateY(-10px);
background-color: #f9fdff;
box-shadow: 0 12px 12px rgba(0, 0, 0, 0.25);
}

/* ===== Chart Header (Title + Dropdown) ===== */
.chart-header {
display: flex;
flex-direction: column;
align-items: center; /* center both title and dropdown */
gap: 10px;
}

.chart-title {
font-size: 1.5rem;
font-weight: 700;
}

.chart-dropdown-wrapper {
width: 100%;
display: flex;
justify-content: center;
}

.chart-dropdown {
padding: 5px 10px;
font-size: 0.9rem;
border-radius: 5px;
border: 1px solid #ccc;
min-width: 100px;
max-width: 200px;
}


.chart-visual-wrapper {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}

.chart-visual-wrapper svg {
display: block;
margin: 0 auto;
max-width: 100%;
}

/* Mobile view: stack title and dropdown */
@media (max-width: 600px) {
.chart-header {
flex-direction: column;
align-items: flex-start;
}

.chart-title {
padding: 10px;
}

.chart-dropdown {
width: 100%;
margin-top: 8px;
}
}

/* ===== Grid Wrapper for Chart Cards + Filters ===== */

.site-breakdown-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
padding: 20px;
margin: 0 auto;
width: 100%;
box-sizing: border-box;
}

#site-breakdown-grid-one-column {
grid-template-columns: 1fr;
}

/* Chart Card */
.site-breakdown-card {
background-color: #ffffff;
border-radius: 20px;
padding: 10px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
transition: all 0.3s ease;
}

.site-breakdown-card:hover {
transform: translateY(-10px);
background-color: #f9fdff;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.25);
border: 1px solid #acacac;
}

/* Ensure the form spans full width */
.site-breakdown-filters {
grid-column: 1 / -1;
display: flex;
flex-wrap: wrap;
justify-content: center;
background-color: #ffffff;
padding: 20px;
border-radius: 20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
margin-top: 20px;
width: 100%;
gap: 20px;
box-sizing: border-box;
transition: all 0.3s ease;
}

.site-breakdown-filters:hover {
transform: translateY(-10px);
background-color: #f9fdff;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
border: 1px solid #d1d1d1;
}

/* This targets each dropdown/input block inside the filter area */
.site-breakdown-filters>div {
flex: 1 1 200px;
min-width: 200px;
}

.filter-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
padding: 20px;
width: 100%;
}

@media (max-width: 768px) {

body,
html {
width: 100%;
overflow-x: hidden;
}

.site-breakdown-grid,
.site-breakdown-card,
.site-breakdown-grid>[class*="col-"] {
max-width: 100% !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box;
}

.site-breakdown-card svg,
.site-breakdown-card .c3 {
max-width: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}

.site-breakdown-card .c3 {
display: flex;
justify-content: center;
}

.site-breakdown-grid {
grid-template-columns: 1fr;
padding-left: 0 !important;
padding-right: 0 !important;
margin-left: 0 !important;
margin-right: 0 !important;
width: 100% !important;
box-sizing: border-box;
}

.site-breakdown-grid>[class*="col-"] {
width: 100% !important;
margin: 0 auto !important;
padding-left: 0 !important;
padding-right: 0 !important;
box-sizing: border-box;
}

.site-breakdown-card {
width: 100% !important;
box-sizing: border-box;
}

.site-breakdown-filters>div {
flex: 1 1 100%;
min-width: 100%;
}

.filter-grid {
grid-template-columns: 1fr;
}
}
Loading
Loading