Skip to content

Add visible loading state for Explorer graph data fetches #81

@MuttleyD

Description

@MuttleyD

Summary

Add a clear loading state to the MIDAS Explorer graph views while graph data is being fetched or initialised.

Background

The Explorer is one of the main ways users inspect MIDAS context and authority graphs. When graph data is loading, the graph panel should make that state visible rather than showing an empty or apparently inactive area.

A visible loading state helps users distinguish between:

  • data still loading
  • an empty graph
  • a failed graph request
  • a rendering issue

This is a focused frontend UX improvement intended to make the Explorer feel more predictable and easier to troubleshoot.

Scope

Update the Explorer frontend so that graph views show a visible loading state while graph data is being requested or prepared.

The implementation should be narrow and should use existing frontend patterns where possible.

Suggested approach

A suitable implementation could:

  • identify where Explorer graph data fetches are initiated
  • add a loading message or lightweight loading indicator while data is pending
  • remove or replace the loading state once data has loaded, failed, or produced an empty result
  • keep the visual treatment consistent with the existing Explorer UI
  • avoid introducing new dependencies

Example loading text:

  • "Loading graph data..."
  • "Preparing Explorer view..."
  • "Loading context graph..."
  • "Loading authority graph..."

The exact wording can be adjusted to fit the existing UI.

Acceptance criteria

  • Explorer graph views show a visible loading state while graph data is being fetched or prepared.
  • The loading state is removed when graph data has loaded successfully.
  • The loading state is replaced by an appropriate empty or error state if no data is available or loading fails.
  • The change is limited to frontend/static Explorer behaviour.
  • The change does not alter graph layout behaviour.
  • The change does not alter renderer selection behaviour.
  • The change does not alter public APIs.
  • The change does not introduce new dependencies.
  • Existing tests continue to pass.
  • go test ./... passes in CI.

Non-goals

  • Do not redesign the Explorer UI.
  • Do not change Cytoscape graph layout behaviour.
  • Do not change graph data contracts.
  • Do not add backend API changes unless strictly necessary.
  • Do not introduce a new frontend framework.
  • Do not introduce full browser automation unless already supported by the repository.

Contributor notes

This issue is intended to be a small, focused frontend UX improvement.

The goal is to make graph loading behaviour visible and understandable, not to redesign the graph experience.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions