added (un)Select All buttons and fixed assetManager.js so that it actually preserves checkbox state across column sorts.
This commit is contained in:
parent
de867152ac
commit
7299c5469b
3 changed files with 27 additions and 8 deletions
|
|
@ -3184,8 +3184,8 @@ sub www_manageAssets {
|
|||
$output .= "
|
||||
<script type=\"text/javascript\">
|
||||
var assetManager = new AssetManager();
|
||||
assetManager.AddColumn('','','center','form');
|
||||
assetManager.AddColumn('','','center','');
|
||||
assetManager.AddColumn(' ','','center','form');
|
||||
assetManager.AddColumn(' ','','center','');
|
||||
assetManager.AddColumn('".$i18n->get("rank")."','','right','numeric');
|
||||
assetManager.AddColumn('".$i18n->get("99")."','','left','');
|
||||
assetManager.AddColumn('".$i18n->get("type")."','','left','');
|
||||
|
|
@ -3213,9 +3213,11 @@ sub www_manageAssets {
|
|||
$output .= "assetManager.AddLineSortData('','','','".$child->getTitle."','".$child->getName
|
||||
."','".$child->get("lastUpdated")."','".$child->get("assetSize")."','');\n";
|
||||
}
|
||||
$output .= 'assetManager.AddButton("'.$i18n->get("delete").'","deleteList");
|
||||
assetManager.AddButton("'.$i18n->get("cut").'","cutList");
|
||||
assetManager.AddButton("'.$i18n->get("copy").'","copyList");
|
||||
$output .= 'assetManager.AddButton("'.WebGUI::International::get("select all","Asset").'","var fieldList=document.assetManagerForm.assetId;for(i=0;i<fieldList.length;i++)fieldList[i].checked=true;}");
|
||||
assetManager.AddButton("'.WebGUI::International::get("unselect all","Asset").'","var fieldList=document.assetManagerForm.assetId;for(i=0;i<fieldList.length;i++)fieldList[i].checked=false;}");
|
||||
assetManager.AddButton("'.$i18n->get("delete").'","this.form.func.value=\\\'deleteList\\\';this.form.submit();");
|
||||
assetManager.AddButton("'.$i18n->get("cut").'","this.form.func.value=\\\'cutList\\\';this.form.submit();");
|
||||
assetManager.AddButton("'.$i18n->get("copy").'","this.form.func.value=\\\'copyList\\\';this.form.submit();");
|
||||
assetManager.Write();
|
||||
</script> <div class="adminConsoleSpacer">
|
||||
|
||||
|
|
|
|||
|
|
@ -102,7 +102,13 @@ our $I18N = {
|
|||
lastUpdated => 1099344172,
|
||||
context => q|A label for the select all checkbox on the asset manager clipboard|
|
||||
},
|
||||
|
||||
|
||||
'unselect all' => {
|
||||
message => q|Unselect All|,
|
||||
lastUpdated => 1119240143,
|
||||
context => q|A label for the unselect all checkbox on the asset manager|
|
||||
},
|
||||
|
||||
'packages' => {
|
||||
message => q|Packages|,
|
||||
lastUpdated => 1099344172,
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ function AssetManager_AddColumn(name,td,align,type) {
|
|||
function AssetManager_Write() {
|
||||
var open_div = "";
|
||||
var close_div = "";
|
||||
document.write('<form method="post"><input type="hidden" name="func" />');
|
||||
document.write('<form method="post" name="assetManagerForm"><input type="hidden" name="func" />');
|
||||
document.write('<table class="am-table">');
|
||||
document.write('<thead><tr class="am-headers">');
|
||||
for (var i=0; i<this.Columns.length; i++) {
|
||||
|
|
@ -104,7 +104,7 @@ function AssetManager_Write() {
|
|||
}
|
||||
document.write('</tbody></table>');
|
||||
for (var j=0; j<this.Buttons.length; j++) {
|
||||
document.write('<input type="button" onclick="this.form.func.value=\''+this.Buttons[j].func+'\';this.form.submit();" value="'+this.Buttons[j].label+'" />');
|
||||
document.write('<input type="button" onclick="'+this.Buttons[j].func+'" value="'+this.Buttons[j].label+'" />');
|
||||
}
|
||||
document.write('</form>');
|
||||
}
|
||||
|
|
@ -122,11 +122,18 @@ function AssetManager_SortRows(table,column) {
|
|||
if (table.tablecontainsforms) {
|
||||
var iname="1";
|
||||
var tempcolumns = new Object();
|
||||
var tempcheckboxes = new Object();
|
||||
for (var i=0; i<table.Lines.length; i++) {
|
||||
for (var j=0; j<table.Columns.length; j++) {
|
||||
if(table.Columns[j].type == "form") {
|
||||
var cell_name = "d"+table.name+"-"+i+"-"+j;
|
||||
tempcolumns[iname] = document.getElementById(cell_name).innerHTML;
|
||||
// Okay, this is an even nastier hack...
|
||||
// Other temporary arrays could be created to hold other attribute states.
|
||||
var inputboxes = document.getElementById(cell_name).getElementsByTagName('input');
|
||||
for(k = 0; k < inputboxes.length; k++) {
|
||||
tempcheckboxes[iname] = inputboxes[k].checked;
|
||||
}
|
||||
table.Lines[i][j].text = iname;
|
||||
iname++;
|
||||
}
|
||||
|
|
@ -180,6 +187,10 @@ function AssetManager_SortRows(table,column) {
|
|||
if(table.Columns[j].type == "form") {
|
||||
var iname = table.Lines[i][j].text;
|
||||
document.getElementById(cell_name).innerHTML = tempcolumns[iname];
|
||||
var inputboxes = document.getElementById(cell_name).getElementsByTagName('input');
|
||||
for(k = 0; k < inputboxes.length; k++) {
|
||||
inputboxes[k].checked = tempcheckboxes[iname];
|
||||
}
|
||||
}
|
||||
else {
|
||||
document.getElementById(cell_name).innerHTML = table.Lines[i][j].text;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue