feat(reports): enhance compliance table tooltips, yearly comparison filtering, and horizontal scrolling
This commit is contained in:
1 parent
ae2cfe1495
commit
3da79ec92f
4 files changed
+598
-328
No files matched your search
@@ -314,12 +314,10 @@ exports.getYearlyComparison = (req, res) => {
|
||||
)
|
||||
) sly ON s.id = sly.student_id
|
||||
GROUP BY ay.id, ay.year_range
|
||||
ORDER BY ay.id DESC
|
||||
LIMIT 5
|
||||
ORDER BY ay.year_range ASC
|
||||
`;
|
||||
const data = db.prepare(query).all();
|
||||
// Return oldest first for charting (left to right)
|
||||
res.json(data.reverse());
|
||||
res.json(data);
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: 'Failed to fetch yearly comparison', error: error.message });
|
||||
}
|
||||
|
||||
+27
-16
@@ -387,18 +387,22 @@ Files backup/restore - mirror mode or zip -->
|
||||
<!-- # DOCUMENTS SCREEN
|
||||
- archive files hide in list -> move archive files into in more icon where the switch grid includes, show the "archives" when the student folder opened or if the student have archived files -> hide the archives files in the documents list, only show completed files -->
|
||||
|
||||
<!-- # REPORTS SCREEN
|
||||
- compliance tab -> "students per year" section -> year filter list all acad year -> deafult selected is 4 consecutive years (ex. 2022-2023, 2023-2024, 2024-2025, 2025-2026)
|
||||
- horizontal scroll bar hint for android app
|
||||
- filter by year default as active year
|
||||
- compliance hover on missing count shows all missing documents separated jhs shs
|
||||
- compliance tab -> "Student list" section -> remove missing requirements -> make the missing column hover just like on "STUDENT SCREEN", can see missing documents separate jhs and shs same from "STUDENT SCREEN" -->
|
||||
|
||||
---
|
||||
|
||||
# DONT DO
|
||||
|
||||
- recycle bin -> search history not delete history
|
||||
|
||||
- reports screen -> compliance -> students per year -> year filter
|
||||
- reports screen -> horizontal scroll bar hint
|
||||
- report screen -> dynamic year filter default as active year
|
||||
- reports screen -> compliance hover on missing count shows all missing documents separated jhs shs
|
||||
|
||||
|
||||
- document screen -> upload document limit document type limit -> duplicate files
|
||||
- user management -> expired the jwt of deactivated user
|
||||
|
||||
- dashboard school -> add missing students by document type kpi
|
||||
@@ -406,23 +410,30 @@ Files backup/restore - mirror mode or zip -->
|
||||
- dashboard screen -> user friendly logs/histories
|
||||
- dashboard screen -> assign section modal
|
||||
|
||||
- student screen -> add new student screen -> remove N/A on suffix dropdown
|
||||
|
||||
- notification separate admin and teacher
|
||||
|
||||
- bug in bulk add student enrollment
|
||||
|
||||
# CHINE
|
||||
- forget password sa admin side (email)
|
||||
- search history dapat naalis
|
||||
- lrn should not be fixed
|
||||
- n/a add student in suffix part -> remove
|
||||
- inactive academic year
|
||||
- multiple selection of files in select document type
|
||||
- how about when the pages needed to upload have two pages or more?
|
||||
- archive still popping up even after archiving & overall number of docs are inaccurate in docs status
|
||||
- overall number of docs are inaccurate in docs status
|
||||
- table header on students directory
|
||||
- accurate reports
|
||||
Aug 28 2026:
|
||||
- missing kpi in dashboard
|
||||
- grade level by teacher
|
||||
- report all export
|
||||
|
||||
Dashboard
|
||||
Document breakdown- missing docs
|
||||
those who didnt submit
|
||||
What specific year level have complied or partially complied
|
||||
Documents (no. of completed) over ilan ang docu
|
||||
Orient ang client as extension proj of our sch
|
||||
Graph depending sa no. of 4ps
|
||||
|
||||
features
|
||||
- submit missing requirement
|
||||
- specific yr level dashboard
|
||||
- number of completed
|
||||
- how many document
|
||||
---
|
||||
|
||||
# TIS_RMS Server Manager (dont do)
|
||||
|
||||
@@ -12,9 +12,30 @@ final selectedAcademicYearIdProvider =
|
||||
NotifierProvider<SelectedYearNotifier, int?>(() => SelectedYearNotifier());
|
||||
|
||||
class SelectedYearNotifier extends Notifier<int?> {
|
||||
bool _hasExplicitSelection = false;
|
||||
bool get hasExplicitSelection => _hasExplicitSelection;
|
||||
|
||||
@override
|
||||
int? build() => null;
|
||||
void select(int? id) => state = id;
|
||||
int? build() {
|
||||
_hasExplicitSelection = false;
|
||||
return null;
|
||||
}
|
||||
|
||||
void select(int? id) {
|
||||
_hasExplicitSelection = true;
|
||||
state = id;
|
||||
}
|
||||
|
||||
void setDefaultIfUnset(int activeYearId) {
|
||||
if (!_hasExplicitSelection && state == null) {
|
||||
state = activeYearId;
|
||||
}
|
||||
}
|
||||
|
||||
void reset() {
|
||||
_hasExplicitSelection = false;
|
||||
state = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Academic years list
|
||||
@@ -87,7 +108,7 @@ final missingDocsFilterExpandedProvider = NotifierProvider<_BoolNotifier, bool>(
|
||||
|
||||
// ── Yearly Comparison Filters ─────────────────────────────────────────────────
|
||||
|
||||
/// Selected years for yearly comparison (empty = all years)
|
||||
/// Selected years for yearly comparison (empty = default 4 consecutive years)
|
||||
final yearlyComparisonSelectedYearsProvider =
|
||||
NotifierProvider<SelectedYearsNotifier, Set<String>>(
|
||||
() => SelectedYearsNotifier(),
|
||||
@@ -107,6 +128,8 @@ class SelectedYearsNotifier extends Notifier<Set<String>> {
|
||||
state = current;
|
||||
}
|
||||
|
||||
void setYears(Set<String> years) => state = years;
|
||||
|
||||
void clear() => state = {};
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user