UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

83 lines (65 loc) 2.42 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2009 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Martin Wittemann (martinwittemann) ************************************************************************ */ /** * @lint ignoreDeprecated(alert) * @tag databinding * @tag serialization */ qx.Class.define("qxl.demobrowser.demo.data.FormController", { extend : qx.application.Standalone, members : { main: function() { this.base(arguments); // create the UI /////////////////// // groupbox var groupBox = new qx.ui.groupbox.GroupBox("Simple Form"); groupBox.setLayout(new qx.ui.layout.Canvas()); this.getRoot().add(groupBox, {left: 10, top: 10}); // form var form = new qx.ui.form.Form(); // add the form items var nameTextfield = new qx.ui.form.TextField(); nameTextfield.setRequired(true); nameTextfield.setWidth(200); form.add(nameTextfield, "First Name", null, "firstName"); form.add(new qx.ui.form.TextField(), "Last Name", null, "lastName"); form.add(new qx.ui.form.TextField(), "Company"); form.add(new qx.ui.form.TextField(), "Email"); form.add(new qx.ui.form.DateField(), "Date"); // buttons var saveButton = new qx.ui.form.Button("Save"); saveButton.setWidth(70); form.addButton(saveButton); var cancelButton = new qx.ui.form.Button("Cancel"); cancelButton.setWidth(70); form.addButton(cancelButton); // create the view groupBox.add(new qx.ui.form.renderer.Single(form)); //////////////////////////////////// // binding ///////////////////////// var controller = new qx.data.controller.Form(null, form); var model = controller.createModel(); //////////////////////////////////// // serialization and reset ///////// saveButton.addListener("execute", function() { if (form.validate()) { alert("You are saving: " + qx.util.Serializer.toJson(model)); } }, this); cancelButton.addListener("execute", form.reset, form); //////////////////////////////////// } } });