Moritz Bunkus [Fri, 13 Jan 2017 09:25:48 +0000 (10:25 +0100)]
ActionBar: ComboBox mit nur einem Eintrag wie Eintrag rendern
Das erleichtert, wenn man in einer ComboBox mehrere Einträge evtl. gar
nicht anzeigt. Der Aufrufer muss dann nicht prüfen, ob er der ComboBox
einen oder mehrere Einträge übergibt.
Moritz Bunkus [Fri, 13 Jan 2017 09:22:12 +0000 (10:22 +0100)]
ActionBar: Auslassen von Actions über Parameter »only_if«/»not_if« steuern können
Gedacht für Buttons, die z.B. aufgrund der Mandantenkonfiguration nie
angezeigt werden können. Nicht gedacht für Buttons, die nur aufgrund des
Belegzustands nicht benutzt werden können (z.B. »Löschen« bei einem noch
nicht gespeicherten Beleg).
Moritz Bunkus [Wed, 11 Jan 2017 08:51:34 +0000 (09:51 +0100)]
ActionBar: existierende Inputs namens »action« vor Submit entfernen
Wenn man zuerst druckt und dabei »action« auf z.B. »print« gesetzt wird,
so wird anschließend das PDF heruntergeladen. Allerdings verbleibt die
»action=print« in der Form.
Wenn dann anschließend einer der Menüpunkte angeklickt wird,
z.B. »Erneuern«, so wurde nur ein weiterer Hidden namens
»action_update=1« ergänzt und die Form abgeschickt. Da aber
»action=print« weiterhin gilt (und nicht »action=dispatch«), wird
weiterhin das Drucken ausgeführt und nicht das Erneuern.
Ähnlich sähe es aus, wenn beim Drucken nicht »action=print« sondern
»action_print=1« hinzugefügt wird. Auch dann würde beim Erneuern
»action_update=1« hinzugefügt, und schon hätte man zwei
»action_…«-Einträge in der Form. Dann käme es darauf an, in welcher
Reihenfolge die »sub dispatch« die gesetzten Actions überprüft.
Generell ist das Problem bei jedem Submit via JavaScript, dass die
auszuführende Action irgendwie gesetzt werden muss, und dass man sich
andererseits auch nicht darauf verlassen kann, dass »action=dispatch«
gilt.
Die einzig zuverlässige Variante ist:
1. den Dispatcher-Mechanismus von bin/mozilla gar nicht benutzen, weil
sich der darauf verlässt, dass »action=dispatch« gilt,
2. zuerst dafür zu sorgen, dass in der Form keine Input mit Namen
»action« vorhanden ist und
3. anschließend einen Input mit Namen »action=gewünschte Action«
hinzuzufügen.
Das ist genau das, was dieser Commit implementiert.
Moritz Bunkus [Thu, 10 Nov 2016 12:08:20 +0000 (13:08 +0100)]
ActionBar: API-Umstellung fürs Hinzufügen
Designziele:
• möglichst wenig Funktionsaufrufe auf eine ActionBar-Instanz
• Hash-artige Struktur der Daten zwecks bekanntem Aussehen und leichter
Verständlichkeit
• Leichter um neue Typen erweiterbar
• Rekursiv parsend (für Comboboxen)
Moritz Bunkus [Wed, 9 Nov 2016 11:28:11 +0000 (12:28 +0100)]
ActionBar: bei Click auf Combo ohne oberste Action Menü aufklappen
Manche Comboboxes wie z.B. »Workflow« oder »mehr« haben auf dem obersten
Button keine Action konfiguriert (weder »submit« noch »call«). Um die
Benutzer nicht zu sehr zu verwirren, werden diese nun nicht mehr als
deaktiviert dargestellt. Bei einem Klick auf den Button-Teil der
Combobox wird dann das Menü aufgeklappt, genau so, als hätte man auf den
Pfeil-Teil geklickt.
Sven Schöling [Fri, 28 Oct 2016 13:08:39 +0000 (15:08 +0200)]
css: funktionales revamp für actionbar
- z-index für v3 und javascript gefixt
- flat styling, weil die gradienten kaputt aussehen
- top margins für actionbar und ohne gefixt
- position:fixed korrigiert
Sven Schöling [Fri, 21 Oct 2016 11:51:34 +0000 (13:51 +0200)]
is: actionbar implementiert.
Änderungen:
- post_and_[print/mail] sind wie geplant raus.
- zurück ist raus
- confirm bei mark as paid eingefügt
- show_delete als Bedingung für post sieht falsch aus