PageSourceSearch

https://gluon.ai/_static/_sphinx_javascript_frameworks_compat.js

js gluon.ai collected 2026-09-24 09:01:58 UTC 4,418 bytes, 134 lines download raw bytes

1/*
2 * _sphinx_javascript_frameworks_compat.js
3 * ~~~~~~~~~~
4 *
5 * Compatability shim for jQuery and underscores.js.
6 *
7 * WILL BE REMOVED IN Sphinx 6.0
8 * xref RemovedInSphinx60Warning
9 *
10 */
11
12/**
13 * select a different prefix for underscore
14 */
15$u = _.noConflict();
16
17
18/**
19 * small helper function to urldecode strings
20 *
21 * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
22 */
23jQuery.urldecode = function(x) {
24    if (!x) {
25        return x
26    }
27    return decodeURIComponent(x.replace(/\+/g, ' '));
28};
29
30/**
31 * small helper function to urlencode strings
32 */
33jQuery.urlencode = encodeURIComponent;
34
35/**
36 * This function returns the parsed url parameters of the
37 * current request. Multiple values per key are supported,
38 * it will always return arrays of strings for the value parts.
39 */
40jQuery.getQueryParameters = function(s) {
41    if (typeof s === 'undefined')
42        s = document.location.search;
43    var parts = s.substr(s.indexOf('?') + 1).split('&');
44    var result = {};
45    for (var i = 0; i < parts.length; i++) {
46        var tmp = parts[i].split('=', 2);
47        var key = jQuery.urldecode(tmp[0]);
48        var value = jQuery.urldecode(tmp[1]);
49        if (key in result)
50            result[key].push(value);
51        else
52            result[key] = [value];
53    }
54    return result;
55};
56
57/**
58 * highlight a given string on a jquery object by wrapping it in
59 * span elements with the given class name.
60 */
61jQuery.fn.highlightText = function(text, className) {
62    function highlight(node, addItems) {
63        if (node.nodeType === 3) {
64            var val = node.nodeValue;
65            var pos = val.toLowerCase().indexOf(text);
66            if (pos >= 0 &&
67                !jQuery(node.parentNode).hasClass(className) &&
68                !jQuery(node.parentNode).hasClass("nohighlight")) {
69                var span;
70                var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
71                if (isInSVG) {
72                    span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
73                } else {
74                    span = document.createElement("span");
75                    span.className = className;
76                }
77                span.appendChild(document.createTextNode(val.substr(pos, text.length)));
78                node.parentNode.insertBefore(span, node.parentNode.insertBefore(
79                    document.createTextNode(val.substr(pos + text.length)),
80                    node.nextSibling));
81                node.nodeValue = val.substr(0, pos);
82                if (isInSVG) {
83                    var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
84                    var bbox = node.parentElement.getBBox();
85                    rect.x.baseVal.value = bbox.x;
86                    rect.y.baseVal.value = bbox.y;
87                    rect.width.baseVal.value = bbox.width;
88                    rect.height.baseVal.value = bbox.height;
89                    rect.setAttribute('class', className);
90                    addItems.push({
91                        "parent": node.parentNode,
92                        "target": rect});
93                }
94            }
95        }
96        else if (!jQuery(node).is("button, select, textarea")) {
97            jQuery.each(node.childNodes, function() {
98                highlight(this, addItems);
99            });
100        }
101    }
102    var addItems = [];
103    var result = this.each(function() {
104        highlight(this, addItems);
105    });
106    for (var i = 0; i < addItems.length; ++i) {
107        jQuery(addItems[i].parent).before(addItems[i].target);
108    }
109    return result;
110};
111
112/*
113 * backward compatibility for jQuery.browser
114 * This will be supported until firefox bug is fixed.
115 */
116if (!jQuery.browser) {
117    jQuery.uaMatch = function(ua) {
118        ua = ua.toLowerCase();
119
120        var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
121            /(webkit)[ \/]([\w.]+)/.exec(ua) ||
122            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
123            /(msie) ([\w.]+)/.exec(ua) ||
124            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
125            [];
126
127        return {
128            browser: match[ 1 ] || "",
129            version: match[ 2 ] || "0"
130        };
131    };
132    jQuery.browser = {};
133    jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
134}

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.