summaryrefslogtreecommitdiff
path: root/django/conf/admin_media/js/admin/CollapsedFieldsets.js
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-10-19 01:09:05 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-10-19 01:09:05 +0000
commitf07e5d4f5df5ca9ca3366d7ecc4b01c490c13198 (patch)
tree1b73d89471554d058cb46bc13d17bd3687c638fa /django/conf/admin_media/js/admin/CollapsedFieldsets.js
parentfd3d579179581b1fa460e13115471d58fec0c8f6 (diff)
Fixed #627 -- BACKWARDS-INCOMPATIBLE CHANGE. Admin is now an app, not a middleware. See BackwardsIncompatibleChanges for a full list of changes and information on how to update your code.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@948 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/conf/admin_media/js/admin/CollapsedFieldsets.js')
-rw-r--r--django/conf/admin_media/js/admin/CollapsedFieldsets.js85
1 files changed, 0 insertions, 85 deletions
diff --git a/django/conf/admin_media/js/admin/CollapsedFieldsets.js b/django/conf/admin_media/js/admin/CollapsedFieldsets.js
deleted file mode 100644
index 0b3ad9e421..0000000000
--- a/django/conf/admin_media/js/admin/CollapsedFieldsets.js
+++ /dev/null
@@ -1,85 +0,0 @@
-// Finds all fieldsets with class="collapse", collapses them, and gives each
-// one a "Show" link that uncollapses it. The "Show" link becomes a "Hide"
-// link when the fieldset is visible.
-
-function findForm(node) {
- // returns the node of the form containing the given node
- if (node.tagName.toLowerCase() != 'form') {
- return findForm(node.parentNode);
- }
- return node;
-}
-
-var CollapsedFieldsets = {
- collapse_re: /\bcollapse\b/, // Class of fieldsets that should be dealt with.
- collapsed_re: /\bcollapsed\b/, // Class that fieldsets get when they're hidden.
- collapsed_class: 'collapsed',
- init: function() {
- var fieldsets = document.getElementsByTagName('fieldset');
- var collapsed_seen = false;
- for (var i = 0, fs; fs = fieldsets[i]; i++) {
- // Collapse this fieldset if it has the correct class, and if it
- // doesn't have any errors. (Collapsing shouldn't apply in the case
- // of error messages.)
- if (fs.className.match(CollapsedFieldsets.collapse_re) && !CollapsedFieldsets.fieldset_has_errors(fs)) {
- collapsed_seen = true;
- // Give it an additional class, used by CSS to hide it.
- fs.className += ' ' + CollapsedFieldsets.collapsed_class;
- // (<a id="fieldsetcollapser3" class="collapse-toggle" href="#">Show</a>)
- var collapse_link = document.createElement('a');
- collapse_link.className = 'collapse-toggle';
- collapse_link.id = 'fieldsetcollapser' + i;
- collapse_link.onclick = new Function('CollapsedFieldsets.show('+i+'); return false;');
- collapse_link.href = '#';
- collapse_link.innerHTML = 'Show';
- var h2 = fs.getElementsByTagName('h2')[0];
- h2.appendChild(document.createTextNode(' ('));
- h2.appendChild(collapse_link);
- h2.appendChild(document.createTextNode(')'));
- }
- }
- if (collapsed_seen) {
- // Expand all collapsed fieldsets when form is submitted.
- addEvent(findForm(document.getElementsByTagName('fieldset')[0]), 'submit', function() { CollapsedFieldsets.uncollapse_all(); });
- }
- },
- fieldset_has_errors: function(fs) {
- // Returns true if any fields in the fieldset have validation errors.
- var divs = fs.getElementsByTagName('div');
- for (var i=0; i<divs.length; i++) {
- if (divs[i].className.match(/\berror\b/)) {
- return true;
- }
- }
- return false;
- },
- show: function(fieldset_index) {
- var fs = document.getElementsByTagName('fieldset')[fieldset_index];
- // Remove the class name that causes the "display: none".
- fs.className = fs.className.replace(CollapsedFieldsets.collapsed_re, '');
- // Toggle the "Show" link to a "Hide" link
- var collapse_link = document.getElementById('fieldsetcollapser' + fieldset_index);
- collapse_link.onclick = new Function('CollapsedFieldsets.hide('+fieldset_index+'); return false;');
- collapse_link.innerHTML = 'Hide';
- },
- hide: function(fieldset_index) {
- var fs = document.getElementsByTagName('fieldset')[fieldset_index];
- // Add the class name that causes the "display: none".
- fs.className += ' ' + CollapsedFieldsets.collapsed_class;
- // Toggle the "Hide" link to a "Show" link
- var collapse_link = document.getElementById('fieldsetcollapser' + fieldset_index);
- collapse_link.onclick = new Function('CollapsedFieldsets.show('+fieldset_index+'); return false;');
- collapse_link.innerHTML = 'Show';
- },
-
- uncollapse_all: function() {
- var fieldsets = document.getElementsByTagName('fieldset');
- for (var i=0; i<fieldsets.length; i++) {
- if (fieldsets[i].className.match(CollapsedFieldsets.collapsed_re)) {
- CollapsedFieldsets.show(i);
- }
- }
- }
-}
-
-addEvent(window, 'load', CollapsedFieldsets.init);