streamlined select all in the asset manager and fixed a few little bugs

This commit is contained in:
JT Smith 2005-06-20 16:22:56 +00:00
parent 68a8c1e949
commit 9251ed4ec7
3 changed files with 51 additions and 22 deletions

View file

@ -2467,6 +2467,10 @@ sub www_copyList {
$newAsset->cut;
}
}
if ($session{form}{proceed} ne "") {
my $method = "www_".$session{form}{proceed};
return $self->$method();
}
return $self->www_manageAssets();
}
@ -2531,6 +2535,10 @@ sub www_cutList {
$asset->cut;
}
}
if ($session{form}{proceed} ne "") {
my $method = "www_".$session{form}{proceed};
return $self->$method();
}
return $self->www_manageAssets();
}
@ -2568,6 +2576,10 @@ sub www_deleteList {
$asset->trash;
}
}
if ($session{form}{proceed} ne "") {
my $method = "www_".$session{form}{proceed};
return $self->$method();
}
return $self->www_manageAssets();
}
@ -3184,7 +3196,7 @@ sub www_manageAssets {
$output .= "
<script type=\"text/javascript\">
var assetManager = new AssetManager();
assetManager.AddColumn('&nbsp;','','center','form');
assetManager.AddColumn('".WebGUI::Form::checkbox({extras=>'onchange="toggleAssetListSelectAll(this.form);"'})."','','center','form');
assetManager.AddColumn('&nbsp;','','center','');
assetManager.AddColumn('".$i18n->get("rank")."','','right','numeric');
assetManager.AddColumn('".$i18n->get("99")."','','left','');
@ -3213,12 +3225,17 @@ sub www_manageAssets {
$output .= "assetManager.AddLineSortData('','','','".$child->getTitle."','".$child->getName
."','".$child->get("lastUpdated")."','".$child->get("assetSize")."','');\n";
}
$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();");
$output .= '
assetManager.AddButton("'.$i18n->get("delete").'","deleteList","manageAssets");
assetManager.AddButton("'.$i18n->get("cut").'","cutList","manageAssets");
assetManager.AddButton("'.$i18n->get("copy").'","copyList","manageAssets");
assetManager.Write();
var assetListSelectAllToggle = false;
function toggleAssetListSelectAll(form){
assetListSelectAllToggle = assetListSelectAllToggle ? false : true;
for(var i = 0; i < form.assetId.length; i++)
form.assetId[i].checked = assetListSelectAllToggle;
}
</script> <div class="adminConsoleSpacer">
&nbsp;
</div>
@ -3330,7 +3347,7 @@ WebGUI::Style::setLink($session{config}{extrasURL}.'/assetManager/assetManager.c
my $output = "
<script type=\"text/javascript\">
var assetManager = new AssetManager();
assetManager.AddColumn('','','center','form');
assetManager.AddColumn('".WebGUI::Form::checkbox({extras=>'onchange="toggleAssetListSelectAll(this.form);"'})."','','center','form');
assetManager.AddColumn('".$i18n->get("99")."','','left','');
assetManager.AddColumn('".$i18n->get("type")."','','left','');
assetManager.AddColumn('".$i18n->get("last updated")."','','center','');
@ -3349,9 +3366,15 @@ WebGUI::Style::setLink($session{config}{extrasURL}.'/assetManager/assetManager.c
$output .= "assetManager.AddLineSortData('','".$child->getTitle."','".$child->getName
."','".$child->get("lastUpdated")."','".$child->get("assetSize")."');\n";
}
$output .= 'assetManager.AddButton("'.$i18n->get("delete").'","this.form.func.value=\\\'deleteList\\\';this.form.submit();");
assetManager.AddButton("'.$i18n->get("delete").'","this.form.func.value=\\\'restoreList\\\';this.form.submit();");
$output .= 'assetManager.AddButton("'.$i18n->get("delete").'","deleteList","manageClipboard");
assetManager.AddButton("'.$i18n->get("restore").'","restoreList","manageClipboard");
assetManager.Write();
var assetListSelectAllToggle = false;
function toggleAssetListSelectAll(form){
assetListSelectAllToggle = assetListSelectAllToggle ? false : true;
for(var i = 0; i < form.assetId.length; i++)
form.assetId[i].checked = assetListSelectAllToggle;
}
</script> <div class="adminConsoleSpacer"> &nbsp;</div>';
return $ac->render($output, $header);
}
@ -3411,7 +3434,7 @@ sub www_manageTrash {
my $output = "
<script type=\"text/javascript\">
var assetManager = new AssetManager();
assetManager.AddColumn('','','center','form');
assetManager.AddColumn('".WebGUI::Form::checkbox({extras=>'onchange="toggleAssetListSelectAll(this.form);"'})."','','center','form');
assetManager.AddColumn('".$i18n->get("99")."','','left','');
assetManager.AddColumn('".$i18n->get("type")."','','left','');
assetManager.AddColumn('".$i18n->get("last updated")."','','center','');
@ -3430,8 +3453,14 @@ sub www_manageTrash {
$output .= "assetManager.AddLineSortData('','".$child->getTitle."','".$child->getName
."','".$child->get("lastUpdated")."','".$child->get("assetSize")."');\n";
}
$output .= 'assetManager.AddButton("'.$i18n->get("restore").'","restoreList");
$output .= 'assetManager.AddButton("'.$i18n->get("restore").'","restoreList","manageTrash");
assetManager.Write();
var assetListSelectAllToggle = false;
function toggleAssetListSelectAll(form){
assetListSelectAllToggle = assetListSelectAllToggle ? false : true;
for(var i = 0; i < form.assetId.length; i++)
form.assetId[i].checked = assetListSelectAllToggle;
}
</script> <div class="adminConsoleSpacer"> &nbsp;</div>';
return $ac->render($output, $header);
}
@ -3500,6 +3529,10 @@ sub www_restoreList {
my $asset = WebGUI::Asset->newByDynamicClass($id);
$asset->publish;
}
if ($session{form}{proceed} ne "") {
my $method = "www_".$session{form}{proceed};
return $self->$method();
}
return $self->www_manageTrash();
}

View file

@ -100,13 +100,7 @@ our $I18N = {
'select all' => {
message => q|Select All|,
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|
context => q|A label for the select all checkbox on the asset manager|
},
'packages' => {

View file

@ -39,11 +39,12 @@ function AssetManager_AddLine() {
}
// Add a button to the form
function AssetManager_AddButton(label,func) {
function AssetManager_AddButton(label,func,proceed) {
var index = this.Buttons.length;
this.Buttons[index] = new Object();
this.Buttons[index].label = label;
this.Buttons[index].func = func;
this.Buttons[index].proceed = proceed;
}
// Define sorting data for the last line added
@ -77,11 +78,12 @@ function AssetManager_AddColumn(name,td,align,type) {
function AssetManager_Write() {
var open_div = "";
var close_div = "";
document.write('<form method="post" name="assetManagerForm"><input type="hidden" name="func" />');
document.write('<form method="post" name="assetManagerForm"><input type="hidden" name="func" /><input type="hidden" name="proceed" />');
document.write('<table class="am-table">');
document.write('<thead><tr class="am-headers">');
for (var i=0; i<this.Columns.length; i++) {
document.write('<td class="am-header"><a class="sort" href="javascript:AssetManager_SortRows(assetManager,'+i+');">'+this.Columns[i].name+'</a></td>');
var title = (this.Columns[i].type == "form") ? this.Columns[i].name : '<a class="sort" href="javascript:AssetManager_SortRows(assetManager,'+i+');">'+this.Columns[i].name+'</a>';
document.write('<td class="am-header">'+title+'</td>');
}
document.write('</tr><tbody>');
for (var i=0; i<this.Lines.length; i++) {
@ -104,7 +106,7 @@ function AssetManager_Write() {
}
document.write('</tbody></table>');
for (var j=0; j<this.Buttons.length; j++) {
document.write('<input type="button" onclick="'+this.Buttons[j].func+'" value="'+this.Buttons[j].label+'" />');
document.write('<input type="button" onclick="this.form.func.value=\''+this.Buttons[j].func+'\';this.form.proceed.value=\''+this.Buttons[j].proceed+'\';this.form.submit();" value="'+this.Buttons[j].label+'" />');
}
document.write('</form>');
}