1/** 2 * @file 3 * Defines Javascript behaviors for the Qd Premium module. 4 */ 5 6 (function ($, Drupal, drupalSettings, _) { 7 'use strict'; 8 9 Drupal.behaviors.qdPremium = { 10 attach: function (context, settings) { 11 } 12 }; 13})(jQuery, Drupal, drupalSettings, _); 14; 15/** 16* DO NOT EDIT THIS FILE. 17* See the following change record for more information, 18* https://www.drupal.org/node/2815083 19* @preserve 20**/ 21 22(function ($, Drupal, drupalSettings) { 23 $(document).ready(function () { 24 $.ajax({ 25 type: 'POST', 26 cache: false, 27 url: drupalSettings.statistics.url, 28 data: drupalSettings.statistics.data 29 }); 30 }); 31})(jQuery, Drupal, drupalSettings);; 32/** 33 * @file 34 * Behaviors of Boostrap Layout Builder local video background. 35 */ 36 37(function ($, _, Drupal, drupalSettings) { 38 "use strict"; 39 40 Drupal.behaviors.scrollEffectsInit = { 41 attach: function (context, settings) { 42 AOS.init(); 43 } 44 } 45 46})(window.jQuery, window._, window.Drupal, window.drupalSettings); 47; 48/** 49 * @file 50 * Adds Google Custom Search Watermark. 51 */ 52 53(function ($, Drupal, drupalSettings) { 54 'use strict'; 55 56 Drupal.behaviors.googleCSECustomSearch = { 57 attach: function (context, settings) { 58 if (!drupalSettings.googleCSE.isDefault) { 59 return; 60 } 61 var getWatermarkBackground = function (value) { 62 var googleCSEBaseUrl = 'https://www.google.com/cse/intl/'; 63 var googleCSEImageUrl = 'images/google_custom_search_watermark.gif'; 64 var language = drupalSettings.googleCSE.language + '/'; 65 return value ? '' : ' url(' + googleCSEBaseUrl + language + googleCSEImageUrl + ') left no-repeat'; 66 }; 67 var onFocus = function (e) { 68 $(e.target).css('background', '#ffffff'); 69 }; 70 var onBlur = function (e) { 71 $(e.target).css('background', '#ffffff' + getWatermarkBackground($(e.target).val())); 72 }; 73 var googleCSEWatermark = function (context, query) { 74 var form = jQuery(context); 75 var searchInputs = $('[data-drupal-selector="' + query + '"]', form); 76 if (navigator.platform === 'Win32') { 77 searchInputs.css('style', 'border: 1px solid #7e9db9; padding: 2px;'); 78 } 79 searchInputs.blur(onBlur); 80 searchInputs.focus(onFocus); 81 searchInputs.each(function () { 82 var event = {}; 83 event.target = this; 84 onBlur(event); 85 }); 86 }; 87 88 googleCSEWatermark('[data-drupal-selector="search-block-form"] [data-drupal-form-fields="edit-keys--2"]', 'edit-keys'); 89 googleCSEWatermark('[data-drupal-selector="search-block-form"] [data-drupal-form-fields="edit-keys"]', 'edit-keys'); 90 googleCSEWatermark('[data-drupal-selector="search-form"]', 'edit-keys'); 91 googleCSEWatermark('[data-drupal-selector="google-cse-search-box-form"]', 'edit-query'); 92 } 93 }; 94})(jQuery, Drupal, drupalSettings); 95; 96/** 97 * @file 98 * Google CSE JavaScript setup and invocation code. 99 */ 100 101// Callback to grab search terms from the URL and feed them to Google. 102window.__gcse = { 103 callback: function () { 104 'use strict'; 105 // Setting search query term as query string. 106 var queryParams = getQueryParams(); 107 var query = queryParams.keys; 108 if (query) { 109 var gcse = google.search.cse.element.getElement('google_cse'); 110 if (gcse) { 111 gcse.execute(decodeURIComponent(query.replace(/\+/g, '%20'))); 112 } 113 } 114 } 115}; 116 117function getQueryParams() { 118 var results = {}; 119 var params = window.location.search; 120 var queryParamArray = params.substr(1).split('&'); 121 for (var i = 0; i < queryParamArray.length; i++) { 122 var item = queryParamArray[i].split('='); 123 results[item[0]] = decodeURIComponent(item[1]); 124 } 125 return results; 126} 127 128// The Google CSE standard code, just changed to pick up the SE 129// from Drupal.settings. 130(function () { 131 'use strict'; 132 var cx = drupalSettings.googleCSE.cx; 133 var gcse = document.createElement('script'); 134 gcse.type = 'text/javascript'; 135 gcse.async = true; 136 gcse.src = 'https://cse.google.com/cse.js?cx=' + cx; 137 var s = document.getElementsByTagName('script')[0]; 138 s.parentNode.insertBefore(gcse, s); 139} 140)(); 141;
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.