20101015

  • New class lino.fields.HtmlBox to be used as return_type for lino.projects.dsbe.models.Person.links_by_owner().

  • :write_debug_info: as a field in a .dtl file means that Lino writes a .debug.html file for this Layout.

  • Tilt! Class ext_elems.MethodElement becomes unused, and lino.ui.extjs.ext_ui.ExtUI.create_meth_element calls create_field_element (faking a Django database field that has the name of the method).

  • Nächstes Problem war: wie aktualisiert man ein Panel? Wie kriege ich es hin, dass das von contacts.Person.links_by_owner() zurückgegebene HTML-Fragment “schön” gerendert wird? Erster Versuch war:

    cmp..getEl().update(record.data[cmp.name])
    

    Aber der verbose_name soll ja als Titel des Panels erscheinen. Wenn ich aber selber das body-Element bearbeite, dann verschwinden auch Titel und/oder eventuelle toolbars des Panels. Die will ich ja behalten. Ich will sozusagen nur in den inneren Bereich des Panels schreiben. Lösung:

    var cmp = new Ext.Panel({title: 'Links', items:new Ext.BoxComponent()});
    ...
    cmp.items.get(0).getEl().update(record.data[cmp.name])
    

Check-In.

TODO:

  • drag & drop
  • link types
  • LinksByOwner : wie sortieren?
  • autoScroll für wenn viele Links da sind.
  • Links vom Panel aus bearbeiten können (ui.get_absolute_url, context menu)