feat(workflow): Workflow-Buttons in die Standard-Button-Leiste der Form integrieren
Die Workflow-Buttons ("Nächster Kontakt", "Speichern und weiter") standen
bisher in einer eigenen Zeile über der Standard-Leiste (Zurücksetzen,
Abbrechen, Speichern). Das Form-Widget erhält dafür das neue optionale
Attribut extrabuttons, dessen Buttons rechts neben "Speichern" in die
Leiste eingereiht werden — sie profitieren damit auch vom Sticky-Verhalten
der Leiste.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
4d8febcc3f
commit
32afb35840
2 files changed
+45
-30
No files matched your search
@@ -19,6 +19,14 @@ export interface iForm {
|
||||
* der Form synchron zu halten und so den Navigations-Guard
|
||||
* (dirtyguard.ts) zu speisen. */
|
||||
onDirtyChange?: (dirty: boolean) => void
|
||||
/** Zusätzliche Buttons, die in die Standard-Button-Leiste der Form
|
||||
* eingereiht werden. Sie werden im DOM vor den Standard-Buttons
|
||||
* gesetzt und floaten daher (mit w3-right) rechts außen — die
|
||||
* Standard-Buttons (Zurücksetzen, Abbrechen, Speichern) behalten
|
||||
* ihre gewohnte Position. Die Buttons sind selbst als m(...) zu
|
||||
* übergeben; die aufrufende Maske ist für Styling und Callbacks
|
||||
* verantwortlich. */
|
||||
extrabuttons?: m.Child[]
|
||||
}
|
||||
|
||||
export const Form:m.ClosureComponent<iForm> = (vnode) => {
|
||||
@@ -103,6 +111,11 @@ export const Form:m.ClosureComponent<iForm> = (vnode) => {
|
||||
: {}
|
||||
},
|
||||
[
|
||||
// Zusätzliche Buttons der Maske zuerst ins DOM:
|
||||
// mit w3-right landen sie optisch rechts außen,
|
||||
// die Standard-Buttons bleiben links davon in
|
||||
// ihrer gewohnten Reihenfolge.
|
||||
...(vnode.attrs.extrabuttons || []),
|
||||
m("button.w3-button.w3-theme.w3-right.w3-mobile", {style: {margin: '0px 0px 2px 4px'}, type: "submit"}, "Speichern"),
|
||||
m("button.w3-button.w3-theme.w3-right.w3-mobile", {style: {margin: '0px 0px 2px 4px'}, onclick: cancel, type: "button"}, "Abbrechen"),
|
||||
m("button.w3-button.w3-theme.w3-right.w3-mobile", {onclick: reset, type: "button"}, "Zurücksetzen")
|
||||
|
||||
Reference in new issue
Block a user