Skip to content

Commit 2ee75ff

Browse files
authored
Remove usage of jQuery in templates (#1675)
jquery.js is still packaged with YARD to avoid breaking existing templates
1 parent 655e7f9 commit 2ee75ff

9 files changed

Lines changed: 1111 additions & 611 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# main
22

3-
- Add support for Ruby .rbs files (docstrings included)
4-
- Add built-in hybrid RDoc/Markdown renderer (`HybridMarkdown`) requiring no external gems
3+
- Add support for Ruby .rbs files (docstrings included) (#1673)
4+
- Add built-in hybrid RDoc/Markdown renderer (`HybridMarkdown`) requiring no external gems (#1674)
55
- Add support for `#-` as a comment-block separator. See Getting Started Guide.
6+
- Remove usage of jQuery in default templates. jQuery library is still packaged in templates for backward compatibility (#1675)
67
- Fix false self-referential mixin when bare name matches ancestor namespace (#1672)
78
- Fix bracket/brace map corruption from Ruby 3.0+ pattern matching deconstruction (#1671)
89
- Fix `@!scope class` on attributes (#1582, #1655, #1666)
Lines changed: 208 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,208 @@
1-
/*
2-
* jQuery Autocomplete plugin 1.1
3-
*
4-
* Copyright (c) 2009 Jörn Zaefferer
5-
*
6-
* Dual licensed under the MIT and GPL licenses:
7-
* http://www.opensource.org/licenses/mit-license.php
8-
* http://www.gnu.org/licenses/gpl.html
9-
*
10-
* Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
11-
*/
12-
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(3($){$.2e.1u({19:3(b,d){5 c=W b=="1B";d=$.1u({},$.M.1T,{Y:c?b:P,y:c?P:b,1J:c?$.M.1T.1J:10,X:d&&!d.1D?10:48},d);d.1y=d.1y||3(a){6 a};d.1v=d.1v||d.1R;6 A.I(3(){1M $.M(A,d)})},L:3(a){6 A.11("L",a)},1k:3(a){6 A.14("1k",[a])},2b:3(){6 A.14("2b")},28:3(a){6 A.14("28",[a])},24:3(){6 A.14("24")}});$.M=3(o,r){5 t={2Y:38,2S:40,2N:46,2I:9,2E:13,2B:27,2x:3I,2v:33,2p:34,2n:8};5 u=$(o).3r("19","3o").Q(r.2Q);5 p;5 m="";5 n=$.M.3c(r);5 s=0;5 k;5 h={1F:C};5 l=$.M.32(r,o,1Z,h);5 j;$.1Y.2X&&$(o.2U).11("45.19",3(){4(j){j=C;6 C}});u.11(($.1Y.2X?"43":"42")+".19",3(a){s=1;k=a.2M;3V(a.2M){O t.2Y:a.1d();4(l.N()){l.30()}w{12(0,D)}R;O t.2S:a.1d();4(l.N()){l.2D()}w{12(0,D)}R;O t.2v:a.1d();4(l.N()){l.2C()}w{12(0,D)}R;O t.2p:a.1d();4(l.N()){l.2A()}w{12(0,D)}R;O r.17&&$.1c(r.S)==","&&t.2x:O t.2I:O t.2E:4(1Z()){a.1d();j=D;6 C}R;O t.2B:l.Z();R;3J:1P(p);p=1O(12,r.1J);R}}).2t(3(){s++}).3E(3(){s=0;4(!h.1F){2r()}}).2q(3(){4(s++>1&&!l.N()){12(0,D)}}).11("1k",3(){5 c=(1r.7>1)?1r[1]:P;3 1N(q,a){5 b;4(a&&a.7){16(5 i=0;i<a.7;i++){4(a[i].L.J()==q.J()){b=a[i];R}}}4(W c=="3")c(b);w u.14("L",b&&[b.y,b.F])}$.I(15(u.K()),3(i,a){21(a,1N,1N)})}).11("2b",3(){n.1o()}).11("28",3(){$.1u(r,1r[1]);4("y"2h 1r[1])n.1e()}).11("24",3(){l.1p();u.1p();$(o.2U).1p(".19")});3 1Z(){5 e=l.2g();4(!e)6 C;5 v=e.L;m=v;4(r.17){5 b=15(u.K());4(b.7>1){5 f=r.S.7;5 c=$(o).18().1I;5 d,1H=0;$.I(b,3(i,a){1H+=a.7;4(c<=1H){d=i;6 C}1H+=f});b[d]=v;v=b.3f(r.S)}v+=r.S}u.K(v);1l();u.14("L",[e.y,e.F]);6 D}3 12(b,c){4(k==t.2N){l.Z();6}5 a=u.K();4(!c&&a==m)6;m=a;a=1m(a);4(a.7>=r.29){u.Q(r.26);4(!r.1s)a=a.J();21(a,3a,1l)}w{1q();l.Z()}};3 15(b){4(!b)6[""];4(!r.17)6[$.1c(b)];6 $.4h(b.23(r.S),3(a){6 $.1c(b).7?$.1c(a):P})}3 1m(a){4(!r.17)6 a;5 c=15(a);4(c.7==1)6 c[0];5 b=$(o).18().1I;4(b==a.7){c=15(a)}w{c=15(a.22(a.37(b),""))}6 c[c.7-1]}3 1G(q,a){4(r.1G&&(1m(u.K()).J()==q.J())&&k!=t.2n){u.K(u.K()+a.37(1m(m).7));$(o).18(m.7,m.7+a.7)}};3 2r(){1P(p);p=1O(1l,4g)};3 1l(){5 c=l.N();l.Z();1P(p);1q();4(r.36){u.1k(3(a){4(!a){4(r.17){5 b=15(u.K()).1n(0,-1);u.K(b.3f(r.S)+(b.7?r.S:""))}w{u.K("");u.14("L",P)}}})}};3 3a(q,a){4(a&&a.7&&s){1q();l.35(a,q);1G(q,a[0].F);l.20()}w{1l()}};3 21(f,d,g){4(!r.1s)f=f.J();5 e=n.31(f);4(e&&e.7){d(f,e)}w 4((W r.Y=="1B")&&(r.Y.7>0)){5 c={4f:+1M 4e()};$.I(r.2Z,3(a,b){c[a]=W b=="3"?b():b});$.4d({4c:"4b",4a:"19"+o.49,2V:r.2V,Y:r.Y,y:$.1u({q:1m(f),47:r.X},c),44:3(a){5 b=r.1A&&r.1A(a)||1A(a);n.1i(f,b);d(f,b)}})}w{l.2T();g(f)}};3 1A(c){5 d=[];5 b=c.23("\\n");16(5 i=0;i<b.7;i++){5 a=$.1c(b[i]);4(a){a=a.23("|");d[d.7]={y:a,F:a[0],L:r.1z&&r.1z(a,a[0])||a[0]}}}6 d};3 1q(){u.1h(r.26)}};$.M.1T={2Q:"41",2P:"3Z",26:"3Y",29:1,1J:3W,1s:C,1f:D,1w:C,1g:10,X:3U,36:C,2Z:{},1X:D,1R:3(a){6 a[0]},1v:P,1G:C,E:0,17:C,S:", ",1y:3(b,a){6 b.22(1M 3T("(?![^&;]+;)(?!<[^<>]*)("+a.22(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2K,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2K"),"<2J>$1</2J>")},1D:D,1E:3S};$.M.3c=3(g){5 h={};5 j=0;3 1f(s,a){4(!g.1s)s=s.J();5 i=s.2H(a);4(g.1w=="3R"){i=s.J().1k("\\\\b"+a.J())}4(i==-1)6 C;6 i==0||g.1w};3 1i(q,a){4(j>g.1g){1o()}4(!h[q]){j++}h[q]=a}3 1e(){4(!g.y)6 C;5 f={},2G=0;4(!g.Y)g.1g=1;f[""]=[];16(5 i=0,2F=g.y.7;i<2F;i++){5 c=g.y[i];c=(W c=="1B")?[c]:c;5 d=g.1v(c,i+1,g.y.7);4(d===C)1V;5 e=d.3Q(0).J();4(!f[e])f[e]=[];5 b={F:d,y:c,L:g.1z&&g.1z(c)||d};f[e].1U(b);4(2G++<g.X){f[""].1U(b)}};$.I(f,3(i,a){g.1g++;1i(i,a)})}1O(1e,25);3 1o(){h={};j=0}6{1o:1o,1i:1i,1e:1e,31:3(q){4(!g.1g||!j)6 P;4(!g.Y&&g.1w){5 a=[];16(5 k 2h h){4(k.7>0){5 c=h[k];$.I(c,3(i,x){4(1f(x.F,q)){a.1U(x)}})}}6 a}w 4(h[q]){6 h[q]}w 4(g.1f){16(5 i=q.7-1;i>=g.29;i--){5 c=h[q.3O(0,i)];4(c){5 a=[];$.I(c,3(i,x){4(1f(x.F,q)){a[a.7]=x}});6 a}}}6 P}}};$.M.32=3(e,g,f,k){5 h={H:"3N"};5 j,z=-1,y,1t="",1S=D,G,B;3 2y(){4(!1S)6;G=$("<3M/>").Z().Q(e.2P).T("3L","3K").1Q(1K.2w);B=$("<3H/>").1Q(G).3G(3(a){4(U(a).2u&&U(a).2u.3F()==\'2s\'){z=$("1L",B).1h(h.H).3D(U(a));$(U(a)).Q(h.H)}}).2q(3(a){$(U(a)).Q(h.H);f();g.2t();6 C}).3C(3(){k.1F=D}).3B(3(){k.1F=C});4(e.E>0)G.T("E",e.E);1S=C}3 U(a){5 b=a.U;3A(b&&b.3z!="2s")b=b.3y;4(!b)6[];6 b}3 V(b){j.1n(z,z+1).1h(h.H);2o(b);5 a=j.1n(z,z+1).Q(h.H);4(e.1D){5 c=0;j.1n(0,z).I(3(){c+=A.1a});4((c+a[0].1a-B.1b())>B[0].3x){B.1b(c+a[0].1a-B.3w())}w 4(c<B.1b()){B.1b(c)}}};3 2o(a){z+=a;4(z<0){z=j.1j()-1}w 4(z>=j.1j()){z=0}}3 2m(a){6 e.X&&e.X<a?e.X:a}3 2l(){B.2z();5 b=2m(y.7);16(5 i=0;i<b;i++){4(!y[i])1V;5 a=e.1R(y[i].y,i+1,b,y[i].F,1t);4(a===C)1V;5 c=$("<1L/>").3v(e.1y(a,1t)).Q(i%2==0?"3u":"3P").1Q(B)[0];$.y(c,"2k",y[i])}j=B.3t("1L");4(e.1X){j.1n(0,1).Q(h.H);z=0}4($.2e.2W)B.2W()}6{35:3(d,q){2y();y=d;1t=q;2l()},2D:3(){V(1)},30:3(){V(-1)},2C:3(){4(z!=0&&z-8<0){V(-z)}w{V(-8)}},2A:3(){4(z!=j.1j()-1&&z+8>j.1j()){V(j.1j()-1-z)}w{V(8)}},Z:3(){G&&G.Z();j&&j.1h(h.H);z=-1},N:3(){6 G&&G.3s(":N")},3q:3(){6 A.N()&&(j.2j("."+h.H)[0]||e.1X&&j[0])},20:3(){5 a=$(g).3p();G.T({E:W e.E=="1B"||e.E>0?e.E:$(g).E(),2i:a.2i+g.1a,1W:a.1W}).20();4(e.1D){B.1b(0);B.T({2L:e.1E,3n:\'3X\'});4($.1Y.3m&&W 1K.2w.3l.2L==="1x"){5 c=0;j.I(3(){c+=A.1a});5 b=c>e.1E;B.T(\'3k\',b?e.1E:c);4(!b){j.E(B.E()-2R(j.T("2O-1W"))-2R(j.T("2O-3j")))}}}},2g:3(){5 a=j&&j.2j("."+h.H).1h(h.H);6 a&&a.7&&$.y(a[0],"2k")},2T:3(){B&&B.2z()},1p:3(){G&&G.3i()}}};$.2e.18=3(b,f){4(b!==1x){6 A.I(3(){4(A.2d){5 a=A.2d();4(f===1x||b==f){a.4n("2c",b);a.3h()}w{a.4m(D);a.4l("2c",b);a.4k("2c",f);a.3h()}}w 4(A.3g){A.3g(b,f)}w 4(A.1C){A.1C=b;A.3e=f}})}5 c=A[0];4(c.2d){5 e=1K.18.4j(),3d=c.F,2a="<->",2f=e.3b.7;e.3b=2a;5 d=c.F.2H(2a);c.F=3d;A.18(d,d+2f);6{1I:d,39:d+2f}}w 4(c.1C!==1x){6{1I:c.1C,39:c.3e}}}})(4i);',62,272,'|||function|if|var|return|length|||||||||||||||||||||||||else||data|active|this|list|false|true|width|value|element|ACTIVE|each|toLowerCase|val|result|Autocompleter|visible|case|null|addClass|break|multipleSeparator|css|target|moveSelect|typeof|max|url|hide||bind|onChange||trigger|trimWords|for|multiple|selection|autocomplete|offsetHeight|scrollTop|trim|preventDefault|populate|matchSubset|cacheLength|removeClass|add|size|search|hideResultsNow|lastWord|slice|flush|unbind|stopLoading|arguments|matchCase|term|extend|formatMatch|matchContains|undefined|highlight|formatResult|parse|string|selectionStart|scroll|scrollHeight|mouseDownOnSelect|autoFill|progress|start|delay|document|li|new|findValueCallback|setTimeout|clearTimeout|appendTo|formatItem|needsInit|defaults|push|continue|left|selectFirst|browser|selectCurrent|show|request|replace|split|unautocomplete||loadingClass||setOptions|minChars|teststring|flushCache|character|createTextRange|fn|textLength|selected|in|top|filter|ac_data|fillList|limitNumberOfItems|BACKSPACE|movePosition|PAGEDOWN|click|hideResults|LI|focus|nodeName|PAGEUP|body|COMMA|init|empty|pageDown|ESC|pageUp|next|RETURN|ol|nullData|indexOf|TAB|strong|gi|maxHeight|keyCode|DEL|padding|resultsClass|inputClass|parseInt|DOWN|emptyList|form|dataType|bgiframe|opera|UP|extraParams|prev|load|Select|||display|mustMatch|substring||end|receiveData|text|Cache|orig|selectionEnd|join|setSelectionRange|select|remove|right|height|style|msie|overflow|off|offset|current|attr|is|find|ac_even|html|innerHeight|clientHeight|parentNode|tagName|while|mouseup|mousedown|index|blur|toUpperCase|mouseover|ul|188|default|absolute|position|div|ac_over|substr|ac_odd|charAt|word|180|RegExp|100|switch|400|auto|ac_loading|ac_results||ac_input|keydown|keypress|success|submit||limit|150|name|port|abort|mode|ajax|Date|timestamp|200|map|jQuery|createRange|moveEnd|moveStart|collapse|move'.split('|'),0,{}))
1+
(function() {
2+
function query(selector, root) {
3+
return (root || document).querySelector(selector);
4+
}
5+
6+
function ready(callback) {
7+
if (document.readyState === "loading") {
8+
document.addEventListener("DOMContentLoaded", callback, { once: true });
9+
} else {
10+
callback();
11+
}
12+
}
13+
14+
function createAutocomplete(input) {
15+
var form = input.form;
16+
var results = document.createElement("div");
17+
var list = document.createElement("ul");
18+
var requestTimer = null;
19+
var controller = null;
20+
var items = [];
21+
var activeIndex = -1;
22+
var blurTimer = null;
23+
24+
if (!form) return;
25+
26+
results.className = "ac_results";
27+
results.hidden = true;
28+
results.setAttribute("role", "listbox");
29+
results.id = input.id + "_results";
30+
list.setAttribute("role", "presentation");
31+
results.appendChild(list);
32+
input.setAttribute("autocomplete", "off");
33+
input.setAttribute("aria-autocomplete", "list");
34+
input.setAttribute("aria-controls", results.id);
35+
input.setAttribute("aria-expanded", "false");
36+
form.appendChild(results);
37+
38+
function syncResultsWidth() {
39+
results.style.width = input.offsetWidth + "px";
40+
}
41+
42+
function hideResults() {
43+
results.hidden = true;
44+
input.setAttribute("aria-expanded", "false");
45+
input.removeAttribute("aria-activedescendant");
46+
activeIndex = -1;
47+
items = [];
48+
list.innerHTML = "";
49+
}
50+
51+
function setActive(index) {
52+
if (!items.length) return;
53+
activeIndex = (index + items.length) % items.length;
54+
items.forEach(function(item, itemIndex) {
55+
item.element.classList.toggle("ac_over", itemIndex === activeIndex);
56+
});
57+
input.setAttribute("aria-activedescendant", items[activeIndex].element.id);
58+
}
59+
60+
function selectItem(item) {
61+
input.value = item.values[1];
62+
window.location.href = item.values[3];
63+
}
64+
65+
function renderItems(lines) {
66+
syncResultsWidth();
67+
list.innerHTML = "";
68+
items = lines.map(function(line, index) {
69+
var values = line.split(",");
70+
var element = document.createElement("li");
71+
var label = document.createElement("span");
72+
var namespace = document.createElement("small");
73+
74+
element.id = results.id + "_item_" + index;
75+
element.setAttribute("role", "option");
76+
element.className = index % 2 === 0 ? "ac_even" : "ac_odd";
77+
label.textContent = values[0];
78+
element.appendChild(label);
79+
80+
if (values[1] !== "") {
81+
namespace.textContent = "(" + values[1] + ")";
82+
element.appendChild(document.createTextNode(" "));
83+
element.appendChild(namespace);
84+
}
85+
86+
element.addEventListener("mouseenter", function() {
87+
setActive(index);
88+
});
89+
element.addEventListener("mousedown", function(event) {
90+
event.preventDefault();
91+
selectItem(items[index]);
92+
});
93+
94+
list.appendChild(element);
95+
96+
return { element: element, values: values };
97+
});
98+
99+
if (items.length) {
100+
results.hidden = false;
101+
input.setAttribute("aria-expanded", "true");
102+
setActive(0);
103+
} else {
104+
hideResults();
105+
}
106+
}
107+
108+
function fetchResults(term) {
109+
if (controller) controller.abort();
110+
controller = new AbortController();
111+
input.classList.add("ac_loading");
112+
113+
fetch(
114+
form.action +
115+
"?q=" +
116+
encodeURIComponent(term) +
117+
"&_=" +
118+
new Date().getTime(),
119+
{
120+
headers: {
121+
"X-Requested-With": "XMLHttpRequest"
122+
},
123+
signal: controller.signal
124+
}
125+
)
126+
.then(function(response) {
127+
return response.text();
128+
})
129+
.then(function(text) {
130+
var lines = text
131+
.split("\n")
132+
.map(function(line) {
133+
return line.trim();
134+
})
135+
.filter(Boolean);
136+
137+
renderItems(lines);
138+
})
139+
.catch(function(error) {
140+
if (error.name !== "AbortError") hideResults();
141+
})
142+
.finally(function() {
143+
input.classList.remove("ac_loading");
144+
});
145+
}
146+
147+
input.addEventListener("input", function() {
148+
clearTimeout(requestTimer);
149+
if (blurTimer) clearTimeout(blurTimer);
150+
151+
if (!input.value.trim()) {
152+
hideResults();
153+
return;
154+
}
155+
156+
requestTimer = setTimeout(function() {
157+
fetchResults(input.value.trim());
158+
}, 200);
159+
});
160+
161+
input.addEventListener("keydown", function(event) {
162+
if (results.hidden && (event.key === "ArrowDown" || event.key === "ArrowUp")) {
163+
if (!input.value.trim()) return;
164+
fetchResults(input.value.trim());
165+
return;
166+
}
167+
168+
if (event.key === "ArrowDown") {
169+
event.preventDefault();
170+
setActive(activeIndex + 1);
171+
} else if (event.key === "ArrowUp") {
172+
event.preventDefault();
173+
setActive(activeIndex - 1);
174+
} else if (event.key === "Enter") {
175+
if (activeIndex >= 0 && items[activeIndex]) {
176+
event.preventDefault();
177+
selectItem(items[activeIndex]);
178+
}
179+
} else if (event.key === "Escape") {
180+
hideResults();
181+
}
182+
});
183+
184+
input.addEventListener("blur", function() {
185+
blurTimer = setTimeout(hideResults, 150);
186+
});
187+
188+
input.addEventListener("focus", function() {
189+
syncResultsWidth();
190+
if (items.length) {
191+
results.hidden = false;
192+
input.setAttribute("aria-expanded", "true");
193+
}
194+
});
195+
196+
document.addEventListener("click", function(event) {
197+
if (!form.contains(event.target)) hideResults();
198+
});
199+
200+
window.addEventListener("resize", syncResultsWidth);
201+
syncResultsWidth();
202+
}
203+
204+
ready(function() {
205+
var input = query("#search_box");
206+
if (input) createAutocomplete(input);
207+
});
208+
})();

lib/yard/server/templates/default/layout/html/breadcrumb.erb

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,6 @@
11
<form class="search" method="get" action="<%= abs_url base_path(router.search_prefix) %>">
22
<input name="q" type="search" placeholder="Search" id="search_box" size="30" value="<%= h @query %>">
33
</form>
4-
<script type="text/javascript" charset="utf-8">
5-
$(function() {
6-
$('#search_box').autocomplete($('#search_box').parent().attr('action'), {
7-
width: 200,
8-
formatItem: function(item) {
9-
var values = item[0].split(",");
10-
return values[0] + (values[1] == '' ? "" : " <small>(" + values[1] + ")</small>");
11-
}
12-
}).result(function(event, item) {
13-
var values = item[0].split(",")
14-
$('#search_box').val(values[1]);
15-
location.href = values[3];
16-
return false;
17-
});
18-
});
19-
</script>
204

215
<div id="menu">
226
<% unless @single_library %>
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<script>
2-
$(document.getElementById("<%= anchor_for(object) %>")).prepend(
3-
'<a class="permalink" href="<%= abs_url base_path(router.docs_prefix) %>/<%= urlencode serializer.serialized_path(object) %>">permalink</a>');
2+
document.getElementById("<%= anchor_for(object) %>").insertAdjacentHTML(
3+
"afterbegin",
4+
'<a class="permalink" href="<%= abs_url base_path(router.docs_prefix) %>/<%= urlencode serializer.serialized_path(object) %>">permalink</a>'
5+
);
46
</script>

lib/yard/server/templates/doc_server/processing/html/processing.erb

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,33 @@
44
<meta charset="utf-8">
55
<link rel="stylesheet" href="<%= abs_url('css', 'style.css') %>?<%= mtime('css/style.css') %>" type="text/css" media="screen" charset="utf-8">
66
<link rel="stylesheet" href="<%= abs_url('css', 'custom.css') %>?<%= mtime('css/custom.css') %>" type="text/css" media="screen" charset="utf-8">
7-
<script type="text/javascript" charset="utf-8" src="<%= abs_url('js', 'jquery.js') %>?<%= mtime('js/jquery.js') %>"></script>
87
<script type="text/javascript" charset="utf-8">
98
function checkPage(process) {
10-
$.ajax({cache: false, url: "<%= router.request.path %>" + (process ? "?process=true" : ""),
11-
statusCode: { 200: function() { window.location.reload(true); } } });
12-
setTimeout('checkPage()', 2000);
9+
fetch("<%= router.request.path %>" + (process ? "?process=true" : ""), { cache: "no-store" })
10+
.then(function(response) {
11+
if (response.status === 200) window.location.reload();
12+
});
13+
setTimeout(checkPage, 2000);
1314
}
1415
function setFade() {
1516
centerMessage();
16-
$(window).resize(function() { centerMessage(); });
17-
$('#fade').fadeIn();
18-
$('#processing').fadeIn();
17+
window.addEventListener("resize", centerMessage);
18+
document.getElementById('fade').style.display = 'block';
19+
document.getElementById('processing').style.display = 'block';
1920
}
2021
function centerMessage() {
21-
$('#fade').css('width', $(window).width() + 'px');
22-
$('#fade').css('height', $(window).height() - parseInt($('#fade').css('top')) + 'px');
23-
$('#processing').css('left', ($(window).width() / 2 - $('#processing').width() / 2) + 'px');
24-
$('#processing').css('top', ($(window).height() / 2 - $('#processing').height() / 2) + 'px');
22+
var fade = document.getElementById('fade');
23+
var processing = document.getElementById('processing');
24+
var fadeTop = parseInt(window.getComputedStyle(fade).top, 10) || 0;
25+
fade.style.width = window.innerWidth + 'px';
26+
fade.style.height = (window.innerHeight - fadeTop) + 'px';
27+
processing.style.left = (window.innerWidth / 2 - processing.offsetWidth / 2) + 'px';
28+
processing.style.top = (window.innerHeight / 2 - processing.offsetHeight / 2) + 'px';
2529
}
26-
$(function() { checkPage(true); });
27-
$(setFade);
30+
document.addEventListener("DOMContentLoaded", function() {
31+
checkPage(true);
32+
setFade();
33+
});
2834
</script>
2935
<style type="text/css" media="screen">
3036
body { overflow: hidden; margin: 12px; display: block; }

0 commit comments

Comments
 (0)