summaryrefslogtreecommitdiffstats
path: root/public/javascripts
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-22 19:34:21 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-10-22 19:34:21 +0000
commit33003e5b2d881a30df7dc37a0c2a7b07b2a67ebe (patch)
tree1a08550ffa2f665d9a64aeb68001cb7074571f5c /public/javascripts
parent8ca4d35dcc466df18b0fa6a322d00b030b183d15 (diff)
downloadredmine-33003e5b2d881a30df7dc37a0c2a7b07b2a67ebe.tar.gz
redmine-33003e5b2d881a30df7dc37a0c2a7b07b2a67ebe.zip
SCM browser: directories can now be collapsed and re-expanded with no additional request.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@863 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'public/javascripts')
-rw-r--r--public/javascripts/application.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/public/javascripts/application.js b/public/javascripts/application.js
index bf86f398a..8432685dd 100644
--- a/public/javascripts/application.js
+++ b/public/javascripts/application.js
@@ -59,6 +59,40 @@ function checkBulkEdit(form) {
return false;
}
+function collapseScmEntry(id) {
+ var els = document.getElementsByClassName(id, 'browser');
+ for (var i = 0; i < els.length; i++) {
+ collapseScmEntry(els[i].id);
+ Element.hide(els[i]);
+ }
+ $(id).removeClassName('open');
+}
+
+function expandScmEntry(id) {
+ var els = document.getElementsByClassName(id, 'browser');
+ for (var i = 0; i < els.length; i++) {
+ Element.show(els[i]);
+ }
+ $(id).addClassName('open');
+}
+
+function scmEntryClick(id) {
+ el = $(id);
+ if (el.hasClassName('open')) {
+ collapseScmEntry(id);
+ return false;
+ } else if (el.hasClassName('loaded')) {
+ expandScmEntry(id);
+ return false;
+ }
+ return true;
+}
+
+function scmEntryLoaded(id) {
+ Element.addClassName(id, 'open');
+ Element.addClassName(id, 'loaded');
+}
+
/* shows and hides ajax indicator */
Ajax.Responders.register({
onCreate: function(){