Hi,
I'm trying to use the new feature in the list controller (deputy) but I
can't get it to work without the form controller.
Martin, you said the limitation for using it with multi selection was in the
form controller. To test it I'm not using the form controller and I'm using
the Object controller instead.
Here are some code to illustrate what I'm trying to do:
http://demo.qooxdoo.org/1.3-pre/playground/#%7B%22code%22%3A%20%22%252F*%2520************************************************************************%250A%250A%2520%2520%2520qooxdoo%2520-%2520the%2520new%2520era%2520of%2520web%2520development%250A%250A%2520%2520%2520http%253A%252F%252Fqooxdoo.org%250A%250A%2520%2520%2520Copyright%253A%250A%2520%2520%2520%2520%25202004-2008%25201%25261%2520Internet%2520AG%252C%2520Germany%252C%2520http%253A%252F%252Fwww.1und1.de%250A%250A%2520%2520%2520License%253A%250A%2520%2520%2520%2520%2520LGPL%253A%2520http%253A%252F%252Fwww.gnu.org%252Flicenses%252Flgpl.html%250A%2520%2520%2520%2520%2520EPL%253A%2520http%253A%252F%252Fwww.eclipse.org%252Forg%252Fdocuments%252Fepl-v10.php%250A%2520%2520%2520%2520%2520See%2520the%2520LICENSE%2520file%2520in%2520the%2520project's%2520top-level%2520directory%2520for%2520details.%250A%250A%2520%2520%2520Authors%253A%250A%2520%2520%2520%2520%2520*%2520Martin%2520Wittemann%2520(martinwittemann)%250A%250A************************************************************************%2520*%252F%250A%250A%252F**%250A%2520*%2520%2540tag%2520databinding%250A%2520*%2520%2540tag%2520list%2520contorller%250A%2520*%2520%2540tag%2520form%2520controller%250A%2520*%252F%250Aqx.Class.define(%2522demobrowser.demo.data.FormAndListController%2522%252C%250A%257B%250A%2520%2520extend%2520%253A%2520qx.application.Standalone%252C%250A%250A%2520%2520members%2520%253A%250A%2520%2520%257B%250A%2520%2520%2520%2520main%253A%2520function()%250A%2520%2520%2520%2520%257B%250A%2520%2520%2520%2520%2520%2520this.base(arguments)%253B%250A%250A%2520%2520%2520%2520%2520%2520var%2520genders_data%2520%253D%2520%255B%250A%2520%2520%2520%2520%2520%2520%2520%2520%257Blabel%253A%2520%2522male%2522%252C%2520data%253A%2520%2522M%2522%257D%252C%2520%250A%2520%2520%2520%2520%2520%2520%2520%2520%257Blabel%253A%2520%2522female%2522%252C%2520data%253A%2520%2522F%2522%257D%252C%2520%250A%2520%2520%2520%2520%2520%2520%2520%2520%257Blabel%253A%2520%2522dont%2520know!%2522%252C%2520data%253A%2520%2522WTF%2522%257D%252C%2520%250A%2520%2520%2520%2520%2520%2520%2520%2520%257Blabel%253A%2520%2522Alien%2522%252C%2520data%253A%2520%2522A%2522%257D%250A%2520%2520%2520%2520%2520%2520%255D%253B%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520create%2520some%2520dummy%2520data%250A%2520%2520%2520%2520%2520%2520var%2520my_data%2520%253D%2520%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520firstname%253A%2520%2522Martin%2522%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520lastname%253A%2520%2522Wittemann%2522%252C%250A%2520%2520%2520%2520%2520%2520%2520%2520gender%253A%2520%255B%255D%250A%2520%2520%2520%2520%2520%2520%257D%253B%250A%2520%2520%2520%2520%2520%2520var%2520genders_model%2520%253D%2520qx.data.marshal.Json.createModel(genders_data)%253B%250A%2520%2520%2520%2520%2520%2520var%2520my_model%2520%253D%2520qx.data.marshal.Json.createModel(my_data)%253B%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520firstname%250A%2520%2520%2520%2520%2520%2520var%2520firstname%2520%253D%2520new%2520qx.ui.form.TextField()%253B%250A%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520lastname%250A%2520%2520%2520%2520%2520%2520var%2520lastname%2520%253D%2520new%2520qx.ui.form.TextField()%253B%250A%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520gender%250A%2520%2520%2520%2520%2520%2520var%2520gender%2520%253D%2520new%2520qx.ui.form.List()%253B%250A%2520%2520%2520%2520%2520%2520gender.setSelectionMode(%2522multi%2522)%253B%250A%2520%2520%2520%2520%2520%2520var%2520genderController%2520%253D%2520new%2520qx.data.controller.List(null%252C%2520gender)%253B%250A%2520%2520%2520%2520%2520%2520genderController.setDelegate(%257BbindItem%253A%2520function(controller%252C%2520item%252C%2520index)%2520%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520controller.bindProperty(%2522label%2522%252C%2520%2522label%2522%252C%2520null%252C%2520item%252C%2520index)%253B%250A%2520%2520%2520%2520%2520%2520%2520%2520controller.bindProperty(%2522data%2522%252C%2520%2522model%2522%252C%2520null%252C%2520item%252C%2520index)%253B%2520%2520%2520%2520%2520%2520%2520%2520%250A%2520%2520%2520%2520%2520%2520%257D%257D)%253B%250A%2520%2520%2520%2520%2520%2520genderController.setModel(genders_model)%253B%250A%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520create%2520the%2520form%2520and%2520add%2520it%2520to%2520the%2520root%250A%2520%2520%2520%2520%2520%2520this.getRoot().add(firstname%252C%2520%257Bleft%253A%252030%252C%2520top%253A%252020%257D)%253B%250A%2520%2520%2520%2520%2520%2520this.getRoot().add(lastname%252C%2520%257Bleft%253A%252030%252C%2520top%253A%252050%257D)%253B%250A%2520%2520%2520%2520%2520%2520this.getRoot().add(gender%252C%2520%257Bleft%253A%252030%252C%2520top%253A%252080%257D)%253B%250A%2520%2520%2520%2520%2520%2520%250A%2520%2520%2520%2520%2520%2520var%2520controller%2520%253D%2520new%2520qx.data.controller.Object(my_model)%253B%250A%250A%2520%2520%2520%2520%2520%2520controller.addTarget(firstname%252C%2520%2522value%2522%252C%2520%2522firstname%2522%252C%2520true)%253B%250A%2520%2520%2520%2520%2520%2520controller.addTarget(lastname%252C%2520%2522value%2522%252C%2520%2522lastname%2522%252C%2520true)%253B%250A%2520%2520%2520%2520%2520%2520controller.addTarget(genderController%252C%2520%2522selection%2522%252C%2520%2522gender%2522%252C%2520true)%253B%250A%250A%2520%2520%2520%2520%2520%2520%252F%252F%2520A%2520button%2520to%2520log%2520the%2520models%2520content%250A%2520%2520%2520%2520%2520%2520var%2520logButton%2520%253D%2520new%2520qx.ui.form.Button(%2522Show%2520model%2520data%2520in%2520the%2520log%2522)%253B%250A%2520%2520%2520%2520%2520%2520this.getRoot().add(logButton%252C%2520%257Bleft%253A%2520240%252C%2520top%253A%252020%257D)%253B%250A%2520%2520%2520%2520%2520%2520logButton.addListener(%2522execute%2522%252C%2520function()%2520%257B%250A%2520%2520%2520%2520%2520%2520%2520%2520this.debug(qx.dev.Debug.debugProperties(my_model))%253B%250A%2520%2520%2520%2520%2520%2520%257D%252C%2520this)%253B%250A%2520%2520%2520%2520%2520%2520my_model.setGender(new%2520qx.data.Array(%255B%2522M%2522%252C%2520%2522WTF%2522%255D))%253B%250A%2520%2520%2520%2520%2520%2520%252F%252Fgender.setModelSelection(%255B%2522WTF%2522%255D)%253B%2520%252F%252F%2520that%2520works%2520bu%2520I%2520should%2520be%2520able%2520to%2520do%2520model.setGender(%255B%2522WTF%2522%255D)%253B%252C%2520shouldn't%2520I%253F%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%257D)%253B%22%7D
As you can see: my_model.setGender() is not propagating the changes to the
UI. I think it's a bug because I'm creating a bidirectional binding.
or is there anything wrong with my code?
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel