LearnNewsExamplesServices
Frontmatter
id9117
titleRefactor Grid Footer Toolbar for Store Integration
stateClosed
labels
airefactoringcore
assigneestobiu
createdAtFeb 12, 2026, 7:54 PM
updatedAtFeb 12, 2026, 8:11 PM
githubUrlhttps://github.com/neomjs/neo/issues/9117
authortobiu
commentsCount1
parentIssue9106
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 12, 2026, 8:11 PM

Refactor Grid Footer Toolbar for Store Integration

Closed v12.0.0 airefactoringcore
tobiu
tobiu commented on Feb 12, 2026, 7:54 PM

Refactor Neo.grid.footer.Toolbar to handle store integration natively.

Changes:

  1. Promote Store Logic: Move store_ config and beforeSetStore listener management from DevIndex.view.home.StatusToolbar to Neo.grid.footer.Toolbar.
  2. Standardize Listeners: The base class should automatically bind onStoreFilter, onStoreLoad, and onStoreProgress if they are defined on the instance.
  3. Refactor StatusToolbar: Update StatusToolbar to rely on the inherited store management.

Benefit: This makes Neo.grid.footer.Toolbar a robust base class for any grid footer requiring store awareness (e.g., PagingToolbar, StatusBars), reducing boilerplate in subclasses.

tobiu added the ai label on Feb 12, 2026, 7:54 PM
tobiu added the refactoring label on Feb 12, 2026, 7:54 PM
tobiu added the core label on Feb 12, 2026, 7:54 PM
tobiu assigned to @tobiu on Feb 12, 2026, 7:55 PM
tobiu referenced in commit fed8bd7 - "docs: Add intent-driven JSDoc to Grid Footer Toolbar and StatusToolbar (#9117)" on Feb 12, 2026, 8:11 PM
tobiu
tobiu Feb 12, 2026, 8:11 PM

Input from Gemini 3 Pro:

✦ I have refactored Neo.grid.footer.Toolbar and StatusToolbar to implement a robust, reusable store integration pattern.

Refactoring Highlights:

  1. Neo.grid.footer.Toolbar (Base):

    • Added native store_ config and beforeSetStore logic.
    • Automatically binds to load, filter, and progress store events using the scope: me configuration pattern (cleaner than manual binding).
    • Handles both instantiated Store objects and config objects.
    • Added placeholder methods (onStoreLoad, onStoreFilter, onStoreProgress) with intent-driven JSDoc to guide future implementations.
  2. DevIndex.view.home.StatusToolbar (Implementation):

    • Removed redundant store boilerplate (store_, beforeSetStore).
    • Simplified logic to override the base class placeholders.
    • Used getReference().set() for atomic, efficient updates of the progress bar.
    • Added comprehensive JSDoc explaining its role in visualizing progressive loading.

This establishes a solid foundation for any future grid footers (like pagination) while cleaning up the DevIndex implementation.

tobiu closed this issue on Feb 12, 2026, 8:11 PM
tobiu added parent issue #9106 on Feb 12, 2026, 8:11 PM