Let the user choose which columns get sorted in a DataTable, js changes.
This commit is contained in:
parent
2bb63fa79b
commit
efe62bae1e
1 changed files with 20 additions and 6 deletions
26
www/extras/yui-webgui/build/form/datatable.js
vendored
26
www/extras/yui-webgui/build/form/datatable.js
vendored
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue