diff options
-rw-r--r-- | misc/vertical-tabs.js | 47 | ||||
-rw-r--r-- | modules/filter/filter.admin.js | 40 |
2 files changed, 45 insertions, 42 deletions
diff --git a/misc/vertical-tabs.js b/misc/vertical-tabs.js index ba43c8f88..127df5420 100644 --- a/misc/vertical-tabs.js +++ b/misc/vertical-tabs.js @@ -80,7 +80,9 @@ Drupal.verticalTab = function (settings) { }; Drupal.verticalTab.prototype = { - // Displays the tab's content pane. + /** + * Displays the tab's content pane. + */ focus: function () { this.fieldset .siblings('fieldset.vertical-tabs-pane') @@ -96,9 +98,50 @@ Drupal.verticalTab.prototype = { this.item.addClass('selected'); }, - // Updates the tab's summary. + /** + * Updates the tab's summary. + */ updateSummary: function () { this.summary.html(this.fieldset.getSummary()); + }, + + /** + * Shows a vertical tab pane. + */ + tabShow: function () { + // Display the tab. + this.item.show(); + // Update .first marker for items. We need recurse from parent to retain the + // actual DOM element order as jQuery implements sortOrder, but not as public + // method. + this.item.parent().children('.vertical-tab-button').removeClass('first') + .filter(':visible:first').addClass('first'); + // Display the fieldset. + this.fieldset.removeClass('vertical-tab-hidden').show(); + // Focus this tab. + this.focus(); + return this; + }, + + /** + * Hides a vertical tab pane. + */ + tabHide: function () { + // Hide this tab. + this.item.hide(); + // Update .first marker for items. We need recurse from parent to retain the + // actual DOM element order as jQuery implements sortOrder, but not as public + // method. + this.item.parent().children('.vertical-tab-button').removeClass('first') + .filter(':visible:first').addClass('first'); + // Hide the fieldset. + this.fieldset.addClass('vertical-tab-hidden').hide(); + // Focus the first visible tab (if there is one). + var $firstTab = this.fieldset.siblings('.vertical-tabs-pane:not(.vertical-tab-hidden):first'); + if ($firstTab.length) { + $firstTab.data('verticalTab').focus(); + } + return this; } }; diff --git a/modules/filter/filter.admin.js b/modules/filter/filter.admin.js index b4b946318..3ba6424af 100644 --- a/modules/filter/filter.admin.js +++ b/modules/filter/filter.admin.js @@ -1,46 +1,6 @@ // $Id$ - (function ($) { -/** - * Shows the vertical tab pane. - */ -Drupal.verticalTab.prototype.tabShow = function () { - // Display the tab. - this.item.show(); - // Update .first marker for items. We need recurse from parent to retain the - // actual DOM element order as jQuery implements sortOrder, but not as public - // method. - this.item.parent().children('.vertical-tab-button').removeClass('first') - .filter(':visible:first').addClass('first'); - // Display the fieldset. - this.fieldset.removeClass('filter-settings-hidden').show(); - // Focus this tab. - this.focus(); - return this; -}; - -/** - * Hides the vertical tab pane. - */ -Drupal.verticalTab.prototype.tabHide = function () { - // Hide this tab. - this.item.hide(); - // Update .first marker for items. We need recurse from parent to retain the - // actual DOM element order as jQuery implements sortOrder, but not as public - // method. - this.item.parent().children('.vertical-tab-button').removeClass('first') - .filter(':visible:first').addClass('first'); - // Hide the fieldset. - this.fieldset.addClass('filter-settings-hidden').hide(); - // Focus the first visible tab (if there is one). - var $firstTab = this.fieldset.siblings('.vertical-tabs-pane:not(.filter-settings-hidden):first'); - if ($firstTab.length) { - $firstTab.data('verticalTab').focus(); - } - return this; -}; - Drupal.behaviors.filterStatus = { attach: function (context, settings) { $('#filters-status-wrapper input.form-checkbox', context).once('filter-status', function () { |