3 Commits

Author SHA1 Message Date
abite
34648e5993
Final features (#42)
* Update README.md

Added maintenance feature
Added tagging feature
Added dependencies

* Include Global filters for Event List

Enhanced updateEventsDisplay() method - Now respects both local events filters (All, Warranty, Maintenance) AND global dashboard filters (Components, Warranties, Expired, Within 30 days, Within 60 days, Active)

Updated Dashboard Card Click Handlers - Now call updateEventsDisplay() when dashboard filters are applied
Enhanced initializeEventsSection() - Ensures events are properly filtered from the start
Added refreshEventsDisplay() method - Public method for external refreshing of events

* Updated/Fixed "Active" filtering logic

The "Active" filter had an incorrect third condition that was including assets with ANY component warranties, regardless of whether those warranties were actually active or expired.

* Fixed EventList updating

The issue was that sectionVisibility was a local variable in the renderDashboard method, so it wasn't accessible in the click handler scope when the dashboard cards were clicked later.

* add logging for event list debug

* Fix Event List updating

The Problem
The Events list wasn't updating when global dashboard filters were clicked because of a variable scope issue:
Two separate dashboardFilter variables existed:
One in main script.js (returned by getDashboardFilter())
One in listRenderer.js (updated by updateDashboardFilter())
The dashboard manager was reading from one variable but updating another:
getDashboardFilter() returned the main script's dashboardFilter (always stayed "all")
updateDashboardFilter() updated the list renderer's dashboardFilter

The Fix
I created a local updateDashboardFilter function in the main script that:
Updates the local dashboardFilter variable (the one getDashboardFilter() returns)
Calls the list renderer's updateDashboardFilter to keep both in sync

* Implement Export Function

Add export CSV functionality into Settings > System modal

* Fixed export button

Problem: The middleware/demo.js file was using ES6 export syntax, but the server was importing it using CommonJS require()

* export UI update

* Add simple csv export

* Removed placeholder logos with correct

Removed placeholder logos and placed real logo into public > assets > images

* remove white background from logo svg

* enlarge svg logo

* Include asset name with Warranty notifications

Add asset bane to warranty notifications so its formatted as:

 Warranty Expiring in 7 days
Asset: Dell OptiPlex 7010
Model #: OptiPlex-7010
Warranty
Expires: 2024-01-15

🔗 View Asset: http://localhost:3000?ass=12345
2025-06-03 12:31:25 -04:00
gitmotion
0a45fdd855 Demo Mode: add demo_mode middleware, global error logger with auto toast, demo banner
Add demo mode banner

fix spacing

Added Demo_mode env vars and update refreshAllData responses error handling

update usage of await response.text()

Update demo mode error message
2025-05-30 14:39:18 -07:00
gitmotion
49f93f29d8 Add PWA, cache busting, cors
updated security and relying on cors for now

clean up header actions buttons

Updated helmet config, responsive styling, icons fixes, and reordering

update header title to left side and actions on right

Unify modal styling

fix login styling

adding paths for saving/editing to public paths for now to restore functionality. we should refactor this to pass pin/session for any request

Bump cache version

remove post install script

Update PIN logic for firefox compatibility and securely handle redirects

Unify add component section/modal

Unifying file uploaders, modal title styles, add collapsible sections for file uploaders
2025-05-11 11:41:18 -07:00