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