475
475
div.appendChild(par2);
478
/* Enable or disable an actions1 moreactions action. */
479
function set_action_state(name, which)
478
/* Enable or disable actions1 moreactions actions. Takes either a single
479
* name, or an array of them.*/
480
function set_action_state(names, which)
481
element = document.getElementById('act_' + name);
485
element.setAttribute("class", "choice");
486
element.removeAttribute("disabled");
491
element.setAttribute("class", "disabled");
492
element.setAttribute("disabled", "disabled");
482
if (!(names instanceof Array)) names = Array(names);
484
for (var i=0; i < names.length; i++)
486
element = document.getElementById('act_' + names[i]);
490
element.setAttribute("class", "choice");
491
element.removeAttribute("disabled");
496
element.setAttribute("class", "disabled");
497
element.setAttribute("disabled", "disabled");
653
659
publish.textContent = "Publish";
656
set_action_state("publish", pubcond);
657
set_action_state("submit", pubcond);
662
set_action_state(["publish", "submit"], pubcond);
660
665
/* If exactly 1 non-directory file is selected, and its parent
670
675
/* Delete, cut, copy */
671
676
/* If >= 1 file is selected */
672
set_action_state("delete", numsel >= 1);
673
set_action_state("cut", numsel >= 1);
674
set_action_state("copy", numsel >= 1);
677
set_action_state(["delete", "cut", "copy"], numsel >= 1);
676
679
/* Paste, new file, new directory, upload */
677
680
/* Disable if the current file is not a directory */
678
set_action_state("paste", current_file.isdir);
679
set_action_state("newfile", current_file.isdir);
680
set_action_state("mkdir", current_file.isdir);
681
set_action_state("upload", current_file.isdir);
681
set_action_state(["paste", "newfile", "mkdir", "upload"], current_file.isdir);
683
683
/* Subversion actions */
684
var svndiff = document.getElementById("act_svndiff");
685
var svnlog = document.getElementById("act_svnlog");
686
684
/* These are only useful if we are in a versioned directory and have some
687
685
* files selected. */
688
set_action_state("svnadd", numsel >= 1 && current_file.svnstatus);
689
set_action_state("svnrevert", numsel >= 1 && current_file.svnstatus);
690
set_action_state("svncommit", numsel >= 1 && current_file.svnstatus);
686
set_action_state(["svnadd", "svnrevert", "svncommit"], numsel >= 1 && current_file.svnstatus);
692
688
/* Diff and log only support one path at the moment. */
693
689
single_versioned_path = (numsel == 1 &&