- Make sure that resulsts tables are always sortable.

SVN:trunk[1359]
This commit is contained in:
Denis Flaven
2011-07-25 14:32:11 +00:00
parent 46781c349f
commit c11ca679d4
3 changed files with 22 additions and 17 deletions

View File

@@ -270,23 +270,6 @@ class DisplayBlock
$("#'.$sId.'").empty();
$("#'.$sId.'").append(data);
$("#'.$sId.'").removeClass("loading");
// Check each "listResults" table for a checkbox in the first column and make the first column sortable only if it does not contain a checkbox in the header
$("#'.$sId.'.listResults").each( function()
{
var table = $(this);
var id = $(this).parent();
var checkbox = (table.find(\'th:first :checkbox\').length > 0);
if (checkbox)
{
// There is a checkbox in the first column, do not make it sortable
table.tablesorter( { headers: { 0: {sorter: false}}, widgets: [\'myZebra\', \'truncatedList\']} ); // sortable and zebra tables
}
else
{
// There is NO checkbox in the first column, all columns are considered sortable
table.tablesorter( { widgets: [\'myZebra\', \'truncatedList\']} ); // sortable and zebra tables
}
});
}
);
</script>';

View File

@@ -504,6 +504,9 @@ EOF
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).trigger( 'hashchange' );
// Some table are sort-able, some are not, let's fix this
$('table.listResults').each( function() { FixTableSorter($(this)); } );
EOF
);

View File

@@ -271,4 +271,23 @@ function PropagateCheckBox(bCurrValue, aFieldsList, bCheck)
ToogleField(bCheck, aFieldsList[i]);
}
}
}
function FixTableSorter(table)
{
if ($('th.header', table).length == 0)
{
// Table is not sort-able, let's fix it
var checkbox = (table.find('th:first :checkbox').length > 0);
if (checkbox)
{
// There is a checkbox in the first column, don't make it sort-able
table.tablesorter( { headers: { 0: {sorter: false}}, widgets: ['myZebra', 'truncatedList']} ); // sort-able and zebra tables
}
else
{
// There is NO checkbox in the first column, all columns are considered sort-able
table.tablesorter( { widgets: ['myZebra', 'truncatedList']} ); // sort-able and zebra tables
}
}
}