fix(uve): restore p-splitButton dropdown for workflow actions in UVE toolbar#35361
Conversation
|
Claude finished @adrianjm-dotCMS's task in 1m 8s —— View job Claude finished @adrianjm-dotCMS's task in 1m 0s —— View job PR Review
Three issues worth fixing, one minor note. 1. Bug: plain
<p-button
[disabled]="disabled()"
Fix: 2. No loading indicator on The 3. Missing test for the bug in point 1 The it('should disable plain p-button during loading in single-action group', () => {
spectator.setInput('actions', [mockWorkflowsActions[0]]);
spectator.setInput('loading', true);
spectator.detectChanges();
const btn = spectator.query(Button);
expect(btn.disabled).toBeTrue();
});4. Minor:
|
|
Claude finished @adrianjm-dotCMS's task in 1m 3s —— View job Rollback Safety Analysis
Result: ✅ Safe to Roll BackAll 4 changed files are pure Angular/TypeScript frontend UI changes with no match against any rollback-unsafe category:
The changes are limited to: adding a |
There was a problem hiding this comment.
Pull request overview
Restores the legacy split-button workflow actions UX for the UVE toolbar by reintroducing a groupActions mode in DotWorkflowActionsComponent, while keeping the newer inline/overflow behavior as the default for edit-content.
Changes:
- Re-added
groupActionsinput and implemented grouped (separator-delimited) action computation to drivep-splitButtonrendering. - Updated
dot-workflow-actionstemplate to switch between grouped split-buttons vs flat inline buttons + overflow menu. - Re-enabled grouped mode in UVE toolbar and added unit tests for the grouped rendering path.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| core-web/libs/ui/src/lib/components/dot-workflow-actions/dot-workflow-actions.component.ts | Adds groupActions input, grouped-actions computed signal, and SplitButtonModule support. |
| core-web/libs/ui/src/lib/components/dot-workflow-actions/dot-workflow-actions.component.html | Introduces grouped-mode template branch rendering p-splitButton per separator-delimited group. |
| core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/components/dot-uve-toolbar/components/dot-uve-workflow-actions/dot-uve-workflow-actions.component.html | Restores [groupActions]="true" for UVE toolbar workflow actions. |
| core-web/libs/ui/src/lib/components/dot-workflow-actions/dot-workflow-actions.component.spec.ts | Adds tests for grouped-mode rendering and interaction behavior. |
…in splitButton Refines the command invocation for the main action in the DotWorkflowActionsComponent to ensure it handles the case where the command may not be defined. Additionally, adds a test to verify that the main action emits the correct event when the primary button of the splitButton is clicked. Closes #35034
Summary
groupActionsinput toDotWorkflowActionsComponentso the UVE toolbar can render workflow actions as ap-splitButton(classic split-button layout), while edit-content keeps the new responsive inline-buttons behaviour introduced in feat(edit-content): update command bar to show all workflow actions #35290.groupActions=true, actions are grouped bySEPARATORentries and each group renders as ap-splitButton(main action + dropdown for sub-actions), exactly as it did before the refactor.groupActions=false(default), the new breakpoint-driven inline buttons + overflow menu behaviour is preserved.[groupActions]="true"back todot-uve-workflow-actions.component.html.Root cause
PR #35290 removed the
groupActionsinput entirely when simplifying the component. The UVE toolbar relied on it to display ap-splitButtondropdown; without it, all workflow actions started rendering as flat inline buttons inside the UVE — breaking the expected UX.Changes
dot-workflow-actions.component.tsgroupActionsinput; added$groupedActionscomputed signal andSplitButtonModuleimportdot-workflow-actions.component.html@if (groupActions())branch that rendersp-splitButtongroups using@letlocals and?.optional chaining, identical to the original patterndot-uve-workflow-actions.component.html[groupActions]="true"bindingdot-workflow-actions.component.spec.tsgroupActions=truepath (split-button rendering, sub-action model,actionFiredemission, separator grouping, empty state)##VIDEO
Screen.Recording.2026-04-16.at.5.06.23.PM.mov
Test plan
p-splitButtondropdown as beforeyarn nx test ui --testPathPattern=dot-workflow-actionsCloses #35034