5 lines
11 KiB
Text
5 lines
11 KiB
Text
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3.0
|
|
(()=>{var D=(q,y,c)=>new Promise((m,p)=>{var u=n=>{try{$(c.next(n))}catch(g){p(g)}},d=n=>{try{$(c.throw(n))}catch(g){p(g)}},$=n=>n.done?m(n.value):Promise.resolve(n.value).then(u,d);$((c=c.apply(q,y)).next())});var ue=["audio","images","software","texts","video","web","more"],V=location.hostname==="localhost"||location.host.substr(0,4)==="www-"||location.host.substr(0,4)==="cat-"||location.host.substr(0,11)==="ia-petabox-"?console.log.bind(console):()=>{};document.addEventListener("DOMContentLoaded",()=>{let q=document.querySelector("ia-topnav");if(!q)return;let y=document.querySelector("ia-topnav primary-nav"),c=y.querySelector("ia-dropdown-search-bar"),m=y.querySelector("media-menu"),p=document.querySelector("ia-topnav media-slider"),u=document.querySelector("ia-topnav user-menu"),d=document.querySelector("ia-topnav .user-info"),$=document.querySelector("login-button button.login-button"),n=document.querySelector("signed-out-dropdown nav"),g=m.querySelector(".media-menu-container"),z=q.querySelector("desktop-subnav"),H=document.querySelector("ia-topnav wayback-search form"),v="usermenu",r=[],S=0,A=null,k=null,U=null,x=!1,T=!1;function _(e){V("<ia-topnav>:",e)}function I({event:e}){if(!window.archive_analytics)return;let[t,o]=e.split("|");window.archive_analytics.send_event_no_sampling(t,o,window.location.pathname)}function M(){document.querySelector("#close-layer").classList.add("visible")}function b(){c==null||c.classList.remove("search-open")}function G(){c==null||c.classList.add("search-open"),M()}function w(e=!0){m.querySelectorAll("media-button a.selected").forEach(t=>{T&&t.focus(),t.classList.remove("selected")}),p.querySelectorAll(".open").forEach(t=>t.classList.remove("open")),e&&(g.classList.remove("open"),J()),T=!1,N("hidden")}function N(e=""){let t=p.querySelector(".information-menu");t.style.visibility=e}function F(e=""){let t=e!=="hidden",o=u.querySelector("nav");o.setAttribute("aria-hidden",!t),o.setAttribute("aria-expanded",t),u.style.visibility=e}function h(e,t){if(!e)return;(e instanceof Element?[e]:Array.from(e)).forEach(s=>{Object.entries(t).forEach(([i,a])=>{s.setAttribute(i,a)})})}function L(){if(n==null||n.classList.add("initial"),n==null||n.classList.remove("open"),h(n,{"aria-hidden":"true"}),h(n==null?void 0:n.querySelectorAll("li a"),{tabindex:"-1"}),h(document.querySelector("signed-out-dropdown"),{tabindex:"-1"}),!u)return;let e=u.querySelector("nav");e.classList.contains("open")&&(F("hidden"),x?d.querySelector("button.user-menu").focus():d.querySelector("button.user-menu").blur()),h(u.querySelectorAll("a"),{tabindex:"-1"}),e.classList.add("initial"),e.classList.remove("open"),x=!1}function X(){if(n==null||n.classList.add("open"),n==null||n.classList.remove("initial"),n==null||n.querySelector("li a").focus(),h(n,{"aria-hidden":"false"}),h(n==null?void 0:n.querySelectorAll("li a"),{tabindex:""}),h(document.querySelector("signed-out-dropdown"),{tabindex:""}),!u)return;let e=u.querySelector("nav");e.classList.add("open"),e.classList.remove("initial"),h(e,{"aria-hidden":!1,"aria-expanded":!0}),h(u.querySelectorAll("a"),{tabindex:""}),M(),F()}function Z(e){b(),w(!1),L(),N(),p.querySelectorAll(".closed").forEach(t=>t.classList.toggle("open")),p.querySelectorAll("media-subnav").forEach(t=>t.classList.add("hidden")),p.querySelector(`media-subnav[menu=${e}]`).classList.remove("hidden"),M()}function W(){var e,t,o,s;_("adding tracking event listeners"),q.addEventListener("trackClick",({detail:i})=>{I(i),_(`Analytics click fired: ${i.event}`)}),q.addEventListener("trackSubmit",({detail:i})=>{I(i),_(`Analytics submit fired: ${i.event}`)}),window.addEventListener("pageshow",i=>{i.persisted&&window.location.reload()}),(e=d==null?void 0:d.querySelector("button.dropdown-toggle"))==null||e.addEventListener("click",i=>D(this,null,function*(){let a=i.currentTarget;n.classList.contains("open")?(L(),a.setAttribute("aria-expanded","false")):(w(),b(),X(),M(),a.setAttribute("aria-expanded","true")),v="signedOutMenu",r=yield R(n),setTimeout(()=>{r[0].focus()},100)})),(t=d==null?void 0:d.querySelector("button.user-menu"))==null||t.addEventListener("click",()=>D(this,null,function*(){v="usermenu",r=yield R(u),setTimeout(()=>{r[1].focus()},100)})),(o=y.querySelector(".user-menu"))==null||o.addEventListener("click",()=>{u.querySelector("nav").classList.contains("open")?L():(w(),b(),X(),M())});for(let i of ue){let a=m.querySelector(`media-button[data-mediatype=${i}] a`);a.addEventListener("click",f=>D(this,null,function*(){a.classList.contains("selected")?w(!1):(Z(i),a.classList.add("selected"),g.classList.add("open"),B()),v="mediamenu";let E=p.querySelector(`media-subnav[menu=${i}]:not(.hidden)`);return r=yield R(E),setTimeout(()=>{r[0].focus()},100),f&&f.preventDefault&&f.preventDefault(),f&&f.stopPropagation&&f.stopPropagation(),!1}))}document.querySelector("#close-layer").addEventListener("click",()=>{w(),b(),L(),document.querySelector("#close-layer").classList.remove("visible")}),H.addEventListener("submit",i=>{i.preventDefault();let l=`https://web.archive.org/web/*/${new FormData(H).get("url")}`;window.location.href=l}),y.querySelector("button.hamburger").addEventListener("click",()=>{b(),L(),g.classList.contains("open")?(w(),J()):(g.classList.add("open"),M(),B())}),y.querySelector("a.upload").addEventListener("focus",()=>b()),z.querySelector("a.desktop-subnav").addEventListener("focus",()=>b()),(s=y.querySelector(".search-trigger"))==null||s.addEventListener("click",()=>{c!=null&&c.classList.contains("search-open")?b():(w(),L(),G())})}let P=e=>{console.log("Keydown detected:",e.key),Y(e)};function R(e){return D(this,null,function*(){Q(e);let o=e.querySelectorAll("a, input, select, button");return r=o,S=0,v==="mediamenu"&&(A||(A=P,e.addEventListener("keydown",A))),v==="usermenu"&&(k||(k=P,e.addEventListener("keydown",k))),v==="signedOutMenu"&&(U||(U=P,e.addEventListener("keydown",U))),Array.from(o).filter(s=>!s.hasAttribute("disabled"))})}function Q(e){A&&(e.removeEventListener("keydown",A),A=null),k&&(e.removeEventListener("keydown",k),k=null)}function Y(e){let{key:t}=e;["ArrowDown","ArrowRight","ArrowUp","ArrowLeft"].includes(t)?(ee(t),e.preventDefault()):t==="Tab"?(oe(e),e.preventDefault()):t==="Escape"&&(ie(e),e.preventDefault())}function ee(e){["ArrowDown","ArrowRight"].includes(e)?ne():te()}function te(){var e;r.length!==0&&(S=(S-1+r.length)%r.length,(e=r[S])==null||e.focus())}function ne(){var e;r.length!==0&&(S=(S+1)%r.length,(e=r[S])==null||e.focus())}function oe(e){var o,s,i,a,f;let t=e.shiftKey;if(v==="usermenu"&&u.querySelector(".user-menu.open")!==null){let l=t?m.querySelector("media-button[data-mediatype=images] a"):document.querySelector("a.upload");l&&l.focus()}if(v==="mediamenu"){(o=r[S])==null||o.blur();let l=["web","texts","video","audio","software","images"],E=-1;l.forEach((le,ce)=>{m.querySelector(`media-button a.${le}.selected`)&&(E=ce)});let ae=t?E-1:E+1,O=l[ae%l.length];t&&E===5?(s=m.querySelector(`media-button a.${O}`))==null||s.focus():E===5?document.querySelector(".user-menu")?(i=document.querySelector(".user-menu"))==null||i.focus():(a=d.querySelector("button.dropdown-toggle"))==null||a.focus():E!==-1&&((f=m.querySelector(`media-button a.${O}`))==null||f.focus())}if(v==="signedOutMenu"){let l=null;$?l=document.querySelector("span.login-button a"):l=document.querySelector("a.upload"),t&&(l=m.querySelector("media-button[data-mediatype=images] a")),l&&l.focus()}e.preventDefault(),e.stopPropagation()}function ie(e){(e.key==="Escape"||e.keyCode===27)&&(x=!0,T=!0,b(),w(!0,!0),L())}function se(){var t,o,s;let e=JSON.parse((o=(t=document.querySelector(".js_nav_tweaks"))==null?void 0:t.value)!=null?o:!1);e&&e.uploadURL&&((s=y.querySelector("a.upload"))==null||s.setAttribute("href",e.uploadURL))}function K(e){let t=u.querySelector("ul"),o=document.createElement("li");for(o.classList="style-scope user-menu divider",t.append(o);e.length;){let s=e.shift();o=document.createElement("li"),o.classList="style-scope user-menu",o.innerHTML=s.url?`<a href="${s.url}" class="style-scope user-menu"
|
|
data-event-click-tracking="TopNav|${s.analyticsEvent}" tabindex="-1">${s.title}</a>`:`<span class="style-scope user-menu info-item">${s.title}</span`,t.append(o)}}function re(){var i,a;let e=JSON.parse((a=(i=document.querySelector(".js_user_menu_links"))==null?void 0:i.value)!=null?a:!1);if(!e)return;let{identifier:t,uploader:o,biblio:s}=e;K([{title:"ADMINS:"},{title:"item:"},{url:`/editxml/${t}`,title:"edit xml",analyticsEvent:"AdminUserEditXML"},{url:`/edit.php?redir=1&identifier=${t}`,title:"edit files",analyticsEvent:"AdminUserEditFiles"},{url:`/download/${t}/`,title:"download",analyticsEvent:"AdminUserDownload"},{url:`/metadata/${t}/`,title:"metadata",analyticsEvent:"AdminUserMetadata"},{url:`https://catalogd.archive.org/history/${t}`,title:"history",analyticsEvent:"AdminUserHistory"},{url:`/manage/${t}`,title:"manage",analyticsEvent:"AdminUserManager"},{url:`/manage/${t}#make_dark`,title:"curate",analyticsEvent:"AdminUserCurate"},{url:`/manage/${t}#modify_xml`,title:"modify xml",analyticsEvent:"AdminUserModifyXML"},{url:`/services/flags/admin.php?identifier=${t}`,title:"manage flags",analyticsEvent:"AdminUserManageFlags"}]),s&&K([{url:`${s}&ignored=${t}`,title:"biblio",analyticsEvent:"AdminUserBiblio"},{url:`/bookview.php?mode=debug&identifier=${t}`,title:"bookview",analyticsEvent:"AdminUserBookView"},{url:`/download/${t}/format=Single Page Processed JP2 ZIP`,title:"jp2 zip",analyticsEvent:"AdminUserJP2Zip"}]),o&&K([{title:"uploader:"},{title:o},{url:`https://catalogd.archive.org/control/useradmin.php?email=${o}`,title:"user admin",analyticsEvent:"AdminUserUserAdmin"},{url:`https://catalogd.archive.org/control/setadmin.php?user=${o}&ignore=${t}`,title:"user privs",analyticsEvent:"AdminUserUserPrivs"}])}let j="icon-hamburger svg:nth-child(1)",C="icon-hamburger-x";function B(){try{let e=document.getElementsByTagName("icon-hamburger")[0];document.getElementById(C)||(document.querySelector(j).style.display="none",e.innerHTML=e.innerHTML+'<svg id="'+C+'" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-labelledby="closeTitleID closeDescID" style="fill:white;width:4rem;height:4rem;"><title id="closeTitleID">Close icon</title><desc id="closeDescID">A line drawing of an X</desc><path d="m29.1923882 10.8076118c.5857864.5857865.5857864 1.535534 0 2.1213204l-7.0711162 7.0703398 7.0711162 7.0717958c.5857864.5857864.5857864 1.5355339 0 2.1213204-.5857865.5857864-1.535534.5857864-2.1213204 0l-7.0717958-7.0711162-7.0703398 7.0711162c-.5857864.5857864-1.5355339.5857864-2.1213204 0-.5857864-.5857865-.5857864-1.535534 0-2.1213204l7.0706602-7.0717958-7.0706602-7.0703398c-.5857864-.5857864-.5857864-1.5355339 0-2.1213204.5857865-.5857864 1.535534-.5857864 2.1213204 0l7.0703398 7.0706602 7.0717958-7.0706602c.5857864-.5857864 1.5355339-.5857864 2.1213204 0z" class="fill-color" fill-rule="evenodd"></path></svg>')}catch(e){console.error({error:e})}}function J(){var e;try{document.querySelector(j).style.display="",(e=document.getElementById(C))==null||e.remove()}catch(t){console.error({error:t})}}W(),re(),se(),V("IA topnav has loaded.")});})();
|
|
// @license-end
|
|
//# sourceMappingURL=ia-topnav.min.js.map
|