From c33495685747052f66e4057725969c5f365d7ef6 Mon Sep 17 00:00:00 2001 From: Hadi Nategh Date: Wed, 9 Mar 2016 10:31:29 +0000 Subject: [PATCH] Revert commit 55312 because of breaking nm in mobile theme. It needs more investigation --- etemplate/js/et2_dataview_model_columns.js | 17 +++------ etemplate/js/et2_extension_nextmatch.js | 36 ++++++++----------- .../js/et2_extension_nextmatch_controller.js | 21 ----------- etemplate/js/et2_widget_grid.js | 26 +++++--------- 4 files changed, 26 insertions(+), 74 deletions(-) diff --git a/etemplate/js/et2_dataview_model_columns.js b/etemplate/js/et2_dataview_model_columns.js index 3b10489cc6..b8acfa1a6d 100755 --- a/etemplate/js/et2_dataview_model_columns.js +++ b/etemplate/js/et2_dataview_model_columns.js @@ -21,7 +21,6 @@ var ET2_COL_VISIBILITY_ALWAYS = 0; var ET2_COL_VISIBILITY_VISIBLE = 1; var ET2_COL_VISIBILITY_INVISIBLE = 2; var ET2_COL_VISIBILITY_ALWAYS_NOSELECT = 3; -var ET2_COL_VISIBILITY_DISABLED = 4; /** * Class which stores the data of a single column. @@ -252,9 +251,7 @@ var et2_dataview_columns = (function(){ "use strict"; return Class.extend({ result.push({ "id": this.columns[i].id, "width": this.getColumnWidth(i), - "visible": this.columns[i].visibility !== ET2_COL_VISIBILITY_INVISIBLE && - this.columns[i].visibility !== ET2_COL_VISIBILITY_DISABLED - + "visible": this.columns[i].visibility != ET2_COL_VISIBILITY_INVISIBLE }); } @@ -275,7 +272,6 @@ var et2_dataview_columns = (function(){ "use strict"; return Class.extend({ result[this.columns[i].id] = { "caption": this.columns[i].caption, "enabled": (this.columns[i].visibility != ET2_COL_VISIBILITY_ALWAYS) && - (this.columns[i].visibility != ET2_COL_VISIBILITY_DISABLED) && (this.columns[i].type != ET2_COL_TYPE_NAME_ICON_FIXED), "visible": this.columns[i].visibility != ET2_COL_VISIBILITY_INVISIBLE }; @@ -331,9 +327,7 @@ var et2_dataview_columns = (function(){ "use strict"; return Class.extend({ for (var i = 0; i < this.columns.length; i++) { var col = this.columns[i]; - if (col.visibility !== ET2_COL_VISIBILITY_INVISIBLE && - col.visibility !== ET2_COL_VISIBILITY_DISABLED - ) + if (col.visibility != ET2_COL_VISIBILITY_INVISIBLE) { // Some bounds sanity checking if(col.fixedWidth > tw || col.fixedWidth < 0) @@ -362,9 +356,7 @@ var et2_dataview_columns = (function(){ "use strict"; return Class.extend({ { var w = 0; var col = this.columns[i]; - if (col.visibility != ET2_COL_VISIBILITY_INVISIBLE && - col.visibility !== ET2_COL_VISIBILITY_DISABLED - ) + if (col.visibility != ET2_COL_VISIBILITY_INVISIBLE) { if (col._larger) { @@ -403,8 +395,7 @@ var et2_dataview_columns = (function(){ "use strict"; return Class.extend({ // Pick the first relative column and use it for(columnIndex = 0; columnIndex < this.columns.length; columnIndex++) { - if(this.columns[columnIndex].visibility === ET2_COL_VISIBILITY_INVISIBLE || - col.visibility === ET2_COL_VISIBILITY_DISABLED || + if(this.columns[columnIndex].visibility == ET2_COL_VISIBILITY_INVISIBLE || this.columnWidths[columnIndex] <= 0) { continue; diff --git a/etemplate/js/et2_extension_nextmatch.js b/etemplate/js/et2_extension_nextmatch.js index 02b0b47bd8..1abcf193dd 100644 --- a/etemplate/js/et2_extension_nextmatch.js +++ b/etemplate/js/et2_extension_nextmatch.js @@ -850,9 +850,9 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ for(var i = 0; i < _row.length; i++) { colName = ''; - if(_row[i].disabled === true) + if(_row[i].disabled) { - _colData[i].visible = false; + _colData[i].disabled = true; continue; } @@ -873,14 +873,14 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ } // Resets field visibility too _row[i].widget._getColumnName(); - _colData[i].visible = !(negated || jQuery.isEmptyObject(_row[i].widget.options.fields)); + _colData[i].disabled = negated || jQuery.isEmptyObject(_row[i].widget.options.fields); break; } } // Disable if there are no custom fields if(jQuery.isEmptyObject(_row[i].widget.customfields)) { - _colData[i].visible = false; + _colData[i].disabled = true; continue; } colName = _row[i].widget.id; @@ -907,12 +907,12 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ { if(columnDisplay[j] == colName) { - _colData[i].visible = !negated; + _colData[i].disabled = negated; continue RowLoop; } } - _colData[i].visible = negated; + _colData[i].disabled = !negated; } } }, @@ -1030,7 +1030,7 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ _row[x].widget = et2_createWidget("label"); } } - + // Get column display preference this._applyUserPreferences(_row, _colData); @@ -1047,18 +1047,12 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ "widget": _row[x].widget },_colData[x]); - var visibility = (!_colData[x] || _colData[x].visible) ? - ET2_COL_VISIBILITY_VISIBLE : - ET2_COL_VISIBILITY_INVISIBLE; - if(_colData[x].disabled && _colData[x].disabled !=='' && - this.getArrayMgr("content").parseBoolExpression(_colData[x].disabled)) - { - visibility = ET2_COL_VISIBILITY_DISABLED; - } + columnData[x] = { "id": "col_" + x, "caption": this._genColumnCaption(_row[x].widget), - "visibility": visibility, + "visibility": (!_colData[x] || _colData[x].disabled) ? + ET2_COL_VISIBILITY_INVISIBLE : ET2_COL_VISIBILITY_VISIBLE, "width": _colData[x] ? _colData[x].width : 0 }; if(_colData[x].minWidth) @@ -1148,7 +1142,7 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ columnWidgets[x] = _row[x].widget; } // Pass along column alignment - if(_row[x].align && columnWidgets[x]) + if(_row[x].align) { columnWidgets[x].align = _row[x].align; } @@ -1301,9 +1295,8 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ { var col = columnMgr.columns[i]; var widget = this.columns[i].widget; - - if(col.caption && col.visibility !== ET2_COL_VISIBILITY_ALWAYS_NOSELECT && - col.visibility !== ET2_COL_VISIBILITY_DISABLED) + + if(col.caption && col.visibility != ET2_COL_VISIBILITY_ALWAYS_NOSELECT) { columns[col.id] = col.caption; if(col.visibility == ET2_COL_VISIBILITY_VISIBLE) columns_selected.push(col.id); @@ -1376,8 +1369,7 @@ var et2_nextmatch = (function(){ "use strict"; return et2_DOMWidget.extend([et2_ for (var i = 0; i < columnMgr.columns.length; i++) { var col = columnMgr.columns[i]; - if(col.caption && col.visibility !== ET2_COL_VISIBILITY_ALWAYS_NOSELECT && - col.visibility !== ET2_COL_VISIBILITY_DISABLED ) + if(col.caption && col.visibility != ET2_COL_VISIBILITY_ALWAYS_NOSELECT ) { visibility[col.id] = {visible: false}; } diff --git a/etemplate/js/et2_extension_nextmatch_controller.js b/etemplate/js/et2_extension_nextmatch_controller.js index 0fe0ae980c..05702b2107 100644 --- a/etemplate/js/et2_extension_nextmatch_controller.js +++ b/etemplate/js/et2_extension_nextmatch_controller.js @@ -581,27 +581,6 @@ var et2_nextmatch_controller = (function(){ "use strict"; return et2_dataview_co } } } - // Might be trying to disable a column - var col_refresh = false; - for(var column_index = 0; column_index < nm.columns.length; column_index++) - { - if(typeof nm.columns[column_index].disabled === 'string' && - nm.columns[column_index].disabled[0] === '@') - { - col_refresh = true; - nm.dataview.columnMgr.getColumnById('col_'+column_index) - .set_visibility( - mgr.parseBoolExpression(nm.columns[column_index].disabled) ? - ET2_COL_VISIBILITY_DISABLED : - ET2_COL_VISIBILITY_VISIBLE - ); - } - } - if(col_refresh) - { - nm.dataview.columnMgr.updated = true; - nm.dataview._updateColumns(); - } // If we're doing an autorefresh and the count decreases, preserve the // selection or it will be lost when the grid rows are shuffled. Increases diff --git a/etemplate/js/et2_widget_grid.js b/etemplate/js/et2_widget_grid.js index 0783fefee8..1edd7be452 100644 --- a/etemplate/js/et2_widget_grid.js +++ b/etemplate/js/et2_widget_grid.js @@ -107,16 +107,12 @@ var et2_grid = (function(){ "use strict"; return et2_DOMWidget.extend([et2_IDeta // Initialize the cell description objects for (var x = 0; x < w; x++) { - // Some columns (nm) we do not parse into a boolean - var col_disabled = typeof _colData[x].disabled == 'boolean' ? - _colData[x].disabled : - this.getArrayMgr("content").parseBoolExpression(_colData[x].disabled); cells[y][x] = { "td": null, "widget": null, "colData": _colData[x], "rowData": _rowData[y], - "disabled": col_disabled || _rowData[y].disabled, + "disabled": _colData[x].disabled || _rowData[y].disabled, "class": _colData[x]["class"], "colSpan": 1, "autoColSpan": false, @@ -175,22 +171,10 @@ var et2_grid = (function(){ "use strict"; return et2_DOMWidget.extend([et2_IDeta }, _fetchRowColData: function(columns, rows, colData, rowData) { - // Some things cannot be done inside a nextmatch - nm will do the expansion later - var nm = false; - var widget = this; - while(!nm && widget != this.getRoot()) - { - nm = (widget._type == 'nextmatch'); - widget = widget.getParent(); - } - // Parse the columns tag et2_filteredNodeIterator(columns, function(node, nodeName) { var colDataEntry = this._getColDataEntry(); - // This cannot be done inside a nm, it will expand it later - colDataEntry["disabled"] = nm ? - et2_readAttrWithDefault(node, "disabled", "") : - this.getArrayMgr("content") + colDataEntry["disabled"] = this.getArrayMgr("content") .parseBoolExpression(et2_readAttrWithDefault(node, "disabled", "")); if (nodeName == "column") { @@ -270,6 +254,12 @@ var et2_grid = (function(){ "use strict"; return et2_DOMWidget.extend([et2_IDeta // Old etemplate checked first two widgets, or first two box children // This cannot be done inside a nextmatch - nm will do the expansion later var nm = false; + var widget = this; + while(!nm && widget != this.getRoot()) + { + nm = (widget._type == 'nextmatch'); + widget = widget.getParent(); + } if(nm) { // No further checks for repeated rows