Digging a little bit more, I discovered that this approach cannot work since when rendering the list, the same renderer instance is re-used and cloned for each list item. So I cannot get any handle on the widget actually drawn on the screen. So what would be the correct design to have the list reflecting the model changes ?
Le 20 janv. 2014 à 21:32, Vincent Vandenschrick <[email protected]> a écrit : > Hi again, > So I built a small example simulating the problem with the list renderers not > being repainted. In this example, a button listener directly changes one of > the renderer title but nothing get changed on screen; of course, in > real-life, the renderer should be notified of the model change, but for the > sake of simplicity… > I’m sure I must be missing something but I can’t figure out. Here is the > playground test-case : > > http://tinyurl.com/pqzzd53 > > Any hint? Shall I open a bug report ? > > Thanks in advance, > Vincent > > > Le 18 janv. 2014 à 15:34, Vincent Vandenschrick <[email protected]> a écrit : > >> Hi experts, >> >> Still experimenting the mobile API, and now, I face a strange problem. To >> sum-up, I have 2 pages, 1 with a list of items and the second one that >> allows to edit the 1st page selected item. Edition changes the item property >> that is used for list rendering on the first page. The problem is that, >> whatever I try, I cannot manage to get the list items updated accordingly to >> the 2nd page edition. >> >> Everything is MVC oriented through qooxdoo databinding. Since there is no >> mobile List controller, I had to use an object controller on the model item >> so that I can bind the renderer property to the model item property. This is >> called in configureItem of the List widget constructor and here is basically >> what it looks like : >> >> bindListItem: function (item, state) { >> var modelController = new qx.data.controller.Object(state); >> modelController.addTarget(item, "title", "value"); >> modelController.addTarget(item, "subtitle", "description"); >> modelController.addTarget(item, "image", "iconImageUrl"); >> } >> >> When debugging, I can see the setTitle() method of the Default list renderer >> being called as expected. However, when I come back to the list page, >> Nothing has changed and the old value is still there. It may be linked to >> the fact that the list is not visible when the setTitle() method is called >> but I really have no clue. >> >> Am I missing something ? >> >> Thanks in advance for any hint. >> >> Regards, >> Vincent > ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
