Commit 9b0ea017 authored by Sven Berg Ryen's avatar Sven Berg Ryen Committed by Sven Berg Ryen
Browse files

Issue #3243001 by andybroomfield, svenryen: Banner at top is not hiding correctly

parent 4734bfd0
Loading
Loading
Loading
Loading
+28 −2
Changes for js/eu_cookie_compliance.js: 28 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -196,6 +196,21 @@
          .addClass('sliding-popup-top')
          .addClass('clearfix')
        .css({ top: !drupalSettings.eu_cookie_compliance.fixed_top_position ? -(parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('margin-top')) + height) : -1 * height });

      // Height has changed after making the banner visible.
      height = $html.outerHeight();

      var toolbarTabOuterHeight = $('#toolbar-bar').find('.toolbar-tab').outerHeight() || 0;
      var toolbarTrayHorizontalOuterHeight = $('.is-active.toolbar-tray-horizontal').outerHeight() || 0;
      var toolbarTotalHeight = toolbarTabOuterHeight + toolbarTrayHorizontalOuterHeight;

      if (!drupalSettings.eu_cookie_compliance.fixed_top_position) {
        var bannerHeight = (parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('margin-top')) + height);

        $html.css({
          'margin-bottom': -(bannerHeight - toolbarTotalHeight) + 'px'
        });
      }
      // For some reason, the tab outerHeight is -10 if we don't use a timeout
      // function to reveal the tab.
      setTimeout(function () {
@@ -325,12 +340,23 @@
    if (drupalSettings.eu_cookie_compliance.popup_position) {
      popup.prependTo(drupalSettings.eu_cookie_compliance.containing_element);
      height = popup.outerHeight();
      var toolbarTabOuterHeight = $('#toolbar-bar').find('.toolbar-tab').outerHeight() || 0;
      var toolbarTrayHorizontalOuterHeight = $('.is-active.toolbar-tray-horizontal').outerHeight() || 0;
      var toolbarTotalHeight = toolbarTabOuterHeight + toolbarTrayHorizontalOuterHeight;

      popup.show()
        .addClass('sliding-popup-top clearfix')
        .css({ top: -1 * height });
        .css({top: !drupalSettings.eu_cookie_compliance.fixed_top_position ? -(parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('margin-top')) + height) : height * -1});

      if (!drupalSettings.eu_cookie_compliance.fixed_top_position) {
        var bannerHeight = (parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('padding-top')) + parseInt($(drupalSettings.eu_cookie_compliance.containing_element).css('margin-top')) + height);

        popup.css({
          'margin-bottom': -(bannerHeight - toolbarTotalHeight) + 'px'
        });
      }
      if (closed !== true) {
        popup.animate({top: 0}, drupalSettings.eu_cookie_compliance.popup_delay, null, function () {
        popup.animate({top: !drupalSettings.eu_cookie_compliance.fixed_top_position ? 0 - toolbarTotalHeight : 0}, drupalSettings.eu_cookie_compliance.popup_delay, null, function () {
          popup.trigger('eu_cookie_compliance_popup_open');
          $('body').addClass('eu-cookie-compliance-popup-open');
          Drupal.eu_cookie_compliance.positionTab();