@aarhus-university/au-lib-react-components 9.11.18 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/.eslintrc.js +44 -0
  2. package/README.md +19 -20
  3. package/babel.config.js +7 -6
  4. package/build/umd/all.css +1 -1
  5. package/build/umd/all.css.map +1 -1
  6. package/build/umd/all.js +1 -1
  7. package/build/umd/all.js.map +1 -1
  8. package/build/umd/alphabox.js +1 -1
  9. package/build/umd/alphabox.js.map +1 -1
  10. package/build/umd/databox.js +1 -2
  11. package/build/umd/databox.js.map +1 -1
  12. package/build/umd/diagramme.js +1 -1
  13. package/build/umd/diagramme.js.map +1 -1
  14. package/build/umd/flowbox.js +1 -1
  15. package/build/umd/flowbox.js.map +1 -1
  16. package/build/umd/universe.js +1 -1
  17. package/build/umd/universe.js.map +1 -1
  18. package/package.json +66 -60
  19. package/src/components/{delphinus/AUAlertComponent.js → AUAlertComponent.tsx} +70 -85
  20. package/src/components/{AutoSuggestComponent.js → AUAutoSuggestComponent.js} +45 -19
  21. package/src/components/AUCalendarComponent.tsx +493 -0
  22. package/src/components/AUContentToggleComponent.tsx +33 -0
  23. package/src/components/AUDatepickerComponent.tsx +117 -0
  24. package/src/components/AUMobilePrefixComponent.tsx +15 -0
  25. package/src/components/{delphinus/AUModalComponent.js → AUModalComponent.tsx} +80 -94
  26. package/src/components/{form/AUReceiptComponent.js → AUReceiptComponent.tsx} +33 -40
  27. package/src/components/AUSpinnerComponent.tsx +67 -0
  28. package/src/components/{delphinus/AUSubNavComponent.js → AUSubNavComponent.tsx} +38 -53
  29. package/src/components/{form/AUSubmitButtonContainerComponent.js → AUSubmitButtonContainerComponent.tsx} +31 -39
  30. package/src/components/{delphinus/AUTabbedContentComponent.js → AUTabbedContentComponent.tsx} +145 -150
  31. package/src/components/{delphinus/AUTableComponent.js → AUTableComponent.tsx} +24 -28
  32. package/src/components/{delphinus/AUToastComponent.js → AUToastComponent.tsx} +104 -91
  33. package/src/components/{delphinus/AUToolbarComponent.js → AUToolbarComponent.tsx} +45 -48
  34. package/src/components/profile/AUProfileActions.js +128 -128
  35. package/src/components/profile/AUProfileAvatarComponent.js +83 -83
  36. package/src/components/profile/AUProfileAvatarV2Component.js +91 -91
  37. package/src/components/profile/AUProfileAvatarV3Component.tsx +42 -0
  38. package/src/components/profile/AUProfileContainerComponent.js +283 -283
  39. package/src/components/profile/AUProfileHooks.js +30 -30
  40. package/src/components/profile/AUProfileItemComponent.js +54 -54
  41. package/src/components/profile/AUProfileLanguageComponent.js +131 -131
  42. package/src/components/profile/{AUProfileLoginComponent.js → AUProfileLoginComponent.tsx} +3 -18
  43. package/src/components/profile/AUProfileMailComponent.js +307 -307
  44. package/src/components/profile/AUProfileMobileComponent.js +164 -164
  45. package/src/components/profile/AUProfileNameComponent.js +253 -253
  46. package/src/components/profile/AUProfileNextOfKinComponent.js +216 -216
  47. package/src/components/profile/AUProfileReducer.js +230 -230
  48. package/src/components/profile/AUProfileWidgetComponent.js +95 -95
  49. package/src/components/profile/AUProfileWidgetV2Component.js +116 -116
  50. package/src/components/profile/{AUProfileWidgetV3Component.js → AUProfileWidgetV3Component.tsx} +122 -130
  51. package/src/components/wrapping/AUEmbedComponent.js +47 -47
  52. package/src/{components → layout-2016/components}/alphabox/AlphaBoxComponent.js +28 -25
  53. package/src/{components → layout-2016/components}/alphabox/AlphaBoxContentComponent.js +25 -14
  54. package/src/{components → layout-2016/components/common}/AUCollapsibleComponent.js +1 -22
  55. package/src/{components → layout-2016/components/common}/AUSpinnerComponent.js +2 -24
  56. package/src/{components → layout-2016/components}/databox/DataBoxAlphabetComponent.js +1 -1
  57. package/src/{components → layout-2016/components}/databox/DataBoxAssociationComponent.js +2 -2
  58. package/src/{components → layout-2016/components}/databox/DataBoxButtonComponent.js +7 -3
  59. package/src/{components → layout-2016/components}/databox/DataBoxComponent.js +2 -2
  60. package/src/{components → layout-2016/components}/databox/DataBoxGroupingComponent.js +2 -0
  61. package/src/{components → layout-2016/components}/databox/DataBoxSearchResultComponent.js +1 -5
  62. package/src/{components → layout-2016/components}/databox/DataBoxStackedAssociationComponent.js +1 -5
  63. package/src/{components → layout-2016/components}/databox/DataBoxSuggestionComponent.js +0 -0
  64. package/src/{components → layout-2016/components/diagramme}/AUDiagrammeComponent.js +5 -6
  65. package/src/{components → layout-2016/components}/flowbox/FlowBoxComponent.js +8 -8
  66. package/src/{components → layout-2016/components}/flowbox/FlowBoxPhoneComponent.js +3 -5
  67. package/src/{components → layout-2016/components}/profile/AUProfileAvatar2016Component.js +6 -2
  68. package/src/{components → layout-2016/components}/universe/StaffTopComponent.js +4 -3
  69. package/src/{components → layout-2016/components}/universe/StudentTopComponent.js +0 -0
  70. package/src/{components → layout-2016/components}/universe/UniverseContainerComponent.js +11 -8
  71. package/src/layout-2016/lib/all.js +3 -0
  72. package/src/{lib → layout-2016/lib}/au-alphabox.js +1 -3
  73. package/src/{lib → layout-2016/lib}/au-databox.js +6 -9
  74. package/src/{lib → layout-2016/lib}/au-diagramme.js +2 -4
  75. package/src/{lib → layout-2016/lib}/au-flowbox.js +1 -3
  76. package/src/{lib → layout-2016/lib}/universe.js +0 -0
  77. package/src/lib/{helpers.js → helpers.ts} +33 -58
  78. package/src/{components/delphinus/hooks.js → lib/hooks.ts} +33 -28
  79. package/src/lib/{i18n.js → i18n.ts} +600 -601
  80. package/src/lib/{tracking.js → tracking.ts} +69 -65
  81. package/src/lib/{wrapping.js → wrapping.ts} +21 -16
  82. package/src/styles/_settings.scss +10 -10
  83. package/src/styles/alphabox.scss +222 -208
  84. package/src/styles/app.scss +7 -13
  85. package/src/styles/autosuggest.scss +57 -57
  86. package/src/styles/databox.scss +563 -563
  87. package/src/styles/diagramme.scss +119 -119
  88. package/src/styles/flowbox.scss +72 -72
  89. package/src/styles/maps.scss +395 -395
  90. package/tsconfig.json +47 -0
  91. package/types/common/interfaces/gui.d.ts +52 -0
  92. package/types/common/interfaces/model.d.ts +29 -0
  93. package/types/common/main.d.ts +5 -0
  94. package/types/common/package.json +5 -0
  95. package/types/common/payloads.d.ts +0 -0
  96. package/types/common/props.d.ts +165 -0
  97. package/{src/config/webpack.umd.config.js → webpack.config.js} +20 -16
  98. package/.eslintrc +0 -19
  99. package/build/dev.html +0 -329
  100. package/build/umd/auAuth.js +0 -2
  101. package/build/umd/auAuth.js.map +0 -1
  102. package/build/umd/databox.js.LICENSE.txt +0 -5
  103. package/build/umd/news.js +0 -2
  104. package/build/umd/news.js.map +0 -1
  105. package/src/all.js +0 -3
  106. package/src/app.js +0 -263
  107. package/src/components/AUAlertComponent.js +0 -158
  108. package/src/components/AUAmountComponent.js +0 -84
  109. package/src/components/AUBannerComponent.js +0 -99
  110. package/src/components/AUCalendarComponent.js +0 -393
  111. package/src/components/AUDatepickerComponent.js +0 -105
  112. package/src/components/AUFilterCheckboxComponent.js +0 -122
  113. package/src/components/AUFocusComponent.js +0 -55
  114. package/src/components/AUModalComponent.js +0 -94
  115. package/src/components/AUPaginationComponent.js +0 -103
  116. package/src/components/context/AUUserContextComponent.js +0 -91
  117. package/src/components/context/ImpersonateComponent.js +0 -54
  118. package/src/components/delphinus/AUCalendarComponent.js +0 -487
  119. package/src/components/delphinus/AUContentToggleComponent.js +0 -32
  120. package/src/components/delphinus/AUDatepickerComponent.js +0 -164
  121. package/src/components/delphinus/AULoginComponent.js +0 -65
  122. package/src/components/delphinus/AUSpinnerComponent.js +0 -114
  123. package/src/components/form/AUMobilePrefixComponent.js +0 -18
  124. package/src/components/news/EventLayout1Component.js +0 -94
  125. package/src/components/news/EventLayout2Component.js +0 -90
  126. package/src/components/news/EventLayout3Component.js +0 -68
  127. package/src/components/news/NewsCategoriesComponent.js +0 -21
  128. package/src/components/news/NewsCollageBannerComponent.js +0 -71
  129. package/src/components/news/NewsCollageBannerRSSComponent.js +0 -79
  130. package/src/components/news/NewsColumnsComponent.js +0 -125
  131. package/src/components/news/NewsLanguageChangeComponent.js +0 -74
  132. package/src/components/news/NewsLayout1Component.js +0 -80
  133. package/src/components/news/NewsLayout2Component.js +0 -80
  134. package/src/components/news/NewsLayout3Component.js +0 -81
  135. package/src/components/news/NewsLayout4Component.js +0 -80
  136. package/src/components/news/NewsLayout5Component.js +0 -61
  137. package/src/components/news/NewsLayout6Component.js +0 -55
  138. package/src/components/news/NewsLayout7Component.js +0 -58
  139. package/src/components/news/NewsLayout8Component.js +0 -57
  140. package/src/components/news/NewsListComponent.js +0 -291
  141. package/src/components/news/NewsPopUpComponent.js +0 -591
  142. package/src/components/news/NewsRSSComponent.js +0 -74
  143. package/src/components/news/NewsSocialComponent.js +0 -104
  144. package/src/components/news/NewsSubHeaderComponent.js +0 -19
  145. package/src/components/password/AUChangePasswordComponent.js +0 -177
  146. package/src/components/password/AUCurrentPasswordComponent.js +0 -72
  147. package/src/components/password/AUNewPasswordComponent.js +0 -143
  148. package/src/components/password/AUPasswordActions.js +0 -101
  149. package/src/components/password/AUPasswordHooks.js +0 -47
  150. package/src/components/password/AUPasswordReducer.js +0 -78
  151. package/src/components/password/AUPasswordRequirementsComponent.js +0 -29
  152. package/src/components/profile/AUProfileAvatarV3Component.js +0 -80
  153. package/src/config/webpack.dev.config.js +0 -47
  154. package/src/index.js +0 -6
  155. package/src/lib/au-auth.js +0 -227
  156. package/src/lib/au-news.js +0 -371
  157. package/src/lib/menu.js +0 -10
  158. package/src/lib/urlHandler.js +0 -63
  159. package/src/lib/validation.js +0 -181
  160. package/src/styles/alert.scss +0 -39
  161. package/src/styles/calendar.scss +0 -112
  162. package/src/styles/filtercheckbox.scss +0 -5
  163. package/src/styles/modal.scss +0 -35
  164. package/src/styles/pagination.scss +0 -11
  165. package/src/styles/spinner.scss +0 -30
package/build/dev.html DELETED
@@ -1,329 +0,0 @@
1
- <!DOCTYPE html>
2
- <html class="no-js" lang="da">
3
-
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
- <title>Components</title>
7
- <link rel="stylesheet" href="http://cdn-dist.localdomain/2016/assets/css/app.css">
8
- <link rel="stylesheet" href="http://cdn-dist.localdomain/vendor/css/jqueryui/theme.css">
9
- <link href="//cmsdesign.au.dk/design/2008/graphics/favicon.ico" rel="shortcut icon" />
10
- <script crossorigin="anonymous" integrity="sha256-Yd7AtOItjdeRm//FhqYayxPRWTX84mpw0BN6EJV+LUU=" src="https://unpkg.com/msal@1.0.1/dist/msal.min.js"></script>
11
- <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
12
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
- </head>
14
-
15
- <body class="general layout16 level0">
16
- <header>
17
- <div class="row section-header">
18
- <div class="large-9 medium-9 small-12 columns logo">
19
- <a class="main-logo" href="//www.au.dk/" itemprop="url">
20
- <object data="http://cdn-dist.localdomain/2016/assets/img/logos.svg#au" type="image/svg+xml"></object>
21
- </a>
22
- </div>
23
- <div class="large-2 medium-3 columns search">
24
- <div class="search">
25
- <div class="au_searchbox">
26
- <form class="au_searchform" action="/search/all/" enctype="application/x-www-form-urlencoded" method="get" id="gsa_form">
27
- <fieldset>
28
- <legend>Search</legend><input class="au_searchquery" type="text" value="" name="q" id="tx_googlequery_searchform_ss_q"
29
- /><input class="au_searchbox_button" type="submit" title="Søg" value="Søg" />
30
- </fieldset>
31
- </form>
32
- </div>
33
- </div>
34
- </div>
35
- <div class="large-1 medium-2 small-2 columns seal show-for-large">
36
- <img class="seal show-for-medium" src="http://cdn-dist.localdomain/2016/assets/img/au_segl.svg" />
37
- </div>
38
- <nav class="utility-links">
39
- <ul class="utility resetlist">
40
- <li><a href="javascript:void(0)" data-toggle="utility-pane-student">Til studerende</a></li>
41
- <li><a href="javascript:void(0)" data-toggle="utility-pane-phd">Til ph.d.er</a></li>
42
- <li><a href="javascript:void(0)" data-toggle="utility-pane-staff">Til medarbejdere</a></li>
43
- <li><a href="javascript:void(0)" data-toggle="utility-pane-units">Institutter og fakulteter</a></li>
44
- <li><a href="http://library.au.dk">Bibliotek</a></li>
45
-
46
- <div class="dropdown-pane" id="utility-pane-student" data-dropdown data-close-on-click="true">
47
- <div id="au_alphabox_student_utility"></div>
48
- <a class="button bg-student expanded text-left" href="https://bb.au.dk/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_21_1">Blackboard</a>
49
- <a class="button bg-student expanded text-left" href="https://aarhus.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_1_1">Blackboard (Aarhus BSS)</a>
50
- </div>
51
- <div class="dropdown-pane" id="utility-pane-phd" data-dropdown data-close-on-click="true">
52
- <h2>Ph.d.-portaler</h2>
53
- <div id="au_databox_phd_utility"></div>
54
- </div>
55
- <div class="dropdown-pane bottom" id="utility-pane-staff" data-dropdown data-close-on-click="true">
56
- <div id="au_alphabox_staff_utility"></div>
57
- <h2>Medarbejderportaler</h2>
58
- <p>Find den lokale medarbejderportal for dit institut eller område.</p>
59
- <div id="au_databox_staff_utility"></div>
60
- </div>
61
- <div class="dropdown-pane" id="utility-pane-units" data-dropdown data-close-on-click="true">
62
- <h2>Fakulteter og institutter</h2>
63
- <div id="au_databox_unit_utility"></div>
64
- </div>
65
- </ul>
66
- </nav>
67
- </div>
68
- <div class="row header-menu">
69
- <div class="columns medium-10 large-10 small-12 small-order-2">
70
- <div class="title-bar align-right" data-responsive-toggle="menu" data-hide-for="medium">
71
- <div class="mobile-nav">
72
- <button class="menu-icon" data-toggle></button>
73
- </div>
74
- </div>
75
- <div class="top-bar" id="menu">
76
- <div class="top-bar-left">
77
- <ul class="menu resetlist">
78
- <li>
79
- <a href="//www.au.dk/uddannelse/">Uddannelse</a>
80
- <div class="top-bar-content">
81
- <div class="row">
82
- <div class="column large-3 medium-3 small-12">
83
- <h1>Find uddannelse</h1>
84
- <ul>
85
- <li><a href="//bachelor.au.dk">Bachelor</a></li>
86
- <li><a href="//tilvalg.au.dk">Tilvalg</a></li>
87
- <li><a href="//kandidat.au.dk">Kandidat</a></li>
88
- <li><a href="//ingenioer.au.dk">Ingeniør</a></li>
89
- <li><a href="//www.au.dk/evu">Efter- og videreuddannelse</a></li>
90
- <li><a href="//talent.au.dk/phd">Ph.d.-uddannelse</a></li>
91
- </ul>
92
- </div>
93
- <div class="column large-3 medium-3 small-12">
94
- <h1>Studievejledning</h1>
95
- <ul>
96
- <li><a href="//bachelor.au.dk/vejledning">Tal med en vejleder</a></li>
97
- </ul>
98
- </div>
99
- <div class="column large-3 medium-3 small-12">
100
- <h1>Besøg AU</h1>
101
- <ul>
102
- <li><a href="//bachelor.au.dk/vejledning/praktik">Studiepraktik</a></li>
103
- <li><a href="//bachelor.au.dk/vejledning/arrangementer">Åbent hus</a></li>
104
- <li><a href="//bachelor.au.dk/vejledning/arrangementer">Udays</a></li>
105
- </ul>
106
- </div>
107
- <div class="column large-3 medium-3 small-12">
108
- <h1>Kvalitet</h1>
109
- <ul>
110
- <li><a href="http://medarbejdere.au.dk/strategi/uddannelse/kvalitetsarbejde-paa-aarhus-universitet/">Kvalitetsportalen</a></li>
111
- </ul>
112
- </div>
113
- </div>
114
- <div class="row">
115
- <div class="column small-12">
116
- <a href="//www.au.dk/uddannelse/" class="float-right button arrow">Uddannelse</a>
117
- </div>
118
- </div>
119
- </div>
120
- </li>
121
- <li>
122
- <a href="//www.au.dk/forskning/">Forskning</a>
123
- <div class="top-bar-content">
124
- <div class="row">
125
- <div class="column large-3 medium-3 small-12">
126
- <h1>Find</h1>
127
- <ul>
128
- <li><a href="//www.au.dk/forskning/institutter">Institutter</a></li>
129
- <li><a href="//www.au.dk/forskning/forskningscentre/">Centre</a></li>
130
- <li><a href="//www.au.dk/forskning/findenforsker">Forsker</a></li>
131
- <li><a href="//www.au.dk/forskning/core-faciliteter">Forskningsfaciliteter</a></li>
132
- </ul>
133
- </div>
134
- <div class="column large-3 medium-3 small-12">
135
- <h1>Aktuel forskning</h1>
136
- <ul>
137
- <li><a href="//www.au.dk/forskning/forskningspublikationer">Publikationer</a></li>
138
- <li><a href="//news.au.dk/">Nyheder</a></li>
139
- <li><a href="//www.au.dk/forskning/forskningensdøgn">Forskningens døgn</a></li>
140
- <li><a href="//www.au.dk/forskning/priserogbevillinger">Priser og bevillinger</a></li>
141
- </ul>
142
- </div>
143
- <div class="column large-3 medium-3 small-12">
144
- <h1>Talent</h1>
145
- <ul>
146
- <li><a href="//talent.au.dk">Ph.d-uddannelse</a></li>
147
- <li><a href="//aias.au.dk">AIAS</a></li>
148
- </ul>
149
- </div>
150
- <div class="column large-3 medium-3 small-12"></div>
151
- </div>
152
- <div class="row">
153
- <div class="column small-12">
154
- <a href="//www.au.dk/forskning/" class="float-right button arrow">Forskning</a>
155
- </div>
156
- </div>
157
- </div>
158
- </li>
159
- <li>
160
- <a href="//www.au.dk/samarbejde/">Samarbejde</a>
161
- <div class="top-bar-content">
162
- <div class="row">
163
- <div class="column large-3 medium-3 small-12">
164
- <h1>Gymnasier</h1>
165
- <ul>
166
- <li><a href="//www.au.dk/gym">Gymnasieportalen</a></li>
167
- <li><a href="//www.au.dk/detrullendeuniversitet/">Det rullende universitet</a></li>
168
- </ul>
169
- </div>
170
- <div class="column large-3 medium-3 small-12">
171
- <h1>Virksomheder</h1>
172
- <ul>
173
- <li><a href="http://www.au.dk/samarbejde/erhvervssamarbejde/">Erhvervssamarbejde</a></li>
174
- <li><a href="http://www.au.dk/samarbejde/teknologioverfoersel/">Patenter og teknologioverførsel</a></li>
175
- <li><a href="//careercentre.au.dk">Rekruttér studerende og kandidater</a></li>
176
- </ul>
177
- </div>
178
- <div class="column large-3 medium-3 small-12">
179
- <h1>Myndigheder</h1>
180
- <ul>
181
- <li><a href="//www.au.dk/samarbejde/samarbejde-med-myndigheder/">Myndighedsrådgivning</a></li>
182
- </ul>
183
- </div>
184
- <div class="column large-3 medium-3 small-12"></div>
185
- </div>
186
- <div class="row">
187
- <div class="column small-12">
188
- <a href="//www.au.dk/samarbejde/" class="float-right button arrow">Samarbejde</a>
189
- </div>
190
- </div>
191
- </div>
192
- </li>
193
- <li>
194
- <a href="//www.au.dk/om/">Om AU</a>
195
- <div class="top-bar-content">
196
- <div class="row">
197
- <div class="column large-3 medium-3 small-12">
198
- <h1>Organisation</h1>
199
- <ul>
200
- <li><a href="//www.au.dk/om/organisation/hovedomraader">Fakulteter</a></li>
201
- <li><a href="//www.au.dk/om/organisation/institutter">Institutter</a></li>
202
- <li><a href="//www.au.dk/om/organisation/centre">Centre</a></li>
203
- <li><a href="//www.au.dk/om/ledelse">Ledelse</a></li>
204
- <li><a href="//www.au.dk/om/organisation/administration">Administration</a></li>
205
- <li><a href="//www.au.dk/om/organisation">Organisationsdiagram</a></li>
206
- </ul>
207
- </div>
208
- <div class="column large-3 medium-3 small-12">
209
- <h1>Kontakt</h1>
210
- <ul>
211
- <li><a href="//www.au.dk/kort">Bygningskort</a></li>
212
- <li><a href="//www.au.dk/om/kontakt">Kontaktoplysninger</a></li>
213
- <li><a href="//person.au.dk">Telefon, e-mail og adresser for alle ansatte</a></li>
214
- </ul>
215
- </div>
216
- <div class="column large-3 medium-3 small-12">
217
- <h1>Profil</h1>
218
- <ul>
219
- <li><a href="//www.au.dk/om/profil">Om AU</a></li>
220
- <li><a href="//www.au.dk/om/profil/strategi">Strategi</a></li>
221
- <li><a href="//www.au.dk/om/profil/au-i-tal">Nøgletal</a></li>
222
- <li><a href="//www.au.dk/om/profil/ranking">Placering på ranglisterne</a></li>
223
- </ul>
224
- </div>
225
- <div class="column large-3 medium-3 small-12">
226
- <h1>Job på AU</h1>
227
- <ul>
228
- <li><a href="//www.au.dk/om/stillinger/">Ledige stillinger</a></li>
229
- </ul>
230
- </div>
231
- </div>
232
- <div class="row">
233
- <div class="column small-12">
234
- <a href="//www.au.dk/om/" class="float-right button arrow">Om AU</a>
235
- </div>
236
- </div>
237
- </div>
238
- </li>
239
- </ul>
240
- </div>
241
- </div>
242
- </div>
243
- <div class="large-2 medium-2 small-6 columns text-right language-selector small-order-1 medium-order-2">
244
- <p><a href="en/">English</a></p>
245
- </div>
246
- </div>
247
- <div id="fade"></div>
248
- </header>
249
-
250
- <div class="row breadcrumb align-right hide-for-small-only">
251
- <div class="columns medium-12">
252
- <div id="au_breadcrumb"><span class="breadcrumb-prefix">Du er her:</span>&#160;<a href="http://www.au.dk">AU</a> <span class="icon-bullet_rounded"></span>&#160;
253
- <a href="om/">Om AU</a><span class="icon-bullet_rounded">&#160;</span><a href="om/organisation/">Organisation</a>
254
- <span class="icon-bullet_rounded">&#160;</span><strong>Institutter</strong></div>
255
- </div>
256
- </div>
257
-
258
- <div class="row">
259
- <div class="small-12 large-12 medium-12 columns medium-only-portrait-12 content main" id="au_content">
260
- <div class="row">
261
- <div class="large-12 medium-12 medium-only-portrait-12 small-12 columns">
262
- <h1 class="pagetitle">Udviklings- og testside</h1>
263
- <div id="components"></div>
264
- <script src="dev.js"></script>
265
- </div>
266
- <div class="column medium-12 small-12">
267
-
268
- </div>
269
- </div>
270
- </div>
271
- </div>
272
- <footer>
273
- <footer class="row global">
274
- <div class="large-6 medium-6 columns small-12">
275
- <div class="row">
276
- <div class="large-6 medium-6 small-6 columns small-order-2 medium-order-1">
277
- <img class="seal" src="http://cdn-dist.localdomain/2016/assets/img/au_segl.svg" />
278
- </div>
279
- <div class="large-6 medium-6 columns small-order-1">
280
- <h3>Aarhus Universitet</h3>
281
- <p>Nordre Ringgade 1<br> 8000 Aarhus
282
- </p>
283
- <p>Email: au@au.dk<br> Tlf: 8715 0000<br> Fax: 8715 0201</p>
284
- <p><br>CVR-nr: 31119103<br> EAN-numre: <a href="http://medarbejdere.au.dk/administration/oekonomi/ean-numrepaaaarhusuniversitet/">www.au.dk/eannumre</a></p>
285
- </div>
286
- </div>
287
- </div>
288
- <div class="small-12 large-6 medium-6 columns">
289
- <div class="row">
290
- <div class="small-6 large-4 medium-6 columns">
291
- <h3>Om os</h3>
292
- <ul class="resetlist">
293
- <li><a href="http://www.au.dk/om/profil/">Profil</a></li>
294
- <li><a href="http://www.au.dk/om/organisation/">Institutter &amp; fakulteter</a></li>
295
- <li><a href="http://www.au.dk/om/kontakt/">Kontakt &amp; kort</a></li>
296
- <li><a href="http://www.au.dk/om/stillinger/">Ledige stillinger</a></li>
297
- </ul>
298
- </div>
299
- <div class="small-6 large-4 medium-6 columns">
300
- <h3>Uddannelser på AU</h3>
301
- <ul class="resetlist">
302
- <li><a href="http://bachelor.au.dk/">Bachelor</a></li>
303
- <li><a href="http://kandidat.au.dk/">Kandidat</a></li>
304
- <li><a href="http://ingenioer.au.dk/">Ingeniør</a></li>
305
- <li><a href="http://talent.au.dk/">Ph.d.</a></li>
306
- <li><a href="http://www.au.dk/evu">Efter- &amp; videreuddannelse</a></li>
307
- </ul>
308
- </div>
309
- <div class="small-12 large-4 medium-6 columns">
310
- <h3>Genveje</h3>
311
- <ul class="resetlist">
312
- <li><a href="http://library.au.dk/">Bibliotek</a></li>
313
- <li><a href="http://studerende.au.dk/">Studieportal</a></li>
314
- <li><a href="http://phd.au.dk/">Ph.d.-portal</a></li>
315
- <li><a href="http://medarbejdere.au.dk/">Medarbejderportal</a></li>
316
- </ul>
317
- <p class="muted">
318
- <br><br>
319
- <a href="http://www.au.dk/om/profil/detteweb/ophavsret/">©</a> &mdash;
320
- <a href="http://www.au.dk/om/profil/cookies/">Cookies på au.dk</a>
321
- </p>
322
- </div>
323
- </div>
324
- </div>
325
- </footer>
326
- </footer>
327
- </body>
328
-
329
- </html>
@@ -1,2 +0,0 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var s in o)("object"==typeof exports?exports:e)[s]=o[s]}}(self,(function(){return(()=>{"use strict";var e={255:(e,t,o)=>{o.r(t);const{serviceScopeProfile:s}=window;window.auAuth=new class{constructor(e,t,o,s,i,n){var r,a;a=void 0,(r="config")in this?Object.defineProperty(this,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):this[r]=a,this.config={auth:{clientId:e,authority:t,redirectUri:o,navigateToLoginRequestUrl:!0,postLogoutRedirectUri:window.location.href}},this.userContextUri=s,this.userContextServiceScope=i,this.popupErrorPage=n,this.msal=new Msal.UserAgentApplication(this.config),this.msal.handleRedirectCallback((e=>{e&&e.errorMessage&&console.log(`Token error during login: ${e.errorMessage}`)})),this.fetching=!1,this.userContext=null,this.fetchEvents=[]}login(){this.msal.loginRedirect({authority:this.config.auth.authority,state:window.location.href})}logout(){this.msal.logout()}setUserContext(e=0,t,o,s,i=(()=>{}),n=!0,r=!1,a=(async e=>e)){const c=((e="",t=!1)=>{if(t){let e=null;return Object.entries(window.sessionStorage).forEach((t=>{const o=t[0];o.includes("user-context")&&(e=window.sessionStorage.getItem(o))})),e}return window.sessionStorage.getItem(`user-context-${e}`)})(e);if(c&&!o&&(this.userContext=JSON.parse(c)),null==this.userContext||"function"!=typeof s||o){if(this.fetchEvents.push({key:t,callback:s,error:i}),console.log(`Callback for key ${t} added to queue`),!this.fetching){this.fetching=!0,0===e&&([e]=this.getUser().auid.match(/(\d+)/g));let t=this.userContextUri;e>0&&(t=`${t}?auid=${e}`),o&&(t=`${t}&clearCache=true`);const s=async(e,t)=>{e.ok&&(this.userContext=await a(t),this.userContext.isStudentImpersonator&&n&&window.sessionStorage.setItem("student-impersonation",!0)),this.fetchEvents.forEach((o=>{e.ok?"function"==typeof o.callback&&(o.callback(this.userContext),console.log(`Callback for key ${o.key} has been invoked`)):(o.error(e.status,t),console.log("Context fetch errored and error callback with response has been invoked"))})),this.fetching=!1};r?(async()=>{const e=await fetch(t,{credentials:"include"});if(401!==e.status){const t=await e.json();s(e,t)}else s(e,{title:`${e.status}: Context not allowed for the specific user`})})():this.getAccessToken([this.userContextServiceScope]).then((async({accessToken:e})=>{const o=await fetch(t,{headers:{Authorization:`Bearer ${e}`}}),i=await o.json();s(o,i)}))}}else s(this.userContext),console.log(`Using existing context for key ${t}`)}getUser(){const e=this.msal.getAccount();return null==e?null:{name:e.name,userId:e.accountIdentifier,auid:e.userName}}getIdToken(){return this.msal.acquireTokenSilent({scopes:[this.config.auth.clientId],authority:this.config.auth.authority})}getAccessToken(e){const t={scopes:e,authority:this.config.auth.authority,state:window.location.href},o=()=>{const e=JSON.stringify({thisIsCachedSafariAccessToken:!0,authority:t.authority,clientId:this.config.auth.clientId,scopes:t.scopes,homeAccountIdentifier:this.msal.getAccount().homeAccountIdentifier}),o=sessionStorage.getItem(e);if(null!=o){const e=JSON.parse(o);if(e.expiresOn&&new Date(e.expiresOn)>new Date&&e.accessToken)return new Promise((t=>t(e)))}return this.msal.acquireTokenPopup(t).then((t=>{sessionStorage.setItem(e,JSON.stringify(t))})).catch((()=>{this.popupErrorPage?window.location.href=this.popupErrorPage:window.alert("This site needs to show popups, but your browser blocks popups from this site.\nYou need to allow popups from this site, then reload the page.")}))};return void 0!==window.safari?o():this.msal.acquireTokenSilent(t).catch((()=>o()))}}(window.auAuthClientId,window.auAuthAuthority,window.auAuthRedirectUri,window.userContextApiUri,window.userContextServiceScope,window.popupErrorPage)}},t={};function o(s){if(t[s])return t[s].exports;var i=t[s]={exports:{}};return e[s](i,i.exports,o),i.exports}return o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(255)})()}));
2
- //# sourceMappingURL=auAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack://@aarhus-university/au-lib-react-components/webpack/universalModuleDefinition","webpack://@aarhus-university/au-lib-react-components/./src/lib/helpers.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/au-auth.js","webpack://@aarhus-university/au-lib-react-components/webpack/bootstrap","webpack://@aarhus-university/au-lib-react-components/webpack/startup","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/make namespace object"],"names":["root","factory","exports","module","define","amd","a","i","self","serviceScopeProfile","window","auAuth","constructor","clientId","authority","redirectUri","userContextUri","userContextServiceScope","popupErrorPage","this","config","auth","navigateToLoginRequestUrl","postLogoutRedirectUri","location","href","msal","Msal","UserAgentApplication","handleRedirectCallback","err","errorMessage","console","log","fetching","userContext","fetchEvents","login","loginRedirect","state","logout","setUserContext","auId","key","clearCache","callback","error","setImpersonationSession","loggedIn","enrichContext","async","json","contextFromSession","any","foundContext","Object","entries","sessionStorage","forEach","entry","entryKey","includes","getItem","getContextFromSession","JSON","parse","push","getUser","auid","match","url","handleContext","response","ok","isStudentImpersonator","setItem","e","status","fetch","credentials","title","fetchContext","getAccessToken","then","accessToken","headers","Authorization","msalUser","getAccount","name","userId","accountIdentifier","userName","getIdToken","acquireTokenSilent","scopes","req","popupFallback","stringify","thisIsCachedSafariAccessToken","homeAccountIdentifier","token","parsed","expiresOn","Date","Promise","resolve","acquireTokenPopup","catch","alert","safari","auAuthClientId","auAuthAuthority","auAuthRedirectUri","userContextApiUri","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","r","Symbol","toStringTag","defineProperty","value"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASGC,MAAM,WACT,M,+CCPA,MAAM,oBAAEC,GAAwBC,OCwNhCA,OAAOC,OAAS,IAlNhB,MAIEC,YAAYC,EAAUC,EAAWC,EAAaC,EAAgBC,EAAyBC,G,eAAgB,G,EAAA,iB,sBAAA,K,uDAAA,K,KACrGC,KAAKC,OAAS,CACZC,KAAM,CACJR,WACAC,YACAC,cACAO,2BAA2B,EAC3BC,sBAAuBb,OAAOc,SAASC,OAI3CN,KAAKH,eAAiBA,EACtBG,KAAKF,wBAA0BA,EAC/BE,KAAKD,eAAiBA,EAEtBC,KAAKO,KAAO,IAAIC,KAAKC,qBAAqBT,KAAKC,QAS/CD,KAAKO,KAAKG,wBANYC,IAChBA,GAAOA,EAAIC,cACbC,QAAQC,IAAK,6BAA4BH,EAAIC,mBAKjDZ,KAAKe,UAAW,EAChBf,KAAKgB,YAAc,KACnBhB,KAAKiB,YAAc,GAGrBC,QACElB,KAAKO,KAAKY,cAAc,CACtBxB,UAAWK,KAAKC,OAAOC,KAAKP,UAC5ByB,MAAO7B,OAAOc,SAASC,OAI3Be,SACErB,KAAKO,KAAKc,SAGZC,eACEC,EAAO,EACPC,EACAC,EACAC,EACAC,EAAQ,SACRC,GAA0B,EAC1BC,GAAW,EACXC,EAAgBC,UAAgBC,IAEhC,MAAMC,EDgEoB,EAACT,EAAM,GAAIU,GAAM,KAC7C,GAAIA,EAAK,CACP,IAAIC,EAAe,KAOnB,OANAC,OAAOC,QAAQ9C,OAAO+C,gBAAgBC,SAASC,IAC7C,MAAMC,EAAWD,EAAM,GACnBC,EAASC,SAAS,kBACpBP,EAAe5C,OAAO+C,eAAeK,QAAQF,OAG1CN,EAGT,OAAO5C,OAAO+C,eAAeK,QAAS,gBAAenB,MC5ExBoB,CAAsBrB,GAIjD,GAHIU,IAAuBR,IACzBzB,KAAKgB,YAAc6B,KAAKC,MAAMb,IAER,MAApBjC,KAAKgB,aAA2C,mBAAbU,GAA4BD,GAUjE,GANAzB,KAAKiB,YAAY8B,KAAK,CACpBvB,MACAE,WACAC,UAEFd,QAAQC,IAAK,oBAAmBU,qBAC3BxB,KAAKe,SAAU,CAClBf,KAAKe,UAAW,EAEH,IAATQ,KAEDA,GAAQvB,KAAKgD,UAAUC,KAAKC,MAAM,WAErC,IAAIC,EAAMnD,KAAKH,eACX0B,EAAO,IACT4B,EAAO,GAAEA,UAAY5B,KAEnBE,IACF0B,EAAO,GAAEA,qBAGX,MAAMC,EAAgBrB,MAAOsB,EAAUrB,KACjCqB,EAASC,KACXtD,KAAKgB,kBAAoBc,EAAcE,GACnChC,KAAKgB,YAAYuC,uBAAyB3B,GAC5CrC,OAAO+C,eAAekB,QAAQ,yBAAyB,IAK3DxD,KAAKiB,YAAYsB,SAASkB,IACpBJ,EAASC,GACe,mBAAfG,EAAE/B,WACX+B,EAAE/B,SAAS1B,KAAKgB,aAChBH,QAAQC,IAAK,oBAAmB2C,EAAEjC,0BAGpCiC,EAAE9B,MAAM0B,EAASK,OAAQ1B,GACzBnB,QAAQC,IAAI,+EAIhBd,KAAKe,UAAW,GAGdc,EACmBE,WACnB,MAAMsB,QAAiBM,MAAMR,EAAK,CAChCS,YAAa,YAEf,GAAwB,MAApBP,EAASK,OAAgB,CAC3B,MAAM1B,QAAaqB,EAASrB,OAC5BoB,EAAcC,EAAUrB,QAExBoB,EAAcC,EAAU,CACtBQ,MAAQ,GAAER,EAASK,uDAKzBI,GAEA9D,KAAK+D,eAAe,CAAC/D,KAAKF,0BAA0BkE,MAAKjC,OAASkC,kBAChE,MAAMZ,QAAiBM,MAAMR,EAAK,CAChCe,QAAS,CACPC,cAAgB,UAASF,OAIvBjC,QAAaqB,EAASrB,OAC5BoB,EAAcC,EAAUrB,YAzE9BN,EAAS1B,KAAKgB,aACdH,QAAQC,IAAK,kCAAiCU,KA+ElDwB,UACE,MAAMoB,EAAWpE,KAAKO,KAAK8D,aAC3B,OAAgB,MAAZD,EACK,KAEF,CACLE,KAAMF,EAASE,KACfC,OAAQH,EAASI,kBACjBvB,KAAMmB,EAASK,UAInBC,aACE,OAAO1E,KAAKO,KAAKoE,mBAAmB,CAClCC,OAAQ,CAAC5E,KAAKC,OAAOC,KAAKR,UAC1BC,UAAWK,KAAKC,OAAOC,KAAKP,YAIhCoE,eAAea,GACb,MAAMC,EAAM,CACVD,SACAjF,UAAWK,KAAKC,OAAOC,KAAKP,UAC5ByB,MAAO7B,OAAOc,SAASC,MAGnBwE,EAAgB,KAKpB,MAAMtD,EAAMqB,KAAKkC,UAAU,CACzBC,+BAA+B,EAC/BrF,UAAWkF,EAAIlF,UACfD,SAAUM,KAAKC,OAAOC,KAAKR,SAC3BkF,OAAQC,EAAID,OACZK,sBAAuBjF,KAAKO,KAAK8D,aAAaY,wBAE1CC,EAAQ5C,eAAeK,QAAQnB,GACrC,GAAI0D,QAAuC,CACzC,MAAMC,EAAStC,KAAKC,MAAMoC,GAC1B,GAAIC,EAAOC,WAAc,IAAIC,KAAKF,EAAOC,WAAa,IAAIC,MAAWF,EAAOlB,YAC1E,OAAO,IAAIqB,SAASC,GAAYA,EAAQJ,KAI5C,OAAOnF,KAAKO,KAAKiF,kBAAkBX,GAChCb,MAAMC,IACL3B,eAAekB,QAAQhC,EAAKqB,KAAKkC,UAAUd,OAE5CwB,OAAM,KACDzF,KAAKD,eACPR,OAAOc,SAASC,KAAON,KAAKD,eAE5BR,OAAOmG,MAAM,sJAMrB,YAA6B,IAAlBnG,OAAOoG,OACTb,IAGF9E,KAAKO,KAAKoE,mBAAmBE,GACjCY,OAAM,IAAMX,QAMjBvF,OAAOqG,eACPrG,OAAOsG,gBACPtG,OAAOuG,kBACPvG,OAAOwG,kBACPxG,OAAOO,wBACPP,OAAOQ,kBChOLiG,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUnH,QAG3C,IAAIC,EAASgH,EAAyBE,GAAY,CAGjDnH,QAAS,IAOV,OAHAoH,EAAoBD,GAAUlH,EAAQA,EAAOD,QAASkH,GAG/CjH,EAAOD,QCjBf,OCFAkH,EAAoBG,EAAKrH,IACH,oBAAXsH,QAA0BA,OAAOC,aAC1ClE,OAAOmE,eAAexH,EAASsH,OAAOC,YAAa,CAAEE,MAAO,WAE7DpE,OAAOmE,eAAexH,EAAS,aAAc,CAAEyH,OAAO,KDFhDP,EAAoB,M","file":"auAuth.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function() {\nreturn ","/* eslint-env browser */\n/* NO IMPORTS! */\n\nconst { serviceScopeProfile } = window; // Sættes pr. webapp\n\nconst sortAlphaObj = (a, b) => {\n if (typeof a.name !== 'undefined' && typeof b.name !== 'undefined') {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true });\n }\n return 0;\n};\n\nconst isElementInViewport = (element) => {\n if (element === null) {\n return false;\n }\n\n const rect = element.getBoundingClientRect();\n\n return rect.bottom > 0\n && rect.right > 0\n && rect.left < (window.innerWidth || document.documentElement.clientWidth)\n && rect.top < (window.innerHeight || document.documentElement.clientHeight);\n};\n\nconst isElementPartlyInViewport = (element) => {\n let top = element.offsetTop;\n let left = element.offsetLeft;\n const width = element.offsetWidth;\n const height = element.offsetHeight;\n\n let offsetElement = element;\n while (offsetElement.offsetParent) {\n offsetElement = element.offsetParent;\n top += element.offsetTop;\n left += element.offsetLeft;\n }\n\n return (\n top < (window.pageYOffset + window.innerHeight)\n && left < (window.pageXOffset + window.innerWidth)\n && (top + height) > window.pageYOffset\n && (left + width) > window.pageXOffset\n );\n};\n\nconst setCookie = (cookieName, value, maxAge = null, exdays = null, path = ';path=/;domain=au.dk') => {\n let cookieValue = encodeURI(value);\n if (exdays != null) {\n const exdate = new Date();\n exdate.setDate(exdate.getDate() + exdays);\n cookieValue = `${cookieValue}; expires=${exdate.toUTCString()}`;\n } else if (maxAge != null) {\n cookieValue = `${cookieValue}; max-age=${maxAge}`;\n }\n\n document.cookie = `${cookieName}=${cookieValue}${path}`;\n};\n\nconst getCookie = (cookieName) => {\n let cookieValue = document.cookie;\n let cookieStart = cookieValue.indexOf(` ${cookieName}=`);\n if (cookieStart === -1) {\n cookieStart = cookieValue.indexOf(`${cookieName}=`);\n }\n if (cookieStart === -1) {\n cookieValue = null;\n } else {\n cookieStart = cookieValue.indexOf('=', cookieStart) + 1;\n let cookieEnd = cookieValue.indexOf(';', cookieStart);\n if (cookieEnd === -1) {\n cookieEnd = cookieValue.length;\n }\n cookieValue = decodeURI(cookieValue.substring(cookieStart, cookieEnd));\n }\n return cookieValue;\n};\n\nconst addToSessionStorage = (key, data) => {\n if (window.sessionStorage) {\n sessionStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromSessionStorage = (key) => {\n if (window.sessionStorage) {\n const data = sessionStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst addToLocalStorage = (key, data) => {\n if (window.localStorage) {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n return data;\n};\n\nconst getFromLocalStorage = (key) => {\n if (window.localStorage) {\n const data = localStorage.getItem(key);\n if (data) {\n return JSON.parse(data);\n }\n }\n\n return null;\n};\n\nconst setContextInSession = (key, data, clearPrevious = true) => {\n if (clearPrevious) {\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n window.sessionStorage.removeItem(entryKey);\n }\n });\n }\n window.sessionStorage.setItem(`user-context-${key}`, data);\n};\n\nconst getContextFromSession = (key = '', any = false) => {\n if (any) {\n let foundContext = null;\n Object.entries(window.sessionStorage).forEach((entry) => {\n const entryKey = entry[0];\n if (entryKey.includes('user-context')) {\n foundContext = window.sessionStorage.getItem(entryKey);\n }\n });\n return foundContext;\n }\n\n return window.sessionStorage.getItem(`user-context-${key}`);\n};\n\n// Credits: http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/\nconst setCaretPosition = (element, pos) => {\n // Modern browsers\n if (element && element.setSelectionRange) {\n element.focus();\n element.setSelectionRange(pos, pos);\n }\n};\n\nconst splitPhoneNumber = (countryCodes, phoneNumber) => {\n const countryCodeFound = (code) => countryCodes.filter(\n (x) => x.code === parseInt(code, 10),\n ).length > 0;\n\n const findPrefix = () => {\n const skip = '+';\n let count = 1;\n let prefix = countryCodes.find((x) => x.important).code;\n while (count < phoneNumber.length) {\n const split = phoneNumber.substring(skip.length, skip.length + count);\n if (countryCodeFound(split)) {\n prefix = split;\n }\n count += 1;\n }\n return skip + prefix;\n };\n\n const prefix = findPrefix();\n return {\n prefix,\n number: phoneNumber.replace(prefix, ''),\n };\n};\n\nconst prettyPrintPhone = (countryCodes, phone) => {\n if (phone) {\n const { prefix, number } = splitPhoneNumber(countryCodes, phone);\n return `${prefix} ${number.match(/\\d{1,2}/g).join(' ')}`;\n }\n return '';\n};\n\nconst getAccessToken = (auAuth, serviceScope, callback) => {\n auAuth.getAccessToken([serviceScope]).then((accessToken) => {\n callback(accessToken.accessToken);\n });\n};\n\nconst parseError = (errorArray) => errorArray.map((e) => e.errorMessage).join(', ');\n\nconst scrollTo = (x = 0, y = 0) => window.scrollTo(x, y);\n\nexport {\n sortAlphaObj,\n isElementInViewport,\n isElementPartlyInViewport,\n setCookie,\n getCookie,\n addToLocalStorage,\n getFromLocalStorage,\n addToSessionStorage,\n getFromSessionStorage,\n setCaretPosition,\n getAccessToken,\n serviceScopeProfile,\n splitPhoneNumber,\n prettyPrintPhone,\n parseError,\n scrollTo,\n setContextInSession,\n getContextFromSession,\n};\n","/* eslint-disable import/prefer-default-export */\n/* eslint-env browser */\n// AuAuth\n//\n// Common module to handle auth/login/logout of AzureAD in AU.\n//\n\nimport { getContextFromSession } from './helpers';\n\nclass AuAuth {\n config;\n\n // eslint-disable-next-line max-len\n constructor(clientId, authority, redirectUri, userContextUri, userContextServiceScope, popupErrorPage) {\n this.config = {\n auth: {\n clientId, // Generic Au client id\n authority,\n redirectUri,\n navigateToLoginRequestUrl: true,\n postLogoutRedirectUri: window.location.href,\n },\n };\n\n this.userContextUri = userContextUri;\n this.userContextServiceScope = userContextServiceScope;\n this.popupErrorPage = popupErrorPage;\n\n this.msal = new Msal.UserAgentApplication(this.config);\n\n // Callback used when a token is obtained from the query string\n const authCallback = (err) => {\n if (err && err.errorMessage) {\n console.log(`Token error during login: ${err.errorMessage}`);\n }\n };\n\n this.msal.handleRedirectCallback(authCallback);\n this.fetching = false;\n this.userContext = null;\n this.fetchEvents = [];\n }\n\n login() {\n this.msal.loginRedirect({\n authority: this.config.auth.authority,\n state: window.location.href,\n });\n }\n\n logout() {\n this.msal.logout();\n }\n\n setUserContext(\n auId = 0,\n key,\n clearCache,\n callback,\n error = () => { },\n setImpersonationSession = true,\n loggedIn = false,\n enrichContext = async (json) => json,\n ) {\n const contextFromSession = getContextFromSession(auId);\n if (contextFromSession && !clearCache) {\n this.userContext = JSON.parse(contextFromSession);\n }\n if (this.userContext != null && typeof callback === 'function' && !clearCache) {\n callback(this.userContext);\n console.log(`Using existing context for key ${key}`);\n } else {\n this.fetchEvents.push({\n key,\n callback,\n error,\n });\n console.log(`Callback for key ${key} added to queue`);\n if (!this.fetching) {\n this.fetching = true;\n\n if (auId === 0) {\n // eslint-disable-next-line no-param-reassign\n [auId] = this.getUser().auid.match(/(\\d+)/g);\n }\n let url = this.userContextUri;\n if (auId > 0) {\n url = `${url}?auid=${auId}`;\n }\n if (clearCache) {\n url = `${url}&clearCache=true`;\n }\n\n const handleContext = async (response, json) => {\n if (response.ok) {\n this.userContext = await enrichContext(json);\n if (this.userContext.isStudentImpersonator && setImpersonationSession) {\n window.sessionStorage.setItem('student-impersonation', true);\n }\n // setContextInSession(auId, JSON.stringify(json)); Den fjerner vi altså lige...\n }\n\n this.fetchEvents.forEach((e) => {\n if (response.ok) {\n if (typeof e.callback === 'function') {\n e.callback(this.userContext);\n console.log(`Callback for key ${e.key} has been invoked`);\n }\n } else {\n e.error(response.status, json);\n console.log('Context fetch errored and error callback with response has been invoked');\n }\n });\n\n this.fetching = false;\n };\n\n if (loggedIn) {\n const fetchContext = async () => {\n const response = await fetch(url, {\n credentials: 'include',\n });\n if (response.status !== 401) {\n const json = await response.json();\n handleContext(response, json);\n } else {\n handleContext(response, {\n title: `${response.status}: Context not allowed for the specific user`,\n });\n }\n };\n\n fetchContext();\n } else {\n this.getAccessToken([this.userContextServiceScope]).then(async ({ accessToken }) => {\n const response = await fetch(url, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n const json = await response.json();\n handleContext(response, json);\n });\n }\n }\n }\n }\n\n getUser() {\n const msalUser = this.msal.getAccount();\n if (msalUser == null) {\n return null;\n }\n return {\n name: msalUser.name,\n userId: msalUser.accountIdentifier,\n auid: msalUser.userName,\n };\n }\n\n getIdToken() {\n return this.msal.acquireTokenSilent({\n scopes: [this.config.auth.clientId],\n authority: this.config.auth.authority,\n });\n }\n\n getAccessToken(scopes) {\n const req = {\n scopes,\n authority: this.config.auth.authority,\n state: window.location.href,\n };\n\n const popupFallback = () => {\n // Need to explicitly implement caching, because Msal has chosen to\n // only implement caching when using silent token retrieval.\n\n // Key similar to how Msal does it internally, except first prop, to avoid collisions.\n const key = JSON.stringify({\n thisIsCachedSafariAccessToken: true,\n authority: req.authority,\n clientId: this.config.auth.clientId,\n scopes: req.scopes,\n homeAccountIdentifier: this.msal.getAccount().homeAccountIdentifier,\n });\n const token = sessionStorage.getItem(key);\n if (token !== null && token !== undefined) {\n const parsed = JSON.parse(token);\n if (parsed.expiresOn && (new Date(parsed.expiresOn) > new Date()) && parsed.accessToken) {\n return new Promise((resolve) => resolve(parsed));\n }\n }\n\n return this.msal.acquireTokenPopup(req)\n .then((accessToken) => {\n sessionStorage.setItem(key, JSON.stringify(accessToken));\n })\n .catch(() => {\n if (this.popupErrorPage) {\n window.location.href = this.popupErrorPage;\n } else {\n window.alert('This site needs to show popups, but your browser blocks popups from this site.\\nYou need to allow popups from this site, then reload the page.');\n }\n });\n };\n\n // Safari desktop fallback to popups because of eradic Safari bugs using silent/iframe.\n if (typeof window.safari !== 'undefined') {\n return popupFallback();\n }\n\n return this.msal.acquireTokenSilent(req)\n .catch(() => popupFallback());\n }\n}\n\n// Export as singleton instance\nwindow.auAuth = new AuAuth(\n window.auAuthClientId,\n window.auAuthAuthority,\n window.auAuthRedirectUri,\n window.userContextApiUri,\n window.userContextServiceScope,\n window.popupErrorPage,\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(255);\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"sourceRoot":""}
@@ -1,5 +0,0 @@
1
- /*
2
- object-assign
3
- (c) Sindre Sorhus
4
- @license MIT
5
- */
package/build/umd/news.js DELETED
@@ -1,2 +0,0 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("react"),require("react-dom"));else if("function"==typeof define&&define.amd)define(["react","react-dom"],t);else{var n="object"==typeof exports?t(require("react"),require("react-dom")):t(e.React,e.ReactDOM);for(var a in n)("object"==typeof exports?exports:e)[a]=n[a]}}(self,(function(e,t){return(()=>{var n={634:(e,t,n)=>{"use strict";n.r(t),n.d(t,{AUNewsConfig:()=>ie,AUNewsHelpers:()=>le});var a=n(383),s=n.n(a),r=n(949),i=n.n(r),l=n(697),o=n.n(l);const m=e=>{const{subheader:t,trim:n}=e;return t.length>n?s().createElement("p",{dangerouslySetInnerHTML:{__html:`${t.substring(0,e.trim).trim()}&hellip;`}}):s().createElement("p",{dangerouslySetInnerHTML:{__html:t}})};m.propTypes={subheader:o().string.isRequired,trim:o().number.isRequired},m.displayName="NewsSubHeaderComponent";const d=m,u={da:{news:{listLoadMore:"Indlæs flere",eventDate:"Dato",eventTime:"Tid",eventWhere:"Sted",eventRegistration:"Tilmelding",weekdays:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],weekdaysShort:["søn","man","tir","ons","tor","fre","lør"],months:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],readMore:"Læs mere",rssAdd:"Klik på RSS-ikonet for at abonnere på listen i din RSS-læser.",rssCopy:"Kopier linket til RSS-feedet fra tekstfeltet herunder."},share:{facebook:"Del på Facebook",twitter:"Del på Twitter",linkedin:"Del på LinkedIn",mail:"Send til en ven",mailLabelLong:"Send via e-mailklienten på din computer",mailLabelShort:"E-mail",gmailLabelLong:"Send via Gmail",gmailLabelShort:"Gmail",yahooLabelLong:"Send via Yahoo Mail",yahooLabelShort:"Yahoo Mail",outlookLabelLong:"Send via outlook.com",outlookLabelShort:"Outlook.com"}},en:{news:{listLoadMore:"Load more",eventDate:"Date",eventTime:"Time",eventWhere:"Location",eventRegistration:"Registration",weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],readMore:"Read more",rssAdd:"Click the RSS icon to subscribe to the list in your RSS reader.",rssCopy:"Copy the link to the RSS feed from the textfield below."},share:{facebook:"Facebook share",twitter:"Twitter share",linkedin:"LinkedIn share",mail:"Send to a friend",mailLabelLong:"Send via the email client on your computer",mailLabelShort:"E-mail",gmailLabelLong:"Send via Gmail",gmailLabelShort:"Gmail",yahooLabelLong:"Send via Yahoo Mail",yahooLabelShort:"Yahoo Mail",outlookLabelLong:"Send via outlook.com",outlookLabelShort:"Outlook.com"}}},c=e=>{const{item:t,listid:n,setPopupItem:a,lang:r}=e;if(!t)return s().createElement("div",null);const i=le.setExternal(t),l=`news-${n}-${i.id}`,{fromDate:o,toDate:m,fromDateSplit:c,toDateSplit:p}=le.getEventDates(i,r),h=o.getTime()!==m.getTime(),g="1"===i.showyear,w="au_news_eventlist1-calendar "+(h?"multiple":"single");return s().createElement("div",{id:l,className:"au_news-eventlist1-item"},s().createElement("div",{className:w},s().createElement("span",{className:"au_news_events_weekday"},u[r].news.weekdaysShort[o.getDay()]),s().createElement("span",{className:"au_news_events_date"},c["da"===r?0:2]),s().createElement("span",{className:"au_news_events_month"},u[r].news.monthsShort[o.getMonth()]+(g?` ${`${o.getFullYear()}`.substring(2)}`:"")),s().createElement("span",{className:"au_news_events_weekday_end multiple"},u[r].news.weekdaysShort[m.getDay()]),s().createElement("span",{className:"au_news_events_date_end multiple"},p["da"===r?0:2]),s().createElement("span",{className:"au_news_events_month_end multiple"},u[r].news.monthsShort[m.getMonth()]+(g?` ${`${m.getFullYear()}`.substring(2)}`:""))),s().createElement("div",{className:"au_news_eventlist1-text"},s().createElement("p",null,s().createElement("span",{className:"au_news_events_time"},`${h?`${i.event_from.date} `:""} ${i.event_from.time} ${h?`${i.event_to.date} `:""} ${i.event_to.time}`)," | ",s().createElement("span",{className:"au_news_events_place"},i.event_where),s().createElement("br",null),s().createElement("a",{onClick:()=>{i.external||a(e.item)},href:i.url,title:i.header,dangerouslySetInnerHTML:{__html:i.header}})),s().createElement(d,{subheader:i.subheader,trim:350})),s().createElement("div",{className:"au_news_clear"}))};c.propTypes={lang:o().string.isRequired,item:o().shape({id:o().number.isRequired,url:o().string.isRequired,header:o().string.isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},c.displayName="EventLayout1Component";const p=c,h=e=>{const{item:t,listid:n,setPopupItem:a,lang:r}=e;if(!t)return s().createElement("div",null);const i=le.setExternal(t),l=`news-${n}-${i.id}`,{fromDate:o,toDate:m,fromDateSplit:c}=le.getEventDates(i,r),p=o.getTime()!==m.getTime(),h="1"===i.showyear,g="au_news-eventlist2-item "+(i.featured?"au_event-featured":""),w="au_news_eventlist2-calendar "+(p?"multiple":"single")+(h?" show-year":""),E=""===i.image.list?{}:{backgroundImage:`url('${i.image.list}')`,backgroundPosition:"top center",backgroundRepeat:"no-repeat"};return s().createElement("div",{id:l,className:g},s().createElement("div",{className:"au_padding"},s().createElement("div",{className:w,style:E},s().createElement("span",{className:"au_news_events_weekday"},u[r].news.weekdaysShort[o.getDay()]),s().createElement("span",{className:"au_news_events_date"},c["da"===r?0:2]),s().createElement("span",{className:"au_news_events_month"},u[r].news.monthsShort[o.getMonth()]+(h?` ${`${o.getFullYear()}`.substring(2)}`:""))),s().createElement("div",{className:"au_news_eventlist2-text"},s().createElement("h2",null,s().createElement("a",{onClick:()=>{i.external||a(e.item)},href:i.url,title:i.header,dangerouslySetInnerHTML:{__html:i.header}})),s().createElement("div",null,s().createElement("span",{className:"au_news_events_time"},`${p?`${i.event_from.date} `:""} ${i.event_from.time} ${p?`${i.event_to.date} `:""} ${i.event_to.time}`)," | ",s().createElement("span",{className:"au_news_events_place"},i.event_where),s().createElement("br",null),s().createElement(d,{subheader:i.subheader,trim:350}))),s().createElement("div",{className:"au_news_clear"})))};h.propTypes={lang:o().string.isRequired,item:o().shape({id:o().number.isRequired,url:o().string.isRequired,header:o().string.isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},h.displayName="EventLayout2Component";const g=h,w=e=>{const{items:t,listid:n,setPopupItem:a,lang:r}=e,i=t.map(((e,t)=>{let i=e;const l=t;if(i){i=le.setExternal(i);const{fromDate:e,toDate:t}=le.getEventDates(i,r),o=e.getTime()!==t.getTime(),m=`news-${n}-${i.id}`;return s().createElement("li",{key:l,id:m},s().createElement("a",{onClick:()=>{i.external||a(i)},href:i.url,title:i.header,dangerouslySetInnerHTML:{__html:i.header}})," (",s().createElement("span",{className:"au_news_events_time"},`${i.event_from.date} ${i.event_from.time} - ${o?`${i.event_to.date} `:""} ${i.event_to.time}`),`, ${i.event_where}) `)}return null}));return s().createElement("div",{className:"au_news-header-list"},s().createElement("ul",null,i))};w.propTypes={lang:o().string.isRequired,items:o().arrayOf(o().shape({id:o().number.isRequired,url:o().string.isRequired,header:o().string.isRequired})).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},w.displayName="EventLayout3Component";const E=w,y=e=>{const{categories:t}=e,n=t.slice(0,1).map(((e,t)=>{const n=t;return s().createElement("span",{key:n},(t>0?", ":"")+e.category)}));return s().createElement("span",{className:"au_news-list-news-category"},n)};y.propTypes={categories:o().arrayOf(o().shape({category:o().string.isRequired})).isRequired},y.displayName="NewsCategoriesComponent";const _=y,v=e=>{const{item:t,listid:n,setPopupItem:a}=e;if(!t)return s().createElement("div",null);const r=le.setExternal(t),i=`news-${n}-${r.id}`;return s().createElement("div",{id:i,className:"au_news-list1-item"},r.image?s().createElement("div",{className:"au_news-list-item-img"},s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header},s().createElement("img",{src:r.image.layout1,alt:""}))):null,s().createElement("div",{className:"au_news-list-item-text"},s().createElement("h2",null,s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}})),s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-list-date"},r.date)," | ",s().createElement(_,{categories:r.categories})),s().createElement(d,{subheader:r.subheader,trim:350})))};v.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired,date:o().string.isRequired,categories:o().arrayOf(o().shape({})).isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},v.displayName="NewsLayout1Component";const f=v,b=e=>{const{item:t,listid:n,setPopupItem:a}=e;if(!t)return s().createElement("div",null);const r=le.setExternal(t),i=`news-${n}-${r.id}`;return s().createElement("div",{id:i,className:"au_news-list2-item"},r.image?s().createElement("div",{className:"au_news-list-item-img"},s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header},s().createElement("img",{src:r.image.layout2,alt:""}))):null,s().createElement("div",{className:"au_news-list-item-text"},s().createElement("h2",null,s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}})),s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-list-date"},r.date)," | ",s().createElement(_,{categories:r.categories})),s().createElement(d,{subheader:r.subheader,trim:350})))};b.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired,date:o().string.isRequired,categories:o().arrayOf(o().shape({})).isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},b.displayName="NewsLayout2Component";const q=b,R=e=>{const{item:t,listid:n,setPopupItem:a}=e;if(!t)return s().createElement("div",null);const r=le.setExternal(t),i=`news-${n}-${r.id}`;return s().createElement("div",{id:i,className:"au_news-list3-item"},r.image?s().createElement("div",{className:"au_news-list-item-img"},s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header},s().createElement("img",{src:r.image.layout3,alt:""}))):null,s().createElement("div",{className:"au_news-list-item-text"},s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-list-date"},r.date)," | ",s().createElement(_,{categories:r.categories})),s().createElement("h2",null,s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}})),s().createElement(d,{subheader:r.subheader,trim:350})))};R.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired,date:o().string.isRequired,categories:o().arrayOf(o().shape({})).isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},R.displayName="NewsLayout3Component";const N=R,k=e=>{const{item:t,listid:n,setPopupItem:a}=e;if(!t)return s().createElement("div",null);const r=le.setExternal(t),i=`news-${n}-${r.id}`;return s().createElement("div",{id:i,className:"au_news-list4-item"},r.image?s().createElement("div",{className:"au_news-list-item-img"},s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header},s().createElement("img",{src:r.image.layout4,alt:""}))):null,s().createElement("div",{className:"au_news-list-item-text"},s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-list-date"},r.date)," | ",s().createElement(_,{categories:r.categories})),s().createElement("h2",null,s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}})),s().createElement(d,{subheader:r.subheader,trim:350})))};k.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired,date:o().string.isRequired,categories:o().arrayOf(o().shape({})).isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},k.displayName="NewsLayout4Component";const S=k,I=e=>{const{item:t,listid:n,setPopupItem:a}=e;if(!t)return s().createElement("div",null);const r=le.setExternal(t),i=`news-${n}-${r.id}`;return s().createElement("div",{id:i,className:"au_news-list5-item"},s().createElement("div",{className:"au_news-list-item-text"},s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-list-date"},r.date)," | ",s().createElement(_,{categories:r.categories})),s().createElement("h2",null,s().createElement("a",{onClick:()=>{r.external||a(t)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}})),s().createElement(d,{subheader:r.subheader,trim:350})))};I.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired,date:o().string.isRequired,categories:o().arrayOf(o().shape({})).isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},I.displayName="NewsLayout5Component";const x=I,L=e=>{const{items:t,listid:n,setPopupItem:a}=e,r=t.map(((e,t)=>{let r=e;const i=t;if(r){r=le.setExternal(r);const e=`news-${n}-${r.id}`;return s().createElement("li",{key:i,id:e},s().createElement("a",{onClick:()=>{r.external||a(r)},href:r.url,title:r.header,dangerouslySetInnerHTML:{__html:r.header}}))}return null}));return s().createElement("div",{className:"au_news-header-list"},s().createElement("ul",null,r))};L.propTypes={items:o().arrayOf(o().shape({id:o().number.isRequired,url:o().string.isRequired,header:o().string.isRequired})).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},L.displayName="NewsLayout6Component";const D=L,T=e=>{const{item:t,listid:n,setPopupItem:a,lang:r}=e;if(!t)return s().createElement("div",null);const i=le.setExternal(t),l=`news-${n}-${i.id}`;return s().createElement("div",{id:l,className:"au_focus",style:{backgroundImage:`url('${i.image?i.image.src:""}')`}},s().createElement("div",{className:"au_focus_content"},s().createElement("h1",{dangerouslySetInnerHTML:{__html:i.header}}),s().createElement("p",null,i.subheader),s().createElement("ul",null,s().createElement("li",null,s().createElement("a",{onClick:()=>{i.external||a(e.item)},href:i.url},u[r].news.readMore)))))};T.propTypes={lang:o().string.isRequired,item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},T.displayName="NewsLayout7Component";const C=T,P=e=>{const{item:t,listid:n,setPopupItem:a,lang:r}=e;if(!t)return s().createElement("div",null);const i=le.setExternal(t),l=`news-${n}-${i.id}`;return s().createElement("div",{id:l,className:"au_focus au_focus_small",style:{backgroundImage:`url('${i.image?i.image.layout2:""}')`}},s().createElement("div",{className:"au_focus_content"},s().createElement("div",{dangerouslySetInnerHTML:{__html:i.header}}),s().createElement("ul",null,s().createElement("li",null,s().createElement("a",{onClick:()=>{i.external||a(e.item)},href:i.url},u[r].news.readMore)))))};P.propTypes={lang:o().string.isRequired,item:o().shape({id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,external:o().bool.isRequired}).isRequired,listid:o().number.isRequired,setPopupItem:o().func.isRequired},P.displayName="NewsLayout8Component";const M=P,O=e=>{const t=[s().createElement(f,null),s().createElement(q,null),s().createElement(N,null),s().createElement(S,null),s().createElement(x,null),s().createElement(D,null),s().createElement(C,null),s().createElement(M,null)],n=[s().createElement(p,null),s().createElement(g,null),s().createElement(E,null)],{type:a,cols:r,items:i,setPopupItem:l,incrementPointer:o,listid:m,lang:d}=e;let u=-1;const c="events"===a?3:6,h=r.map(((e,r)=>{const p=r;let h=!1;const g=e.map(((r,p)=>{const g=p;if(u+=1,parseInt(r,10)===c&&!h){h=!0;const t=[];for(let n=p;n<e.length&&parseInt(e[n],10)===c;n+=1)t.push(i[u+n]);return"events"===a?s().createElement(E,{key:g,listid:m,items:t,setPopupItem:l,lang:d}):s().createElement(D,{key:g,listid:m,items:t,setPopupItem:l,lang:d})}if(parseInt(r,10)!==c){o(),h=!1;const e="events"===a?n:t;return s().cloneElement(e[parseInt(r,10)-1],{key:g,item:i[u],listid:m,setPopupItem:l,lang:d})}return null}));return s().createElement("div",{key:p,className:"column large-6 medium-6 small-12"},g)}));return s().createElement("div",{className:"row"},h)};O.propTypes={type:o().string.isRequired,cols:o().arrayOf(o().shape({})).isRequired,items:o().shape({}).isRequired,setPopupItem:o().func.isRequired,incrementPointer:o().func.isRequired,listid:o().number.isRequired,lang:o().bool.isRequired},O.displayName="NewsColumnsComponent";const H=O;class A extends s().Component{constructor(e){super(e),this.state={wide:!1}}render(){const{wide:e}=this.state,{url:t,lang:n}=this.props;return s().createElement("ul",null,s().createElement("li",{className:"rss header-click-btn"+(e?" wide":""),title:u[n].news.rssAdd,onClick:()=>{this.setState((e=>({wide:!e.wide})))}},(()=>e?s().createElement("div",{role:"button",onClick:e=>{e.stopPropagation()}},s().createElement("div",{role:"button",className:"close",onClick:e=>{e.stopPropagation(),this.setState({wide:!1})}}),s().createElement("h2",null,"RSS ",s().createElement("strong",null,"feed")),s().createElement("p",null,u[n].news.rssCopy),s().createElement("input",{type:"text",value:t,readOnly:!0})):null)()))}}A.propTypes={url:o().string.isRequired,lang:o().string.isRequired},A.displayName="NewsRSSComponent";const j=A,{serviceScopeProfile:F}=window,U=e=>{if(null===e)return!1;const t=e.getBoundingClientRect();return t.bottom>0&&t.right>0&&t.left<(window.innerWidth||document.documentElement.clientWidth)&&t.top<(window.innerHeight||document.documentElement.clientHeight)};class B extends s().Component{constructor(e){super(e),this.state={loading:!0,visible:e.visible},this.lazyLoad=this.lazyLoad.bind(this)}componentDidMount(){this.lazyLoad(),window.addEventListener("scroll",(()=>{this.lazyLoad()}))}componentDidUpdate(){this.lazyLoad()}static getDerivedStateFromProps(e,t){return e.visible!==t.visible?{visible:e.visible}:null}lazyLoad(){const{loadingCondition:e,loaded:t,domID:n,onLoad:a}=this.props,{loading:s,visible:r}=this.state,i=document.getElementById(n);!t&&s&&e&&(r||U(i))&&this.setState({loading:!1},(()=>{a()}))}render(){const{columns:e,content:t,loaded:n,domID:a,children:r}=this.props;return n?r||t:s().createElement("div",{id:a,className:`cell column ${e}`},s().createElement("p",{className:"spinner"}))}}B.defaultProps={domID:"au-spinner-component",visible:!1,columns:"large-12 medium-12 small-12",content:null,children:null,onLoad:()=>{}},B.propTypes={domID:o().string,visible:o().bool,columns:o().string,content:o().element,children:o().element,loaded:o().bool.isRequired,loadingCondition:o().bool.isRequired,onLoad:o().func},B.displayName="AUSpinnerComponent";const Y=B;class W extends s().Component{constructor(e){super(e),this.pointer=-1,this.layouts=[s().createElement(f,null),s().createElement(q,null),s().createElement(N,null),s().createElement(S,null),s().createElement(x,null),s().createElement(D,null),s().createElement(C,null),s().createElement(M,null)],this.layoutsEvents=[s().createElement(p,null),s().createElement(g,null),s().createElement(E,null)];const{list:t,elements:n}=e;this.state={loading:!0,more:!t.noPageBrowser,items:[],elements:n},this.handleLoadMore=this.handleLoadMore.bind(this),this.incrementPointer=this.incrementPointer.bind(this)}componentDidMount(){this.setHeader()}getItems(e,t,n){const{list:a,lang:s}=this.props,r=`${ie.server}/index.php?eID=getAuNewsFeed&mode=key&key=${a.feed_key}&index=${e}&amount=${t+(0===a.noPageBrowser?1:0)}&lang=${s}${a.extra_param}&callback=?`;$.ajax({url:r,dataType:"json",jsonpCallback:r.hashCode(),jsonp:!0,cache:!0,success:e=>{n(e,e.length>t&&0===a.noPageBrowser)}})}setHeader(){const{list:e}=this.props;e.header=document.querySelector(`#c${e.id} .csc-header h1`),e.header||(e.header=document.querySelector(`#c${e.id} .csc-header h2`)),e.header&&e.header.parentNode.classList.add("relative")}incrementPointer(){this.pointer+=1}handleLoadMore(e){e.preventDefault(),this.setState({loading:!0});const{elements:t}=this.props;let n=t[t.length-1];if(Array.isArray(n)){const e=n[n.length-1];n=Array.isArray(e)?e[e.length-1]:e}const a=[];for(let e=0;e<10;e+=1)a.push(n);const{items:s,elements:r}=this.state;this.getItems(s.length-1,10,((e,t)=>{this.setState({items:s.slice(0,s.length-1).concat(e),elements:r.concat(a),loading:!1,more:t})}))}render(){this.pointer=-1;const{list:e,elements:t,lang:n,setItem:a}=this.props,{items:r,elements:l,loading:o,more:m}=this.state;let d=!1;const c="events"===e.feed_type?3:6,p=l.map(((i,l)=>{const o=l;if(Array.isArray(i)){let t=0;for(let e=0;e<i.length;e+=1)for(let n=0;n<i[e].length;n+=1)this.incrementPointer(),t+=1;return s().createElement(H,{key:o,type:e.feed_type,listid:e.id,cols:i,items:r.slice(l,l+t),setPopupItem:a,incrementPointer:this.incrementPointer,lang:n})}const m=parseInt(i,10);if(m===c&&!d){d=!0;const i=[];for(let e=l;e<r.length&&(parseInt(t[e],10)===c||!Number.isNaN(t[e])&&r.length-t.length>2);e+=1)this.incrementPointer(),i.push(r[this.pointer]);return"events"===e.feed_type?s().createElement(E,{key:o,listid:e.id,items:i,setPopupItem:a,lang:n}):s().createElement(D,{key:o,listid:e.id,items:i,setPopupItem:a,lang:n})}if(m!==c){this.incrementPointer(),d=!1;const t="events"===e.feed_type?this.layoutsEvents:this.layouts;return s().cloneElement(t[m-1],{key:o,item:r[this.pointer],listid:e.id,setPopupItem:a,lang:n})}return null}));let h=null;const g=document.querySelector(`#c${e.id} .csc-header`);return g&&ie.useSyndication&&"events"!==e.feed_type&&(h=i().createPortal(s().createElement(j,{url:`http:${ie.server}/index.php?eID=getAuNewsFeed&mode=xml&key=${e.feed_key}&lang=${n}`,lang:n}),g,"2")),[s().createElement("div",{key:0},p,(()=>m?s().createElement("button",{type:"button",onClick:this.handleLoadMore,className:"button small"},u[n].news.listLoadMore):null)()),s().createElement(Y,{key:1,domID:`news-spinner-${e.id}`,loaded:!o,loadingCondition:o,onLoad:()=>{this.getItems(0,e.amount,((e,t)=>{this.setState({items:e,loading:!1,more:t})}))},content:s().createElement("div",null)}),h]}}W.propTypes={lang:o().string.isRequired,list:o().shape({feed_key:o().string.isRequired,noPageBrowser:o().bool.isRequired,id:o().number.isRequired,amount:o().number.isRequired,extra_param:o().string.isRequired,header:o().instanceOf(Element).isRequired,feed_type:o().string.isRequired}).isRequired,elements:o().arrayOf(o().number).isRequired,setItem:o().func.isRequired},W.displayName="NewsListComponent";const z=W;class J extends s().Component{constructor(e){super(e);const{item:t}=e;this.state={item:t,lang:-1,altLangLink:""}}componentDidMount(){const{getItem:e,lang:t}=this.props,{item:n}=this.state,a="da"===t?1:0;let s=document.querySelector(".language-selector a");if(s||(s=document.querySelector(".languageselector a")),s){const t=s.getAttribute("href");t&&e(n.id,a,(e=>{let s=!1;const r=e.permalink;0===a&&-1===r.indexOf("/en/")&&(s=!0),1===a&&r.indexOf("/en/")>-1&&(s=!0),s&&this.setState({altLangLink:`${t}#news-${n.id}`,lang:a})}))}}render(){const{lang:e,altLangLink:t}=this.state;return-1===e?s().createElement("span",null):s().createElement("span",{className:"au_news-single-language"},s().createElement("a",{href:t},1===e?"English":"Danish"))}}J.propTypes={lang:o().string.isRequired,item:o().shape({}).isRequired,getItem:o().func.isRequired},J.displayName="NewsLanguageChangeComponent";const G=J;class K extends s().Component{constructor(e){super(e),this.state={mailOpen:!1}}render(){const{item:e,lang:t}=this.props,{mailOpen:n}=this.state;return s().createElement("div",{className:"au_news_socialbar",id:`au_news_socialbar-${e.id}`},s().createElement("ul",{className:"resetlist au_social_sharing horizontal icons services-4"},s().createElement("li",{className:"facebook"},s().createElement("a",{href:e.permalink,onClick:t=>{t.preventDefault(),window.open(`https://www.facebook.com/sharer/sharer.php?u=${e.permalink}`,"","width=600,height=450")}},u[t].share.facebook)),s().createElement("li",{className:"twitter"},s().createElement("a",{href:e.permalink,onClick:t=>{t.preventDefault();const n=encodeURI(e.permalink),a=encodeURI(e.header);window.open(`https://twitter.com/intent/tweet?text=${a}&url=${n}`,"","width=550,height=450")}},u[t].share.twitter)),s().createElement("li",{className:"linkedin"},s().createElement("a",{href:e.permalink,onClick:t=>{t.preventDefault();const n=encodeURI(e.permalink);window.open(`https://www.linkedin.com/shareArticle?mini=true&url=${n}`,"","width=850,height=550")}},u[t].share.linkedin)),s().createElement("li",{className:"email"},s().createElement("a",{href:e.permalink,"data-title":e.header,"data-url":e.permalink,className:n?"active":null,onClick:e=>{e.preventDefault(),this.setState((e=>({mailOpen:!e.mailOpen})))}},u[t].share.mail),s().createElement("ul",{className:"resetlist",style:{display:n?"block":"none"}},s().createElement("li",{className:"outlook"},s().createElement("a",{title:u[t].share.mailLabelLong,href:`mailto:?subject=${e.header}&body=${e.permalink}`},u[t].share.mailLabelShort)),s().createElement("li",{className:"gmail"},s().createElement("a",{title:u[t].share.gmailLabelLong,target:"_blank",rel:"noopener noreferrer",href:`http://www.addtoany.com/add_to/google_gmail?linkurl=${e.permalink}`},u[t].share.gmailLabelShort)),s().createElement("li",{className:"yahoo"},s().createElement("a",{title:u[t].share.yahooLabelLong,target:"_blank",rel:"noopener noreferrer",href:`http://www.addtoany.com/add_to/yahoo_mail?linkurl=${e.permalink}`},u[t].share.yahooLabelShort)),s().createElement("li",{className:"outlookcom"},s().createElement("a",{title:u[t].share.outlookLabelLong,target:"_blank",rel:"noopener noreferrer",href:`http://www.addtoany.com/add_to/outlook_com?linkurl=${e.permalink}`},u[t].share.outlookLabelShort))))))}}K.propTypes={item:o().shape({id:o().number.isRequired,header:o().string.isRequired,permalink:o().string.isRequired}).isRequired,lang:o().string.isRequired},K.displayName="NewsSocialComponent";const Q=K,V=()=>{const e=document.getElementById("fade");e&&(e.style.display="block",e.style.opacity=.7,e.style.zIndex=101)};class X extends s().Component{static getItem(e,t,n){const a=`${ie.server}/index.php?eID=getAuNewsFeed&mode=id&key=${e}&lang=${t}&callback=?`;$.ajax({url:a,dataType:"json",jsonpCallback:a.hashCode(),jsonp:!0,cache:!0,success:e=>{e&&1===e.length&&"function"==typeof n&&"1"!==e[0].hidden&&n(e[0])}})}static calculateHeight(){if(document.querySelector(".au_news_popup")&&!AU.helpers.isMobileDevice()){const e=document.querySelector(".au_news_popup"),t=Math.max(document.documentElement.clientHeight,window.innerHeight||0),n=getComputedStyle(e).top.replace("px",""),a=getComputedStyle(e).bottom.replace("px","");e.querySelector(".au_news_popup_inner").style.height=t-n-a+"px"}}constructor(e){super(e);const{item:t}=e;this.state={item:t},this.posBeforeShow=0}componentDidMount(){const{item:e,id:t,lang:n,print:a}=this.props,{item:s}=this.state;null==e&&X.getItem(t,n,(e=>{const t=`/virtual/news/${le.typeIdToText(e.type)}/open-single/id-${e.id}/${e.permalink}`;AU.tracking.trackSingle(t),this.setState({item:e},(()=>{a&&window.print()}))})),V(),document.querySelector(".au_news_popup_inner").focus(),X.calculateHeight(),null!=s&&X.setLightBox(),this.posBeforeShow=0===document.documentElement.scrollTop?document.body.scrollTop:document.documentElement.scrollTop,document.querySelector("body").classList.add("news-overlay-open"),AU.resize.push((()=>{X.calculateHeight()}))}componentDidUpdate(){const{item:e}=this.state;null!=e&&(X.setLightBox(),V())}componentWillUnmount(){const e=document.getElementById("fade");e&&(e.style.display="none",document.querySelector("body").style.overflowY="visible",document.documentElement.scrollTop=this.posBeforeShow,document.body.scrollTop=this.posBeforeShow)}setDisqus(){const{item:e}=this.state;window.disqus_url=e.permalink,""!==window.disqus_url&&!e.comments_closed&&e.id>0&&(window.disqus_loaded?window.DISQUS.reset({reload:!0}):$.getScript("//disqus.com/forums/rapexegesis/embed.js",(()=>{window.disqus_loaded=!0})))}static setLightBox(){$('.au_news_popup a[rel="lightbox"]').magnificPopup({type:"image",gallery:{enabled:!0},modal:!1})}render(){const{item:e}=this.state,{lang:t}=this.props;let n="au_news_popup social";if(le.isiPad()&&(n+=" ipad"),!e)return s().createElement("div",{className:n},s().createElement("div",{className:"au_news_popup_inner",tabIndex:"0"}));const a=e.links.length>0||e.related.length>0||e.files.length>0,r=window.location.href.replace(window.location.hash,`?newsprint=true${window.location.hash}`);return s().createElement("div",{className:"au_news_popup social"},s().createElement("div",{className:"au_news_popup_inner",tabIndex:"0"},s().createElement("div",{className:"au_news_overlay"},s().createElement("span",{className:"au_news-single-print"},s().createElement("a",{href:r,onClick:e=>{e.preventDefault(),window.open(r,"","width=1025,height=600")}},"Print")),s().createElement(G,{getItem:X.getItem,item:e,lang:t})),s().createElement("div",{className:"au_news_overlay_wrapper"},s().createElement("h1",{className:"au_news_overlay_header",dangerouslySetInnerHTML:{__html:e.header}}),s().createElement("div",{className:"header_bg"}),s().createElement("div",{className:"au_news-single-item au_news-single2-item"},s().createElement("p",{className:"au_news-single-subheader",dangerouslySetInnerHTML:{__html:e.subheader}}),null==e.event_from?s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-single-date"},e.date),s().createElement("span",null,s().createElement("span",{className:"au_news-date-author-separator"}," | "),s().createElement("span",{className:"aunews-single-author"},s().createElement("a",{href:`mailto:${e.author.email}`},e.author.name)))):null,""!==e.image.src&&"Standard"===e.layout?s().createElement("div",{className:"news-set1-img1all"},s().createElement("a",{href:e.image.href,title:e.image.title,rel:"lightbox"},s().createElement("img",{src:e.image.src,alt:e.image.title,width:e.image.width,height:e.image.height})),s().createElement("p",{className:"au_news-single2-imgcaption"},e.image.title)):null,(()=>{if(e.event_from){const n=e.event_from.date.split("."),a=e.event_to.date.split(".");let r,i;"en"===t?(r=new Date(parseInt(n[0],10),parseInt(n[1],10)-1,parseInt(n[2],10)),i=new Date(parseInt(a[0],10),parseInt(a[1],10)-1,parseInt(a[2],10))):(r=new Date(parseInt(n[2],10),parseInt(n[1],10)-1,parseInt(n[0],10)),i=new Date(parseInt(a[2],10),parseInt(a[1],10)-1,parseInt(a[0],10)));const l=!(i.getFullYear()===r.getFullYear()&&i.getMonth()===r.getMonth()&&i.getDate()===r.getDate());return s().createElement("div",null,s().createElement("table",{className:"au_newsevent-event"},s().createElement("colgroup",null,s().createElement("col",{className:"first-col"}),s().createElement("col",{className:"second-col"})),s().createElement("tbody",null,s().createElement("tr",{className:"au_newsevent_date_wrap"},s().createElement("td",{className:"au_newsevent-date-text"},u[t].news.eventDate),s().createElement("td",null,s().createElement("span",{className:"au_newsevent-from-date"},s().createElement("span",{className:"au_news_events_weekday"},`${u[t].news.weekdays[r.getDay()]} `),s().createElement("span",{className:"au_news_events_date"},r.getDate()+("da"===t?".":"")+" "),s().createElement("span",{className:"au_news_events_month"},`${u[t].news.months[r.getMonth()]} ${r.getFullYear()}`)),l?s().createElement("span",null,s().createElement("span",{className:"au_newsevent-to-text"}," — "),s().createElement("span",{className:"au_newsevent-to-date"},s().createElement("span",{className:"au_news_events_weekday"},`${u[t].news.weekdays[i.getDay()]} `),s().createElement("span",{className:"au_news_events_date"},i.getDate()+("da"===t?".":"")+" "),s().createElement("span",{className:"au_news_events_month"},`${u[t].news.months[i.getMonth()]} ${i.getFullYear()}`))):null)),s().createElement("tr",{className:"au_newsevent-row-even"},s().createElement("td",{className:"au_newsevent-time-text"},u[t].news.eventTime),s().createElement("td",null,s().createElement("span",{className:"au_newsevent-from-time"},e.event_from.time),l?null:s().createElement("span",null,s().createElement("span",{className:"au_newsevent-to-text"}," — "),s().createElement("span",{className:"au_newsevent-to-time"},e.event_to.time)))),s().createElement("tr",{className:"au_newsevent_where_wrap"},s().createElement("td",{className:"au_newsevent-where-text"},u[t].news.eventWhere),s().createElement("td",{className:"au_newsevent-where"},e.event_where)))),(()=>{if(""!==e.event_regurl){if("da"===t&&e.event_regfrom&&e.event_regto){const t=e.event_regfrom.date.split(".");e.event_regfrom.date=`${t[2]}.${t[1]}.${t[0]}`;const n=e.event_regto.date.split(".");e.event_regto.date=`${n[2]}.${n[1]}.${n[0]}`}if(!e.event_regfrom||!e.event_regto||new Date>new Date(e.event_regfrom.date.replace(/\./g,"-"))&&new Date<new Date(e.event_regto.date.replace(/\./g,"-")))return s().createElement("span",{className:"au_newsevent_register"},s().createElement("a",{className:"button",href:(e.event_regurl.indexOf("@")>-1?"mailto:":"")+e.event_regurl},u[t].news.eventRegistration))}return null})())}return null})(),(()=>{const t=e.subimages.map((e=>s().createElement("div",{key:e.href},s().createElement("a",{href:e.href,title:e.title,rel:"lightbox"},s().createElement("img",{src:e.src,alt:e.title,width:e.width,height:e.height})),s().createElement("p",{className:"au_news-single-imgcaption"},e.title))));return""!==e.image.src&&""!==e.image.layout5&&"Alternativ 1"===e.layout?s().createElement("div",{className:"au_news-single-sub-images"},s().createElement("div",null,s().createElement("a",{href:e.image.href,title:e.image.title,rel:"lightbox"},s().createElement("img",{src:e.image.layout5,alt:e.image.title})),s().createElement("p",{className:"au_news-single-imgcaption"},e.image.title)),t):e.subimages.length>0&&""!==e.image.src&&"Standard"===e.layout?s().createElement("div",{className:"au_news-single-sub-images"},t):null})(),s().createElement("div",{className:"au_news_content",dangerouslySetInnerHTML:{__html:e.content}}),e.event_from?s().createElement("p",{className:"au_news-legend"},s().createElement("span",{className:"au_news-single-date"},e.date),s().createElement("span",null,s().createElement("span",{className:"au_news-date-author-separator"}," | "),s().createElement("span",{className:"aunews-single-author"},s().createElement("a",{href:`mailto:${e.author.email}`},e.author.name)))):null,s().createElement("div",{className:"au_news-single-news-category"},s().createElement("strong",null,null)),s().createElement("div",{className:"au_news-single-news-permalink"},s().createElement("strong",null,s().createElement("a",{href:e.permalink},e.permalink))),(()=>{if(a){const n=e.links.map((e=>s().createElement("a",{href:e.href},e.text))),a=e.related.map((e=>s().createElement("span",null,s().createElement("a",{className:"au_news-related-link",href:`${ie.newsUrl}${e.id}`},e.text),` ${e.date}`))),r=e.files.map((e=>s().createElement("a",{href:e.href},e.text)));return s().createElement("div",{className:"au_bt_dark au_bb_dark au_news-single-additional-info"},e.links.length>0?s().createElement("dl",{className:"au_news-single-links"},s().createElement("dt",null,"Links"),s().createElement("dd",null,n)):null,e.related.length>0?s().createElement("dl",{className:"au_news-single-related"},s().createElement("dt",null,"da"===t?"Læs også":"Read more"),s().createElement("dd",null,a)):null,e.files.length>0?s().createElement("dl",{className:"au_news-single-files"},s().createElement("dt",null,"Download"),s().createElement("dd",null,r)):null)}return null})()),e.comments_closed?null:s().createElement("div",{id:"disqus_thread"})),s().createElement(Q,{item:e,lang:t})),s().createElement("button",{type:"button",className:"au_news_overlay_close",onClick:()=>{window.location.hash=""}}))}}X.propTypes={lang:o().string.isRequired,print:o().bool.isRequired,item:o().shape({type:o().number.isRequired,id:o().number.isRequired,header:o().string.isRequired,subheader:o().string.isRequired,url:o().string.isRequired,permalink:o().string.isRequired,comments_closed:o().bool.isRequired,links:o().arrayOf(o().shape({href:o().string.isRequired,text:o().string.isRequired})).isRequired,categories:o().arrayOf(o().shape({category:o().string.isRequired})).isRequired,files:o().arrayOf(o().shape({href:o().string.isRequired,text:o().string.isRequired})).isRequired,related:o().arrayOf(o().shape({id:o().number.isRequired,text:o().string.isRequired})).isRequired,event_from:o().shape({date:o().string,time:o().string}),event_to:o().shape({date:o().string,time:o().string}),event_where:o().string.isRequired,event_regfrom:o().shape({date:o().string,time:o().string}),event_regto:o().shape({date:o().string,time:o().string}),event_regurl:o().string.isRequired,date:o().string.isRequired,autor:o().shape({email:o().string.isRequired,name:o().string.isRequired}).isRequired,image:o().shape({src:o().string.isRequired,href:o().string.isRequired,title:o().string.isRequired,width:o().string.isRequired,height:o().string.isRequired,layout5:o().string.isRequired}),subimages:o().arrayOf(o().shape({href:o().string.isRequired,title:o().string.isRequired,width:o().string.isRequired,height:o().string.isRequired})),layout:o().string.isRequired,content:o().string.isRequired}).isRequired,id:o().number.isRequired},X.displayName="NewsPopUpComponent";const Z=X,ee=e=>{const{lang:t,item:n,title:a,type:r}=e,i="aubanner hastext aubanner-2 "+("events"===r?"bg-dark-magenta":"bg-dark-staff"),l="event"===le.typeIdToText(n.type);let o=!1,m=n.date;if(l){const{fromDate:e,toDate:a}=le.getEventDates(n,t);o=e.getTime()!==a.getTime(),m=`${n.event_from.date} ${n.event_from.time} - ${o?`${n.event_to.date} `:""}${n.event_to.time}`}return s().createElement("div",{className:i},s().createElement("a",{href:n.url,className:"au_noborder"},""!==n.image.href?s().createElement("img",{src:n.image.href,alt:""}):null,s().createElement("div",{className:"aubanner-content"},s().createElement("h3",null,a),s().createElement("h2",{dangerouslySetInnerHTML:{__html:n.header}}),s().createElement("p",{dangerouslySetInnerHTML:{__html:n.subheader}}),s().createElement("p",null,s().createElement("span",null,m),s().createElement("span",null,n.event_where)))))};ee.propTypes={lang:o().string.isRequired,item:o().shape({image:o().shape({href:o().string.isRequired}).isRequired,header:o().string.isRequired,event_from:o().shape({date:o().string.isRequired,time:o().string.isRequired}).isRequired,event_to:o().shape({date:o().string.isRequired,time:o().string.isRequired}).isRequired,event_where:o().string.isRequired,url:o().string.isRequired,type:o().string.isRequired,date:o().string.isRequired,subheader:o().string.isRequired}).isRequired,title:o().string.isRequired,type:o().string.isRequired},ee.displayName="NewsCollageBannerComponent";const te=ee,ne=e=>`${e<10?"0":""}${e}`,ae=(e,t,n=!1)=>"da"===t?n?`${ne(e.getDate())}.${ne(e.getMonth()+1)}.${e.getFullYear()} ${ne(e.getHours())}:${ne(e.getMinutes())}`:`${ne(e.getDate())}.${ne(e.getMonth()+1)}.${e.getFullYear()}`:n?`${ne(e.getMonth()+1)}.${ne(e.getDate())}.${e.getFullYear()} ${ne(e.getHours())}:${ne(e.getMinutes())}`:`${ne(e.getMonth()+1)}.${ne(e.getDate())}.${e.getFullYear()}`,se=e=>{const{lang:t,item:n,title:a,type:r}=e,i="aubanner hastext aubanner-2 "+("events"===r?"bg-dark-magenta":"bg-dark-staff"),l=1===n.Type,o=new Date(n.Published);let m=ae(o,t);if(l){const e=new Date(n.EventFrom),a=new Date(n.EventTo),s=e!==a;m=`${ae(e,t,!0)}${s?` – ${ae(a,t,!0)}`:""}`}return s().createElement("div",{className:i},s().createElement("a",{href:n.Uri,className:"au_noborder"},!!n.Image&&s().createElement("img",{src:n.Image,alt:n.Header}),s().createElement("div",{className:"aubanner-content"},s().createElement("h3",null,a),s().createElement("h2",{dangerouslySetInnerHTML:{__html:n.Header}}),s().createElement("p",{dangerouslySetInnerHTML:{__html:n.SubHeader}}),s().createElement("p",null,s().createElement("span",null,m),s().createElement("span",null,n.EventWhere)))))};se.propTypes={lang:o().string.isRequired,item:o().shape({Published:o().instanceOf(Date).isRequired,Type:o().number.isRequired,Image:o().string.isRequired,Header:o().string.isRequired,SubHeader:o().string.isRequired,Uri:o().string.isRequired,EventWhere:o().string.isRequired,EventFrom:o().instanceOf(Date).isRequired,EventTo:o().instanceOf(Date).isRequired}).isRequired,title:o().string.isRequired,type:o().string.isRequired},se.displayName="NewsCollageBannerComponent";const re=se,ie={server:window.newsServer||"//news.au.dk",newsUrl:`${window.location.href.replace(window.location.hash,"").replace("#","")}#news-`,useOverlay:!(void 0!==window.useOverlay&&!window.useOverlay),useSyndication:!(void 0!==window.useSyndication&&!window.useSyndication),tagStrip:new RegExp(/<(?!\/?sub|sup(?=>|\s.*>))\/?.*?>/gi)};class le{static typeIdToText(e){let t=e;return t=parseInt(t,10),0===t||2===t?"news":4===t||7===t?"event":9===t?"notice":""}static getEventDates(e,t){const n=e.event_from.date.split(".");let a;a="en"===t?new Date(parseInt(n[0],10),parseInt(n[1],10)-1,parseInt(n[2],10)):new Date(parseInt(n[2],10),parseInt(n[1],10)-1,parseInt(n[0],10));const s=e.event_to.date.split(".");let r;return r="en"===t?new Date(parseInt(s[0],10),parseInt(s[1],10)-1,parseInt(s[2],10)):new Date(parseInt(s[2],10),parseInt(s[1],10)-1,parseInt(s[0],10)),{fromDate:a,toDate:r,fromDateSplit:n,toDateSplit:s}}static setExternal(e){const t=e,n=parseInt(t.type,10);return t.external=0!==n&&4!==n&&9!==n,t.url=!t.external&&ie.useOverlay?ie.newsUrl+t.id:t.permalink,t}static getNewsID(e){const t=e.match(/^#?news-(.*)$/);return null!==t?t[1]:-1}static isiPad(){return/iPad/i.test(navigator.userAgent)}}class oe{constructor(e,t){this.lang=e,this.feeds=t||[],this.item=null,this.setItem=this.setItem.bind(this)}setItem(e){this.item=e}setPopUp(){const e=""!==AU.helpers.getQuerystring("newsprint"),t=()=>{const t=le.getNewsID(window.location.hash);let n=document.getElementById("au_news_popup");if(e&&(n=document.querySelector("body")),parseInt(t,10)>-1){if(null!=this.item){const e=`/virtual/news/${le.typeIdToText(this.item.type)}/open-list/id-${this.item.id}/${this.item.permalink}`;AU.tracking.trackSingle(e)}i().render(s().createElement(Z,{id:t,item:this.item,lang:this.lang,print:e}),n)}else""!==window.location.hash&&"#"!==window.location.hash||i().unmountComponentAtNode(n)};t(),window.addEventListener("hashchange",(()=>{t()})),document.getElementById("fade").addEventListener("click",(()=>{window.location.hash=""}))}init(){this.setPopUp(),this.feeds.forEach((e=>{const t=e;t.container=document.querySelector(`#au_news-list_${t.id}`),t.items=[],t.page=1;const n=oe.getElementFormatArray(t),a=t.container;a&&i().render(s().createElement(z,{lang:this.lang,list:t,elements:n,setItem:this.setItem}),a)}))}static getElementFormatArray(e){const t=e,n=[],a=t.format.split(",");let s=0;for(let e=0;e<a.length;e+=1){const r=a[e];if("|"!==r)if(r.indexOf("|")>-1){const e=[],a=r.split("|");for(let n=0;n<a.length;n+=1){const r=[],i=a[n].split(";");for(let e=0;e<i.length;e+=1)r.push(i[e]),t.lastelement=i[e],t.lastiscolumn=!0,s+=1;e.push(r)}n.push(e)}else n.push(r),t.lastiscolumn=!1,t.lastelement=r,s+=1}return 1===t.page&&(t.amount=s),n}}window.AUNews=oe,window.AUNewsCollage=class{constructor(e,t){this.element=t,this.loaded=!1,this.lang=e,window.addEventListener("scroll",(()=>{this.init(),this.initRSS()}))}loadData(e,t){const n=`${ie.server}/index.php?eID=getAuNewsFeed&mode=key&key=${e}&index=0&amount=4&noPageBrowser=1&lang=${this.lang}&callback=?`;$.ajax({url:n,dataType:"json",jsonpCallback:n.hashCode(),jsonp:!0,cache:!0,success:e=>{"function"==typeof t&&t(e)}})}loadDataRSS(e,t){fetch(e).then((e=>e.json())).then((e=>t(e.Items)))}init(){if(!this.loaded&&U(this.element)&&void 0===window.newsCollageRSS){const e=[document.querySelector("#news1"),document.querySelector("#news2"),document.querySelector("#news3"),document.querySelector("#news4")],t=[document.querySelector("#event1"),document.querySelector("#event2"),document.querySelector("#event3")],n="da"===this.lang?"b73f5e9759ac3592043449c02dcffa56":"400bcbb4807a5a722df5e2045fa7966f";this.loadData(n,(t=>{e.forEach(((e,n)=>{t[n]?i().render(s().createElement(te,{type:"news",item:le.setExternal(t[n]),title:"da"===this.lang?"Nyhed":"News",lang:this.lang}),e):e.style.display="none"}))}));const a="da"===this.lang?"003383f99d8ae70cde9110294ab39727":"19a8aa9cc30143d2e41cfbdb4123541e";this.loadData(a,(e=>{t.forEach(((t,n)=>{e[n]?i().render(s().createElement(te,{type:"events",item:le.setExternal(e[n]),title:"da"===this.lang?"Arrangement":"Event",lang:this.lang}),t):t.style.display="none"}))})),this.loaded=!0}}initRSS(){if(!this.loaded&&U(this.element)&&void 0!==window.newsCollageRSS&&window.newsCollageRSS){const e=[document.querySelector("#news1"),document.querySelector("#news2"),document.querySelector("#news3"),document.querySelector("#news4")],t=[document.querySelector("#event1"),document.querySelector("#event2"),document.querySelector("#event3")],n=`https://webtools.au.dk/api/news/getlist?url=${window.newsFeedRssUri}`;this.loadDataRSS(n,(t=>{e.forEach(((e,n)=>{t[n]?i().render(s().createElement(re,{type:"news",item:t[n],title:"da"===this.lang?"Nyhed":"News",lang:this.lang}),e):e.style.display="none"}))}));const a=`https://webtools.au.dk/api/news/getlist?url=${window.eventFeedRssUri}`;this.loadDataRSS(a,(e=>{t.forEach(((t,n)=>{e[n]?i().render(s().createElement(re,{type:"events",item:e[n],title:"da"===this.lang?"Arrangement":"Event",lang:this.lang}),t):t.style.display="none"}))})),this.loaded=!0}}}},703:(e,t,n)=>{"use strict";var a=n(414);function s(){}function r(){}r.resetWarningCache=s,e.exports=function(){function e(e,t,n,s,r,i){if(i!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:s};return n.PropTypes=n,n}},697:(e,t,n)=>{e.exports=n(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},383:t=>{"use strict";t.exports=e},949:e=>{"use strict";e.exports=t}},a={};function s(e){if(a[e])return a[e].exports;var t=a[e]={exports:{}};return n[e](t,t.exports,s),t.exports}return s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s(634)})()}));
2
- //# sourceMappingURL=news.js.map