Skip to content

Re-Order Selected Tags (Drag and Drop Tags) - #4044

Open
lukemacausland wants to merge 5 commits into
pimcore:2026.xfrom
TorqIT:feature/select-sortable-tags
Open

Re-Order Selected Tags (Drag and Drop Tags)#4044
lukemacausland wants to merge 5 commits into
pimcore:2026.xfrom
TorqIT:feature/select-sortable-tags

Conversation

@lukemacausland

Copy link
Copy Markdown
Contributor

Changes in this pull request

closes pimcore/platform-version#426

Additional info

Adds the ability to drag and drop selected tags in a list so that the user can re-order values.

Copilot AI balanced review requested due to automatic review settings August 28, 2026 18:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Verdict: Needs changes.

Adds drag-and-drop reordering for selected Data Object multiselect tags.

Changes:

  • Adds sortable-tag rendering and drag sensors to Select.
  • Enables sorting for static Data Object multiselects.
  • Adds dragging cursor styles.

Assessment:

  • The shared component is the correct boundary, but dynamic-option multiselects are missed.
  • Reordering breaks Ant Design’s option callback contract.
  • Remove actions conflict with drag listeners and lack localized accessibility text.
  • No regression tests or sortable Storybook example were added.
  • No existing API defaults are changed; no external documentation appears necessary.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
dynamic-type-object-data-abstract-select.tsx Enables sorting for static multiselect fields.
select.tsx Adds the sortable API and DnD context.
select.styles.ts Adds drag cursor styling.
use-sortable-tags.ts Implements sensors and value reordering.
sortable-tag.tsx Renders draggable, removable tags.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

return
}

onChange?.(arrayMove(value, oldIndex, newIndex), [])
optionFilterProp={ hasHtmlLabels ? 'title' : 'label' }
options={ options }
showSearch
sortableTags={ props.multiSelect === true }
Comment on lines +58 to +59
{ ...(isMaxTag ? {} : attributes) }
{ ...(isMaxTag ? {} : listeners) }
minWidth?: number | keyof typeof sizeOptions
theme?: SelectTheme
loadingSkeleton?: boolean
sortableTags?: boolean
<span className="ant-select-selection-item-content">{label}</span>
{closable && (
<span
aria-label="remove"
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-Select Drag/Drop Tags

2 participants