20100121

Ich bin noch immer am issue 49 und issue 80 dran. Die URL-Struktur stimmt ungefähr (das war das Schwierigste): unter /choices/ antwortet jetzt wieder choices_view(). Neue Klasse ChoicesViewRequest.

Und wenn ich in http://127.0.0.1:8000/?show=contacts_Persons im Feld City doppelklicke und die Combobox triggere, dann habe ich jetzt eine Liste mit nur den belgischen Städten. Super.

Aber leider schickt die ComboBox die ausgewählte Stadt nicht nach grid_afteredit(). Sieht aus als ob es nicht in grid_afteredit() liegt, sondern dass die ComboBox die ausgewählte value gar nicht erst ans event rübergibt. e.value ist jedenfalls immer leer. Ich tippe darauf, dass ich Konfigurationsparameter valueField, hiddenField usw. falsch benutze.

Es hilft nichts, ich muss ein isoliertes Snippet schreiben, um im ExtJS-Forum fragen zu können.

Zuerst mal Testdaten herbeischaffen. Oho, fill.py demo funktioniert nicht mehr, weil ich das nach Issue 83 noch anpassen muss.

Oh je, jetzt hab ich mich festgebissen: 2 Stunden Spielerei, und jetzt installiert python fill.py be ee demo alle 2853 belgischen und 367 estnischen Städte. Und nützen tut das vorerst nichts, denn ich brauche für mein isoliertes Snippet kleine Testdatensätze. Nein, das muss ich verfeinern. Hier jetzt eine Übersicht der fixtures, die mit Lino kommen:

Demo-Daten:

  • demo : kleines Testdatenset Ostbelgien
  • demo_ee : kleines Testdatenset Estland

“Echte” Daten:

  • be : lädt alle belgischen Städte und Postleitzahlen
  • ee : lädt die wichtigsten estnischen Städten, ohne Dörfer und ohne Postleitzahlen
  • iso3166 : lädt eine Liste mit allen Ländern der Welt laut ISO 3166.

Wenn man Demo-Daten lädt, darf man keine “echten” laden. be und ee erfordern iso3166.

So, mit python fill.py demo kriegt man jetzt eine übersichtliche kleine Demo-Datenbank.

Aber jetzt wird mir klar, dass es auch mit einer übersichtlichen kleinen Demo-Datenbank nicht möglich sein wird, mein isoliertes Snippet hinzukriegen. Es geht ja um ComboBoxes mit mode=’remote’ und PagingToolbar. Hier einige URLs von AJAX-calls:

{{{ GET http://127.0.0.1:8000/list/contacts/Companies?_dc=1264087888005 GET http://127.0.0.1:8000/list/contacts/Companies?_dc=1264087889024&limit=4&start=0 GET http://127.0.0.1:8000/choices/contacts/Companies/city?_dc=1264088486580&start=0&limit=10&query= }}}

Und jetzt zeigt die Uhr Feierabend! Also issue 49 und issue 80 sind auch morgen noch dran…