Listen: einheitliche Zeilen-Markierung und kompakte Aktions-Buttons
Alle App-Listen (kundenliste, call_log_liste, kontaktliste, kontaktadresseliste, TagList) auf das isSelected-Callback der Treetable umgestellt — die Markierung erfolgt jetzt auf der gesamten <tr>-Zeile via w3-theme-l4 statt per-Zell-Inline-Style. In der kundenliste sind die 3 Aktions-Buttons (edit, Projekte, Kontakte) kompakt in einer Zelle zusammengefasst, analog zur projektliste. Auth-Listen unberührt. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
3e1791d316
commit
ad24981a0b
5 files changed
+51
-54
No files matched your search
+14
-13
@@ -115,18 +115,18 @@ export const kundenliste: m.ClosureComponent = (vnode) => {
|
||||
|
||||
const columnmapper: (node: iTreenode) => any[] = (node: iTreenode) => {
|
||||
let kunde: iKunde = node.nodevalue
|
||||
const isSelected = selectedNode === node
|
||||
const cellStyle = isSelected ? {backgroundColor: 'lightgray'} : {}
|
||||
|
||||
|
||||
return [
|
||||
m("div", {style: cellStyle}, m("strong", kunde.name)),
|
||||
m("span", {style: cellStyle}, kunde.strasse),
|
||||
m("span", {style: cellStyle}, kunde.plz),
|
||||
m("span", {style: cellStyle}, kunde.ort),
|
||||
m("span", {style: cellStyle}, kunde.land),
|
||||
m("button.w3-button.w3-small", {style: cellStyle, onclick: (e: Event) => editKunde(kunde, e)}, m("i.material-icons", "edit")),
|
||||
m("button.w3-button.w3-small", {style: cellStyle, onclick: (e: Event) => showProjekte(kunde, e)}, m("i.material-icons", "library_books")),
|
||||
m("button.w3-button.w3-small", {title: "Kontakte anzeigen", style: cellStyle, onclick: (e: Event) => showKontakte(kunde, e)}, m("i.material-icons", "contact_page"))
|
||||
m("div", m("strong", kunde.name)),
|
||||
m("span", kunde.strasse),
|
||||
m("span", kunde.plz),
|
||||
m("span", kunde.ort),
|
||||
m("span", kunde.land),
|
||||
m("div", {style: {display: 'flex', gap: '0', 'white-space': 'nowrap'}},
|
||||
m("button.w3-button.w3-small", {style: {padding: '0 2px'}, onclick: (e: Event) => editKunde(kunde, e)}, m("i.material-icons", "edit")),
|
||||
m("button.w3-button.w3-small", {style: {padding: '0 2px'}, onclick: (e: Event) => showProjekte(kunde, e)}, m("i.material-icons", "library_books")),
|
||||
m("button.w3-button.w3-small", {title: "Kontakte anzeigen", style: {padding: '0 2px'}, onclick: (e: Event) => showKontakte(kunde, e)}, m("i.material-icons", "contact_page"))
|
||||
)
|
||||
]
|
||||
}
|
||||
|
||||
@@ -150,12 +150,13 @@ export const kundenliste: m.ClosureComponent = (vnode) => {
|
||||
'overflow-y': 'inherit'}},
|
||||
m("h1", "Kundenliste"),
|
||||
m("div", {style: {flex: '1', 'overflow-y': 'inherit'}},
|
||||
m(Treetable,
|
||||
m(Treetable,
|
||||
{
|
||||
treenodes: treenodes,
|
||||
columnmapper: columnmapper,
|
||||
filter: filterFunction,
|
||||
onRowMarked: handleRowMarked
|
||||
onRowMarked: handleRowMarked,
|
||||
isSelected: (node: iTreenode) => node === selectedNode
|
||||
} as iTreetable,
|
||||
m(TopbarButton, {onclick: addKundeRoute, tooltip: "Neuen Kunden anlegen"} as iTopbarButton,
|
||||
m("i.material-icons", "person_add")
|
||||
|
||||
Reference in new issue
Block a user