LearnNewsExamplesServices
Frontmatter
id7206
titleInitial Dashboard Drag & Drop
stateOpen
labels
enhancementno auto close
assigneestobiu
createdAtAug 21, 2025, 12:34 AM
updatedAtNov 19, 2025, 3:02 PM
githubUrlhttps://github.com/neomjs/neo/issues/7206
authortobiu
commentsCount1
parentIssue7201
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]

Initial Dashboard Drag & Drop

Openenhancementno auto close
tobiu
tobiu commented on Aug 21, 2025, 12:34 AM

Goal

Implement the foundational (Phase 1) drag-and-drop reordering for the panels within the Colors.view.Viewport. This involves creating dashboard-specific sort zones and integrating them into the app.

Tasks

  1. Create Directory Structure:

    • Create the directory: src/draggable/dashboard/
  2. Create Dashboard.SortZone:

    • Create a new file: src/draggable/dashboard/SortZone.mjs.
    • This class will extend Neo.draggable.container.SortZone.
  3. Implement Custom onDragStart:

    • Override the onDragStart method within the new dashboard.SortZone.
    • This method must correctly identify the parent Panel component as the dragElement when a drag is initiated on a panel header.
    • It must filter the owner's items to only include the draggable Panel components, ignoring static components like the main HeaderToolbar.
  4. Integrate into Colors App Viewport:

    • Modify apps/colors/view/Viewport.mjs to import and instantiate the new Neo.draggable.dashboard.SortZone.
    • Restructure the items config to wrap the GridContainer, PieChartComponent, and BarChartComponent in Neo.container.Panel instances.
    • Configure the panel headers with the .neo-draggable class to act as the drag handles.

Acceptance Criteria

  • Dragging a panel header in the Colors app initiates a drag operation for the entire panel.
  • Only the three main content panels are considered sortable.
  • Panels can be reordered within the viewport.
  • The new order is correctly applied when the drag operation is complete.
tobiu assigned to @tobiu on Aug 21, 2025, 12:34 AM
tobiu added parent issue #7201 on Aug 21, 2025, 12:34 AM
tobiu added the enhancement label on Aug 21, 2025, 12:34 AM
tobiu referenced in commit 981c99c - "Initial Dashboard Drag & Drop on Aug 21, 2025, 12:38 AM
tobiu referenced in commit f3ede15 - "Initial Dashboard Drag & Drop #7206" on Aug 21, 2025, 1:04 AM
tobiu referenced in commit a5ac272 - "Initial Dashboard Drag & Drop #7206 WIP" on Aug 21, 2025, 1:38 AM
tobiu referenced in commit 95e5d1c - "#7206 SCSS file, animated panel movements" on Aug 21, 2025, 10:24 AM
tobiu referenced in commit 6e729a0 - "#7206 WIP" on Aug 21, 2025, 10:45 AM
tobiu referenced in commit 5b1f960 - "#7206 WIP" on Aug 21, 2025, 10:54 AM
tobiu referenced in commit af84d7f - "#7206 WIP" on Aug 21, 2025, 11:09 AM
tobiu removed the stale label on Nov 19, 2025, 3:02 PM
tobiu added the no auto close label on Nov 19, 2025, 3:02 PM