cookies-1.0.3/modules/cookies_twitter_media/js/cookies_twitter_media.js

modules/cookies_twitter_media/js/cookies_twitter_media.js
/**
 * @file
 * Defines Javascript behaviors for the cookies module.
 */
(function (Drupal, $) {
  'use strict';

  /**
   * Define defaults.
   */
  Drupal.behaviors.cookiesTwitter = {
    initTwitter: {},

    consentGiven: function (context) {
      var $twttrMedia = $('.media--type-twitter', context);
      $twttrMedia.data('status', 'active').removeClass('disabled');
      if (typeof Drupal.behaviors.cookiesTwitter.initTwitter.attach === 'function') {
        Drupal.behaviors.cookiesTwitter.initTwitter.attach();
      }
      if ($twttrMedia.length) {
        var newScript = document.createElement('script');
        newScript.setAttribute('src', '//platform.twitter.com/widgets.js');
        document.body.appendChild(newScript);
      }
    },

    consentDenied: function (context) {
      $('blockquote.twitter-tweet', context).cookiesOverlay('twitter');
    },

    attach: function (context) {
      var self = this;
      if (Drupal.behaviors.hasOwnProperty('twitterMediaEntity')) {
        // Take over the init function and remove it from the original context.
        if (typeof Drupal.behaviors.twitterMediaEntity.attach === 'function') {
          self.initTwitter['attach'] = Drupal.behaviors.twitterMediaEntity.attach;
          self.initTwitter.attach.bind(self.initTwitter);
          Drupal.behaviors.twitterMediaEntity.attach = null;
        }
      }

      document.addEventListener('cookiesjsrUserConsent', function(event) {
        var service = (typeof event.detail.services === 'object') ? event.detail.services : {};
        if (typeof service.twitter !== 'undefined' && service.twitter) {
          self.consentGiven(context);
        } else {
          self.consentDenied(context);
        }
      });
    }
  };
})(Drupal, jQuery);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc