1/* 2 * transpar theme V1.0 3 * Copyright 2014 inny RED 4 * Author: James Byrne 5 */ 6 7jQuery( document ).ready(function() { 8 9 //Replace main banner with page specific banner if one exists 10 jQuery('.field--name-field-slider').each(function() { 11 jQuery('.l-region--banner').empty(); 12 jQuery(this).appendTo('.l-region--banner'); 13 }); 14 jQuery('.banner').attr({style: "visibility: show;"}); 15 16 // change banner image to background image 17 var bannerFormatSize = jQuery('.field--name-field-slide-format .field__item.even'); 18 19 if ( ( bannerFormatSize.text() == 'Content Area Width') && (window.innerWidth > 768) ) { 20 21 //Set style on body tag for banner width 22 jQuery('body').addClass('banner-' + bannerFormatSize.text().replace(/\s+/g, '-').toLowerCase()); 23 24 var imgUrl = jQuery('.field--name-field-image img').attr('src'); 25 var imgElement = jQuery('.field--name-field-image .field__item.even img') 26 imgElement.css('background', 'url(' + imgUrl + ') no-repeat'); 27 imgElement.css('background-size', 'cover'); 28 imgElement.css('background-position', 'center center'); 29 imgElement.removeAttr('src'); 30 imgElement.removeAttr('height'); 31 imgElement.removeAttr('width'); 32 }
33 jQuery('.field--name-field-slide-format').empty(); 34 35 // remove empty blue box on banner image/slideshow if it contains no text 36 jQuery('.flexslider li .views-field-body .field-content:empty').remove(); 37 38 // apply matchHeight to content footer node block 39 jQuery('.content-footer-inner > div').each(function() { 40 jQuery(this).children('.block').matchHeight(); 41 }); 42 43 // accordian code (Donate page) 44 jQuery('.accordian li > a').on('click', function(e) { 45 e.preventDefault(); 46 jQuery(this).parent().siblings().removeClass('open'); 47 jQuery(this).parent().addClass('open'); 48 }); 49 50 jQuery('.accordian li > div').on('click', function(e) { 51 jQuery(this).parent().removeClass('open'); 52 }); 53 54 // mobile devices only - ensure only main menu or search are open at any particular instance 55 jQuery('.main-navigation .toggler').on('click', function(e) { 56 jQuery('.search-form .toggler').parent().removeClass('responsive-toggled'); 57 }); 58 59 jQuery('.search-form .toggler').on('click', function(e) { 60 jQuery('.main-navigation .toggler').parent().removeClass('responsive-toggled'); 61 }); 62 63 // large text for random banner quotes 64 jQuery('.banner .view-random-quotes .views-field-field-quote .field-content').fitText(); 65 66 // move addthis share icons to below display date for story content type 67 jQuery('.addthis_sharing_toolbox').appendTo('.field--name-field-display-date'); 68 69 // fix issue with long header text hidding share icons 70 var $header = jQuery('.not-front .has-one-sidebar h1'); 71 var noLines = Math.round($header.height()/parseInt($header.css('line-height'))); 72 73 switch (noLines) { 74 case 1: 75 $header.parent().addClass('one'); 76 break; 77 case 2: 78 $header.parent().addClass('two'); 79 break; 80 case 3: 81 $header.parent().addClass('three'); 82 break; 83 case 4: 84 $header.parent().addClass('four'); 85 break; 86 default: 87 } 88 89 // add padding to image if floated using image editor 90 var $elImg = jQuery('.media.media-element-container.media-wysiwyg img'); 91 if ( $elImg.length ) { 92 var $elImgStyle = jQuery('.media.media-element-container.media-wysiwyg img[style*="float:right"]'); 93 if ( $elImgStyle.length ) { 94 $elImg.css("padding-left", "10px"); 95 } 96 var $elImgStyle = jQuery('.media.media-element-container.media-wysiwyg img[style*="float:left"]'); 97 if ( $elImgStyle.length ) { 98 $elImg.css("padding-right", "10px"); 99 } 100 101 } 102 103 fixBannerMargin(); 104 105}); 106 107jQuery(window).resize(function () { 108 fixBannerMargin();//run on every window resize 109}); 110 111// 112// fix top margin of content width banner image 113// 114function fixBannerMargin() { 115 jQuery('.banner-content-area-width .field--name-field-image > div > div').height( function() { 116 var xNew = parseInt(jQuery('.field--name-field-image > div').css('margin-left')); 117 var yOld = parseInt(jQuery('.field--name-field-image > div > div').outerHeight()); 118 var xOld = parseInt(jQuery('.field--name-field-image').outerHeight() - jQuery('.field--name-field-image > div').outerHeight()); 119 //console.log('xNew = ' + xNew + ' yOld = ' + yOld + ' xOld = ' + xOld); 120 //console.log(yOld + (xOld - xNew)); 121 return (yOld + (xOld - xNew)); 122 }); 123} 124 125/*global jQuery */ 126/*! 127* FitText.js 1.2 128* 129* Copyright 2011, Dave Rupert http://daverupert.com 130* Released under the WTFPL license 131* http://sam.zoy.org/wtfpl/ 132* 133* Date: Thu May 05 14:23:00 2011 -0600 134*/ 135 136(function( $ ){ 137 138 $.fn.fitText = function( kompressor, options ) { 139 140 // Setup options 141 var compressor = kompressor || 1, 142 settings = $.extend({ 143 'minFontSize' : Number.NEGATIVE_INFINITY, 144 'maxFontSize' : Number.POSITIVE_INFINITY 145 }, options); 146 147 return this.each(function(){ 148 149 // Store the object 150 var $this = $(this); 151 152 // Resizer() resizes items based on the object width divided by the compressor * 10 153 var resizer = function () { 154 $this.css('font-size', Math.max(Math.min($this.width() / (compressor*7), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize))); 155 }; 156 157 // Call once to set. 158 resizer(); 159 160 // Call on resize. Opera debounces their resize by default. 161 $(window).on('resize.fittext orientationchange.fittext', resizer); 162 163 }); 164 165 }; 166 167})( jQuery );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.