mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-18 03:11:40 +01:00
Api: Nextmatch - Do not generate DOM nodes for hidden columns
This commit is contained in:
parent
f3b11295b0
commit
0f3a1660ff
@ -493,11 +493,14 @@ var et2_dataview = (function(){ "use strict"; return Class.extend({
|
|||||||
*/
|
*/
|
||||||
_buildGrid: function() {
|
_buildGrid: function() {
|
||||||
// Create the collection of column ids
|
// Create the collection of column ids
|
||||||
var colIds = new Array(this.columns.length);
|
var colIds = new Array();
|
||||||
for (var i = 0; i < this.columns.length; i++)
|
for (var i = 0; i < this.columns.length; i++)
|
||||||
|
{
|
||||||
|
if(this.columns[i].visible)
|
||||||
{
|
{
|
||||||
colIds[i] = this.columns[i].id;
|
colIds[i] = this.columns[i].id;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create the row provider
|
// Create the row provider
|
||||||
if (this.rowProvider)
|
if (this.rowProvider)
|
||||||
|
@ -100,13 +100,14 @@ var et2_dataview_rowProvider = (function(){ "use strict"; return Class.extend(
|
|||||||
var tr = jQuery(document.createElement("tr"));
|
var tr = jQuery(document.createElement("tr"));
|
||||||
|
|
||||||
// Append a td for each column
|
// Append a td for each column
|
||||||
for (var i = 0; i < this._columnIds.length; i++)
|
for (var column of this._columnIds)
|
||||||
{
|
{
|
||||||
|
if(!column) continue;
|
||||||
var td = jQuery(document.createElement("td"))
|
var td = jQuery(document.createElement("td"))
|
||||||
.addClass(this._outerId + "_td_" + this._columnIds[i])
|
.addClass(this._outerId + "_td_" + column)
|
||||||
.appendTo(tr);
|
.appendTo(tr);
|
||||||
var div = jQuery(document.createElement("div"))
|
var div = jQuery(document.createElement("div"))
|
||||||
.addClass(this._outerId + "_div_" + this._columnIds[i])
|
.addClass(this._outerId + "_div_" + column)
|
||||||
.addClass("innerContainer")
|
.addClass("innerContainer")
|
||||||
.appendTo(td);
|
.appendTo(td);
|
||||||
}
|
}
|
||||||
|
@ -1203,14 +1203,18 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_
|
|||||||
},
|
},
|
||||||
|
|
||||||
_parseDataRow: function(_row, _rowData, _colData) {
|
_parseDataRow: function(_row, _rowData, _colData) {
|
||||||
var columnWidgets = new Array(this.columns.length);
|
var columnWidgets = new Array();
|
||||||
|
|
||||||
_row.sort(function(a,b) {
|
_row.sort(function(a,b) {
|
||||||
return a.colData.order - b.colData.order;
|
return a.colData.order - b.colData.order;
|
||||||
});
|
});
|
||||||
|
|
||||||
for (var x = 0; x < columnWidgets.length; x++)
|
for (var x = 0; x < this.columns.length; x++)
|
||||||
{
|
{
|
||||||
|
if (!this.columns[x].visible)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (typeof _row[x] != "undefined" && _row[x].widget)
|
if (typeof _row[x] != "undefined" && _row[x].widget)
|
||||||
{
|
{
|
||||||
columnWidgets[x] = _row[x].widget;
|
columnWidgets[x] = _row[x].widget;
|
||||||
|
@ -236,7 +236,7 @@ var et2_nextmatch_rowProvider = (function(){ "use strict"; return ClassWithAttri
|
|||||||
_getVariableAttributeSet: function(_widget) {
|
_getVariableAttributeSet: function(_widget) {
|
||||||
var variableAttributes = [];
|
var variableAttributes = [];
|
||||||
|
|
||||||
_widget.iterateOver(function(_widget) {
|
var process = function(_widget) {
|
||||||
// Create the attribtues
|
// Create the attribtues
|
||||||
var hasAttr = false;
|
var hasAttr = false;
|
||||||
var widgetData = {
|
var widgetData = {
|
||||||
@ -270,7 +270,19 @@ var et2_nextmatch_rowProvider = (function(){ "use strict"; return ClassWithAttri
|
|||||||
variableAttributes.push(widgetData);
|
variableAttributes.push(widgetData);
|
||||||
}
|
}
|
||||||
|
|
||||||
}, this);
|
};
|
||||||
|
|
||||||
|
// Check each column
|
||||||
|
var columns = _widget.getChildren();
|
||||||
|
for(var i = 0; i < columns.length; i++)
|
||||||
|
{
|
||||||
|
// If column is hidden, don't process it
|
||||||
|
if(this._context && this._context.columns && this._context.columns[i] && !this._context.columns[i].visible)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
columns[i].iterateOver(process, this);
|
||||||
|
}
|
||||||
|
|
||||||
return variableAttributes;
|
return variableAttributes;
|
||||||
},
|
},
|
||||||
@ -570,7 +582,8 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten
|
|||||||
*/
|
*/
|
||||||
createWidgets: function(_widgets) {
|
createWidgets: function(_widgets) {
|
||||||
// Clone the given the widgets with this element as parent
|
// Clone the given the widgets with this element as parent
|
||||||
this._widgets = new Array(_widgets.length);
|
this._widgets = new Array();
|
||||||
|
var row_id = 0;
|
||||||
for (var i = 0; i < _widgets.length; i++)
|
for (var i = 0; i < _widgets.length; i++)
|
||||||
{
|
{
|
||||||
// Disabled columns might be missing widget - skip it
|
// Disabled columns might be missing widget - skip it
|
||||||
@ -581,8 +594,9 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten
|
|||||||
// Set column alignment from widget
|
// Set column alignment from widget
|
||||||
if(this._widgets[i].align)
|
if(this._widgets[i].align)
|
||||||
{
|
{
|
||||||
this._row.childNodes[i].align = this._widgets[i].align;
|
this._row.childNodes[row_id].align = this._widgets[i].align;
|
||||||
}
|
}
|
||||||
|
row_id++;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -593,12 +607,16 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten
|
|||||||
* @return {DOMElement}
|
* @return {DOMElement}
|
||||||
*/
|
*/
|
||||||
getDOMNode: function(_sender) {
|
getDOMNode: function(_sender) {
|
||||||
|
var row_id = 0;
|
||||||
for (var i = 0; i < this._widgets.length; i++)
|
for (var i = 0; i < this._widgets.length; i++)
|
||||||
{
|
{
|
||||||
|
// Disabled columns might be missing widget - skip it
|
||||||
|
if(!this._widgets[i]) continue;
|
||||||
if (this._widgets[i] == _sender)
|
if (this._widgets[i] == _sender)
|
||||||
{
|
{
|
||||||
return this._row.childNodes[i].childNodes[0]; // Return the i-th td tag
|
return this._row.childNodes[row_id].childNodes[0]; // Return the i-th td tag
|
||||||
}
|
}
|
||||||
|
row_id++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
Reference in New Issue
Block a user