ui: consolidate generated form actions into a sticky header action bar (#7434) - #7436
Open
NicoleNG18 wants to merge 3 commits into
Open
NicoleNG18 wants to merge 3 commits into
NicoleNG18 wants to merge 3 commits into
Conversation
eclipse-dirigible#7434) Generated entity forms rendered every action in an inline footer toolbar - the essential controls (Create/Save, Cancel/Close), the BPM task action and all discretionary actions (Print, Duplicate, custom/transition actions) side by side. The row was crowded, the primary action had no prominence, and because it was a footer it scrolled out of view on a long form, so Save/Approve were only reachable at the very bottom. The action toolbar now lives in a sticky header bar (sticky top-0, own background, bottom border, above the form body), left -> right: Back to list, title + status, then the BPM task action (standalone), a discretionary overflow menu ("..."), Cancel/Close and Save/Create. The overflow is a Harmonia Menu in dropdown mode (x-h-menu + x-h-menu-trigger.dropdown, ellipsis icon) collapsing Print, Duplicate and every custom/transition action; its trigger is hidden until the record is saved, so an entity with no discretionary action shows no "...". Every control keeps its existing state gating (preview-vs-edit, isForbidden(), fromStatus, mutable, dirty-state), so nothing new is offered or refused. Applied to all six form-bearing views: perspective/document/document-view, perspective/manage/form-view and the my/ and partner/ document + form siblings. The FK "Add" iframe dialog (?dialog=1) hides the header bar and supplies its own chrome, so form-view keeps a slim dialog-only footer (Cancel + Save). Verified: IntentEmissionCoverageIT, HarmoniaContractIT and ModelGenerationIT green (the templates render, twice, and pass the Harmonia directive/class contract and the personal-surface button assertions); formatter:validate green. Not verified: no live browser screenshot of the sticky positioning. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…actions (eclipse-dirigible#7434) Review feedback on the first cut of the sticky bar: - It rendered with data-variant="transparent", so the scrolling form showed through it and it read as flaky/missing. Harmonia's sticky variant is `clear` (paints the page background) - the toolbar reference calls it out for exactly this "sticky toolbar over a scrolling container" case. Switched all six bars to data-variant="clear" and dropped the hand-rolled bg-background. - The page root was `vbox size-full` (h-full), which caps the sticky element's containing block at one viewport, so the bar scrolled away past the first screen. Changed the root to `vbox w-full` so it grows with its content and the bar holds across the whole scroll (#app is the scroll container). - Reordered the cluster to Cancel -> Save -> Back to list -> overflow menu, with the BPM task action leading and the "..." menu now rightmost. Back to list moves from the far left into the right-hand cluster. Applied to all six form-bearing views (power document + manage form, and the my/ partner document + form siblings). Verified live: sales-invoices regenerated through these templates and published; the served SalesInvoice-document.html carries data-variant="clear", sticky top-0 z-10, the w-full root and the new button order. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…action bar (eclipse-dirigible#7434) Review feedback: the workflow task button (Approve / Issue / ...) competed with the form's Save/Cancel when it sat in the action bar. It advances the document's lifecycle - it is not a form control - so it now lives as its own card at the top of the right-hand sidebar, styled like the Details card: - x-h-card with the "Your next step" title, the process name (Sales Invoice Approval), and the task button(s) - one per actionable task. - Rendered whenever the record has an actionable task (getTasks(form).length), in BOTH edit and preview; otherwise the sidebar's Details card is first, so a record with no pending step is unchanged. - The sidebar wrapper condition gains `|| hasProcess` so a process-bearing document with no read-only fields still renders the column to host the card. The action bar keeps only Cancel / Save / Back to list / overflow. Applied to both power views (document + manage form); the my/partner views carry no BPM and are untouched. Verified live: sales-invoices regenerated and published; the served SalesInvoice-document.html renders the workflow card above Details and no longer carries the task button in the toolbar. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cause
Generated entity forms (
template-application-ui-harmonia-javadocument / manage / form views, on the power / personal / partner surfaces) rendered every action in an inline footer toolbar - the essential controls (Create/Save, Cancel/Close), the BPM task action and all discretionary actions (Print, Duplicate, custom/transition actions like Record Reminder, Save as Template, Void) side by side. The row was crowded, the primary action had no prominence, it wrapped on narrow widths, and - being a footer - it scrolled out of view on a long form, so on a tall document Save/Approve were only reachable at the very bottom.Change
The action toolbar moves into a sticky header action bar (
sticky top-0, own background, bottom border, above the form body); the inline footer is removed. Left -> right:Back to list … title + status … BPM task action · "⋯" overflow menu · Cancel/Close · Save/Create
x-h-menu+x-h-menu-trigger.dropdown,ellipsisicon) collapsing every discretionary action (Print, Duplicate, all custom/transition actions). The trigger is hidden until the record is saved, so an entity with no discretionary action shows no "⋯".Every control keeps its existing state gating (preview-vs-edit,
isForbidden(),fromStatus,mutable, dirty-state), so nothing new is offered or refused. The layout is generic - no action is enumerated by name.Applied to all six form-bearing views:
perspective/document/document-view,perspective/manage/form-viewand themy/andpartner/document + form siblings. The FK "Add" iframe dialog (?dialog=1) hides the header bar and supplies its own chrome, soform-viewkeeps a slim dialog-only footer (Cancel + Save).Verification
IntentEmissionCoverageIT,HarmoniaContractITandModelGenerationITgreen - the templates render (twice), pass the Harmonia directive/utility-class contract, and the personal-surface button assertions (save()/deleteOpen/goBack()presence-by-surface) still hold.mvn -T 1C formatter:validategreen.Fixes #7434
🤖 Generated with Claude Code