Form-Widget stickyButtons und einheitliches Form-View-Layout

Form-Widget um stickyButtons-Attribut erweitert (default true): nur der
Formularinhalt scrollt, die Buttons bleiben fixiert am unteren Rand. Neue
CSS-Klasse .form-view-container (flex-Column, volle Höhe) für die
umschließenden View-Container. Form-Views (kunde, projekt, call_log, tags)
auf w3-auto.form-view-container umgestellt; Tag-Form von w3-twothird auf
w3-auto korrigiert.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
gg committed 2026-08-31 20:10:54 +02:00
1 parent 3accb8f690
commit 28f858f6da
6 files changed
+89 -27

No files matched your search

+5 -3
View File
@@ -217,9 +217,10 @@ export const Projekt: m.ClosureComponent = (vnode) => {
const kundenOptionen: iSelectOption[] = getKunden().map((k: iKunde) => {
return {value: k.id, label: k.name}
})
return m("div.w3-container.w3-auto",
return m("div.w3-container.w3-auto.form-view-container",
m("h1", currentProjekt.id === -1 ? "Neues Projekt anlegen" : "Projekt-Stammblatt"),
m(Form, {showButtons: true, onsubmit: submit, oncancel: cancel} as iForm, [
m("div", {style: {flex: '1', 'min-height': '0'}},
m(Form, {showButtons: true, onsubmit: submit, oncancel: cancel} as iForm, [
m("label", "Kunde",
m(Select, {
name: "kundenId",
@@ -232,7 +233,8 @@ export const Projekt: m.ClosureComponent = (vnode) => {
m("label", "Zweck", m(Input, {name: "zweck", value: currentProjekt.zweck, type: "text"} as iInput)),
m("label", "Verantwortlicher", m(Input, {name: "verantwortlicher", value: currentProjekt.verantwortlicher, type: "text"} as iInput)),
m("label", "Startdatum", m(Input, {name: "startdatum", value: currentProjekt.startdatum, type: "date"} as iInput))
])
])
)
)
}
}