Let the user choose which columns get sorted in a DataTable, js changes.

This commit is contained in:
Colin Kuskie 2009-01-30 08:40:00 -08:00 committed by Patrick Donelan
parent 2bb63fa79b
commit efe62bae1e

View file

@ -338,7 +338,8 @@ WebGUI.Form.DataTable
"help select row",
"help add row",
"help default sort",
"help reorder column"
"help reorder column",
"sortable"
]
},
onpreload : {
@ -399,7 +400,8 @@ WebGUI.Form.DataTable
div.parentNode.removeChild( div );
};
var buttonLabel = this.i18n.get( "Form_DataTable", "delete column" );
var sortableLabel = this.i18n.get( "Form_DataTable", "sortable" );
var buttonLabel = this.i18n.get( "Form_DataTable", "delete column" );
var availableFormats = [
{
"value" : "text",
@ -464,6 +466,16 @@ WebGUI.Form.DataTable
format.appendChild( opt );
}
div.appendChild( format );
div.appendChild( document.createTextNode(sortableLabel) );
var sorter = document.createElement( "input" );
sorter.type = "checkbox";
sorter.name = "canSort_" + i;
sorter.checked = cols[i].sortable;
sorter.value = 1;
div.appendChild( sorter );
return div;
};
@ -475,6 +487,7 @@ WebGUI.Form.DataTable
var newIdx = cols.length;
// create a new column object
cols[newIdx] = new YAHOO.widget.Column;
cols[newIdx].sortable = true;
// add it to the dialog box
this.appendChild( createTableColumn(newIdx,cols) );
};
@ -600,9 +613,10 @@ WebGUI.Form.DataTable
// Update columns
var i = 0;
while ( data[ "newKey_" + i ] ) {
var oldKey = data[ "oldKey_" + i ];
var newKey = data[ "newKey_" + i ];
var format = data[ "format_" + i ][0];
var oldKey = data[ "oldKey_" + i ];
var newKey = data[ "newKey_" + i ];
var format = data[ "format_" + i ][0];
var canSort = data[ "canSort_" + i ]
var col = this.dataTable.getColumn( oldKey );
// Don't allow adding multiple columns with same key
@ -626,7 +640,7 @@ WebGUI.Form.DataTable
key : newKey,
formatter : format,
resizeable : ( col ? col.resizeable : 1 ),
sortable : ( col ? col.sortable : 1 )
sortable : canSort
};
var newIndex = col ? col.getKeyIndex() : undefined;