Skip to content

Feature: Add Local Data Persistence for Dashboards #14

@NithinRegidi

Description

@NithinRegidi

Description

Currently, dashboard data loaded from APIs is not persisted locally. When users refresh the page, all data and custom configurations are lost. This creates a poor user experience and prevents users from saving their work or maintaining custom dashboard setups across sessions.

Problem Statement

  • Data Loss on Refresh: All loaded data, chart configurations, and slicer states are lost when the page is refreshed
  • No Save/Load Functionality: Users cannot save custom dashboard configurations for later use
  • Session Management: Each session requires reconfiguring data sources and parameters from scratch
  • Productivity Impact: Users working with complex dashboards cannot maintain their work state

Proposed Solution

Implement browser-native local storage (localStorage) to save and restore dashboard state, with manual and automatic restore options.

Feature Specifications

Core Functionality

  1. Save Dashboard: Store current data objects, chart configurations, and slicer states to localStorage
  2. Load Dashboard: Restore previously saved state from localStorage
  3. Clear Data: Provide option to remove stored data for privacy
  4. Auto-Restore: On page load, check for saved state and prompt user to restore

User Interface Changes

  • Add three buttons to the dashboard area:
    • "Save Dashboard" - saves current state
    • "Load Dashboard" - restores from saved state
    • "Clear Data" - removes all saved state with confirmation dialog

Data to Persist

  • Data objects fetched from APIs
  • Chart configurations and display settings
  • Slicer/filter selections (row counts)
  • Data source selection and input parameters

Benefits

  • Improved UX: Users can resume work without reconfiguring
  • Productivity: Faster workflow for repeated dashboard uses
  • Offline Access: Basic functionality available without API calls
  • Privacy Control: Users can clear data as needed
  • No Dependencies: Uses browser-native APIs only

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions