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

View file

@ -100,13 +100,7 @@ our $I18N = {
'select all' => { 'select all' => {
message => q|Select All|, message => q|Select All|,
lastUpdated => 1099344172, lastUpdated => 1099344172,
context => q|A label for the select all checkbox on the asset manager clipboard| context => q|A label for the select all checkbox on the asset manager|
},
'unselect all' => {
message => q|Unselect All|,
lastUpdated => 1119240143,
context => q|A label for the unselect all checkbox on the asset manager|
}, },
'packages' => { 'packages' => {

View file

@ -39,11 +39,12 @@ function AssetManager_AddLine() {
} }
// Add a button to the form // Add a button to the form
function AssetManager_AddButton(label,func) { function AssetManager_AddButton(label,func,proceed) {
var index = this.Buttons.length; var index = this.Buttons.length;
this.Buttons[index] = new Object(); this.Buttons[index] = new Object();
this.Buttons[index].label = label; this.Buttons[index].label = label;
this.Buttons[index].func = func; this.Buttons[index].func = func;
this.Buttons[index].proceed = proceed;
} }
// Define sorting data for the last line added // Define sorting data for the last line added
@ -77,11 +78,12 @@ function AssetManager_AddColumn(name,td,align,type) {
function AssetManager_Write() { function AssetManager_Write() {
var open_div = ""; var open_div = "";
var close_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('<table class="am-table">');
document.write('<thead><tr class="am-headers">'); document.write('<thead><tr class="am-headers">');
for (var i=0; i<this.Columns.length; i++) { 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>'); document.write('</tr><tbody>');
for (var i=0; i<this.Lines.length; i++) { for (var i=0; i<this.Lines.length; i++) {
@ -104,7 +106,7 @@ function AssetManager_Write() {
} }
document.write('</tbody></table>'); document.write('</tbody></table>');
for (var j=0; j<this.Buttons.length; j++) { 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>'); document.write('</form>');
} }