Commit 531cab92 authored by Sven Berg Ryen's avatar Sven Berg Ryen
Browse files

Issue #3243770 by svenryen, keen-on.digital: Fixed top banner disappears on resize

parent f36a474d
Loading
Loading
Loading
Loading
+37 −3
Changes for js/eu_cookie_compliance.js: 37 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -147,6 +147,13 @@
    if (Drupal.settings.eu_cookie_compliance.popup_position) {
      var totalHeight = $('.eu-cookie-withdraw-tab').outerHeight() + $('.eu-cookie-compliance-banner').outerHeight();
      $('.eu-cookie-withdraw-tab').css('margin-top', totalHeight + 'px');

      var adminMenuTabOuterHeight = $('#admin-menu').outerHeight() || 0;
      var $popup = $('sliding-banner');
      $popup.css({
        'margin-bottom': '-' + adminMenuTabOuterHeight + 'px'
      });

    }
  };

@@ -176,9 +183,11 @@
        $html.animate({ top: !Drupal.settings.eu_cookie_compliance.fixed_top_position ? -(parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('margin-top')) + height) : -1 * height }, Drupal.settings.eu_cookie_compliance.popup_delay, null, function () {
          $html.trigger('eu_cookie_compliance_popup_open');
          $('body').addClass('eu-cookie-compliance-popup-open');
          Drupal.eu_cookie_compliance.positionTab();
        });
      }.bind($html, height), 0);
      setTimeout(function () {
        Drupal.eu_cookie_compliance.positionTab();
      }, 0);
    }
    else {
      if (Drupal.settings.eu_cookie_compliance.better_support_for_screen_readers) {
@@ -257,10 +266,23 @@
    var checkIfPopupIsClosed = debounce(function () {
      var wrapperHeight = $wrapper.outerHeight();
      if (Drupal.settings.eu_cookie_compliance.popup_position) {
        var wrapperTopProperty = parseFloat($wrapper.css('bottom'));
        if (Drupal.settings.eu_cookie_compliance.fixed_top_position) {
          if (parseInt($wrapper.css('top')) !== 0) {
            $wrapper.css('top', -wrapperHeight + 'px');
          }
        }
        else {
          var adminMenuTabOuterHeight = $('#admin-menu').outerHeight() || 0;
          var wrapperTopProperty = parseFloat($wrapper.css('top'));
          if (wrapperTopProperty !== 0) {
          $wrapper.css('top', wrapperHeight * -1);
            $wrapper.css('top', $('body')[0].className.indexOf('eu-cookie-compliance-popup-open') === -1 ? -(parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('margin-top')) + wrapperHeight) + 'px' : parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('margin-top')) * -1 + 'px');
          }

          $wrapper.css({
            'margin-bottom': -(adminMenuTabOuterHeight) + 'px'
          });
        }
        Drupal.eu_cookie_compliance.positionTab();
      }
      else {
        var wrapperBottomProperty = parseFloat($wrapper.css('bottom'));
@@ -295,11 +317,21 @@
      $popup.show()
        .attr({ 'class': 'sliding-popup-top clearfix' })
        .css({ top: !Drupal.settings.eu_cookie_compliance.fixed_top_position ? -(parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('margin-top')) + height) : -1 * height });

      if (!Drupal.settings.eu_cookie_compliance.fixed_top_position) {
        var adminMenuTabOuterHeight = $('#admin-menu').outerHeight() || 0;

        $popup.css({
          'margin-bottom': '-' + adminMenuTabOuterHeight + 'px'
        });
      }
      if (closed !== true) {
        $popup.animate({ top: !Drupal.settings.eu_cookie_compliance.fixed_top_position ? -(parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(Drupal.settings.eu_cookie_compliance.containing_element).css('margin-top'))) : 0 }, Drupal.settings.eu_cookie_compliance.popup_delay, null, function () {
          $popup.trigger('eu_cookie_compliance_popup_open');
          $('body').addClass('eu-cookie-compliance-popup-open');
          setTimeout(function () {
            Drupal.eu_cookie_compliance.positionTab();
          }, 0);
        });
      }
      else {
@@ -671,7 +703,9 @@
        Drupal.eu_cookie_compliance.resizeListener();
      }
      Drupal.eu_cookie_compliance.attachWithdrawEvents();
      setTimeout(function () {
        Drupal.eu_cookie_compliance.positionTab();
      }, 0);
    }
  };