diff --git a/core/modules/overlay/overlay-child.js b/core/modules/overlay/overlay-child.js index e1f8ff1..39b6efb 100644 --- a/core/modules/overlay/overlay-child.js +++ b/core/modules/overlay/overlay-child.js @@ -18,7 +18,7 @@ Drupal.behaviors.overlayChild = { window.location = window.location.href.replace(/([?&]?)render=overlay&?/g, '$1').replace(/\?$/, ''); } - var settings = settings.overlayChild || {}; + settings = settings.overlayChild || {}; // If the entire parent window should be refreshed when the overlay is // closed, pass that information to the parent window. diff --git a/core/modules/overlay/overlay-parent.js b/core/modules/overlay/overlay-parent.js index fa726dc..a959d5d 100644 --- a/core/modules/overlay/overlay-parent.js +++ b/core/modules/overlay/overlay-parent.js @@ -388,7 +388,7 @@ Drupal.overlay.isAdminLink = function (url) { * TRUE if the URL is external to the site, FALSE otherwise. */ Drupal.overlay.isExternalLink = function (url) { - var re = RegExp('^((f|ht)tps?:)?//(?!' + window.location.host + ')'); + var re = new RegExp('^((f|ht)tps?:)?//(?!' + window.location.host + ')'); return re.test(url); }; @@ -462,7 +462,7 @@ Drupal.overlay.eventhandlerAlterDisplacedElements = function (event) { else { var el1 = $('
').appendTo(document.body); var el2 = $('
').appendTo(el1); - Drupal.overlay.leftSidedScrollbarOffset = parseInt(el2[0].offsetLeft - el1[0].offsetLeft); + Drupal.overlay.leftSidedScrollbarOffset = parseInt(el2[0].offsetLeft - el1[0].offsetLeft, 10); el1.remove(); } } @@ -482,7 +482,7 @@ Drupal.overlay.eventhandlerAlterDisplacedElements = function (event) { } // Prevent displaced elements overlapping window's scrollbar. - var currentMaxWidth = parseInt($(this).css(maxWidthName)); + var currentMaxWidth = parseInt($(this).css(maxWidthName), 10); if ((data.drupalOverlay && data.drupalOverlay.maxWidth) || isNaN(currentMaxWidth) || currentMaxWidth > maxWidth || currentMaxWidth <= 0) { $(this).css(maxWidthName, maxWidth); (data.drupalOverlay = data.drupalOverlay || {}).maxWidth = true; @@ -582,9 +582,7 @@ Drupal.overlay.eventhandlerOverrideLink = function (event) { else if (this.isAdminLink(href)) { // If the link contains the overlay-restore class and the overlay-context // state is set, also update the parent window's location. - var parentLocation = ($target.hasClass('overlay-restore') && typeof $.bbq.getState('overlay-context') === 'string') - ? Drupal.url($.bbq.getState('overlay-context')) - : null; + var parentLocation = ($target.hasClass('overlay-restore') && typeof $.bbq.getState('overlay-context') === 'string') ? Drupal.url($.bbq.getState('overlay-context')) : null; href = this.fragmentizeLink($target.get(0), parentLocation); // Only override default behavior when left-clicking and user is not // pressing the ALT, CTRL, META (Command key on the Macintosh keyboard) @@ -618,11 +616,9 @@ Drupal.overlay.eventhandlerOverrideLink = function (event) { else { // Add the overlay-context state to the link, so "overlay-restore" links // can restore the context. - if ($target[0].hash) { - // Leave links with an existing fragment alone. Adding an extra - // parameter to a link like "node/1#section-1" breaks the link. - } - else { + // Leave links with an existing fragment alone. Adding an extra + // parameter to a link like "node/1#section-1" breaks the link. + if (!$target[0].hash) { // For links with no existing fragment, add the overlay context. $target.attr('href', $.param.fragment(href, { 'overlay-context': this.getPath(window.location) + window.location.search })); } @@ -776,6 +772,16 @@ Drupal.overlay.fragmentizeLink = function (link, parentLocation) { return $.param.fragment(parentLocation || window.location.href, { overlay: destination }); }; +/* Refreshing a specific region */ +function refreshRegion(regionName, regionSelector) { + var $region = $(regionSelector); + Drupal.detachBehaviors($region); + $.get(Drupal.url(Drupal.settings.overlay.ajaxCallback + '/' + regionName), function (newElement) { + $region.replaceWith($(newElement)); + Drupal.attachBehaviors($region, Drupal.settings); + }); +} + /** * Refresh any regions of the page that are displayed outside the overlay. * @@ -792,14 +798,7 @@ Drupal.overlay.refreshRegions = function (data) { region_info = data[region]; for (regionClass in region_info) { if (region_info.hasOwnProperty(regionClass)) { - (function (regionName, regionSelector) { - var $region = $(regionSelector); - Drupal.detachBehaviors($region); - $.get(Drupal.url(Drupal.settings.overlay.ajaxCallback + '/' + regionName), function (newElement) { - $region.replaceWith($(newElement)); - Drupal.attachBehaviors($region, Drupal.settings); - }); - }(region_info[regionClass], '.' + regionClass)); + refreshRegion(region_info[regionClass], '.' + regionClass); } } }