Version 41.1 by Veronika Kocher on Thursday, 03 Sep 2026 15:57

Hide last authors
Veronika Kocher 16.1 1 Artistic and research projects involve many different tasks, decisions and responsibilities — from developing an initial idea and securing funding to organising materials, collaborating with others, publishing results and preserving them for future use.
Veronika Kocher 1.1 2
Veronika Kocher 16.1 3 The **Art & Research Services Navigator** helps you find the right guidance, services and resources for each stage of your project.
Veronika Kocher 1.1 4
Veronika Kocher 40.1 5 {{info title="Support for Your Project:"}}
Veronika Kocher 39.14 6
Veronika Kocher 40.1 7
8 **Support Kunst und Forschung (SKF)** provides guidance for projects and grant applications and collaborates with the appropriate university services as needed.
Veronika Kocher 39.14 9
Veronika Kocher 40.1 10 The Navigator guides you through the project phases to the resources and points of contact relevant to your project.
Veronika Kocher 39.14 11 {{/info}}
12
Veronika Kocher 35.1 13 {{html clean="false"}}
Veronika Kocher 39.20 14 <section data-arsn-search-block-fix="v5" style="margin:20px 0 26px 0;padding:16px 18px;border:1px solid #e3ded6;border-radius:10px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);">
15 <h2 style="font-size:20px;margin:0 0 6px 0;color:#35312d;">Search the Art &amp; Research Services Navigator</h2>
16 <p style="margin:0 0 12px 0;color:#6a655e;">Type a topic, synonym or common query. Matching pages are suggested immediately. Search-term links on the topic pages use the same controlled vocabulary.</p>
Veronika Kocher 35.1 17 <form
18 id="arsn-search-form"
19 action="https://xwiki.uni-ak.ac.at/bin/view/Main/SolrSearch"
20 method="get"
21 role="search"
22 style="margin:0;"
23 >
24 <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap;">
Veronika Kocher 36.1 25 <label for="arsn-search-input" style="position:absolute;left:-10000px;">
26 Search the Art &amp; Research Services Navigator
27 </label>
Veronika Kocher 35.1 28
29 <input
30 id="arsn-search-input"
31 name="text"
32 type="search"
Veronika Kocher 36.1 33 placeholder="Try: DOI, backup, copyright, GDPR, repository..."
Veronika Kocher 35.1 34 autocomplete="off"
35 aria-autocomplete="list"
36 aria-controls="arsn-search-results"
37 aria-expanded="false"
38 style="flex:1 1 520px;min-width:260px;padding:11px 13px;border:1px solid #bbb;border-radius:6px;font-size:16px;"
39 />
40
41 <input type="hidden" name="f_type" value="DOCUMENT" />
42 <input type="hidden" name="sort" value="score" />
43 <input type="hidden" name="sortOrder" value="desc" />
44 <input type="hidden" name="facet" value="true" />
45 <input type="hidden" name="highlight" value="true" />
46 <input type="hidden" name="r" value="1" />
47
Veronika Kocher 36.1 48 <button type="submit" class="btn btn-primary" style="padding:11px 22px;">
49 Search
50 </button>
Veronika Kocher 35.1 51 </div>
52
53 <div
54 id="arsn-search-results"
55 role="listbox"
56 aria-label="Suggested pages"
57 hidden
58 style="margin-top:8px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.10);overflow:hidden;"
59 ></div>
60
61 <p
62 id="arsn-search-status"
63 style="position:absolute;left:-10000px;"
64 aria-live="polite"
65 ></p>
66 </form>
67
68 <script>
69 (function () {
70 "use strict";
71
Veronika Kocher 36.1 72 var encodedIndex = "W3sidGl0bGUiOiJBcnQgJiBSZXNlYXJjaCBTZXJ2aWNlcyBOYXZpZ2F0b3IiLCJwaGFzZSI6Ik92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yLy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiYXJ0aXN0aWMgcmVzZWFyY2giLCJyZXNlYXJjaCBzZXJ2aWNlcyIsInJlc2VhcmNoIHN1cHBvcnQiLCJzZXJ2aWNlIG5hdmlnYXRvciIsInByb2plY3QgbGlmZWN5Y2xlIiwicmVzZWFyY2ggZGF0YSBtYW5hZ2VtZW50Iiwib3BlbiBzY2llbmNlIiwicmVzZWFyY2ggcHJvamVjdCIsImFydCByZXNlYXJjaCBzdXBwb3J0IiwicmVzZWFyY2ggc3VwcG9ydCBzZXJ2aWNlcyIsInJlc2VhcmNoIHdvcmtmbG93IiwicHJvamVjdCBzdXBwb3J0Il19LHsidGl0bGUiOiJFbmFibGUiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInByb2plY3Qgc2V0dXAiLCJwcm9qZWN0IHBsYW5uaW5nIiwicmVzZWFyY2ggZnVuZGluZyIsImRhdGEgbWFuYWdlbWVudCIsInJpZ2h0cyBhbmQgZXRoaWNzIiwic3RhcnRpbmcgYSBwcm9qZWN0IiwibmV3IHByb2plY3QiLCJwcm9qZWN0IHByZXBhcmF0aW9uIiwicHJvamVrdHBsYW51bmciXX0seyJ0aXRsZSI6IkdldCBTdGFydGVkIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0dldCUyMFN0YXJ0ZWQvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImdldCBzdGFydGVkIiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCIsInJlc2VhcmNoIGRhdGEiLCJwcm9qZWN0IGxpZmVjeWNsZSIsIm5ldyBwcm9qZWN0Iiwic3RhcnRpbmcgYSBwcm9qZWN0IiwicmVzZWFyY2ggcHJvamVjdCIsImVpbnN0aWVnIiwicHJvamVrdHN0YXJ0Il19LHsidGl0bGUiOiJQcm9qZWN0IFBsYW5uaW5nICYgT3JnYW5pc2F0aW9uIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1Byb2plY3QlMjBQbGFubmluZyUyMCUyNiUyME9yZ2FuaXNhdGlvbi8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwicHJvamVjdCBwbGFubmluZyIsInByb2plY3Qgb3JnYW5pc2F0aW9uIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJyZXNvdXJjZXMiLCJ0aW1lbGluZSIsImJ1ZGdldCIsInJpc2sgbWFuYWdlbWVudCIsInByb2plY3Qgcm9sZXMiLCJwcm9qZWN0IHJlc3BvbnNpYmlsaXRpZXMiLCJwcm9qZWN0IGJ1ZGdldCIsInByb2plY3QgdGltZWxpbmUiLCJwcm9qZWN0IHJlc291cmNlcyIsInByb2pla3RwbGFudW5nIiwicHJvamVrdG9yZ2FuaXNhdGlvbiIsInp1c3TDpG5kaWdrZWl0ZW4iXX0seyJ0aXRsZSI6IkZ1bmRpbmcgJiBGdW5kZXIgUmVxdWlyZW1lbnRzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0Z1bmRpbmclMjAlMjYlMjBGdW5kZXIlMjBSZXF1aXJlbWVudHMvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInJlc2VhcmNoIGZ1bmRpbmciLCJmdW5kZXIgcmVxdWlyZW1lbnRzIiwiZ3JhbnQgcmVxdWlyZW1lbnRzIiwiZGF0YSBtYW5hZ2VtZW50IHBsYW4iLCJvcGVuIHNjaWVuY2UgcmVxdWlyZW1lbnRzIiwiZWxpZ2libGUgY29zdHMiLCJmdW5kaW5nIiwiZ3JhbnQiLCJncmFudCBhcHBsaWNhdGlvbiIsImZ1bmRlciIsImZ1bmRpbmcgcmVxdWlyZW1lbnRzIiwiZsO2cmRlcnVuZyIsImbDtnJkZXJnZWJlciIsImbDtnJkZXJiZWRpbmd1bmdlbiJdfSx7InRpdGxlIjoiSWRlbnRpZnkgWW91ciBEYXRhICYgUmVzZWFyY2ggT3V0cHV0cyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9JZGVudGlmeSUyMFlvdXIlMjBEYXRhJTIwJTI2JTIwUmVzZWFyY2glMjBPdXRwdXRzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJyZXNlYXJjaCBkYXRhIiwiYXJ0aXN0aWMgb3V0cHV0cyIsInJlc2VhcmNoIG91dHB1dHMiLCJkYXRhIGludmVudG9yeSIsIm1hdGVyaWFsIHR5cGVzIiwiZGF0YSBjbGFzc2lmaWNhdGlvbiIsImRhdGEgdHlwZXMiLCJyZXNlYXJjaCBtYXRlcmlhbHMiLCJvdXRwdXRzIiwiYXJ0aXN0aWMgcmVzZWFyY2ggb3V0cHV0cyIsInJlc2VhcmNoIG9iamVjdHMiLCJmb3JzY2h1bmdzZGF0ZW4iLCJmb3JzY2h1bmdzb3V0cHV0cyJdfSx7InRpdGxlIjoiUGxhbiBZb3VyIERhdGEgTWFuYWdlbWVudCIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9QbGFuJTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJkYXRhIG1hbmFnZW1lbnQgcGxhbiIsImRtcCIsImRhdGEgbGlmZWN5Y2xlIiwiZGF0YSBtYW5hZ2VtZW50IiwicmVzcG9uc2liaWxpdGllcyIsInJldmlldyBwb2ludHMiLCJyZXNlYXJjaCBkYXRhIG1hbmFnZW1lbnQiLCJyZG0iLCJkYXRhIG1hbmFnZW1lbnQgcGxhbm5pbmciLCJkYXRlbm1hbmFnZW1lbnRwbGFuIiwiZm9yc2NodW5nc2RhdGVubWFuYWdlbWVudCJdfSx7InRpdGxlIjoiQ29weXJpZ2h0LCBSaWdodHMgJiBMaWNlbmNlcyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9Db3B5cmlnaHQlMkMlMjBSaWdodHMlMjAlMjYlMjBMaWNlbmNlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29weXJpZ2h0IiwicmlnaHRzIiwibGljZW5zaW5nIiwibGljZW5jZXMiLCJ0aGlyZC1wYXJ0eSByaWdodHMiLCJjcmVhdGl2ZSBjb21tb25zIiwicGVybWlzc2lvbnMiLCJ1cmhlYmVycmVjaHQiLCJyaWdodHMgY2xlYXJhbmNlIiwiY2MgbGljZW5jZSIsImNjIGxpY2Vuc2UiLCJ1c2FnZSByaWdodHMiLCJudXR6dW5nc3JlY2h0ZSIsInJlY2h0ZWtsw6RydW5nIl19LHsidGl0bGUiOiJEYXRhIFByb3RlY3Rpb24gJiBFdGhpY3MiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvRGF0YSUyMFByb3RlY3Rpb24lMjAlMjYlMjBFdGhpY3MvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImRhdGEgcHJvdGVjdGlvbiIsInBlcnNvbmFsIGRhdGEiLCJnZHByIiwiZXRoaWNzIiwiY29uc2VudCIsInNlbnNpdGl2ZSBkYXRhIiwiY29uZmlkZW50aWFsaXR5IiwiZGF0YSBwcml2YWN5IiwiZHNndm8iLCJhbm9ueW1pc2F0aW9uIiwiYW5vbnltaXphdGlvbiIsInBzZXVkb255bWlzYXRpb24iLCJwc2V1ZG9ueW1pemF0aW9uIiwiZGF0ZW5zY2h1dHoiLCJlaW53aWxsaWd1bmciXX0seyJ0aXRsZSI6IkZpbGUgT3JnYW5pc2F0aW9uICYgTmFtaW5nIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0ZpbGUlMjBPcmdhbmlzYXRpb24lMjAlMjYlMjBOYW1pbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImZpbGUgb3JnYW5pc2F0aW9uIiwiZm9sZGVyIHN0cnVjdHVyZSIsImZpbGUgbmFtaW5nIiwibmFtaW5nIGNvbnZlbnRpb25zIiwicHJvamVjdCBmaWxlcyIsImlkZW50aWZpZXJzIiwiZmlsZW5hbWUiLCJmaWxlbmFtZXMiLCJmb2xkZXIgbmFtaW5nIiwiZmlsZSBzdHJ1Y3R1cmUiLCJkYXRlaW9yZ2FuaXNhdGlvbiIsImRhdGVpYmVuZW5udW5nIiwib3JkbmVyc3RydWt0dXIiXX0seyJ0aXRsZSI6IlN0b3JhZ2UsIEJhY2t1cCAmIFNlY3VyaXR5IiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1N0b3JhZ2UlMkMlMjBCYWNrdXAlMjAlMjYlMjBTZWN1cml0eS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwic3RvcmFnZSIsImJhY2t1cCIsInNlY3VyaXR5IiwiYWNjZXNzIGNvbnRyb2wiLCIzLTItMSBiYWNrdXAiLCJpbnN0aXR1dGlvbmFsIHN0b3JhZ2UiLCJiYWNrdXAgcmVzdG9yZSIsInJlc3RvcmUiLCJjbG91ZCBzdG9yYWdlIiwiZGF0YSBzZWN1cml0eSIsImRhdGVuc2ljaGVydW5nIiwic3BlaWNoZXIiLCJ6dWdyaWZmc3NjaHV0eiJdfSx7InRpdGxlIjoiSW5mcmFzdHJ1Y3R1cmUsIFNlcnZpY2VzICYgVG9vbHMiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvSW5mcmFzdHJ1Y3R1cmUlMkMlMjBTZXJ2aWNlcyUyMCUyNiUyMFRvb2xzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJpbmZyYXN0cnVjdHVyZSIsInNlcnZpY2VzIiwidG9vbHMiLCJpbnN0aXR1dGlvbmFsIHNlcnZpY2VzIiwic29mdHdhcmUiLCJyZXBvc2l0b3JpZXMiLCJyZXNlYXJjaCBpbmZyYXN0cnVjdHVyZSIsIml0IHNlcnZpY2VzIiwiZGlnaXRhbCB0b29scyIsImluZnJhc3RydWt0dXIiLCJkaWVuc3RlIiwid2Vya3pldWdlIl19LHsidGl0bGUiOiJDb2xsYWJvcmF0aW9uIFNldHVwIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0NvbGxhYm9yYXRpb24lMjBTZXR1cC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29sbGFib3JhdGlvbiIsImRhdGEgZXhjaGFuZ2UiLCJzaGFyZWQgd29ya3NwYWNlIiwiYWNjb3VudHMiLCJhY2Nlc3MgZ3JvdXBzIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJoYW5kb3ZlciIsInRlYW0gY29sbGFib3JhdGlvbiIsInByb2plY3QgcGFydG5lcnMiLCJzaGFyZWQgZm9sZGVyIiwic2hhcmVkIGFjY291bnRzIiwiY29sbGFib3JhdGl2ZSB3b3JraW5nIiwienVzYW1tZW5hcmJlaXQiLCJkYXRlbmF1c3RhdXNjaCJdfSx7InRpdGxlIjoiUXVpY2sgU3RhcnQgZm9yIFNtYWxsIFByb2plY3RzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1F1aWNrJTIwU3RhcnQlMjBmb3IlMjBTbWFsbCUyMFByb2plY3RzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJxdWljayBzdGFydCIsInNtYWxsIHByb2plY3RzIiwibWluaW11bSBzdGFuZGFyZCIsInByb2plY3QgY2hlY2tsaXN0IiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCBjaGVja2xpc3QiLCJxdWljayBndWlkZSIsIm1pbmltdW0gcmVxdWlyZW1lbnRzIiwic21hbGwgcHJvamVjdCBjaGVja2xpc3QiLCJjaGVja2xpc3RlIiwibWluZGVzdHN0YW5kYXJkIl19LHsidGl0bGUiOiJXb3JrICYgTWFuYWdlIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsIndvcmsgYW5kIG1hbmFnZSIsInByb2plY3QgbWFuYWdlbWVudCIsInJlc2VhcmNoIHdvcmtmbG93IiwiZG9jdW1lbnRhdGlvbiIsImRhdGEgbWFuYWdlbWVudCIsInF1YWxpdHkgYXNzdXJhbmNlIiwib25nb2luZyBwcm9qZWN0IiwicHJvamVjdCB3b3JrZmxvdyIsImxhdWZlbmRlcyBwcm9qZWt0IiwicHJvamVrdG1hbmFnZW1lbnQiXX0seyJ0aXRsZSI6Ik9yZ2FuaXNlIEZpbGVzICYgRm9sZGVycyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL09yZ2FuaXNlJTIwRmlsZXMlMjAlMjYlMjBGb2xkZXJzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJmaWxlIG9yZ2FuaXNhdGlvbiIsImZvbGRlciBzdHJ1Y3R1cmUiLCJwcm9qZWN0IGZpbGVzIiwibmFtaW5nIGNvbnZlbnRpb25zIiwidGVhbSB3b3JrZmxvdyIsImRhdGEgb3JnYW5pc2F0aW9uIiwiZmlsZSBzdHJ1Y3R1cmUiLCJmb2xkZXIgb3JnYW5pc2F0aW9uIiwiZGF0ZWlvcmdhbmlzYXRpb24iLCJvcmRuZXJzdHJ1a3R1ciJdfSx7InRpdGxlIjoiTWFuYWdlIFZlcnNpb25zICYgTWFzdGVyIEZpbGVzIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvTWFuYWdlJTIwVmVyc2lvbnMlMjAlMjYlMjBNYXN0ZXIlMjBGaWxlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwidmVyc2lvbiBjb250cm9sIiwidmVyc2lvbnMiLCJtYXN0ZXIgZmlsZXMiLCJ3b3JraW5nIGNvcGllcyIsInB1Ymxpc2hlZCB2ZXJzaW9ucyIsInRyYWNlYWJpbGl0eSIsImdpdCIsInZlcnNpb25pbmciLCJtYXN0ZXIiLCJtYXN0ZXIgZmlsZSIsImZpbmFsIHZlcnNpb24iLCJ2ZXJzaW9uIGhpc3RvcnkiLCJ2ZXJzaW9uc3ZlcndhbHR1bmciLCJtYXN0ZXJkYXRlaSJdfSx7InRpdGxlIjoiU3RvcmUsIEJhY2sgVXAgJiBDb250cm9sIEFjY2VzcyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL1N0b3JlJTJDJTIwQmFjayUyMFVwJTIwJTI2JTIwQ29udHJvbCUyMEFjY2Vzcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwic3RvcmFnZSIsImJhY2t1cCIsImFjY2VzcyBjb250cm9sIiwic2VjdXJpdHkiLCJwZXJtaXNzaW9ucyIsInNlbnNpdGl2ZSBkYXRhIiwiaW5zdGl0dXRpb25hbCBzdG9yYWdlIiwiYmFja3VwIHJlc3RvcmUiLCJhY2Nlc3MgcGVybWlzc2lvbnMiLCJzZWN1cmUgc3RvcmFnZSIsImRhdGEgYWNjZXNzIiwienVncmlmZnNyZWNodGUiLCJkYXRlbnNpY2hlcnVuZyJdfSx7InRpdGxlIjoiRG9jdW1lbnQgUHJvY2Vzc2VzLCBNZXRhZGF0YSAmIFByb3ZlbmFuY2UiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Eb2N1bWVudCUyME1ldGFkYXRhJTIwJTI2JTIwUHJvdmVuYW5jZS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwiZG9jdW1lbnRhdGlvbiIsInJlc2VhcmNoIHByb2Nlc3MiLCJtZXRhZGF0YSIsInByb3ZlbmFuY2UiLCJjb250ZXh0IiwidHJhY2VhYmlsaXR5IiwicmVsYXRpb25zaGlwcyIsInRlY2huaWNhbCBkb2N1bWVudGF0aW9uIiwicHJvY2VzcyBkb2N1bWVudGF0aW9uIiwicmVzZWFyY2ggZG9jdW1lbnRhdGlvbiIsImRhdGEgbGluZWFnZSIsIm9yaWdpbiIsImhpc3Rvcnkgb2YgY2hhbmdlcyIsIm1ldGFkYXRlbiIsInByb3ZlbmllbnoiLCJwcm96ZXNzZG9rdW1lbnRhdGlvbiJdfSx7InRpdGxlIjoiVXNlIFN0YW5kYXJkcywgVm9jYWJ1bGFyaWVzICYgSWRlbnRpZmllcnMiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Vc2UlMjBTdGFuZGFyZHMlMkMlMjBWb2NhYnVsYXJpZXMlMjAlMjYlMjBJZGVudGlmaWVycy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwibWV0YWRhdGEgc3RhbmRhcmRzIiwiY29udHJvbGxlZCB2b2NhYnVsYXJpZXMiLCJhdXRob3JpdHkgZGF0YSIsImlkZW50aWZpZXJzIiwicGVyc2lzdGVudCBpZGVudGlmaWVycyIsImduZCIsImNpZG9jIGNybSIsImludGVyb3BlcmFiaWxpdHkiLCJnZXR0eSB2b2NhYnVsYXJpZXMiLCJub3JtZGF0YSIsIm5vcm1kYXRlbiIsImNvbnRyb2xsZWQgdm9jYWJ1bGFyeSIsInBlcnNpc3RlbnQgaWRlbnRpZmllciIsInBpZCIsIm1ldGFkYXRhIHNjaGVtYSIsIm9udG9sb2d5Iiwib250b2xvZ2llcyJdfSx7InRpdGxlIjoiUmV2aWV3IFlvdXIgRGF0YSBNYW5hZ2VtZW50IiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvUmV2aWV3JTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJkYXRhIG1hbmFnZW1lbnQgcmV2aWV3IiwiZG1wIHVwZGF0ZSIsInF1YWxpdHkgYXNzdXJhbmNlIiwicHJvamVjdCByZXZpZXciLCJyZXNwb25zaWJpbGl0aWVzIiwicmlzayByZXZpZXciLCJwcm9qZWN0IGNoYW5nZXMiLCJyZXZpZXcgZG1wIiwidXBkYXRlIGRtcCIsImRhdGEgbWFuYWdlbWVudCB1cGRhdGUiLCJxdWFsaXR5IHJldmlldyIsImRhdGVubWFuYWdlbWVudCDDvGJlcnByw7xmZW4iLCJkbXAgYWt0dWFsaXNpZXJlbiJdfSx7InRpdGxlIjoiUHVibGlzaCAmIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlc2VhcmNoIHB1YmxpY2F0aW9uIiwiZGlzc2VtaW5hdGlvbiIsIm9wZW4gc2NpZW5jZSIsInJlcG9zaXRvcmllcyIsInByZXNlcnZhdGlvbiIsInB1YmxpY2F0aW9uIiwic2hhcmluZyIsInJlc2VhcmNoIGRpc3NlbWluYXRpb24iLCJ2aXNpYmlsaXR5IiwicHVibGl6aWVyZW4iLCJ0ZWlsZW4iLCJzaWNodGJhcmtlaXQiXX0seyJ0aXRsZSI6IkRlY2lkZSBXaGF0IHRvIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0RlY2lkZSUyMFdoYXQlMjB0byUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInNoYXJpbmciLCJwdWJsaWNhdGlvbiBkZWNpc2lvbiIsImRpc2NvdmVyeSIsImFjY2VzcyIsInJldXNlIiwicHJlc2VydmF0aW9uIiwic2Vuc2l0aXZpdHkiLCJ3aGF0IHRvIHB1Ymxpc2giLCJ3aGF0IHRvIHNoYXJlIiwiZGlzY292ZXJ5IGFjY2VzcyByZXVzZSBwcmVzZXJ2YXRpb24iLCJmcmVpZ2FiZSIsInZlcsO2ZmZlbnRsaWNodW5nc2VudHNjaGVpZHVuZyJdfSx7InRpdGxlIjoiRkFJUiwgQ0FSRSAmIE9wZW4gU2NpZW5jZSIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9GQUlSJTJDJTIwQ0FSRSUyMCUyNiUyME9wZW4lMjBTY2llbmNlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsImZhaXIiLCJjYXJlIiwib3BlbiBzY2llbmNlIiwib3BlbiBhY2Nlc3MiLCJvcGVuIGRhdGEiLCJpbmRpZ2Vub3VzIGRhdGEgZ292ZXJuYW5jZSIsInJlc3BvbnNpYmxlIG9wZW5uZXNzIiwiZmluZGFibGUgYWNjZXNzaWJsZSBpbnRlcm9wZXJhYmxlIHJldXNhYmxlIiwiY29sbGVjdGl2ZSBiZW5lZml0IiwiYXV0aG9yaXR5IHRvIGNvbnRyb2wiLCJyZXNwb25zaWJpbGl0eSBldGhpY3MiLCJvZmZlbmUgd2lzc2Vuc2NoYWZ0Iiwib3BlbiByZXNlYXJjaCJdfSx7InRpdGxlIjoiTWFuYWdlIEFjY2VzcywgUmV1c2UgJiBMaWNlbnNpbmciLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFuYWdlJTIwQWNjZXNzJTJDJTIwUmV1c2UlMjAlMjYlMjBMaWNlbnNpbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiYWNjZXNzIiwicmV1c2UiLCJsaWNlbnNpbmciLCJsaWNlbmNlcyIsInBlcm1pc3Npb25zIiwiZW1iYXJnbyIsImNvbnRyb2xsZWQgYWNjZXNzIiwiY3JlYXRpdmUgY29tbW9ucyIsInJldXNlIHJpZ2h0cyIsIm9wZW4gbGljZW5jZSIsIm9wZW4gbGljZW5zZSIsImFjY2VzcyByZXN0cmljdGlvbiIsInp1Z2FuZyIsIm5hY2hudXR6dW5nIiwibGl6ZW56aWVydW5nIl19LHsidGl0bGUiOiJDaG9vc2UgYSBSZXBvc2l0b3J5IG9yIFB1YmxpY2F0aW9uIFBsYXRmb3JtIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nob29zZSUyMGElMjBSZXBvc2l0b3J5JTIwb3IlMjBQdWJsaWNhdGlvbiUyMFBsYXRmb3JtLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlcG9zaXRvcnkiLCJwdWJsaWNhdGlvbiBwbGF0Zm9ybSIsImRhdGEgcmVwb3NpdG9yeSIsImFyY2hpdmUiLCJ0cnVzdGVkIHJlcG9zaXRvcnkiLCJjb3JldHJ1c3RzZWFsIiwiaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IiwicmVzZWFyY2ggcmVwb3NpdG9yeSIsInB1YmxpY2F0aW9uIHZlbnVlIiwicmVwb3NpdG9yeSBzZWxlY3Rpb24iLCJyZXBvc2l0b3JpdW0iLCJwdWJsaWthdGlvbnNwbGF0dGZvcm0iLCJhcmNoaXYiXX0seyJ0aXRsZSI6Ik1ha2UgT3V0cHV0cyBGaW5kYWJsZSAmIENpdGFibGUiLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFrZSUyME91dHB1dHMlMjBGaW5kYWJsZSUyMCUyNiUyMENpdGFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZmluZGFiaWxpdHkiLCJjaXRhdGlvbiIsInBlcnNpc3RlbnQgaWRlbnRpZmllcnMiLCJwaWQiLCJkb2kiLCJvcmNpZCIsInJvciIsIm1ldGFkYXRhIiwidmVyc2lvbmluZyIsImRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiLCJkb2kgbnVtYmVyIiwicGVyc2lzdGVudCBpZGVudGlmaWVyIiwicGVyc2lzdGVudCBpZCIsImRhdGEgY2l0YXRpb24iLCJjaXRlIGRhdGEiLCJjaXRlIGRhdGFzZXQiLCJjaXRhdGlvbiBtZXRhZGF0YSIsInppdGllcmVuIiwieml0aWVyYmFya2VpdCIsImF1ZmZpbmRiYXJrZWl0Il19LHsidGl0bGUiOiJEaXNzZW1pbmF0ZSAmIFByZXNlbnQgWW91ciBSZXNlYXJjaCIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9EaXNzZW1pbmF0ZSUyMCUyNiUyMFByZXNlbnQlMjBZb3VyJTIwUmVzZWFyY2gvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZGlzc2VtaW5hdGlvbiIsInZpc2liaWxpdHkiLCJwcmVzZW50YXRpb24iLCJhdWRpZW5jZXMiLCJzY2llbmNlIGNvbW11bmljYXRpb24iLCJleGhpYml0aW9uIiwicHJvamVjdCB3ZWJzaXRlIiwicmVzZWFyY2ggY29tbXVuaWNhdGlvbiIsImNvbW11bmljYXRpb24iLCJwdWJsaWMgZW5nYWdlbWVudCIsImF1c3N0ZWxsdW5nIiwidmVybWl0dGx1bmciXX0seyJ0aXRsZSI6IlByZXNlcnZlIERhdGEgJiBBcnRpc3RpYyBPdXRwdXRzIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL1ByZXNlcnZlJTIwRGF0YSUyMCUyNiUyMEFydGlzdGljJTIwT3V0cHV0cy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcmVzZXJ2YXRpb24iLCJsb25nLXRlcm0gcHJlc2VydmF0aW9uIiwiYXJjaGl2aW5nIiwibWFzdGVyIGZpbGVzIiwiZmlsZSBmb3JtYXRzIiwidGVjaG5pY2FsIGRlcGVuZGVuY2llcyIsImVtdWxhdGlvbiIsImFydGlzdGljIG91dHB1dHMiLCJkaWdpdGFsIHByZXNlcnZhdGlvbiIsImxvbmcgdGVybSBhcmNoaXZlIiwicHJlc2VydmF0aW9uIG1hc3RlciIsImZvcm1hdCBtaWdyYXRpb24iLCJzb2Z0d2FyZSBwcmVzZXJ2YXRpb24iLCJsYW5nemVpdGFyY2hpdmllcnVuZyIsImFyY2hpdmllcnVuZyIsImVyaGFsdHVuZyJdfSx7InRpdGxlIjoiQ2xvc2UgJiBIYW5kIE92ZXIgWW91ciBQcm9qZWN0IiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nsb3NlJTIwJTI2JTIwSGFuZCUyME92ZXIlMjBZb3VyJTIwUHJvamVjdC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcm9qZWN0IGNsb3N1cmUiLCJoYW5kb3ZlciIsImFyY2hpdmUgZGVwb3NpdCIsImRlbGV0aW9uIiwiZmluYWwgZG9jdW1lbnRhdGlvbiIsInBvc3QtcHJvamVjdCByZXNwb25zaWJpbGl0eSIsInJldGVudGlvbiIsInByb2plY3QgZW5kIiwicHJvamVjdCBjb21wbGV0aW9uIiwiZmluYWwgaGFuZG92ZXIiLCJwcm9qZWN0IGFyY2hpdmUiLCJwcm9qZWt0YWJzY2hsdXNzIiwiw7xiZXJnYWJlIiwibMO2c2NodW5nIl19XQ==";
Veronika Kocher 35.1 73 var pageIndex;
74
75 try {
76 var binary = window.atob(encodedIndex);
77 var bytes = Uint8Array.from(binary, function (character) {
78 return character.charCodeAt(0);
79 });
Veronika Kocher 36.1 80
Veronika Kocher 35.1 81 pageIndex = JSON.parse(
82 new TextDecoder("utf-8").decode(bytes)
83 );
84 } catch (error) {
Veronika Kocher 36.1 85 console.error("Art & Research search index could not be loaded.", error);
Veronika Kocher 35.1 86 return;
87 }
88
89 var form = document.getElementById("arsn-search-form");
90 var input = document.getElementById("arsn-search-input");
91 var resultsBox = document.getElementById("arsn-search-results");
92 var status = document.getElementById("arsn-search-status");
93 var currentResults = [];
94 var activeIndex = -1;
95
96 function normalise(value) {
97 return String(value || "")
98 .normalize("NFD")
99 .replace(/[\u0300-\u036f]/g, "")
100 .toLowerCase()
101 .replace(/[^a-z0-9]+/g, " ")
102 .trim();
103 }
104
105 function scorePage(page, query) {
106 var title = normalise(page.title);
107 var phase = normalise(page.phase);
108 var terms = page.terms.map(normalise);
109 var tokens = query.split(/\s+/).filter(Boolean);
110 var score = 0;
111
112 if (title === query) score += 500;
113 if (terms.indexOf(query) !== -1) score += 450;
Veronika Kocher 36.1 114
Veronika Kocher 35.1 115 if (title.indexOf(query) === 0) score += 300;
116 if (terms.some(function (term) {
117 return term.indexOf(query) === 0;
118 })) score += 260;
Veronika Kocher 36.1 119
Veronika Kocher 35.1 120 if (title.indexOf(query) !== -1) score += 180;
121 if (terms.some(function (term) {
122 return term.indexOf(query) !== -1;
123 })) score += 160;
Veronika Kocher 36.1 124
Veronika Kocher 35.1 125 if (phase.indexOf(query) !== -1) score += 40;
126
127 tokens.forEach(function (token) {
128 if (title.indexOf(token) !== -1) score += 35;
Veronika Kocher 36.1 129
Veronika Kocher 35.1 130 if (terms.some(function (term) {
131 return term.indexOf(token) !== -1;
132 })) score += 30;
133 });
134
135 return score;
136 }
137
138 function matchingTerms(page, query) {
139 return page.terms
140 .filter(function (term) {
141 return normalise(term).indexOf(query) !== -1;
142 })
143 .slice(0, 4);
144 }
145
146 function search(queryText) {
147 var query = normalise(queryText);
148
149 if (!query) return [];
150
151 return pageIndex
152 .map(function (page) {
153 return {
154 page: page,
155 score: scorePage(page, query)
156 };
157 })
158 .filter(function (entry) {
159 return entry.score > 0;
160 })
161 .sort(function (a, b) {
162 return (
163 b.score - a.score ||
164 a.page.title.localeCompare(b.page.title)
165 );
166 })
167 .slice(0, 8)
168 .map(function (entry) {
169 return entry.page;
170 });
171 }
172
173 function escapeHTML(value) {
174 return String(value)
175 .replace(/&/g, "&amp;")
176 .replace(/</g, "&lt;")
177 .replace(/>/g, "&gt;")
178 .replace(/"/g, "&quot;");
179 }
180
181 function setActive(index) {
182 var links = resultsBox.querySelectorAll("[role=option]");
183
184 if (!links.length) {
185 activeIndex = -1;
186 return;
187 }
188
189 activeIndex = Math.max(
190 0,
191 Math.min(index, links.length - 1)
192 );
193
194 links.forEach(function (link, itemIndex) {
195 var active = itemIndex === activeIndex;
Veronika Kocher 36.1 196
Veronika Kocher 35.1 197 link.setAttribute(
198 "aria-selected",
199 active ? "true" : "false"
200 );
Veronika Kocher 36.1 201
Veronika Kocher 35.1 202 link.style.background =
203 active ? "#f3f5f6" : "#fff";
204 });
205 }
206
207 function render() {
208 var query = normalise(input.value);
209 currentResults = search(input.value);
210 activeIndex = -1;
211
212 if (!query) {
213 resultsBox.hidden = true;
214 input.setAttribute("aria-expanded", "false");
215 resultsBox.innerHTML = "";
216 status.textContent = "";
217 return;
218 }
219
220 if (!currentResults.length) {
221 resultsBox.hidden = false;
222 input.setAttribute("aria-expanded", "true");
223 resultsBox.innerHTML =
224 '<div style="padding:12px 14px;color:#666;">' +
Veronika Kocher 36.1 225 'No direct topic match. Press Search for XWiki full-text results.' +
Veronika Kocher 35.1 226 '</div>';
Veronika Kocher 36.1 227
Veronika Kocher 35.1 228 status.textContent = "No direct topic suggestions.";
229 return;
230 }
231
232 resultsBox.innerHTML =
233 currentResults.map(function (page, index) {
234 var terms = matchingTerms(page, query);
Veronika Kocher 36.1 235
Veronika Kocher 35.1 236 var detail =
237 page.phase && page.phase !== "Overview"
238 ? page.phase
239 : "Art & Research Services Navigator";
240
241 if (terms.length) {
242 detail += " · " + terms.join(", ");
243 }
244
245 return (
246 '<a href="' +
247 escapeHTML(page.url) +
248 '" role="option" aria-selected="false"' +
Veronika Kocher 36.1 249 ' data-index="' + index + '"' +
Veronika Kocher 35.1 250 ' style="display:block;padding:11px 14px;border-bottom:1px solid #eee;color:#111;text-decoration:none;">' +
251 '<strong style="display:block;">' +
252 escapeHTML(page.title) +
253 '</strong>' +
Veronika Kocher 39.1 254 '<span style="display:block;margin-top:2px;color:#6a655e;font-size:13px;">' +
Veronika Kocher 35.1 255 escapeHTML(detail) +
256 '</span>' +
257 '</a>'
258 );
259 }).join("");
260
261 resultsBox.hidden = false;
262 input.setAttribute("aria-expanded", "true");
263
264 status.textContent =
265 currentResults.length +
266 " suggested page" +
267 (currentResults.length === 1 ? "" : "s") +
268 ".";
269 }
270
271 input.addEventListener("input", render);
272 input.addEventListener("focus", render);
273
274 input.addEventListener("keydown", function (event) {
Veronika Kocher 36.1 275 if (resultsBox.hidden || !currentResults.length) return;
Veronika Kocher 35.1 276
277 if (event.key === "ArrowDown") {
278 event.preventDefault();
279 setActive(activeIndex + 1);
280 } else if (event.key === "ArrowUp") {
281 event.preventDefault();
Veronika Kocher 36.1 282
Veronika Kocher 35.1 283 setActive(
284 activeIndex <= 0
285 ? currentResults.length - 1
286 : activeIndex - 1
287 );
Veronika Kocher 36.1 288 } else if (event.key === "Enter" && activeIndex >= 0) {
Veronika Kocher 35.1 289 event.preventDefault();
Veronika Kocher 36.1 290 window.location.href = currentResults[activeIndex].url;
Veronika Kocher 35.1 291 } else if (event.key === "Escape") {
292 resultsBox.hidden = true;
Veronika Kocher 36.1 293 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 294 }
295 });
296
297 form.addEventListener("submit", function (event) {
298 currentResults = search(input.value);
299
300 if (currentResults.length) {
301 event.preventDefault();
Veronika Kocher 36.1 302 window.location.href = currentResults[0].url;
Veronika Kocher 35.1 303 }
304 });
305
306 document.addEventListener("click", function (event) {
307 if (!form.contains(event.target)) {
308 resultsBox.hidden = true;
Veronika Kocher 36.1 309 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 310 }
311 });
Veronika Kocher 36.1 312
313 // Search-term links on nested pages use ?q=<term>.
314 // Load that query into the search box automatically.
315 try {
316 var params = new URLSearchParams(window.location.search);
317 var linkedQuery = params.get("q");
318
319 if (linkedQuery) {
320 input.value = linkedQuery;
321 render();
322
323 window.setTimeout(function () {
324 input.focus();
325
326 if (input.scrollIntoView) {
327 input.scrollIntoView({
328 behavior: "smooth",
329 block: "center"
330 });
331 }
332 }, 50);
333 }
334 } catch (error) {
335 console.warn("Could not load linked navigator query.", error);
336 }
Veronika Kocher 35.1 337 })();
338 </script>
Veronika Kocher 39.20 339 </section>
Veronika Kocher 35.1 340 {{/html}}
Veronika Kocher 39.15 341
Veronika Kocher 39.1 342 (% style="margin:10px 0 16px 0;color:#6a655e;font-size:13px;" %)
Veronika Kocher 37.1 343 (((
344 Follow the project stages from left to right. Within each stage, topics are ordered by what you are most likely to need next; colour is used only as a subtle thematic cue.
345 )))
346
Veronika Kocher 39.13 347 {{container layoutStyle="columns"}}
Veronika Kocher 14.1 348
Veronika Kocher 18.1 349 (((
Veronika Kocher 39.1 350 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 351 (((
Veronika Kocher 39.1 352 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 353 (((
Veronika Kocher 27.1 354 [[image:enable.png||alt="Enable — Plan & Set Up" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 18.1 355 )))
Veronika Kocher 17.1 356
Veronika Kocher 37.1 357 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 358 (((
359 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 360 [[1. Enable — Plan & Set Up>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 17.1 361
Veronika Kocher 19.1 362 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 18.1 363 Prepare your project before the main work begins.
Veronika Kocher 14.1 364
Veronika Kocher 39.1 365 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 19.1 366 START HERE
367
Veronika Kocher 39.1 368 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 369 (((
Veronika Kocher 37.1 370 [[Get Started>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Get%20Started/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 371 )))
Veronika Kocher 14.1 372
Veronika Kocher 39.1 373 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 374 (((
Veronika Kocher 37.1 375 [[Quick Start for Small Projects>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 376 )))
Veronika Kocher 14.3 377
Veronika Kocher 39.1 378 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 379 PLAN & ORGANISE
Veronika Kocher 19.1 380
Veronika Kocher 39.1 381 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 382 (((
Veronika Kocher 37.1 383 [[Project Planning & Organisation>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Project%20Planning%20%26%20Organisation/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 384 )))
Veronika Kocher 17.1 385
Veronika Kocher 39.1 386 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 387 (((
Veronika Kocher 37.1 388 [[Funding & Funder Requirements>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Funding%20%26%20Funder%20Requirements/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 389 )))
Veronika Kocher 17.1 390
Veronika Kocher 39.1 391 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 392 (((
Veronika Kocher 37.1 393 [[Identify Your Data & Research Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 394 )))
Veronika Kocher 6.4 395
Veronika Kocher 39.1 396 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 397 (((
Veronika Kocher 37.1 398 [[Plan Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 399 )))
Veronika Kocher 19.1 400
Veronika Kocher 39.1 401 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 402 (((
Veronika Kocher 37.1 403 [[File Organisation & Naming>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 404 )))
405
Veronika Kocher 39.1 406 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 407 PROTECT & CLARIFY
Veronika Kocher 19.1 408
Veronika Kocher 39.1 409 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 410 (((
Veronika Kocher 37.1 411 [[Copyright, Rights & Licences>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 412 )))
Veronika Kocher 6.4 413
Veronika Kocher 39.1 414 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 415 (((
Veronika Kocher 37.1 416 [[Data Protection & Ethics>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 417 )))
418
Veronika Kocher 39.1 419 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 420 SET UP INFRASTRUCTURE
Veronika Kocher 19.1 421
Veronika Kocher 39.1 422 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 423 (((
Veronika Kocher 37.1 424 [[Storage, Backup & Security>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 425 )))
426
Veronika Kocher 39.1 427 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 428 (((
Veronika Kocher 37.1 429 [[Infrastructure, Services & Tools>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Infrastructure%2C%20Services%20%26%20Tools/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 430 )))
431
Veronika Kocher 39.1 432 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 433 (((
Veronika Kocher 37.1 434 [[Collaboration Setup>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 435 )))
436 )))
437
Veronika Kocher 18.1 438 (% style="padding:0 16px 16px 16px;" %)
439 (((
Veronika Kocher 31.1 440 [[Explore Enable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||class="btn btn-primary btn-block"]]
Veronika Kocher 18.1 441 )))
442 )))
443 )))
Veronika Kocher 16.1 444
Veronika Kocher 18.1 445 (((
Veronika Kocher 39.1 446 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 447 (((
Veronika Kocher 39.1 448 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 449 (((
Veronika Kocher 27.1 450 [[image:work.png||alt="Work & Manage — Run Your Project" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 16.1 451 )))
452
Veronika Kocher 37.1 453 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 10.1 454 (((
Veronika Kocher 18.1 455 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 456 [[2. Work & Manage — Run Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 16.1 457
Veronika Kocher 19.1 458 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 28.1 459 Organise, document and review your project while the work is ongoing.
Veronika Kocher 16.1 460
Veronika Kocher 39.1 461 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 462 ORGANISE & DOCUMENT
Veronika Kocher 19.1 463
Veronika Kocher 39.1 464 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 465 (((
Veronika Kocher 37.1 466 [[Organise Files & Folders>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Organise%20Files%20%26%20Folders/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 467 )))
Veronika Kocher 17.1 468
Veronika Kocher 39.1 469 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 470 (((
Veronika Kocher 37.1 471 [[Manage Versions & Master Files>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Manage%20Versions%20%26%20Master%20Files/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 472 )))
Veronika Kocher 17.1 473
Veronika Kocher 39.1 474 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 475 (((
Veronika Kocher 37.1 476 [[Document Processes, Metadata & Provenance>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 477 )))
Veronika Kocher 16.1 478
Veronika Kocher 39.1 479 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 480 STORE & CONTROL ACCESS
Veronika Kocher 19.1 481
Veronika Kocher 39.1 482 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 483 (((
Veronika Kocher 37.1 484 [[Store, Back Up & Control Access>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Store%2C%20Back%20Up%20%26%20Control%20Access/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 485 )))
Veronika Kocher 19.1 486
Veronika Kocher 39.1 487 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 488 STANDARDISE & IDENTIFY
489
Veronika Kocher 39.1 490 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 491 (((
Veronika Kocher 37.1 492 [[Use Standards, Vocabularies & Identifiers>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Use%20Standards%2C%20Vocabularies%20%26%20Identifiers/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 493 )))
Veronika Kocher 16.1 494
Veronika Kocher 39.1 495 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 496 REVIEW & ADAPT
497
Veronika Kocher 39.1 498 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 499 (((
Veronika Kocher 37.1 500 [[Review Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Review%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 501 )))
502 )))
503
Veronika Kocher 18.1 504 (% style="padding:0 16px 16px 16px;" %)
505 (((
Veronika Kocher 31.1 506 [[Explore Work & Manage>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||class="btn btn-primary btn-block"]]
Veronika Kocher 16.1 507 )))
Veronika Kocher 18.1 508 )))
509 )))
Veronika Kocher 16.1 510
Veronika Kocher 11.2 511 (((
Veronika Kocher 39.1 512 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 513 (((
Veronika Kocher 39.1 514 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 515 (((
Veronika Kocher 27.1 516 [[image:share.png||alt="Publish & Share — Make It Visible" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 18.1 517 )))
Veronika Kocher 16.1 518
Veronika Kocher 37.1 519 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 520 (((
521 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 522 [[3. Publish & Share — Make It Visible>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 16.1 523
Veronika Kocher 19.1 524 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 28.1 525 Decide how outputs should be shared, published, made findable and preserved.
Veronika Kocher 16.1 526
Veronika Kocher 39.1 527 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 528 DECIDE
Veronika Kocher 19.1 529
Veronika Kocher 39.1 530 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 531 (((
Veronika Kocher 37.1 532 [[Decide What to Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 533 )))
Veronika Kocher 16.1 534
Veronika Kocher 39.1 535 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 536 OPEN, REUSE & MAKE FINDABLE
537
Veronika Kocher 39.1 538 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 539 (((
Veronika Kocher 37.1 540 [[FAIR, CARE & Open Science>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/FAIR%2C%20CARE%20%26%20Open%20Science/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 541 )))
Veronika Kocher 16.1 542
Veronika Kocher 39.1 543 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 544 (((
Veronika Kocher 37.1 545 [[Manage Access, Reuse & Licensing>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 546 )))
547
Veronika Kocher 39.1 548 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 549 (((
Veronika Kocher 37.1 550 [[Make Outputs Findable & Citable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Make%20Outputs%20Findable%20%26%20Citable/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 551 )))
552
Veronika Kocher 39.1 553 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 554 PUBLISH & PRESENT
Veronika Kocher 19.1 555
Veronika Kocher 39.1 556 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 557 (((
Veronika Kocher 37.1 558 [[Disseminate & Present Your Research>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Disseminate%20%26%20Present%20Your%20Research/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 16.1 559 )))
560
Veronika Kocher 39.1 561 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 562 REPOSITORY, PRESERVE & HAND OVER
563
Veronika Kocher 39.1 564 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 13.1 565 (((
Veronika Kocher 37.1 566 [[Choose a Repository or Publication Platform>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Choose%20a%20Repository%20or%20Publication%20Platform/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 16.1 567 )))
Veronika Kocher 8.3 568
Veronika Kocher 39.1 569 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 570 (((
Veronika Kocher 37.1 571 [[Preserve Data & Artistic Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Preserve%20Data%20%26%20Artistic%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 572 )))
Veronika Kocher 19.1 573
Veronika Kocher 39.1 574 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 575 (((
Veronika Kocher 37.1 576 [[Close & Hand Over Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Close%20%26%20Hand%20Over%20Your%20Project/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 9.1 577 )))
Veronika Kocher 18.1 578 )))
Veronika Kocher 16.1 579
Veronika Kocher 18.1 580 (% style="padding:0 16px 16px 16px;" %)
Veronika Kocher 16.1 581 (((
Veronika Kocher 31.1 582 [[Explore Publish & Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||class="btn btn-primary btn-block"]]
Veronika Kocher 10.1 583 )))
Veronika Kocher 18.1 584 )))
585 )))
Veronika Kocher 17.1 586
Veronika Kocher 16.1 587 {{/container}}
Veronika Kocher 8.3 588
Veronika Kocher 31.1 589 (% style="margin-top:30px;" %)
Veronika Kocher 18.1 590 (((
Veronika Kocher 31.1 591 == Practical resources ==
592
593 Use practical resources when you need a concise overview, a step-by-step procedure or a ready-to-use project aid.
594
595 {{container layoutStyle="columns"}}
596
597 (((
598 {{box title="Info Sheets"}}
Veronika Kocher 39.12 599 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 600 Short reference guides for common questions and decisions.
601
602 Resources will be linked here as the collection is developed.
603 {{/box}}
604 )))
605
606 (((
607 {{box title="Tutorials"}}
Veronika Kocher 39.12 608 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 609 Step-by-step guidance for specific tasks and workflows.
610
611 Tutorials will be linked here as the collection is developed.
612 {{/box}}
613 )))
614
615 (((
616 {{box title="Checklists & Templates"}}
Veronika Kocher 39.12 617 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 618 Ready-to-use checklists and templates for planning, managing and closing projects.
619
620 [[Start with the Quick Start checklist>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/]]
621 {{/box}}
622 )))
623
624 {{/container}}
625 )))
626
627 (% style="margin-top:30px;" %)
628 (((
Veronika Kocher 39.14 629 == Need help finding the right route? ==
Veronika Kocher 31.1 630
Veronika Kocher 39.14 631 {{info title="Start with the right service"}}
Veronika Kocher 39.20 632 For **project development, funding, proposals and coordination of funded art and research projects**, **Support Kunst und Forschung** is a good place to start.
Veronika Kocher 31.1 633
Veronika Kocher 39.20 634 For more specific questions, the topic pages point directly to the relevant university services. When several areas are involved, use the navigator to see which support is useful at the next step.
Veronika Kocher 31.1 635 {{/info}}
636 )))
637
Veronika Kocher 39.24 638 {{html clean="false"}}
639 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
Veronika Kocher 39.23 640
Veronika Kocher 39.24 641 <style data-sn-service-navigator-master="1">
642 /* =========================================================
643 MASTER TYPOGRAPHY
644 ========================================================= */
Veronika Kocher 39.23 645 #xwikicontent h1,
646 #xwikicontent h2,
647 #xwikicontent h3,
648 #xwikicontent h4,
649 #xwikicontent h5,
650 #xwikicontent h6,
651 #xwikicontent .box-title,
652 #xwikicontent [role="heading"],
653 #xwikicontent h1 a,
654 #xwikicontent h2 a,
655 #xwikicontent h3 a,
656 #xwikicontent h4 a,
657 #xwikicontent h5 a,
658 #xwikicontent h6 a,
659 #xwikicontent .box-title a,
660 #xwikicontent [role="heading"] a{
661 text-align:left!important;
662 text-justify:auto!important;
663 word-spacing:normal!important;
664 }
665
Veronika Kocher 39.24 666 /* =========================================================
667 COMING SOON / IN VORBEREITUNG
668 ========================================================= */
669 .sn-coming-soon-badge{
670 display:inline-block;
671 vertical-align:middle;
672 margin-left:10px;
673 padding:4px 8px;
674 border-radius:14px;
675 border:1px solid #efd9cc;
676 background:#fff4ee;
677 color:#8a4d36;
678 font-size:11px;
679 font-weight:700;
680 letter-spacing:.055em;
681 line-height:1.2;
682 white-space:nowrap;
683 }
684
685 /* =========================================================
686 NATIVE / DETAIL CALLOUT GEOMETRY
687 Preserve existing backgrounds.
688 ========================================================= */
689 #xwikicontent .arsn-info,
690 #xwikicontent .dmp-info,
691 #xwikicontent .ido-info,
692 #xwikicontent .pp-info,
693 #xwikicontent .infomessage{
Veronika Kocher 39.23 694 box-sizing:border-box!important;
Veronika Kocher 39.24 695 border-left:4px solid #21b6d7!important;
696 border-radius:8px;
Veronika Kocher 39.23 697 text-align:left!important;
698 word-spacing:normal!important;
699 }
700
Veronika Kocher 39.24 701 #xwikicontent .arsn-warn,
702 #xwikicontent .dmp-warn,
703 #xwikicontent .ido-warn,
704 #xwikicontent .pp-warn,
705 #xwikicontent .warn,
706 #xwikicontent .warning,
707 #xwikicontent .warningmessage,
Veronika Kocher 39.23 708 #xwikicontent .errormessage{
Veronika Kocher 39.24 709 box-sizing:border-box!important;
710 border-left:4px solid #e94b13!important;
711 border-radius:8px;
712 text-align:left!important;
713 word-spacing:normal!important;
Veronika Kocher 39.23 714 }
715
Veronika Kocher 39.24 716 [data-sn-master-equal-height],
717 [data-sn-master-first-row]{
Veronika Kocher 39.22 718 box-sizing:border-box;
Veronika Kocher 39.21 719 }
Veronika Kocher 39.25 720
721 /* =========================================================
722 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
723 ========================================================= */
724 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
725 display:grid!important;
726 grid-template-columns:minmax(0,1fr)!important;
727 grid-auto-rows:auto!important;
728 width:100%!important;
729 max-width:none!important;
730 box-sizing:border-box!important;
731 justify-items:start!important;
732 align-items:start!important;
733 gap:2px!important;
734 text-align:left!important;
735 text-align-last:left!important;
736 text-justify:auto!important;
737 word-spacing:normal!important;
738 white-space:normal!important;
739 }
740 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
741 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
742 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
743 display:block!important;
744 width:100%!important;
745 margin:0!important;
746 text-align:left!important;
747 text-align-last:left!important;
748 text-justify:auto!important;
749 word-spacing:normal!important;
750 white-space:normal!important;
751 }
Veronika Kocher 39.21 752 </style>
Veronika Kocher 39.23 753
Veronika Kocher 39.24 754 <script data-sn-service-navigator-master="1">
Veronika Kocher 39.21 755 (function(){
756 "use strict";
757
Veronika Kocher 39.24 758 var PAGE_KIND="overview";
759 var PLACEHOLDER=false;
760 var PLACEHOLDER_LABEL="COMING SOON";
761
Veronika Kocher 39.21 762 var MOBILE_MAX=767;
Veronika Kocher 39.22 763 var ROW_TOLERANCE=6;
Veronika Kocher 39.23 764 var RESIZE_DEBOUNCE=220;
Veronika Kocher 39.21 765
766 var root=
767 document.getElementById("xwikicontent")||
768 document.querySelector(".xwiki-rendering-content")||
769 document.querySelector("main")||
770 document.body;
771
772 if(!root)return;
773
Veronika Kocher 39.24 774 var managedHeight=new Set();
775 var managedMargin=new Set();
776 var originalHeight=new WeakMap();
777 var originalMargin=new WeakMap();
Veronika Kocher 39.23 778
779 var resizeTimer=0;
Veronika Kocher 39.24 780 var running=false;
Veronika Kocher 39.23 781
Veronika Kocher 39.24 782 var THEMES=[
783 {
784 name:"BLUE",
785 accent:"#21b6d7",
786 bg:"#eaf7fb",
787 text:"#315d68",
788 labels:[
789 "HIER STARTEN",
790 "ENTSCHEIDEN",
791 "ÜBERPRÜFEN & ANPASSEN",
792 "START HERE",
793 "DECIDE",
794 "REVIEW & ADAPT"
795 ]
796 },
797 {
798 name:"RED",
799 accent:"#e94b13",
800 bg:"#fff1ec",
801 text:"#8a4d36",
802 labels:[
803 "PLANEN & ORGANISIEREN",
804 "ORGANISIEREN & DOKUMENTIEREN",
805 "PUBLIZIEREN & PRÄSENTIEREN",
806 "PLAN & ORGANISE",
807 "PLAN & ORGANIZE",
808 "ORGANISE & DOCUMENT",
809 "ORGANIZE & DOCUMENT",
810 "PUBLISH & PRESENT"
811 ]
812 },
813 {
814 name:"YELLOW",
815 accent:"#f0aa00",
816 bg:"#fff8e7",
817 text:"#785b17",
818 labels:[
819 "SCHÜTZEN & KLÄREN",
820 "STANDARDISIEREN & IDENTIFIZIEREN",
821 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
822 "PROTECT & CLARIFY",
823 "STANDARDISE & IDENTIFY",
824 "STANDARDIZE & IDENTIFY",
825 "OPEN, REUSE & MAKE FINDABLE"
826 ]
827 },
828 {
829 name:"GREEN",
830 accent:"#38b76a",
831 bg:"#edf9f1",
832 text:"#3f7451",
833 labels:[
834 "INFRASTRUKTUR EINRICHTEN",
835 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
836 "SPEICHERN & ZUGRIFF STEUERN",
837 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
838 "SET UP INFRASTRUCTURE",
839 "SET UP INFRASTRUCTURE & COLLABORATION",
840 "STORE & CONTROL ACCESS",
841 "REPOSITORY, PRESERVE & HAND OVER"
842 ]
Veronika Kocher 39.22 843 }
Veronika Kocher 39.24 844 ];
Veronika Kocher 39.22 845
Veronika Kocher 39.24 846 function num(value){
847 var n=parseFloat(value);
848 return Number.isFinite(n)?n:0;
Veronika Kocher 39.21 849 }
850
Veronika Kocher 39.24 851 function norm(value){
852 return String(value||"")
Veronika Kocher 39.23 853 .replace(/\s+/g," ")
854 .trim()
855 .toUpperCase();
856 }
857
Veronika Kocher 39.24 858 function visible(el){
859 if(!el||el.nodeType!==1)return false;
Veronika Kocher 39.21 860
Veronika Kocher 39.24 861 var style=getComputedStyle(el);
862 var rect=el.getBoundingClientRect();
Veronika Kocher 39.23 863
864 return (
Veronika Kocher 39.24 865 style.display!=="none"&&
866 style.visibility!=="hidden"&&
867 rect.width>20&&
868 rect.height>4
Veronika Kocher 39.23 869 );
Veronika Kocher 39.21 870 }
871
Veronika Kocher 39.24 872 function saveStyle(el,map,property){
Veronika Kocher 39.22 873 if(map.has(el))return;
874
875 map.set(el,{
Veronika Kocher 39.24 876 value:el.style.getPropertyValue(property),
877 priority:el.style.getPropertyPriority(property)
Veronika Kocher 39.22 878 });
879 }
880
Veronika Kocher 39.24 881 function restoreStyle(el,map,property){
Veronika Kocher 39.22 882 var original=map.get(el);
883
884 if(original&&original.value){
885 el.style.setProperty(
886 property,
887 original.value,
888 original.priority||""
889 );
890 }else{
Veronika Kocher 39.24 891 el.style.removeProperty(property);
Veronika Kocher 39.22 892 }
893 }
894
Veronika Kocher 39.23 895 function resetRuntime(){
Veronika Kocher 39.24 896 managedHeight.forEach(function(el){
897 restoreStyle(
Veronika Kocher 39.22 898 el,
Veronika Kocher 39.24 899 originalHeight,
Veronika Kocher 39.22 900 "min-height"
901 );
902 el.removeAttribute(
Veronika Kocher 39.24 903 "data-sn-master-equal-height"
Veronika Kocher 39.22 904 );
905 });
906
Veronika Kocher 39.24 907 managedMargin.forEach(function(el){
908 restoreStyle(
Veronika Kocher 39.22 909 el,
Veronika Kocher 39.24 910 originalMargin,
Veronika Kocher 39.22 911 "margin-top"
912 );
913 el.removeAttribute(
Veronika Kocher 39.24 914 "data-sn-master-first-row"
Veronika Kocher 39.22 915 );
916 });
917
Veronika Kocher 39.24 918 managedHeight.clear();
919 managedMargin.clear();
920 }
Veronika Kocher 39.23 921
Veronika Kocher 39.24 922 function themeFor(text){
923 var value=norm(text);
Veronika Kocher 39.23 924
Veronika Kocher 39.24 925 for(var i=0;i<THEMES.length;i++){
926 for(var j=0;j<THEMES[i].labels.length;j++){
927 var label=THEMES[i].labels[j];
928
929 if(
930 value===label||
931 value.indexOf(label+" ")===0||
932 value.indexOf(label+" -")===0||
933 value.indexOf(label+" ·")===0
934 ){
935 return THEMES[i];
936 }
937 }
938 }
939
940 return null;
Veronika Kocher 39.22 941 }
942
Veronika Kocher 39.24 943 /* =======================================================
Veronika Kocher 39.25 944 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
945 ======================================================= */
946
947 function colourDistance(a,b){
948 return Math.sqrt(
949 Math.pow(a[0]-b[0],2)+
950 Math.pow(a[1]-b[1],2)+
951 Math.pow(a[2]-b[2],2)
952 );
953 }
954
955 function makeFilledRedOrangeCTAsBorderless(){
956 var RED_ORANGE=[233,75,19];
957
958 Array.from(
959 root.querySelectorAll(
960 'a,button,[role="button"],input[type="submit"],input[type="button"]'
961 )
962 ).forEach(function(el){
963 if(!visible(el))return;
964
965 var style=getComputedStyle(el);
966 var rgb=parseRGB(style.backgroundColor);
967
968 if(!rgb)return;
969
970 if(
971 colourDistance(
972 rgb,
973 RED_ORANGE
974 )>55
975 ){
976 return;
977 }
978
979 var rect=el.getBoundingClientRect();
980
981 if(
982 rect.width<80||
983 rect.height<24
984 ){
985 return;
986 }
987
988 el.style.setProperty(
989 "border",
990 "none",
991 "important"
992 );
993
994 el.style.setProperty(
995 "border-left",
996 "none",
997 "important"
998 );
999
1000 el.style.setProperty(
1001 "border-top",
1002 "none",
1003 "important"
1004 );
1005
1006 el.style.setProperty(
1007 "border-right",
1008 "none",
1009 "important"
1010 );
1011
1012 el.style.setProperty(
1013 "border-bottom",
1014 "none",
1015 "important"
1016 );
1017
1018 el.style.setProperty(
1019 "box-shadow",
1020 "none",
1021 "important"
1022 );
1023 });
1024 }
1025
1026 /* =======================================================
1027 FULL-WIDTH THREE-LINE AREA LABELS
1028 ======================================================= */
1029
1030 function compactText(value){
1031 return String(value||"")
1032 .replace(/\s+/g," ")
1033 .trim();
1034 }
1035
1036 function makeThreeLineAreaLabels(){
1037 Array.from(
1038 root.querySelectorAll(
1039 ".arsn-area-label"
1040 )
1041 ).forEach(function(label){
1042 if(
1043 label.getAttribute(
1044 "data-sn-three-line"
1045 )==="1"
1046 ){
1047 return;
1048 }
1049
1050 var number=
1051 label.querySelector(
1052 ":scope > .arsn-area-number"
1053 );
1054
1055 var action=
1056 label.querySelector(
1057 ":scope > .arsn-area-action"
1058 );
1059
1060 if(
1061 !number||
1062 !action
1063 ){
1064 return;
1065 }
1066
1067 var clone=
1068 label.cloneNode(true);
1069
1070 var cloneNumber=
1071 clone.querySelector(
1072 ":scope > .arsn-area-number"
1073 );
1074
1075 var cloneAction=
1076 clone.querySelector(
1077 ":scope > .arsn-area-action"
1078 );
1079
1080 if(cloneNumber){
1081 cloneNumber.remove();
1082 }
1083
1084 if(cloneAction){
1085 cloneAction.remove();
1086 }
1087
1088 var titleText=
1089 compactText(
1090 clone.textContent
1091 );
1092
1093 if(!titleText){
1094 return;
1095 }
1096
1097 var numberNode=
1098 number.cloneNode(true);
1099
1100 var actionNode=
1101 action.cloneNode(true);
1102
1103 var titleNode=
1104 document.createElement(
1105 "span"
1106 );
1107
1108 titleNode.className=
1109 "sn-area-label-title";
1110
1111 titleNode.textContent=
1112 titleText;
1113
1114 while(label.firstChild){
1115 label.removeChild(
1116 label.firstChild
1117 );
1118 }
1119
1120 label.appendChild(
1121 numberNode
1122 );
1123
1124 label.appendChild(
1125 titleNode
1126 );
1127
1128 label.appendChild(
1129 actionNode
1130 );
1131
1132 label.setAttribute(
1133 "data-sn-three-line",
1134 "1"
1135 );
1136
1137 var head=
1138 label.closest(
1139 ".arsn-area-head"
1140 );
1141
1142 if(head){
1143 head.style.setProperty(
1144 "width",
1145 "100%",
1146 "important"
1147 );
1148
1149 head.style.setProperty(
1150 "max-width",
1151 "100%",
1152 "important"
1153 );
1154
1155 head.style.setProperty(
1156 "box-sizing",
1157 "border-box",
1158 "important"
1159 );
1160 }
1161 });
1162 }
1163
1164 /* =======================================================
Veronika Kocher 39.24 1165 PLACEHOLDER BADGE
1166 ======================================================= */
Veronika Kocher 39.23 1167
Veronika Kocher 39.24 1168 function applyPlaceholderBadge(){
1169 if(!PLACEHOLDER)return;
Veronika Kocher 39.23 1170
1171 if(
Veronika Kocher 39.24 1172 document.querySelector(
1173 ".sn-coming-soon-badge"
1174 )
Veronika Kocher 39.23 1175 ){
Veronika Kocher 39.24 1176 return;
Veronika Kocher 39.23 1177 }
1178
Veronika Kocher 39.24 1179 var title=
1180 document.querySelector(
1181 "#document-title"
1182 )||
1183 document.querySelector(
1184 "h1"
1185 );
Veronika Kocher 39.23 1186
Veronika Kocher 39.24 1187 if(!title)return;
Veronika Kocher 39.23 1188
Veronika Kocher 39.24 1189 var badge=
1190 document.createElement(
1191 "span"
1192 );
1193
1194 badge.className=
1195 "sn-coming-soon-badge";
1196
1197 badge.textContent=
1198 PLACEHOLDER_LABEL;
1199
1200 badge.setAttribute(
1201 "aria-label",
1202 PLACEHOLDER_LABEL
Veronika Kocher 39.23 1203 );
1204
Veronika Kocher 39.24 1205 title.appendChild(
1206 badge
1207 );
1208 }
Veronika Kocher 39.23 1209
Veronika Kocher 39.24 1210 /* =======================================================
1211 DETAIL PAGE OWN-ACCENT PROPAGATION
1212 ======================================================= */
Veronika Kocher 39.23 1213
Veronika Kocher 39.24 1214 function parseRGB(value){
1215 var match=String(value||"").match(
1216 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
Veronika Kocher 39.23 1217 );
Veronika Kocher 39.24 1218
1219 if(!match)return null;
1220
1221 return [
1222 Number(match[1]),
1223 Number(match[2]),
1224 Number(match[3])
1225 ];
Veronika Kocher 39.23 1226 }
1227
Veronika Kocher 39.24 1228 function distance(a,b){
1229 return Math.sqrt(
1230 Math.pow(a[0]-b[0],2)+
1231 Math.pow(a[1]-b[1],2)+
1232 Math.pow(a[2]-b[2],2)
1233 );
1234 }
Veronika Kocher 39.21 1235
Veronika Kocher 39.24 1236 function paletteMatch(cssColor){
1237 var rgb=parseRGB(cssColor);
Veronika Kocher 39.22 1238
Veronika Kocher 39.24 1239 if(!rgb)return null;
Veronika Kocher 39.22 1240
Veronika Kocher 39.24 1241 var palette=[
1242 {hex:"#21b6d7",rgb:[33,182,215]},
1243 {hex:"#e94b13",rgb:[233,75,19]},
1244 {hex:"#f0aa00",rgb:[240,170,0]},
1245 {hex:"#38b76a",rgb:[56,183,106]}
1246 ];
Veronika Kocher 39.21 1247
Veronika Kocher 39.22 1248 var best=null;
Veronika Kocher 39.24 1249 var bestDistance=Infinity;
Veronika Kocher 39.21 1250
Veronika Kocher 39.24 1251 palette.forEach(function(item){
1252 var d=distance(rgb,item.rgb);
Veronika Kocher 39.21 1253
Veronika Kocher 39.24 1254 if(d<bestDistance){
1255 best=item;
1256 bestDistance=d;
1257 }
1258 });
Veronika Kocher 39.22 1259
Veronika Kocher 39.24 1260 return bestDistance<=30
1261 ?best
1262 :null;
1263 }
Veronika Kocher 39.21 1264
Veronika Kocher 39.24 1265 function propagateDetailAccents(){
1266 if(PAGE_KIND!=="detail")return;
1267
1268 Array.from(
1269 root.querySelectorAll(
1270 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
1271 ".arsn-source,.dmp-source,.ido-source,.pp-source"
1272 )
1273 ).forEach(function(el){
1274 if(!visible(el))return;
1275
1276 var style=getComputedStyle(el);
1277
Veronika Kocher 39.22 1278 if(
Veronika Kocher 39.24 1279 num(style.borderTopWidth)>=2
Veronika Kocher 39.22 1280 ){
Veronika Kocher 39.24 1281 var match=
1282 paletteMatch(
1283 style.borderTopColor
Veronika Kocher 39.22 1284 );
1285
Veronika Kocher 39.24 1286 if(match){
1287 el.style.setProperty(
1288 "border-left",
1289 "4px solid "+match.hex,
1290 "important"
Veronika Kocher 39.22 1291 );
Veronika Kocher 39.21 1292 }
1293 }
Veronika Kocher 39.24 1294 });
Veronika Kocher 39.21 1295
Veronika Kocher 39.24 1296 // Warning families: explicit safety override.
1297 Array.from(
1298 root.querySelectorAll(
1299 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
1300 ".warn,.warning,.warningmessage,.errormessage"
1301 )
1302 ).forEach(function(el){
1303 if(!visible(el))return;
Veronika Kocher 39.21 1304
Veronika Kocher 39.24 1305 el.style.setProperty(
1306 "border-left",
1307 "4px solid #e94b13",
1308 "important"
1309 );
1310 });
Veronika Kocher 39.21 1311
Veronika Kocher 39.24 1312 // Info families: explicit orientation override.
1313 Array.from(
1314 root.querySelectorAll(
1315 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
1316 )
1317 ).forEach(function(el){
1318 if(!visible(el))return;
Veronika Kocher 39.22 1319
Veronika Kocher 39.24 1320 el.style.setProperty(
1321 "border-left",
1322 "4px solid #21b6d7",
1323 "important"
1324 );
1325 });
1326 }
Veronika Kocher 39.22 1327
Veronika Kocher 39.24 1328 /* =======================================================
1329 OVERVIEW SEMANTIC THEME PALETTE
1330 ======================================================= */
Veronika Kocher 39.22 1331
Veronika Kocher 39.24 1332 function smallestThemeHeaders(){
1333 return Array.from(
1334 root.querySelectorAll(
1335 "div,span,p,strong,h3,h4,h5,h6"
1336 )
1337 ).filter(function(el){
1338 if(!visible(el))return false;
1339 if(!themeFor(el.textContent))return false;
Veronika Kocher 39.22 1340
Veronika Kocher 39.24 1341 return !Array.from(
1342 el.children||[]
1343 ).some(function(child){
1344 return !!themeFor(
1345 child.textContent
1346 );
Veronika Kocher 39.22 1347 });
Veronika Kocher 39.24 1348 });
Veronika Kocher 39.21 1349 }
1350
Veronika Kocher 39.24 1351 function findOverviewCard(header){
1352 var node=header.parentElement;
1353 var candidates=[];
Veronika Kocher 39.22 1354
Veronika Kocher 39.24 1355 while(node&&node!==root){
1356 var rect=node.getBoundingClientRect();
1357 var style=getComputedStyle(node);
Veronika Kocher 39.22 1358
Veronika Kocher 39.24 1359 var border=
1360 num(style.borderTopWidth)+
1361 num(style.borderRightWidth)+
1362 num(style.borderBottomWidth)+
1363 num(style.borderLeftWidth);
Veronika Kocher 39.22 1364
Veronika Kocher 39.24 1365 if(
1366 rect.width>=220&&
1367 rect.width<=800&&
1368 rect.height>=120&&
1369 border>=1
1370 ){
1371 candidates.push(node);
1372 }
Veronika Kocher 39.22 1373
Veronika Kocher 39.24 1374 node=node.parentElement;
1375 }
Veronika Kocher 39.22 1376
Veronika Kocher 39.24 1377 if(!candidates.length)return null;
Veronika Kocher 39.22 1378
Veronika Kocher 39.24 1379 candidates.sort(function(a,b){
1380 return (
1381 b.getBoundingClientRect().height-
1382 a.getBoundingClientRect().height
Veronika Kocher 39.23 1383 );
Veronika Kocher 39.24 1384 });
Veronika Kocher 39.22 1385
Veronika Kocher 39.24 1386 return candidates[0];
Veronika Kocher 39.22 1387 }
1388
Veronika Kocher 39.24 1389 function rowCandidates(link,card){
1390 var result=[];
Veronika Kocher 39.23 1391 var cardRect=
1392 card.getBoundingClientRect();
Veronika Kocher 39.22 1393
Veronika Kocher 39.24 1394 var node=link;
Veronika Kocher 39.22 1395
Veronika Kocher 39.24 1396 while(node&&node!==card){
1397 if(visible(node)){
1398 var rect=
1399 node.getBoundingClientRect();
Veronika Kocher 39.22 1400
Veronika Kocher 39.24 1401 if(
1402 rect.height<=105&&
1403 rect.width>=
1404 cardRect.width*.50&&
1405 rect.width<=
1406 cardRect.width*1.03
1407 ){
1408 result.push(node);
1409 }
1410 }
Veronika Kocher 39.22 1411
Veronika Kocher 39.24 1412 node=node.parentElement;
1413 }
1414
1415 return result;
1416 }
1417
1418 function chooseOuterRow(
1419 candidates,
1420 link
1421 ){
1422 if(!candidates.length){
1423 return link;
1424 }
1425
1426 var bordered=
1427 candidates.filter(function(el){
Veronika Kocher 39.23 1428 return (
Veronika Kocher 39.24 1429 num(
1430 getComputedStyle(el)
1431 .borderLeftWidth
1432 )>=1
Veronika Kocher 39.23 1433 );
1434 });
Veronika Kocher 39.22 1435
Veronika Kocher 39.24 1436 var pool=
1437 bordered.length
1438 ?bordered
1439 :candidates;
Veronika Kocher 39.22 1440
Veronika Kocher 39.24 1441 pool.sort(function(a,b){
1442 var ar=
1443 a.getBoundingClientRect();
Veronika Kocher 39.22 1444
Veronika Kocher 39.24 1445 var br=
1446 b.getBoundingClientRect();
Veronika Kocher 39.22 1447
Veronika Kocher 39.24 1448 return (
1449 ar.left-br.left||
1450 br.width-ar.width
1451 );
1452 });
Veronika Kocher 39.22 1453
Veronika Kocher 39.24 1454 return pool[0]||link;
1455 }
Veronika Kocher 39.22 1456
Veronika Kocher 39.24 1457 function applyOverviewPalette(){
1458 if(PAGE_KIND!=="overview"){
1459 return [];
Veronika Kocher 39.23 1460 }
Veronika Kocher 39.22 1461
Veronika Kocher 39.24 1462 var headers=
1463 smallestThemeHeaders()
1464 .map(function(el){
1465 return {
1466 el:el,
1467 theme:
1468 themeFor(
1469 el.textContent
1470 ),
1471 card:
1472 findOverviewCard(
1473 el
1474 )
1475 };
Veronika Kocher 39.23 1476 })
Veronika Kocher 39.24 1477 .filter(function(row){
1478 return !!row.card;
1479 });
Veronika Kocher 39.22 1480
Veronika Kocher 39.24 1481 var unique=[];
1482 var seenHeaders=new Set();
Veronika Kocher 39.22 1483
Veronika Kocher 39.24 1484 headers.forEach(function(row){
1485 var key=
1486 row.theme.name+
1487 "|"+
1488 Math.round(
1489 row.card
1490 .getBoundingClientRect()
1491 .left
1492 )+
1493 "|"+
1494 Math.round(
1495 row.el
1496 .getBoundingClientRect()
1497 .top
1498 );
Veronika Kocher 39.22 1499
Veronika Kocher 39.24 1500 if(!seenHeaders.has(key)){
1501 seenHeaders.add(key);
1502 unique.push(row);
1503 }
1504 });
Veronika Kocher 39.22 1505
Veronika Kocher 39.24 1506 unique.forEach(function(row){
1507 var headerRect=
1508 row.el
1509 .getBoundingClientRect();
Veronika Kocher 39.22 1510
Veronika Kocher 39.24 1511 row.el.style.setProperty(
1512 "background",
1513 row.theme.bg,
1514 "important"
Veronika Kocher 39.23 1515 );
1516
Veronika Kocher 39.24 1517 row.el.style.setProperty(
1518 "color",
1519 row.theme.text,
1520 "important"
Veronika Kocher 39.23 1521 );
1522
Veronika Kocher 39.24 1523 row.el.style.setProperty(
1524 "text-align",
1525 "left",
1526 "important"
Veronika Kocher 39.23 1527 );
Veronika Kocher 39.22 1528
Veronika Kocher 39.24 1529 row.el.style.setProperty(
1530 "word-spacing",
1531 "normal",
1532 "important"
1533 );
Veronika Kocher 39.23 1534
Veronika Kocher 39.24 1535 var later=
1536 unique
1537 .filter(function(other){
1538 return (
1539 other.card===row.card&&
1540 other.el
1541 .getBoundingClientRect()
1542 .top>
1543 headerRect.top+2
1544 );
1545 })
1546 .sort(function(a,b){
1547 return (
1548 a.el
1549 .getBoundingClientRect()
1550 .top-
1551 b.el
1552 .getBoundingClientRect()
1553 .top
1554 );
1555 });
Veronika Kocher 39.23 1556
Veronika Kocher 39.24 1557 var stopTop=
1558 later.length
1559 ?later[0].el
1560 .getBoundingClientRect()
1561 .top
1562 :Infinity;
Veronika Kocher 39.23 1563
1564 Array.from(
Veronika Kocher 39.24 1565 row.card.querySelectorAll("a")
1566 ).forEach(function(link){
1567 if(!visible(link))return;
Veronika Kocher 39.23 1568
Veronika Kocher 39.24 1569 var rect=
1570 link.getBoundingClientRect();
Veronika Kocher 39.23 1571
Veronika Kocher 39.24 1572 if(
1573 rect.top<=
1574 headerRect.bottom-2||
1575 rect.top>=
1576 stopTop-2
1577 ){
1578 return;
1579 }
Veronika Kocher 39.23 1580
Veronika Kocher 39.24 1581 var candidates=
1582 rowCandidates(
1583 link,
1584 row.card
1585 );
1586
1587 var target=
1588 chooseOuterRow(
1589 candidates,
1590 link
1591 );
1592
1593 candidates.forEach(function(el){
1594 el.style.setProperty(
1595 "border-left",
1596 "0 solid transparent",
1597 "important"
1598 );
1599 });
1600
1601 target.style.setProperty(
1602 "border-left",
1603 "3px solid "+
1604 row.theme.accent,
1605 "important"
Veronika Kocher 39.23 1606 );
Veronika Kocher 39.24 1607
1608 target.style.setProperty(
1609 "box-sizing",
1610 "border-box",
1611 "important"
Veronika Kocher 39.23 1612 );
Veronika Kocher 39.22 1613 });
Veronika Kocher 39.24 1614 });
Veronika Kocher 39.22 1615
Veronika Kocher 39.24 1616 return unique;
Veronika Kocher 39.23 1617 }
Veronika Kocher 39.22 1618
Veronika Kocher 39.24 1619 /* =======================================================
1620 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1621 ======================================================= */
Veronika Kocher 39.23 1622
Veronika Kocher 39.24 1623 function alignOverviewCards(headers){
1624 if(
1625 PAGE_KIND!=="overview"||
1626 window.innerWidth<=MOBILE_MAX
1627 ){
1628 return;
1629 }
Veronika Kocher 39.23 1630
Veronika Kocher 39.24 1631 var cards=[];
1632 var seen=new Set();
Veronika Kocher 39.23 1633
Veronika Kocher 39.24 1634 headers.forEach(function(row){
1635 if(!seen.has(row.card)){
1636 seen.add(row.card);
1637 cards.push(row.card);
1638 }
1639 });
Veronika Kocher 39.23 1640
Veronika Kocher 39.24 1641 if(cards.length<2){
1642 return;
1643 }
Veronika Kocher 39.23 1644
Veronika Kocher 39.24 1645 // Group cards by actual top position.
1646 var groups=[];
Veronika Kocher 39.23 1647
Veronika Kocher 39.24 1648 cards.forEach(function(card){
1649 var top=
1650 card.getBoundingClientRect().top;
Veronika Kocher 39.23 1651
Veronika Kocher 39.24 1652 var group=null;
Veronika Kocher 39.23 1653
Veronika Kocher 39.24 1654 for(var i=0;i<groups.length;i++){
Veronika Kocher 39.23 1655 if(
Veronika Kocher 39.24 1656 Math.abs(
1657 groups[i].top-top
1658 )<=ROW_TOLERANCE
Veronika Kocher 39.23 1659 ){
Veronika Kocher 39.24 1660 group=groups[i];
1661 break;
Veronika Kocher 39.23 1662 }
Veronika Kocher 39.24 1663 }
Veronika Kocher 39.23 1664
Veronika Kocher 39.24 1665 if(!group){
1666 group={
1667 top:top,
1668 cards:[]
1669 };
1670 groups.push(group);
1671 }
Veronika Kocher 39.23 1672
Veronika Kocher 39.24 1673 group.cards.push(card);
1674 });
Veronika Kocher 39.23 1675
Veronika Kocher 39.24 1676 groups.forEach(function(group){
1677 if(group.cards.length<2){
1678 return;
1679 }
Veronika Kocher 39.23 1680
Veronika Kocher 39.24 1681 var firstHeaders=
1682 group.cards.map(function(card){
1683 var candidates=
1684 headers
1685 .filter(function(row){
1686 return row.card===card;
1687 })
1688 .sort(function(a,b){
1689 return (
1690 a.el
1691 .getBoundingClientRect()
1692 .top-
1693 b.el
1694 .getBoundingClientRect()
1695 .top
1696 );
1697 });
Veronika Kocher 39.23 1698
Veronika Kocher 39.24 1699 return candidates.length
1700 ?candidates[0]
1701 :null;
1702 });
Veronika Kocher 39.23 1703
Veronika Kocher 39.24 1704 if(
1705 !firstHeaders.some(function(row){
1706 return !row;
1707 })
1708 ){
1709 var targetTop=
1710 Math.max.apply(
1711 Math,
1712 firstHeaders.map(function(row){
1713 return (
1714 row.el
1715 .getBoundingClientRect()
1716 .top-
1717 row.card
1718 .getBoundingClientRect()
1719 .top
1720 );
1721 })
1722 );
Veronika Kocher 39.21 1723
Veronika Kocher 39.24 1724 firstHeaders.forEach(function(row){
1725 var relativeTop=
1726 row.el
1727 .getBoundingClientRect()
1728 .top-
1729 row.card
1730 .getBoundingClientRect()
1731 .top;
Veronika Kocher 39.22 1732
Veronika Kocher 39.24 1733 var delta=
1734 targetTop-relativeTop;
Veronika Kocher 39.22 1735
Veronika Kocher 39.24 1736 if(delta>1){
1737 saveStyle(
1738 row.el,
1739 originalMargin,
1740 "margin-top"
1741 );
Veronika Kocher 39.23 1742
Veronika Kocher 39.24 1743 var current=
1744 num(
1745 getComputedStyle(
1746 row.el
1747 ).marginTop
1748 );
Veronika Kocher 39.22 1749
Veronika Kocher 39.24 1750 row.el.style.setProperty(
1751 "margin-top",
1752 (
1753 current+delta
1754 )+"px"
1755 );
Veronika Kocher 39.22 1756
Veronika Kocher 39.24 1757 row.el.setAttribute(
1758 "data-sn-master-first-row",
1759 "1"
1760 );
Veronika Kocher 39.22 1761
Veronika Kocher 39.24 1762 managedMargin.add(
1763 row.el
1764 );
1765 }
1766 });
1767 }
Veronika Kocher 39.22 1768
Veronika Kocher 39.24 1769 var maxHeight=0;
Veronika Kocher 39.22 1770
Veronika Kocher 39.24 1771 group.cards.forEach(function(card){
1772 maxHeight=
1773 Math.max(
1774 maxHeight,
1775 card
1776 .getBoundingClientRect()
1777 .height
1778 );
1779 });
Veronika Kocher 39.22 1780
Veronika Kocher 39.24 1781 maxHeight=
1782 Math.ceil(maxHeight);
Veronika Kocher 39.22 1783
Veronika Kocher 39.24 1784 group.cards.forEach(function(card){
1785 saveStyle(
1786 card,
1787 originalHeight,
1788 "min-height"
1789 );
Veronika Kocher 39.22 1790
Veronika Kocher 39.24 1791 card.style.setProperty(
1792 "min-height",
1793 maxHeight+"px"
Veronika Kocher 39.22 1794 );
1795
Veronika Kocher 39.24 1796 card.setAttribute(
1797 "data-sn-master-equal-height",
1798 "1"
1799 );
Veronika Kocher 39.22 1800
Veronika Kocher 39.24 1801 managedHeight.add(
1802 card
1803 );
1804 });
Veronika Kocher 39.22 1805 });
1806 }
1807
Veronika Kocher 39.24 1808 /* =======================================================
1809 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1810 ======================================================= */
Veronika Kocher 39.22 1811
Veronika Kocher 39.24 1812 function equaliseDetailGrids(){
Veronika Kocher 39.23 1813 if(
Veronika Kocher 39.24 1814 PAGE_KIND!=="detail"||
1815 window.innerWidth<=MOBILE_MAX
Veronika Kocher 39.23 1816 ){
Veronika Kocher 39.24 1817 return;
Veronika Kocher 39.23 1818 }
Veronika Kocher 39.22 1819
Veronika Kocher 39.24 1820 var selectors=[
1821 ".arsn-grid",
1822 ".arsn-grid-2",
1823 ".arsn-grid-3",
1824 ".dmp-grid",
1825 ".ido-grid",
1826 ".pp-grid"
1827 ];
Veronika Kocher 39.22 1828
Veronika Kocher 39.24 1829 selectors.forEach(function(selector){
1830 Array.from(
1831 root.querySelectorAll(selector)
1832 ).forEach(function(grid){
1833 var children=
1834 Array.from(
1835 grid.children||[]
1836 ).filter(visible);
Veronika Kocher 39.22 1837
Veronika Kocher 39.24 1838 if(children.length<2){
1839 return;
1840 }
Veronika Kocher 39.22 1841
Veronika Kocher 39.24 1842 var groups=[];
Veronika Kocher 39.22 1843
Veronika Kocher 39.24 1844 children.forEach(function(child){
1845 var top=
1846 child
1847 .getBoundingClientRect()
1848 .top;
Veronika Kocher 39.22 1849
Veronika Kocher 39.24 1850 var group=null;
Veronika Kocher 39.22 1851
Veronika Kocher 39.24 1852 for(var i=0;i<groups.length;i++){
1853 if(
1854 Math.abs(
1855 groups[i].top-top
1856 )<=ROW_TOLERANCE
1857 ){
1858 group=groups[i];
1859 break;
1860 }
1861 }
Veronika Kocher 39.22 1862
Veronika Kocher 39.24 1863 if(!group){
1864 group={
1865 top:top,
1866 items:[]
1867 };
1868 groups.push(group);
1869 }
Veronika Kocher 39.22 1870
Veronika Kocher 39.24 1871 group.items.push(child);
1872 });
Veronika Kocher 39.22 1873
Veronika Kocher 39.24 1874 groups.forEach(function(group){
1875 if(group.items.length<2){
1876 return;
1877 }
Veronika Kocher 39.21 1878
Veronika Kocher 39.24 1879 var maxHeight=0;
Veronika Kocher 39.23 1880
Veronika Kocher 39.24 1881 group.items.forEach(function(item){
1882 maxHeight=
1883 Math.max(
1884 maxHeight,
1885 item
1886 .getBoundingClientRect()
1887 .height
1888 );
1889 });
Veronika Kocher 39.23 1890
Veronika Kocher 39.24 1891 maxHeight=
1892 Math.ceil(maxHeight);
Veronika Kocher 39.21 1893
Veronika Kocher 39.24 1894 group.items.forEach(function(item){
1895 saveStyle(
1896 item,
1897 originalHeight,
1898 "min-height"
1899 );
Veronika Kocher 39.21 1900
Veronika Kocher 39.24 1901 item.style.setProperty(
1902 "min-height",
1903 maxHeight+"px"
1904 );
Veronika Kocher 39.22 1905
Veronika Kocher 39.24 1906 item.setAttribute(
1907 "data-sn-master-equal-height",
1908 "1"
1909 );
Veronika Kocher 39.21 1910
Veronika Kocher 39.24 1911 managedHeight.add(item);
1912 });
Veronika Kocher 39.21 1913 });
Veronika Kocher 39.24 1914 });
1915 });
1916 }
Veronika Kocher 39.21 1917
Veronika Kocher 39.24 1918 /* =======================================================
1919 RUN / RESPONSIVE SCHEDULING
1920 ======================================================= */
Veronika Kocher 39.21 1921
Veronika Kocher 39.24 1922 function run(){
1923 if(running)return;
Veronika Kocher 39.21 1924
Veronika Kocher 39.24 1925 running=true;
Veronika Kocher 39.23 1926
Veronika Kocher 39.24 1927 try{
1928 resetRuntime();
1929 applyPlaceholderBadge();
1930 propagateDetailAccents();
Veronika Kocher 39.23 1931
Veronika Kocher 39.24 1932 var headers=
1933 applyOverviewPalette();
Veronika Kocher 39.23 1934
Veronika Kocher 39.25 1935 makeThreeLineAreaLabels();
1936 makeFilledRedOrangeCTAsBorderless();
1937
Veronika Kocher 39.24 1938 if(
1939 window.innerWidth>
1940 MOBILE_MAX
1941 ){
1942 alignOverviewCards(
1943 headers
1944 );
Veronika Kocher 39.21 1945
Veronika Kocher 39.24 1946 equaliseDetailGrids();
1947 }
Veronika Kocher 39.23 1948 }finally{
Veronika Kocher 39.24 1949 running=false;
Veronika Kocher 39.23 1950 }
Veronika Kocher 39.21 1951 }
1952
Veronika Kocher 39.24 1953 function onResize(){
Veronika Kocher 39.23 1954 if(resizeTimer){
1955 clearTimeout(
1956 resizeTimer
1957 );
1958 }
Veronika Kocher 39.22 1959
Veronika Kocher 39.23 1960 resizeTimer=
1961 setTimeout(
1962 function(){
1963 resizeTimer=0;
Veronika Kocher 39.24 1964 run();
Veronika Kocher 39.23 1965 },
1966 RESIZE_DEBOUNCE
1967 );
Veronika Kocher 39.21 1968 }
1969
Veronika Kocher 39.24 1970 async function waitForReady(){
1971 if(
1972 document.readyState!=="complete"
1973 ){
1974 await new Promise(function(resolve){
1975 window.addEventListener(
1976 "load",
1977 resolve,
1978 {once:true}
1979 );
1980 });
1981 }
1982
1983 if(
1984 document.fonts&&
1985 document.fonts.ready
1986 ){
1987 try{
1988 await document.fonts.ready;
1989 }catch(error){}
1990 }
1991
Veronika Kocher 39.23 1992 var images=
1993 Array.from(
1994 root.querySelectorAll("img")
1995 );
Veronika Kocher 39.21 1996
Veronika Kocher 39.24 1997 await Promise.all(
Veronika Kocher 39.23 1998 images.map(function(img){
1999 if(img.complete){
2000 return Promise.resolve();
2001 }
Veronika Kocher 39.21 2002
Veronika Kocher 39.23 2003 return new Promise(function(resolve){
2004 var done=function(){
2005 resolve();
2006 };
2007
2008 img.addEventListener(
2009 "load",
2010 done,
2011 {once:true}
2012 );
2013
2014 img.addEventListener(
2015 "error",
2016 done,
2017 {once:true}
2018 );
2019 });
2020 })
2021 );
2022
Veronika Kocher 39.24 2023 run();
Veronika Kocher 39.21 2024 }
2025
Veronika Kocher 39.24 2026 window.addEventListener(
Veronika Kocher 39.23 2027 "resize",
Veronika Kocher 39.24 2028 onResize,
Veronika Kocher 39.23 2029 {passive:true}
2030 );
2031
Veronika Kocher 39.24 2032 waitForReady();
Veronika Kocher 39.21 2033 })();
2034 </script>
Veronika Kocher 39.23 2035
Veronika Kocher 39.24 2036 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->
2037 {{/html}}
2038