From 673327da1e3200cc6be0210dfb9a87a38a67d0da Mon Sep 17 00:00:00 2001 From: nathangray Date: Wed, 4 Dec 2019 09:49:21 -0700 Subject: [PATCH] Revert "Api: Nextmatch - Do not generate DOM nodes for hidden columns" This reverts commit 0f3a1660ff2e56a04d2c3b14c19d35b03b997200. --- api/js/etemplate/et2_dataview.js | 7 ++--- .../et2_dataview_view_rowProvider.js | 7 ++--- api/js/etemplate/et2_extension_nextmatch.js | 8 ++---- .../et2_extension_nextmatch_rowProvider.js | 28 ++++--------------- 4 files changed, 12 insertions(+), 38 deletions(-) diff --git a/api/js/etemplate/et2_dataview.js b/api/js/etemplate/et2_dataview.js index 69ba87bddd..07ceeea7bc 100644 --- a/api/js/etemplate/et2_dataview.js +++ b/api/js/etemplate/et2_dataview.js @@ -493,13 +493,10 @@ var et2_dataview = (function(){ "use strict"; return Class.extend({ */ _buildGrid: function() { // Create the collection of column ids - var colIds = new Array(); + var colIds = new Array(this.columns.length); 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 diff --git a/api/js/etemplate/et2_dataview_view_rowProvider.js b/api/js/etemplate/et2_dataview_view_rowProvider.js index 55e3485822..e50e1336b7 100644 --- a/api/js/etemplate/et2_dataview_view_rowProvider.js +++ b/api/js/etemplate/et2_dataview_view_rowProvider.js @@ -100,14 +100,13 @@ var et2_dataview_rowProvider = (function(){ "use strict"; return Class.extend( var tr = jQuery(document.createElement("tr")); // Append a td for each column - for (var column of this._columnIds) + for (var i = 0; i < this._columnIds.length; i++) { - if(!column) continue; var td = jQuery(document.createElement("td")) - .addClass(this._outerId + "_td_" + column) + .addClass(this._outerId + "_td_" + this._columnIds[i]) .appendTo(tr); var div = jQuery(document.createElement("div")) - .addClass(this._outerId + "_div_" + column) + .addClass(this._outerId + "_div_" + this._columnIds[i]) .addClass("innerContainer") .appendTo(td); } diff --git a/api/js/etemplate/et2_extension_nextmatch.js b/api/js/etemplate/et2_extension_nextmatch.js index eb8bea3bb7..ce28b92a2a 100644 --- a/api/js/etemplate/et2_extension_nextmatch.js +++ b/api/js/etemplate/et2_extension_nextmatch.js @@ -1203,18 +1203,14 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ }, _parseDataRow: function(_row, _rowData, _colData) { - var columnWidgets = new Array(); + var columnWidgets = new Array(this.columns.length); _row.sort(function(a,b) { return a.colData.order - b.colData.order; }); - for (var x = 0; x < this.columns.length; x++) + for (var x = 0; x < columnWidgets.length; x++) { - if (!this.columns[x].visible) - { - continue; - } if (typeof _row[x] != "undefined" && _row[x].widget) { columnWidgets[x] = _row[x].widget; diff --git a/api/js/etemplate/et2_extension_nextmatch_rowProvider.js b/api/js/etemplate/et2_extension_nextmatch_rowProvider.js index 89d7e6b584..b09c354966 100644 --- a/api/js/etemplate/et2_extension_nextmatch_rowProvider.js +++ b/api/js/etemplate/et2_extension_nextmatch_rowProvider.js @@ -236,7 +236,7 @@ var et2_nextmatch_rowProvider = (function(){ "use strict"; return ClassWithAttri _getVariableAttributeSet: function(_widget) { var variableAttributes = []; - var process = function(_widget) { + _widget.iterateOver(function(_widget) { // Create the attribtues var hasAttr = false; var widgetData = { @@ -270,19 +270,7 @@ var et2_nextmatch_rowProvider = (function(){ "use strict"; return ClassWithAttri variableAttributes.push(widgetData); } - }; - - // 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); - } + }, this); return variableAttributes; }, @@ -582,8 +570,7 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten */ createWidgets: function(_widgets) { // Clone the given the widgets with this element as parent - this._widgets = new Array(); - var row_id = 0; + this._widgets = new Array(_widgets.length); for (var i = 0; i < _widgets.length; i++) { // Disabled columns might be missing widget - skip it @@ -594,9 +581,8 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten // Set column alignment from widget if(this._widgets[i].align) { - this._row.childNodes[row_id].align = this._widgets[i].align; + this._row.childNodes[i].align = this._widgets[i].align; } - row_id++; } }, @@ -607,16 +593,12 @@ var et2_nextmatch_rowWidget = (function(){ "use strict"; return et2_widget.exten * @return {DOMElement} */ getDOMNode: function(_sender) { - var row_id = 0; 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) { - return this._row.childNodes[row_id].childNodes[0]; // Return the i-th td tag + return this._row.childNodes[i].childNodes[0]; // Return the i-th td tag } - row_id++; } return null;