PageSourceSearch

https://burotiic.com/core/misc/displace.js?v=9.5.11

js burotiic.com collected 2026-10-03 00:02:27 UTC 2,584 bytes, 86 lines download raw bytes

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(function ($, Drupal, debounce) {
8  var offsets = {
9    top: 0,
10    right: 0,
11    bottom: 0,
12    left: 0
13  };
14  function getRawOffset(el, edge) {
15    var $el = $(el);
16    var documentElement = document.documentElement;
17    var displacement = 0;
18    var horizontal = edge === 'left' || edge === 'right';
19    var placement = $el.offset()[horizontal ? 'left' : 'top'];
20    placement -= window["scroll".concat(horizontal ? 'X' : 'Y')] || document.documentElement["scroll".concat(horizontal ? 'Left' : 'Top')] || 0;
21    switch (edge) {
22      case 'top':
23        displacement = placement + $el.outerHeight();
24        break;
25      case 'left':
26        displacement = placement + $el.outerWidth();
27        break;
28      case 'bottom':
29        displacement = documentElement.clientHeight - placement;
30        break;
31      case 'right':
32        displacement = documentElement.clientWidth - placement;
33        break;
34      default:
35        displacement = 0;
36    }
37    return displacement;
38  }
39  function calculateOffset(edge) {
40    var edgeOffset = 0;
41    var displacingElements = document.querySelectorAll("[data-offset-".concat(edge, "]"));
42    var n = displacingElements.length;
43    for (var i = 0; i < n; i++) {
44      var el = displacingElements[i];
45      if (el.style.display === 'none') {
46        continue;
47      }
48      var displacement = parseInt(el.getAttribute("data-offset-".concat(edge)), 10);
49      if (isNaN(displacement)) {
50        displacement = getRawOffset(el, edge);
51      }
52      edgeOffset = Math.max(edgeOffset, displacement);
53    }
54    return edgeOffset;
55  }
56  function calculateOffsets() {
57    return {
58      top: calculateOffset('top'),
59      right: calculateOffset('right'),
60      bottom: calculateOffset('bottom'),
61      left: calculateOffset('left')
62    };
63  }
64  function displace(broadcast) {
65    offsets = calculateOffsets();
66    Drupal.displace.offsets = offsets;
67    if (typeof broadcast === 'undefined' || broadcast) {
68      $(document).trigger('drupalViewportOffsetChange', offsets);
69    }
70    return offsets;
71  }
72  Drupal.behaviors.drupalDisplace = {
73    attach: function attach() {
74      if (this.displaceProcessed) {
75        return;
76      }
77      this.displaceProcessed = true;
78      $(window).on('resize.drupalDisplace', debounce(displace, 200));
79    }
80  };
81  Drupal.displace = displace;
82  $.extend(Drupal.displace, {
83    offsets: offsets,
84    calculateOffset: calculateOffset
85  });
86})(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.