CallBackery
view release on metacpan or search on metacpan
lib/CallBackery/qooxdoo/callbackery/source/class/callbackery/data/RemoteTableModel.js view on Meta::CPAN
/* ************************************************************************
Copyrigtht: OETIKER+PARTNER AG
License: GPLV3
Authors: Tobias Oetiker
Utf8Check: äöü
************************************************************************ */
/**
* An {@link qx.ui.table.model.Remote} implementation for accessing
* accessing Messreihen on the server.
*/
qx.Class.define('callbackery.data.RemoteTableModel', {
extend: qx.ui.table.model.Remote,
include: [callbackery.locale.MTranslation],
/**
* Create an instance of Rpc.
*/
construct: function(cfg, getParentFormData) {
this.base(arguments);
this._getParentFormData = getParentFormData;
var that = this;
var ids = [];
var labels = [];
var types = {};
cfg.table.forEach(function(col) {
ids.push(col.key);
labels.push(that.xtr(col.label));
types[col.key] = col.type;
});
this.setColumns(labels, ids);
cfg.table.forEach(function(col, i) {
this.setColumnSortable(i, col.sortable);
}, this);
this.__instanceName = cfg.name;
this.__types = types;
this.__ids = ids;
},
properties: {
formData: {
init: {}
}
},
members: {
_getParentFormData: null,
__instanceName: null,
__types: null,
__ids: null,
/**
* Provid our implementation to make remote table work
*/
_loadRowCount: function() {
var that = this;
var rpc = callbackery.data.Server.getInstance();
var rpcArgs = {
formData: this.getFormData()
};
if (this._getParentFormData) {
rpcArgs.parentFormData = this._getParentFormData();
}
rpc.callAsyncSmart(function(ret) {
that._onRowCountLoaded(ret);
}, 'getPluginData', this.__instanceName, 'tableRowCount', rpcArgs);
},
/**
* Provide our own implementation of the row data loader.
*
* @param firstRow {Integer} first row to load
* @param lastRow {Integer} last row to load
*/
( run in 1.156 second using v1.01-cache-2.11-cpan-ceb78f64989 )