Revert commit 55312 because of breaking nm in mobile theme. It needs more investigation

This commit is contained in:
Hadi Nategh 2016-03-09 10:31:29 +00:00
parent c0e3684806
commit c334956857
4 changed files with 26 additions and 74 deletions

View File

@ -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;

View File

@ -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};
}

View File

@ -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

View File

@ -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