1(function ($) { 2 3 Drupal.behaviors.global_js = { 4 attach: function (context,settings) { 5 6 // Homepage/what-we-do-search search box on change autocomplete and submit. 7 var submitFunction = function(el, isSubmit) { 8 $(el, context).change(function() { 9 if ($('#autocomplete', context).length) { 10 if ($('#autocomplete .selected').length) { 11 $(el, context).val($('#autocomplete .selected').text()); 12 } else { 13 $(el, context).val($('#autocomplete li:first-child').text()); 14 } 15 } 16 if (isSubmit) { 17 this.form.submit(); 18 } 19 }); 20 }; 21 22 submitFunction('.page-home #edit-search-term', true); 23 submitFunction('.page-what-we-do-search #edit-combine', false); 24 25 // Gallery images. 26 $('.view-society-gallery-images .attachment-after .view-display-id-attachment_2 .field-content a').hide(); 27 $('.view-society-gallery-images .attachment-after .view-display-id-attachment_2 .field-content a:lt(2)').show(); 28 29 // Rearranging Miles expose filter. 30 $('#views-exposed-form-events-data-panel-pane-1 .form-item-from-miles').insertBefore('#edit-country-wrapper'); 31 32 if ($('input.daterangepicker').length){ 33 34 $('input.daterangepicker').each(function(index, element) { 35 36 // Enable date range for all inputs with the given class. 37 $(this).daterangepicker({ 38 initialText: settings.daterangepicker.initialText, 39 applyButtonText: settings.daterangepicker.applyButtonText, 40 clearButtonText: settings.daterangepicker.clearButtonText, 41 cancelButtonText: settings.daterangepicker.cancelButtonText, 42 rangeSplitter: settings.daterangepicker.rangeSplitter, 43 dateFormat: settings.daterangepicker.dateFormat, 44 altFormat: settings.daterangepicker.altFormat, 45 datepickerOptions : { 46 numberOfMonths: settings.daterangepicker.datepickerOptions.numberOfMonths 47 } 48 }); 49 50 $(this).daterangepicker({ 51 presetRanges: [ 52 {text: 'Today', dateStart: function() { return moment() }, dateEnd: function() { return moment() } }, 53 {text: 'This Week', dateStart: function() { return moment().day(1) }, dateEnd: function() { return moment().day(7) } }, 54 {text: 'This Weekend', dateStart: function() { return moment().day(6) }, dateEnd: function() { return moment().day(7) } }, 55 {text: 'This Month', dateStart: function() { return moment().startOf('month') }, dateEnd: function() { return moment().endOf('month') } }, 56 {text: 'This Season', dateStart: function() { return moment().startOf('month').month(7).subtract(1, 'years') }, dateEnd: function() { return moment().endOf('month').month(6) } }, 57 ], 58 datepickerOptions: { 59 maxDate: '+1Y', 60 yearRange: "-20:+2", 61 firstDay: 1, 62 } 63 }); 64 65 // Submit Button to work on click. 66 $('.ui-priority-primary').on('click', function(event) { 67 // Function to update query string for events search url. 68 function updateQueryStringParameter(uri, key, value) { 69 var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); 70 var separator = uri.indexOf('?') !== -1 ? "&" : "?"; 71 if (uri.match(re)) { 72 return uri.replace(re, '$1' + key + "=" + value + '$2'); 73 } 74 else { 75 return uri + separator + key + "=" + value; 76 } 77 } 78 79 // Datepicker selected value. 80 var range = $('.daterangepicker').val(); 81 if (range) { 82 var update_href = updateQueryStringParameter(window.location.href, 'range', range); 83 window.location.href = encodeURI(update_href); 84 } 85 }); 86 87 // Calculate if we need to set a default value. 88 if (settings.daterangepicker.defaultValue instanceof Object) { 89 var range = {}; 90 range.start = new Date(settings.daterangepicker.defaultValue.start); 91 if (settings.daterangepicker.defaultValue.end.length > 0) { 92 range.end = new Date(settings.daterangepicker.defaultValue.end); 93 } 94 $(this).daterangepicker('setRange', range); 95 } 96 }); 97 } 98 99 // Adding My Society Online tab to user/%/sad page. 100 $('.page-user-sad #tasks ul.secondary', context).append('<li><a href="/my-societies">' + Drupal.t('My Society Online') + '</a></li>'); 101 } 102 }; 103})(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.