PageSourceSearch

https://finite.solutions/front-v2.2.1/assets/js/hs.core.js

js finite.solutions collected 2026-09-29 15:49:16 UTC 4,355 bytes, 176 lines download raw bytes

1/**
2 * HSCore -
3 *
4 * @author HtmlStream
5 * @version 1.0
6 */
7;
8(function ($) {
9
10  'use strict';
11
12  $.HSCore = {
13
14    /**
15     *
16     *
17     * @param
18     *
19     * @return
20     */
21    init: function () {
22
23      $(document).ready(function (e) {
24        // Botostrap Tootltips
25        $('[data-toggle="tooltip"]').tooltip();
26
27        // Bootstrap Popovers
28        $('[data-toggle="popover"]').popover();
29
30        // Detect Internet Explorer (IE)
31        $.HSCore.helpers.detectIE();
32
33        // Bootstrap Navigation Options
34        $.HSCore.helpers.bootstrapNavOptions.init();
35
36      });
37
38    },
39
40    /**
41     *
42     *
43     * @var
44     */
45    components: {},
46
47    /**
48     *
49     *
50     * @var
51     */
52    helpers: {
53
54        Math: {
55
56          getRandomValueFromRange: function(startPoint, endPoint, fixed) {
57
58            var fixedInner = fixed ? fixed : false;
59
60            Math.random();
61
62            return fixedInner ? (Math.random() * (endPoint - startPoint) + startPoint) : (Math.floor(Math.random() * (endPoint - startPoint + 1)) + startPoint);
63
64          }
65
66      },
67
68
69      /**
70       * Detect Internet Explorer (IE)
71       *
72       * @return version of IE or false, if browser is not Internet Explorer
73       */
74
75      detectIE: function() {
76
77          var ua = window.navigator.userAgent;
78
79          var trident = ua.indexOf('Trident/');
80          if (trident > 0) {
81              // IE 11 => return version number
82              var rv = ua.indexOf('rv:');
83              var ieV = parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
84              document.querySelector('body').className += ' IE';
85          }
86
87          var edge = ua.indexOf('Edge/');
88          if (edge > 0) {
89             // IE 12 (aka Edge) => return version number
90             var ieV = parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
91              document.querySelector('body').className += ' IE';
92          }
93
94          // other browser
95          return false;
96
97      },
98
99
100      /**
101       * Bootstrap navigation options
102       *
103       */
104      bootstrapNavOptions: {
105        init: function () {
106          this.mobileHideOnScroll();
107        },
108
109        mobileHideOnScroll: function () {
110          var $collection = $('.navbar');
111          if (!$collection.length) return;
112
113          var $w = $(window),
114            breakpointsMap = {
115              'sm': 576,
116              'md': 768,
117              'lg': 992,
118              'xl': 1200
119            };
120
121          $('body').on('click.HSMobileHideOnScroll', '.navbar-toggler', function (e) {
122            var $navbar = $(this).closest('.navbar');
123
124            if ($navbar.length) {
125              $navbar.data('mobile-menu-scroll-position', $w.scrollTop());
126            }
127            e.preventDefault();
128          });
129
130          $w.on('scroll.HSMobileHideOnScroll', function (e) {
131            $collection.each(function (i, el) {
132              var $this = $(el), $toggler, $nav, offset, $hamburgers, breakpoint;
133              if ($this.hasClass('navbar-expand-xl')) breakpoint = breakpointsMap['xl'];
134              else if ($this.hasClass('navbar-expand-lg')) breakpoint = breakpointsMap['lg'];
135              else if ($this.hasClass('navbar-expand-md')) breakpoint = breakpointsMap['md'];
136              else if ($this.hasClass('navbar-expand-xs')) breakpoint = breakpointsMap['xs'];
137
138              if ($w.width() > breakpoint) return;
139
140              $toggler = $this.find('.navbar-toggler');
141              $nav = $this.find('.navbar-collapse');
142
143              if (!$nav.data('mobile-scroll-hide')) return;
144
145              if ($nav.length) {
146                offset = $this.data('mobile-menu-scroll-position');
147
148                if (Math.abs($w.scrollTop() - offset) > 40 && $nav.hasClass('show')) {
149                  $toggler.trigger('click');
150                  $hamburgers = $toggler.find('.is-active');
151                  if ($hamburgers.length) {
152                    $hamburgers.removeClass('is-active');
153                  }
154                }
155              }
156            });
157          });
158        }
159      }
160
161    },
162
163    /**
164     *
165     *
166     * @var
167     */
168    settings: {
169      rtl: false
170    }
171
172  };
173
174  $.HSCore.init();
175
176})(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.