UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

109 lines (88 loc) 3.17 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2011 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) ************************************************************************ */ /** * This interface defines a data structure compatible with the data binding * controllers. * It defines a minimum of functionality which the controller need to work. */ qx.Interface.define("qx.data.IListData", { events : { /** * The change event which will be fired if there is a change in the data structure. * The data contains a map with three key value pairs: * <li>start: The start index of the change.</li> * <li>end: The end index of the change.</li> * <li>type: The type of the change as a String. This can be 'add', * 'remove', 'order' or 'add/remove'</li> * <li>added: The items which has been added (as a JavaScript array)</li> * <li>removed: The items which has been removed (as a JavaScript array)</li> */ "change" : "qx.event.type.Data", /** * The changeLength event will be fired every time the length of the * data structure changes. */ "changeLength": "qx.event.type.Event" }, members : { /** * Returns the item at the given index * * @param index {Number} The index requested of the data element. * * @return {var} The element at the given index. */ getItem : function(index) {}, /** * Sets the given item at the given position in the data structure. A * change event has to be fired. * * @param index {Number} The index of the data element. * @param item {var} The new item to set. */ setItem : function(index, item) {}, /** * Method to remove and add new element to the data. For every remove or * add a change event should be fired. * * @param startIndex {Integer} The index where the splice should start * @param amount {Integer} Defines number of element which will be removed * at the given position. * @param varargs {var} All following parameters will be added at the given * position to the array. * @return {qx.data.Array} An array containing the removed elements. */ splice : function(startIndex, amount, varargs) {}, /** * Check if the given item is in the current data structure. * * @param item {var} The item which is possibly in the data structure. * @return {Boolean} true, if the array contains the given item. */ contains : function(item) {}, /** * Returns the current length of the data structure. * * @return {Number} The current length of the data structure. */ getLength : function() {}, /** * Returns the list data as native array. * * @return {Array} The native array. */ toArray: function() {} } });