Skip to content

ui: a composition detail panel's rows offer their record's actions, also on the master's preview (#8289) - #8290

Merged
iliyan-velichkov merged 1 commit into
masterfrom
issue-8289-detail-panel-row-actions
Oct 28, 2026
Merged

iliyan-velichkov merged 1 commit into
masterfrom
issue-8289-detail-panel-row-actions

Conversation

@iliyan-velichkov

Copy link
Copy Markdown
Contributor

A composition child is listed on its master's page in a detail panel, and its declared actions could not be reached from there:

  • on the master's preview the panel's row menu was withheld;
  • on its edit the menu offered only Preview, Edit and Delete;
  • the Preview dialog renders the child's page without its toolbar.

A composition child has no list either, so its actions (#8116, #8119) showed only on its own route, which nothing links to.

Change

  • detailPanel gains rowActions(row) and runRowAction(action, row), the pair relatedPanel has had since ui: a related: register's rows offer their record's actions - a row menu beside Open, by the source's status guards #8118. They return the child entity's actions that the row's status guards and the user's roles allow. relatedPanel keeps its own rowActions: a cross-project register still asks for nothing.
  • The panel's row cell (form-view.html.template):
    • The menu lists the row's actions first, then a separator, then Preview, Edit and Delete.
    • On the master's preview, the menu is shown for a row that has actions, and offers them and Preview only. Edit and Delete stay withheld there, as before.
    • The header cell's x-show follows the row cell's.
    • A row without allowed actions looks exactly as before.
  • After an action the panel re-reads its rows, through the existing onActionDone.

Verified

Run locally, in a worktree of master at 83001098f1:

Check Result
HarmoniaRecordActionsIT 9/9, with the new aDetailPanelRowOffersItsChildsActionsByStatus: the shipped detailPanel.rowActions against the shipped store, plus the template's preview rules
IntentCallActionSampleIT green; see below
mvn -T 1C formatter:validate clean, with the formatter cache wiped first

IntentCallActionSampleIT extends its model with a Watcher composition child of Ticket and a Mute action:

  • on the ticket's preview, the ACTIVE watcher's row menu reads exactly [Mute, Preview], and the MUTED watcher's row has no menu;
  • on the ticket's edit, the ACTIVE watcher's menu reads [Mute, Preview, Edit, Delete];
  • running Mute from the panel asks for its confirmation, posts the call, and announces Mute completed.

Not run:

  • Unit suites: the two changed resource modules have none.
  • The document perspective's panels, which are out of scope per the issue.

Fixes #8289

🤖 Generated with Claude Code

…lso on the master's preview (#8289)

detailPanel gains rowActions(row) and runRowAction(action, row), the pair
relatedPanel has since #8118: the child entity's actions its status guards and
roles allow. The panel's row menu lists them first, before Preview, Edit and
Delete; on the master's preview the menu is shown for a row with actions and
offers them and Preview only - Edit and Delete stay withheld there. A
composition child has no list and its Preview dialog shows no actions, so
before this its declared actions were unreachable without typing its route.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@iliyan-velichkov iliyan-velichkov self-assigned this Oct 28, 2026
@iliyan-velichkov
iliyan-velichkov merged commit 87f9b35 into master Oct 28, 2026
16 checks passed
@iliyan-velichkov
iliyan-velichkov deleted the issue-8289-detail-panel-row-actions branch October 28, 2026 12:58
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.

ui: a composition detail panel's rows offer their record's actions - also on the master's preview

1 participant