20110512

Noch ein Bug weniger

z.B. wenn ich für eine Person einen Führerschein hochgeladen hatte, dann war im Detail-Fenster der “Bearbeiten”-Button im virtuellen Feld driving_licence wie folgt definiert:

<a href='javascript:Lino.uploads.UploadsByOwner.detail(undefined,{
  "data_record": {
    "data": { "delay_value": 0, "reminder_done": false,
      "description": "", "created": "12.05.2011", "reminder_date": null,
      "owner_typeHidden": 11, "modified": "12.05.2011", "typeHidden": 5,
      "owner_idHidden": 200007, "delay_type": "Tage",
      "delay_typeHidden": "D",
      "file": "uploads/2011/05/Lenkung.jpg",
      "reminder_text": "", "owner_type": "person",
      "type": "F\u00fchrerschein", "id": 11,
      "owner_id": "Mustermann Max (200007)"
    }
  }
})'>Bearbeiten</a>

Wenn man darauf klickte, erschien zwar der Upload, aber man konnte ihn dann weder löschen noch refreshen (in beiden Fällen bekam man “Lino server did not respond to Ajax request”).

Grund: der data_record dort war nicht komplett. Es fehlten id, title und disable_delete. Das war weil ExtUI.quick_upload_buttons() elem2rec1() benutzte statt elem2rec_detailed(). Außerdem benutzt er für den “Upload”-Button (der ja eigentlich ein Insert macht) jetzt die neue elem2rec_insert(), die den Fenstertitel korrekt setzt.

6.15 Uhr : Check-in 20110512 und Minirelease in Eupen.

20.50 Uhr: In einigen Reports hatte ich die Kolonnenreihenfolge (“Form” vor “Inhalt”) noch nicht korrigiert. Nochmal ein Minirelease 20110512b.

Neues Feature “Expand Memos”

22 Uhr, schauen wir uns mal das folgende feature request an:

  1. Anzeige von mehrzeiligen Texten in Grids: Ein Button “Expand”, der für Memo-Felder zwischen “nur erste Zeile” und “alles” umschaltet. Bisher werden Memo-Felder immer komplett angezeigt, was ggf. zu sehr hohen Grid-Zeilen führen kann.

In lino.ui.extjs3.requests habe ich jetzt zwei neue Konstanten:

URL_PARAM_TAB = 'tab'
URL_PARAM_EXPAND = 'expand'

(Das keyword für “tab” war bisher nicht als Konstante in lino.ui.requests definiert, und Lino akzeptierte es folglich auch als Feldnamen. Jetzt nicht mehr.)

In ext_ui sind dabei einige Optimierungen bzw. Umstrukturierungen gekommen. Neues Attribut lino.reports.Report.expand_memos ist par défaut auf False. Das Attribut nach ReportActionRequest übernommen und bisher lediglich in lino.modlib.notes.models.Note.body_html() genutzt.

Konkret: neuer Button “Memo” in der top toolbar einer Grid. Wenn man den klickt, wird umgeschaltet (was jedesmal zu einem refresh führt).

Im “collapsed” Modus zeigt momentan immer nur die ersten 30 Zeichen der ersten Zeile an. Falls der Text länger ist, hängt er noch “…” dran um das anzuzeigen.

Hier könnte auch noch verfeinert werden: dass man auf die “…” klicken kann, um diesen einen Text dann doch zu expandieren.

Das Ganze könnte man auch ohne Refresh implementieren mit ein bisschen DHTML-Zauberei.

24 Uhr. Cool, es scheint tatsächlich zu klappen! Weniger als 2 Stunden Arbeit, das hätte ich nicht gedacht. Check-in 20110512c. Aber morgen teste ich doch lieber noch was, bevor ich das Ding in Eupen installiere, denn da waren ja doch einige Änderungen, die subtile Bugs bewirken könnten.