PageSourceSearch

https://ahima.org/scripts/usn_fabric/jquery.unobtrusive-ajax.js

js ahima.org collected 2026-09-24 08:40:33 UTC 4,811 bytes, 79 lines download raw bytes

1/* NUGET: BEGIN LICENSE TEXT
2 *
3 * Microsoft grants you the right to use these script files for the sole
4 * purpose of either: (i) interacting through your browser with the Microsoft
5 * website or online service, subject to the applicable licensing or use
6 * terms; or (ii) using the files as included with a Microsoft product subject
7 * to that product's license terms. Microsoft reserves all other rights to the
8 * files not expressly granted by Microsoft, whether by implication, estoppel
9 * or otherwise. Insofar as a script file is dual licensed under GPL,
10 * Microsoft neither took the code under GPL nor distributes it thereunder but
11 * under the terms set out in this paragraph. All notices and licenses
12 * below are for informational purposes only.
13 *
14 * NUGET: END LICENSE TEXT */
15/*
16 ** Unobtrusive Ajax support library for jQuery
17 ** Copyright (C) Microsoft Corporation. All rights reserved.
18 */
19(function(a) { var b = "unobtrusiveAjaxClick",
20        d = "unobtrusiveAjaxClickTarget",
21        h = "unobtrusiveValidation";
22
23    function c(d, b) { var a = window,
24            c = (d || "").split("."); while (a && c.length) a = a[c.shift()]; if (typeof a === "function") return a;
25        b.push(d); return Function.constructor.apply(null, b) }
26
27    function e(a) { return a === "GET" || a === "POST" }
28
29    function g(b, a) {!e(a) && b.setRequestHeader("X-HTTP-Method-Override", a) }
30
31    function i(c, b, e) { var d; if (e.indexOf("application/x-javascript") !== -1) return;
32        d = (c.getAttribute("data-ajax-mode") || "").toUpperCase();
33        a(c.getAttribute("data-ajax-update")).each(function(f, c) { var e; switch (d) {
34                case "BEFORE":
35                    e = c.firstChild;
36                    a("<div />").html(b).contents().each(function() { c.insertBefore(this, e) }); break;
37                case "AFTER":
38                    a("<div />").html(b).contents().each(function() { c.appendChild(this) }); break;
39                case "REPLACE-WITH":
40                    a(c).replaceWith(b); break;
41                default:
42                    a(c).html(b) } }) }
43
44    function f(b, d) { var j, k, f, h;
45        j = b.getAttribute("data-ajax-confirm"); if (j && !window.confirm(j)) return;
46        k = a(b.getAttribute("data-ajax-loading"));
47        h = parseInt(b.getAttribute("data-ajax-loading-duration"), 10) || 0;
48        a.extend(d, { type: b.getAttribute("data-ajax-method") || undefined, url: b.getAttribute("data-ajax-url") || undefined, cache: !!b.getAttribute("data-ajax-cache"), beforeSend: function(d) { var a;
49                g(d, f);
50                a = c(b.getAttribute("data-ajax-begin"), ["xhr"]).apply(b, arguments);
51                a !== false && k.show(h); return a }, complete: function() { k.hide(h);
52                c(b.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(b, arguments) }, success: function(a, e, d) { i(b, a, d.getResponseHeader("Content-Type") || "text/html");
53                c(b.getAttribute("data-ajax-success"), ["data", "status", "xhr"]).apply(b, arguments) }, error: function() { c(b.getAttribute("data-ajax-failure"), ["xhr", "status", "error"]).apply(b, arguments) } });
54        d.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" });
55        f = d.type.toUpperCase(); if (!e(f)) { d.type = "POST";
56            d.data.push({ name: "X-HTTP-Method-Override", value: f }) }
57        a.ajax(d) }
58
59    function j(c) { var b = a(c).data(h); return !b || !b.validate || b.validate() }
60    a(document).on("click", "a[data-ajax=true]", function(a) { a.preventDefault();
61        f(this, { url: this.href, type: "GET", data: [] }) });
62    a(document).on("click", "form[data-ajax=true] input[type=image]", function(c) { var g = c.target.name,
63            e = a(c.target),
64            f = a(e.parents("form")[0]),
65            d = e.offset();
66        f.data(b, [{ name: g + ".x", value: Math.round(c.pageX - d.left) }, { name: g + ".y", value: Math.round(c.pageY - d.top) }]);
67        setTimeout(function() { f.removeData(b) }, 0) });
68    a(document).on("click", "form[data-ajax=true] :submit", function(e) { var g = e.currentTarget.name,
69            f = a(e.target),
70            c = a(f.parents("form")[0]);
71        c.data(b, g ? [{ name: g, value: e.currentTarget.value }] : []);
72        c.data(d, f);
73        setTimeout(function() { c.removeData(b);
74            c.removeData(d) }, 0) });
75    a(document).on("submit", "form[data-ajax=true]", function(h) { var e = a(this).data(b) || [],
76            c = a(this).data(d),
77            g = c && c.hasClass("cancel");
78        h.preventDefault(); if (!g && !j(this)) return;
79        f(this, { url: this.action, type: this.method || "GET", data: e.concat(a(this).serializeArray()) }) }) })(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.