diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-22 19:34:21 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-22 19:34:21 +0000 |
commit | 33003e5b2d881a30df7dc37a0c2a7b07b2a67ebe (patch) | |
tree | 1a08550ffa2f665d9a64aeb68001cb7074571f5c /public/javascripts | |
parent | 8ca4d35dcc466df18b0fa6a322d00b030b183d15 (diff) | |
download | redmine-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.js | 34 |
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(){ |