UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

80 lines (61 loc) 2.33 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) ************************************************************************ */ /* ************************************************************************ ************************************************************************ */ /** * * @asset(qxl/demobrowser/demo/data/finder.json) * @tag databinding */ qx.Class.define("qxl.demobrowser.demo.data.Finder", { extend : qx.application.Standalone, members : { main: function() { this.base(arguments); // create and configure a window var win = new qx.ui.window.Window("Finder"); win.setLayout(new qx.ui.layout.HBox()); win.setContentPadding(0); win.setShowMaximize(false); win.setShowMinimize(false); win.setShowClose(false); // open the window win.open(); // create and add the lists var list1 = new qx.ui.form.List(); win.add(list1); var list2 = new qx.ui.form.List(); win.add(list2); var list3 = new qx.ui.form.List(); win.add(list3); // create the controllers, one for each list // and set the name in the data for the label var controller1 = new qx.data.controller.List(null, list1); controller1.setLabelPath("name"); var controller2 = new qx.data.controller.List(null, list2); controller2.setLabelPath("name"); var controller3 = new qx.data.controller.List(null, list3); controller3.setLabelPath("name"); // create the data store var url = qx.util.ResourceManager.getInstance().toUri("demobrowser/demo/data/finder.json"); var store = new qx.data.store.Json(url); // connect the store and the first controller store.bind("model.files", controller1, "model"); // connect the rest of the controllers controller1.bind("selection[0].files", controller2, "model"); controller2.bind("selection[0].files", controller3, "model"); } } });