0

changeBubble event is not fired after a setModel. After a createModel(true) it works. Is there another way to know something is changed on the form?

var page = new qx.ui.mobile.page.NavigationPage();
page.setTitle("Login");
page.addListener("initialize", function() {
    var form = new qx.ui.mobile.form.Form();

    // User name
    var user = new qx.ui.mobile.form.TextField();
    user.setRequired(true);
    form.add(user, "Username");

    var controller = new qx.data.controller.Form(null, form);

    //var model = controller.createModel(true); This works

    var data = {
      "username": "Martin"
    };
    var model = qx.data.marshal.Json.createModel(data);
    controller.setModel(model);

    model.addListener("changeBubble", function (qxEvent) {
      alert("Changed username");
    }, this);

    // Use form renderer
    page.getContent().add(new qx.ui.mobile.form.renderer.Single(form));

},this);

this.getManager().addDetail(page);

page.show();
Niels Steenbeek
  • 4,692
  • 2
  • 41
  • 50

1 Answers1

0

You can listen to a event named "changeUsername" which will be fired as soon as the user name changes. But as soon as you have more that one property in your model, you will have to add more listener, one for each property. In that case, bubble events don't make much sense anyway because you don't have any deep structure where a bubbling would have any benefit.

Martin Wittemann
  • 2,109
  • 1
  • 12
  • 14