1/** 2* DO NOT EDIT THIS FILE. 3* See the following change record for more information, 4* https://www.drupal.org/node/2815083 5* @preserve 6**/ 7 8(function ($, Drupal, debounce) { 9 var offsets = { 10 top: 0, 11 right: 0, 12 bottom: 0, 13 left: 0 14 }; 15 16 function getRawOffset(el, edge) { 17 var $el = $(el); 18 var documentElement = document.documentElement; 19 var displacement = 0; 20 var horizontal = edge === 'left' || edge === 'right'; 21 22 var placement = $el.offset()[horizontal ? 'left' : 'top']; 23 24 placement -= window['scroll' + (horizontal ? 'X' : 'Y')] || document.documentElement['scroll' + (horizontal ? 'Left' : 'Top')] || 0; 25 26 switch (edge) { 27 case 'top': 28 displacement = placement + $el.outerHeight(); 29 break; 30 31 case 'left': 32 displacement = placement + $el.outerWidth(); 33 break; 34 35 case 'bottom': 36 displacement = documentElement.clientHeight - placement; 37 break; 38 39 case 'right': 40 displacement = documentElement.clientWidth - placement; 41 break; 42 43 default: 44 displacement = 0; 45 } 46 return displacement; 47 } 48 49 function calculateOffset(edge) { 50 var edgeOffset = 0; 51 var displacingElements = document.querySelectorAll('[data-offset-' + edge + ']'); 52 var n = displacingElements.length; 53 for (var i = 0; i < n; i++) { 54 var el = displacingElements[i]; 55 56 if (el.style.display === 'none') { 57 continue; 58 } 59 60 var displacement = parseInt(el.getAttribute('data-offset-' + edge), 10); 61 62 if (isNaN(displacement)) { 63 displacement = getRawOffset(el, edge); 64 } 65 66 edgeOffset = Math.max(edgeOffset, displacement); 67 } 68 69 return edgeOffset; 70 } 71 72 function calculateOffsets() { 73 return { 74 top: calculateOffset('top'), 75 right: calculateOffset('right'), 76 bottom: calculateOffset('bottom'), 77 left: calculateOffset('left') 78 }; 79 } 80 81 function displace(broadcast) { 82 offsets = calculateOffsets(); 83 Drupal.displace.offsets = offsets; 84 if (typeof broadcast === 'undefined' || broadcast) { 85 $(document).trigger('drupalViewportOffsetChange', offsets); 86 } 87 return offsets; 88 } 89 90 Drupal.behaviors.drupalDisplace = { 91 attach: function attach() { 92 if (this.displaceProcessed) { 93 return; 94 } 95 this.displaceProcessed = true; 96 97 $(window).on('resize.drupalDisplace', debounce(displace, 200)); 98 } 99 }; 100 101 Drupal.displace = displace; 102 $.extend(Drupal.displace, { 103 offsets: offsets, 104 105 calculateOffset: calculateOffset 106 }); 107})(jQuery, Drupal, Drupal.debounce);
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.