PageSourceSearch

https://testimonyshare.com/wp-content/themes/mts_schema/js/ajax.js

js testimonyshare.com collected 2026-10-05 23:01:13 UTC 23,888 bytes, 229 lines download raw bytes

vendor: 15,073 bytes, lines 1-28
1/*! pace 0.4.17 */
2window.paceOptions = {
3    ajax: true,
4    document: false,
5    eventLag: false,
6    elements: false,
7    startOnPageLoad: false
8};
9(function () { var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V = [].slice, W = {}.hasOwnProperty, X = function (a, b) { function c() { this.constructor = a } for (var d in b) W.call(b, d) && (a[d] = b[d]); return c.prototype = b.prototype, a.prototype = new c, a.__super__ = b.prototype, a }, Y = [].indexOf || function (a) { for (var b = 0, c = this.length; c > b; b++)if (b in this && this[b] === a) return b; return -1 }; for (t = { catchupTime: 500, initialRate: .03, minTime: 500, ghostTime: 500, maxProgressPerFrame: 10, easeFactor: 1.25, startOnPageLoad: !0, restartOnPushState: !0, restartOnRequestAfter: 500, target: "body", elements: { checkInterval: 100, selectors: ["body"] }, eventLag: { minSamples: 10, sampleCount: 3, lagThreshold: 3 }, ajax: { trackMethods: ["GET"], trackWebSockets: !1 } }, B = function () { var a; return null != (a = "undefined" != typeof performance && null !== performance ? "function" == typeof performance.now ? performance.now() : void 0 : void 0) ? a : +new Date }, D = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame, s = window.cancelAnimationFrame || window.mozCancelAnimationFrame, null == D && (D = function (a) { return setTimeout(a, 50) }, s = function (a) { return clearTimeout(a) }), F = function (a) { var b, c; return b = B(), (c = function () { var d; return d = B() - b, d >= 33 ? (b = B(), a(d, function () { return D(c) })) : setTimeout(c, 33 - d) })() }, E = function () { var a, b, c; return c = arguments[0], b = arguments[1], a = 3 <= arguments.length ? V.call(arguments, 2) : [], "function" == typeof c[b] ? c[b].apply(c, a) : c[b] }, u = function () { var a, b, c, d, e, f, g; for (b = arguments[0], d = 2 <= arguments.length ? V.call(arguments, 1) : [], f = 0, g = d.length; g > f; f++)if (c = d[f]) for (a in c) W.call(c, a) && (e = c[a], null != b[a] && "object" == typeof b[a] && null != e && "object" == typeof e ? u(b[a], e) : b[a] = e); return b }, p = function (a) { var b, c, d, e, f; for (c = b = 0, e = 0, f = a.length; f > e; e++)d = a[e], c += Math.abs(d), b++; return c / b }, w = function (a, b) { var c, d, e; if (null == a && (a = "options"), null == b && (b = !0), e = document.querySelector("[data-pace-" + a + "]")) { if (c = e.getAttribute("data-pace-" + a), !b) return c; try { return JSON.parse(c) } catch (f) { return d = f, "undefined" != typeof console && null !== console ? console.error("Error parsing inline pace options", d) : void 0 } } }, g = function () { function a() { } return a.prototype.on = function (a, b, c, d) { var e; return null == d && (d = !1), null == this.bindings && (this.bindings = {}), null == (e = this.bindings)[a] && (e[a] = []), this.bindings[a].push({ handler: b, ctx: c, once: d }) }, a.prototype.once = function (a, b, c) { return this.on(a, b, c, !0) }, a.prototype.off = function (a, b) { var c, d, e; if (null != (null != (d = this.bindings) ? d[a] : void 0)) { if (null == b) return delete this.bindings[a]; for (c = 0, e = []; c < this.bindings[a].length;)this.bindings[a][c].handler === b ? e.push(this.bindings[a].splice(c, 1)) : e.push(c++); return e } }, a.prototype.trigger = function () { var a, b, c, d, e, f, g, h, i; if (c = arguments[0], a = 2 <= arguments.length ? V.call(arguments, 1) : [], null != (g = this.bindings) ? g[c] : void 0) { for (e = 0, i = []; e < this.bindings[c].length;)h = this.bindings[c][e], d = h.handler, b = h.ctx, f = h.once, d.apply(null != b ? b : this, a), f ? i.push(this.bindings[c].splice(e, 1)) : i.push(e++); return i } }, a }(), null == window.Pace && (window.Pace = {}), u(Pace, g.prototype), C = Pace.options = u({}, t, window.paceOptions, w()), S = ["ajax", "document", "eventLag", "elements"], O = 0, Q = S.length; Q > O; O++)I = S[O], C[I] === !0 && (C[I] = t[I]); i = function (a) { function b() { return T = b.__super__.constructor.apply(this, arguments) } return X(b, a), b }(Error), b = function () { function a() { this.progress = 0 } return a.prototype.getElement = function () { var a; if (null == this.el) { if (a = document.querySelector(C.target), !a) throw new i; this.el = document.createElement("div"), this.el.className = "pace pace-active", document.body.className = document.body.className.replace("pace-done", ""), document.body.className += " pace-running", this.el.innerHTML = '<div class="pace-progress">\n  <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>', null != a.firstChild ? a.insertBefore(this.el, a.firstChild) : a.appendChild(this.el) } return this.el }, a.prototype.finish = function () { var a; return a = this.getElement(), a.className = a.className.replace("pace-active", ""), a.className += " pace-inactive", document.body.className = document.body.className.replace("pace-running", ""), document.body.className += " pace-done" }, a.prototype.update = function (a) { return this.progress = a, this.render() }, a.prototype.destroy = function () { try { this.getElement().parentNode.removeChild(this.getElement()) } catch (a) { i = a } return this.el = void 0 }, a.prototype.render = function () { var a, b; return null == document.querySelector(C.target) ? !1 : (a = this.getElement(), a.children[0].style.width = "" + this.progress + "%", (!this.lastRenderedProgress || this.lastRenderedProgress | 0 !== this.progress | 0) && (a.children[0].setAttribute("data-progress-text", "" + (0 | this.progress) + "%"), this.progress >= 100 ? b = "99" : (b = this.progress < 10 ? "0" : "", b += 0 | this.progress), a.children[0].setAttribute("data-progress", "" + b)), this.lastRenderedProgress = this.progress) }, a.prototype.done = function () { return this.progress >= 100 }, a }(), h = function () { function a() { this.bindings = {} } return a.prototype.trigger = function (a, b) { var c, d, e, f, g; if (null != this.bindings[a]) { for (f = this.bindings[a], g = [], d = 0, e = f.length; e > d; d++)c = f[d], g.push(c.call(this, b)); return g } }, a.prototype.on = function (a, b) { var c; return null == (c = this.bindings)[a] && (c[a] = []), this.bindings[a].push(b) }, a }(), N = window.XMLHttpRequest, M = window.XDomainRequest, L = window.WebSocket, v = function (a, b) { var c, d, e, f; f = []; for (d in b.prototype) try { e = b.prototype[d], null == a[d] && "function" != typeof e ? f.push(a[d] = e) : f.push(void 0) } catch (g) { c = g } return f }, z = [], Pace.ignore = function () { var a, b, c; return b = arguments[0], a = 2 <= arguments.length ? V.call(arguments, 1) : [], z.unshift("ignore"), c = b.apply(null, a), z.shift(), c }, Pace.track = function () { var a, b, c; return b = arguments[0], a = 2 <= arguments.length ? V.call(arguments, 1) : [], z.unshift("track"), c = b.apply(null, a), z.shift(), c }, H = function (a) { var b; if (null == a && (a = "GET"), "track" === z[0]) return "force"; if (!z.length && C.ajax) { if ("socket" === a && C.ajax.trackWebSockets) return !0; if (b = a.toUpperCase(), Y.call(C.ajax.trackMethods, b) >= 0) return !0 } return !1 }, j = function (a) { function b() { var a, c = this; b.__super__.constructor.apply(this, arguments), a = function (a) { var b; return b = a.open, a.open = function (d, e) { return H(d) && c.trigger("request", { type: d, url: e, request: a }), b.apply(a, arguments) } }, window.XMLHttpRequest = function (b) { var c; return c = new N(b), a(c), c }, v(window.XMLHttpRequest, N), null != M && (window.XDomainRequest = function () { var b; return b = new M, a(b), b }, v(window.XDomainRequest, M)), null != L && C.ajax.trackWebSockets && (window.WebSocket = function (a, b) { var d; return d = new L(a, b), H("socket") && c.trigger("request", { type: "socket", url: a, protocols: b, request: d }), d }, v(window.WebSocket, L)) } return X(b, a), b }(h), P = null, x = function () { return null == P && (P = new j), P }, x().on("request", function (b) { var c, d, e, f; return f = b.type, e = b.request, Pace.running || C.restartOnRequestAfter === !1 && "force" !== H(f) ? void 0 : (d = arguments, c = C.restartOnRequestAfter || 0, "boolean" == typeof c && (c = 0), setTimeout(function () { var b, c, g, h, i, j; if (b = "socket" === f ? e.readyState < 2 : 0 < (h = e.readyState) && 4 > h) { for (Pace.restart(), i = Pace.sources, j = [], c = 0, g = i.length; g > c; c++) { if (I = i[c], I instanceof a) { I.watch.apply(I, d); break } j.push(void 0) } return j } }, c)) }), a = function () { function a() { var a = this; this.elements = [], x().on("request", function () { return a.watch.apply(a, arguments) }) } return a.prototype.watch = function (a) { var b, c, d; return d = a.type, b = a.request, c = "socket" === d ? new m(b) : new n(b), this.elements.push(c) }, a }(), n = function () { function a(a) { var b, c, d, e, f, g, h = this; if (this.progress = 0, null != window.ProgressEvent) for (c = null, a.addEventListener("progress", function (a) { return h.progress = a.lengthComputable ? 100 * a.loaded / a.total : h.progress + (100 - h.progress) / 2 }), g = ["load", "abort", "timeout", "error"], d = 0, e = g.length; e > d; d++)b = g[d], a.addEventListener(b, function () { return h.progress = 100 }); else f = a.onreadystatechange, a.onreadystatechange = function () { var b; return 0 === (b = a.readyState) || 4 === b ? h.progress = 100 : 3 === a.readyState && (h.progress = 50), "function" == typeof f ? f.apply(null, arguments) : void 0 } } return a }(), m = function () { function a(a) { var b, c, d, e, f = this; for (this.progress = 0, e = ["error", "open"], c = 0, d = e.length; d > c; c++)b = e[c], a.addEventListener(b, function () { return f.progress = 100 }) } return a }(), d = function () { function a(a) { var b, c, d, f; for (null == a && (a = {}), this.elements = [], null == a.selectors && (a.selectors = []), f = a.selectors, c = 0, d = f.length; d > c; c++)b = f[c], this.elements.push(new e(b)) } return a }(), e = function () { function a(a) { this.selector = a, this.progress = 0, this.check() } return a.prototype.check = function () { var a = this; return document.querySelector(this.selector) ? this.done() : setTimeout(function () { return a.check() }, C.elements.checkInterval) }, a.prototype.done = function () { return this.progress = 100 }, a }(), c = function () { function a() { var a, b, c = this; this.progress = null != (b = this.states[document.readyState]) ? b : 100, a = document.onreadystatechange, document.onreadystatechange = function () { return null != c.states[document.readyState] && (c.progress = c.states[document.readyState]), "function" == typeof a ? a.apply(null, arguments) : void 0 } } return a.prototype.states = { loading: 0, interactive: 50, complete: 100 }, a }(), f = function () { function a() { var a, b, c, d, e, f = this; this.progress = 0, a = 0, e = [], d = 0, c = B(), b = setInterval(function () { var g; return g = B() - c - 50, c = B(), e.push(g), e.length > C.eventLag.sampleCount && e.shift(), a = p(e), ++d >= C.eventLag.minSamples && a < C.eventLag.lagThreshold ? (f.progress = 100, clearInterval(b)) : f.progress = 100 * (3 / (a + 3)) }, 50) } return a }(), l = function () { function a(a) { this.source = a, this.last = this.sinceLastUpdate = 0, this.rate = C.initialRate, this.catchup = 0, this.progress = this.lastProgress = 0, null != this.source && (this.progress = E(this.source, "progress")) } return a.prototype.tick = function (a, b) { var c; return null == b && (b = E(this.source, "progress")), b >= 100 && (this.done = !0), b === this.last ? this.sinceLastUpdate += a : (this.sinceLastUpdate && (this.rate = (b - this.last) / this.sinceLastUpdate), this.catchup = (b - this.progress) / C.catchupTime, this.sinceLastUpdate = 0, this.last = b), b > this.progress && (this.progress += this.catchup * a), c = 1 - Math.pow(this.progress / 100, C.easeFactor), this.progress += c * this.rate * a, this.progress = Math.min(this.lastProgress + C.maxProgressPerFrame, this.progress), this.progress = Math.max(0, this.progress), this.progress = Math.min(100, this.progress), this.lastProgress = this.progress, this.progress }, a }(), J = null, G = null, q = null, K = null, o = null, r = null, Pace.running = !1, y = function () { return C.restartOnPushState ? Pace.restart() : void 0 }, null != window.history.pushState && (R = window.history.pushState, window.history.pushState = function () { return y(), R.apply(window.history, arguments) }), null != window.history.replaceState && (U = window.history.replaceState, window.history.replaceState = function () { return y(), U.apply(window.history, arguments) }), k = { ajax: a, elements: d, document: c, eventLag: f }, (A = function () { var a, c, d, e, f, g, h, i; for (Pace.sources = J = [], g = ["ajax", "elements", "document", "eventLag"], c = 0, e = g.length; e > c; c++)a = g[c], C[a] !== !1 && J.push(new k[a](C[a])); for (i = null != (h = C.extraSources) ? h : [], d = 0, f = i.length; f > d; d++)I = i[d], J.push(new I(C)); return Pace.bar = q = new b, G = [], K = new l })(), Pace.stop = function () { return Pace.trigger("stop"), Pace.running = !1, q.destroy(), r = !0, null != o && ("function" == typeof s && s(o), o = null), A() }, Pace.restart = function () { return Pace.trigger("restart"), Pace.stop(), Pace.start() }, Pace.go = function () { return Pace.running = !0, q.render(), r = !1, o = F(function (a, b) { var c, d, e, f, g, h, i, j, k, m, n, o, p, s, t, u, v; for (j = 100 - q.progress, d = o = 0, e = !0, h = p = 0, t = J.length; t > p; h = ++p)for (I = J[h], m = null != G[h] ? G[h] : G[h] = [], g = null != (v = I.elements) ? v : [I], i = s = 0, u = g.length; u > s; i = ++s)f = g[i], k = null != m[i] ? m[i] : m[i] = new l(f), e &= k.done, k.done || (d++, o += k.tick(a)); return c = o / d, q.update(K.tick(a, c)), n = B(), q.done() || e || r ? (q.update(100), Pace.trigger("done"), setTimeout(function () { return q.finish(), Pace.running = !1, Pace.trigger("hide") }, Math.max(C.ghostTime, Math.min(C.minTime, B() - n)))) : b() }) }, Pace.start = function (a) { u(C, a), Pace.running = !0; try { q.render() } catch (b) { i = b } return document.querySelector(".pace") ? (Pace.trigger("start"), Pace.go()) : setTimeout(Pace.start, 50) }, "function" == typeof define && define.amd ? define(function () { return Pace }) : "object" == typeof exports ? module.exports = Pace : C.startOnPageLoad && Pace.start() }).call(this);
10
11/*! .isOnScreen() returns bool */
12jQuery.fn.isOnScreen = function () {
13    if (this.length < 1) return;
14
15    var win = jQuery(window);
16
17    var viewport = {
18        top: win.scrollTop(),
19        left: win.scrollLeft()
20    };
21    viewport.right = viewport.left + win.width();
22    viewport.bottom = viewport.top + win.height();
23
24    var bounds = this.offset();
25    bounds.right = bounds.left + this.outerWidth();
26    bounds.bottom = bounds.top + this.outerHeight();
27
28    return (!(viewport.right < bounds.left || viewport.left >
28 bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
29
30};
31
32jQuery(document).ready(function ($) {
33    if (typeof mts_ajax_loadposts !== 'undefined') {
34        var History = window.History;
35
36        var pageNum = parseInt(mts_ajax_loadposts.startPage) + 1;
37        var max = parseInt(mts_ajax_loadposts.maxPages);
38        var nextLink = mts_ajax_loadposts.nextLink;
39        var autoLoad = mts_ajax_loadposts.autoLoad;
40
41        if (!autoLoad) {
42            // Insert the "Load More Posts" link.
43            $('.pagination')
44                .before('<div class="more-page more-page-' + pageNum + '"></div>')
45                .after('<div id="load-posts"><a href="#"><i class="fa fa-refresh"></i>' + mts_ajax_loadposts.i18n_loadmore + '</a></div>');
46            if (pageNum == max + 1) {
47                $('#load-posts a').html('<i class="fa fa-ban"></i>' + mts_ajax_loadposts.i18n_nomore).addClass('disabled');
48            }
49            $('#load-posts a').click(function () {
50                if (pageNum <= max && !$(this).hasClass('loading')) {
51                    $(this).html('<i class="fa fa-refresh fa-spin"></i>' + mts_ajax_loadposts.i18n_loading).addClass('loading');
52
53                    $('.more-page-' + pageNum).load(nextLink + ' .excerpt', function () {
54                        // Update page number and nextLink.
55                        pageNum++;
56                        var new_url = nextLink;
57                        History.replaceState(null, window.document.title, new_url);
58                        nextLink = nextLink.replace(/(\/?)page(\/|d=)[0-9]+/, '$1page$2' + pageNum);
59
60                        // Add a new placeholder, for when user clicks again.
61                        $('#load-posts').before('<div class="more-page-' + pageNum + '"></div>');
62
63                        if (pageNum <= max) {
64                            $('#load-posts a').html('<i class="fa fa-refresh"></i>' + mts_ajax_loadposts.i18n_loadmore).removeClass('loading');
65                        } else {
66                            $('#load-posts a').html('<i class="fa fa-ban"></i>' + mts_ajax_loadposts.i18n_nomore).addClass('disabled').removeClass('loading');
67                        }
68                    });
69
70                } else {
71                    // no more posts
72                }
73
74                return false;
75            });
76        } else {
77            // autoload
78
79            // Placeholder
80            $('.pagination').before('<div class="more-page-' + pageNum + ' ajax-more-page"></div>');
81
82            var loading_posts = false;
83            var last_post = false;
84            $(window).scroll(function () {
85                if (!loading_posts && !last_post) {
86                    var lastPostVisible = $('.latestPost').last().isOnScreen();
87                    if (lastPostVisible) {
88                        if (pageNum <= max) {
89                            loading_posts = true;
90
91                            $('.more-page-' + pageNum).after('<div class="ball-pulse"><div></div><div></div><div></div></div>');
92
93                            $('.more-page-' + pageNum).load(nextLink + ' .excerpt', function () {
94                                // Update page number and nextLink.
95                                pageNum++;
96                                var new_url = nextLink;
97                                History.replaceState(null, window.document.title, new_url);
98
99                                loading_posts = false;
100                                $('.ball-pulse').remove();
101                                nextLink = nextLink.replace(/(\/?)page(\/|d=)[0-9]+/, '$1page$2' + pageNum);
102
103                                // Add a new placeholder
104                                $('.ajax-more-page').last().after('<div class="more-page-' + pageNum + ' ajax-more-page"></div>');
105                            });
106
107                        } else {
108                            // no more posts
109                            last_post = true;
110                        }
111                    }
112                }
113            });
114
115        }
116        $('.pagination').remove();
117    }
118
119    if (typeof mts_ajax_search !== 'undefined') {
120        var last_query = '';
121        var search_xhr = null;
122        var $searhform = '.search-form, .wp-block-search';
123        var $searhinput = '#s, .wp-block-search__input';
124        function loadSearchResults(query, $container) {
125            var search_query = query;
126            if (!$container.hasClass('ajax-search-results-container')) {
127                $container = $container.find('.ajax-search-results-container');
128            }
129            if (search_query == last_query) {
130                var $results_container = $container.closest($searhform).find('.ajax-search-results-container');
131                if (!$results_container.is(':empty')) {
132                    $results_container.show().closest($searhform).addClass('ajax-search-box-open');
133                    return false;
134                }
135            }
136            last_query = search_query;
137
138            if (search_xhr) {
139                search_xhr.abort();
140            }
141            search_xhr = jQuery.ajax({
142                url: mts_ajax_search.url,
143                data: { 'action': 'mts_search', 'q': search_query },
144                beforeSend: function () {
145                    $container.addClass('loading');
146                },
147                success: function (data) {
148                    $container.html(data).show().closest($searhform).addClass('ajax-search-box-open');
149                }
150            }).done(function () {
151                $container.removeClass('loading');
152            });
153        }
154        $($searhform).each(function () {
155            var $this = $(this);
156            // add search results box
157            $this.addClass('ajax-search').append('<div class="ajax-search-results-container"></div>')
158                .find($searhinput).on('input propertychange', function () { // IE<9 support with 'onpropertychange'
159                    if ($(window).width() > 865) {
160                        var s = jQuery(this).val();
161                        if (s.length > 2) {
162                            fnDelay(function () {
163                                loadSearchResults(s, $this);
164                            }, 400);
165                        } else {
166                            $this.removeClass('ajax-search-box-open').find('.ajax-search-results-container').hide();
167                        }
168                    }
169                }).focus(function () {
170                    var $cont = $this.find('.ajax-search-results-container');
171                    if (!$cont.is(':empty') && $(this).val().length > 2) {
172                        $this.addClass('ajax-search-box-open');
173                        $cont.show();
174                    }
175                    $this.attr('autocomplete', 'off');
176                });
177            $this.find('.ajax-search-results-container').hide();
178        }).click(function (e) { // $('.search-form, .wp-block-search').click
179            e.stopPropagation();
180        });
181
182        $(document).on('keydown', '.ajax-search-box-open', function (e) {
183
184            var $this = $(this),
185                focused = $this.find(':focus');
186
187            switch (e.which) {
188                case 38: // up
189                    if (focused.is("input")) {
190                        $this.find('li:last a').focus();
191                    } else {
192                        if (focused.closest('li').prev('li').length) {
193                            focused.closest('li').prev('li').find('a:first').focus();
194                        } else {
195                            $this.find('input#s').focus();
196                        }
197                    }
198                    break;
199                case 40: // down
200                    if (focused.is("input")) {
201                        $this.find('li:first a').focus();
202                    } else {
203                        if (focused.closest('li').next('li').length) {
204                            focused.closest('li').next('li').find('a:first').focus();
205                        } else {
206                            $this.find('input#s').focus();
207                        }
208                    }
209                    break;
210                default: return; // exit this handler for other keys
211            }
212            e.preventDefault(); // prevent the default action
213        });
214    }
215
216}).click(function () { // (document).click
217    if (typeof mts_ajax_search !== 'undefined') {
218        var $searhform = '.search-form, .wp-block-search';
219        jQuery('.ajax-search-results-container').fadeOut(200); jQuery($searhform).removeClass('ajax-search-box-open');
220    }
221});
222
223var fnDelay = (function () {
224    var timer = 0;
225    return function (callback, ms) {
226        clearTimeout(timer);
227        timer = setTimeout(callback, ms);
228    };
229})();

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.