{"version":3,"sources":["webpack://@aarhus-university/au-lib-react-components/webpack/universalModuleDefinition","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsSubHeaderComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/i18n.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/EventLayout1Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/EventLayout2Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/EventLayout3Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsCategoriesComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout1Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout2Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout3Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout4Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout5Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout6Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout7Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLayout8Component.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsColumnsComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsRSSComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/helpers.js","webpack://@aarhus-university/au-lib-react-components/./src/components/AUSpinnerComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsListComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsLanguageChangeComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsSocialComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsPopUpComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsCollageBannerComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/components/news/NewsCollageBannerRSSComponent.js","webpack://@aarhus-university/au-lib-react-components/./src/lib/au-news.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/index.js","webpack://@aarhus-university/au-lib-react-components/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\",\"umd\":\"react\"}","webpack://@aarhus-university/au-lib-react-components/external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\",\"umd\":\"react-dom\"}","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/compat get default export","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/define property getters","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/hasOwnProperty shorthand","webpack://@aarhus-university/au-lib-react-components/webpack/runtime/make namespace object"],"names":["root","factory","exports","module","require","define","amd","a","i","self","__WEBPACK_EXTERNAL_MODULE__383__","__WEBPACK_EXTERNAL_MODULE__949__","NewsSubHeaderComponent","props","subheader","trim","length","dangerouslySetInnerHTML","__html","substring","propTypes","PropTypes","displayName","newsLabels","da","news","listLoadMore","eventDate","eventTime","eventWhere","eventRegistration","weekdays","weekdaysShort","months","monthsShort","readMore","rssAdd","rssCopy","share","facebook","twitter","linkedin","mail","mailLabelLong","mailLabelShort","gmailLabelLong","gmailLabelShort","yahooLabelLong","yahooLabelShort","outlookLabelLong","outlookLabelShort","en","EventLayout1Component","item","listid","setPopupItem","lang","AUNewsHelpers","setExternal","domID","id","fromDate","toDate","fromDateSplit","toDateSplit","getEventDates","multipleDates","getTime","showYear","showyear","className","labels","getDay","getMonth","getFullYear","event_from","date","time","event_to","event_where","onClick","external","href","url","title","header","isRequired","EventLayout2Component","classNameOuter","featured","classNameInner","style","image","list","backgroundImage","backgroundPosition","backgroundRepeat","EventLayout3Component","items","renderItems","map","_i","j","key","NewsCategoriesComponent","categories","renderCategories","slice","cat","category","NewsLayout1Component","src","layout1","alt","NewsLayout2Component","layout2","NewsLayout3Component","layout3","NewsLayout4Component","layout4","NewsLayout5Component","NewsLayout6Component","NewsLayout7Component","NewsLayout8Component","NewsColumnsComponent","layouts","layoutsEvents","type","cols","incrementPointer","count","headerElementValue","renderColumns","col","outerKey","isHeader","element","innerKey","parseInt","hItems","x","push","layoutsArray","React","NewsRSSComponent","constructor","super","this","state","wide","render","setState","prevState","role","e","stopPropagation","value","readOnly","serviceScopeProfile","window","isElementInViewport","rect","getBoundingClientRect","bottom","right","left","innerWidth","document","documentElement","clientWidth","top","innerHeight","clientHeight","AUSpinnerComponent","loading","visible","lazyLoad","bind","componentDidMount","addEventListener","componentDidUpdate","nextProps","loadingCondition","loaded","onLoad","getElementById","columns","content","children","defaultProps","NewsListComponent","pointer","elements","more","noPageBrowser","handleLoadMore","setHeader","getItems","index","amount","callback","AUNewsConfig","server","feed_key","extra_param","$","ajax","dataType","jsonpCallback","hashCode","jsonp","cache","success","querySelector","parentNode","classList","add","preventDefault","lastElement","Array","isArray","temp","newElements","sElements","_items","concat","pElements","setItem","feed_type","renderElements","n","Number","isNaN","syndication","syndicationNode","useSyndication","ReactDOM","_more","Element","NewsLanguageChangeComponent","altLangLink","getItem","pLang","changeLangElement","t3LangChangeLink","getAttribute","data","hasAltLanguage","pl","permalink","indexOf","NewsSocialComponent","mailOpen","open","encodeURI","data-title","data-url","display","target","rel","setFade","fade","opacity","zIndex","NewsPopUpComponent","hidden","AU","helpers","isMobileDevice","viewPortHeight","Math","max","popupTop","getComputedStyle","replace","popupBottom","height","posBeforeShow","print","sItem","_item","trackerLink","typeIdToText","tracking","trackSingle","focus","calculateHeight","setLightBox","scrollTop","body","resize","componentWillUnmount","overflowY","setDisqus","disqus_url","comments_closed","disqus_loaded","DISQUS","reset","reload","getScript","magnificPopup","gallery","enabled","modal","outerClassName","isiPad","tabIndex","additionalInfo","links","related","files","printUrl","location","hash","author","email","name","layout","width","split","Date","differentDays","getDate","event_regurl","event_regfrom","event_regto","regFromDateSplit","regToDateSplit","renderSubImages","subimages","s","layout5","renderLinks","l","text","renderRelated","r","newsUrl","renderFiles","f","autor","NewsCollageBannerComponent","isEvent","dateStr","appendZero","datePart","strDateTime","dateTime","showTime","getHours","getMinutes","Type","published","Published","eventFrom","EventFrom","eventTo","EventTo","Uri","Image","Header","SubHeader","EventWhere","newsServer","useOverlay","tagStrip","RegExp","_id","ttType","search","match","test","navigator","userAgent","AUNews","feeds","setPopUp","getQuerystring","openPopUp","newsID","getNewsID","mountNode","init","forEach","container","page","getElementFormatArray","_list","rowSplit","format","formatCount","columnSplit","c","columnElements","columnElementsSplit","lastelement","lastiscolumn","AUNewsCollage","initRSS","loadData","loadDataRSS","fetch","then","response","json","Items","newsCollageRSS","newsElements","eventElements","newsFeedKey","eventFeedKey","newsFeedRssUri","NewsCollageBannerRSSComponent","eventFeedRssUri","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","err","Error","getShim","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","__esModule","d","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag"],"mappings":"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","file":"news.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\")) : factory(root[\"React\"], root[\"ReactDOM\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function(__WEBPACK_EXTERNAL_MODULE__383__, __WEBPACK_EXTERNAL_MODULE__949__) {\nreturn ","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst NewsSubHeaderComponent = (props) => {\r\n const { subheader, trim } = props;\r\n if (subheader.length > trim) {\r\n return

;\r\n }\r\n\r\n return

;\r\n};\r\n\r\nNewsSubHeaderComponent.propTypes = {\r\n subheader: PropTypes.string.isRequired,\r\n trim: PropTypes.number.isRequired,\r\n};\r\n\r\nNewsSubHeaderComponent.displayName = 'NewsSubHeaderComponent';\r\nexport default NewsSubHeaderComponent;\r\n","const flowboxLabels = {\r\n da: {\r\n select: 'Vælg',\r\n back: 'Tilbage',\r\n building: 'Bygning',\r\n office: 'Kontor',\r\n },\r\n en: {\r\n select: 'Select',\r\n back: 'Back',\r\n building: 'Building',\r\n office: 'Office',\r\n },\r\n};\r\n\r\nconst newsLabels = {\r\n da: {\r\n news: {\r\n listLoadMore: 'Indlæs flere',\r\n eventDate: 'Dato',\r\n eventTime: 'Tid',\r\n eventWhere: 'Sted',\r\n eventRegistration: 'Tilmelding',\r\n weekdays: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],\r\n weekdaysShort: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],\r\n months: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'],\r\n monthsShort: ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],\r\n readMore: 'Læs mere',\r\n rssAdd: 'Klik på RSS-ikonet for at abonnere på listen i din RSS-læser.',\r\n rssCopy: 'Kopier linket til RSS-feedet fra tekstfeltet herunder.',\r\n },\r\n share: {\r\n facebook: 'Del på Facebook',\r\n twitter: 'Del på Twitter',\r\n linkedin: 'Del på LinkedIn',\r\n mail: 'Send til en ven',\r\n mailLabelLong: 'Send via e-mailklienten på din computer',\r\n mailLabelShort: 'E-mail',\r\n gmailLabelLong: 'Send via Gmail',\r\n gmailLabelShort: 'Gmail',\r\n yahooLabelLong: 'Send via Yahoo Mail',\r\n yahooLabelShort: 'Yahoo Mail',\r\n outlookLabelLong: 'Send via outlook.com',\r\n outlookLabelShort: 'Outlook.com',\r\n },\r\n },\r\n en: {\r\n news: {\r\n listLoadMore: 'Load more',\r\n eventDate: 'Date',\r\n eventTime: 'Time',\r\n eventWhere: 'Location',\r\n eventRegistration: 'Registration',\r\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\r\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\r\n readMore: 'Read more',\r\n rssAdd: 'Click the RSS icon to subscribe to the list in your RSS reader.',\r\n rssCopy: 'Copy the link to the RSS feed from the textfield below.',\r\n },\r\n share: {\r\n facebook: 'Facebook share',\r\n twitter: 'Twitter share',\r\n linkedin: 'LinkedIn share',\r\n mail: 'Send to a friend',\r\n mailLabelLong: 'Send via the email client on your computer',\r\n mailLabelShort: 'E-mail',\r\n gmailLabelLong: 'Send via Gmail',\r\n gmailLabelShort: 'Gmail',\r\n yahooLabelLong: 'Send via Yahoo Mail',\r\n yahooLabelShort: 'Yahoo Mail',\r\n outlookLabelLong: 'Send via outlook.com',\r\n outlookLabelShort: 'Outlook.com',\r\n },\r\n },\r\n};\r\n\r\nconst universeLabels = {\r\n da: {\r\n staffTitleLink: 'medarbejdere.au.dk',\r\n studentTitleLink: 'studerende.au.dk',\r\n mainPageLink: 'au.dk',\r\n iconSystems: 'Systemer',\r\n iconPin: 'Personer og bygninger',\r\n iconBurger: 'Menu',\r\n mitstudieText: 'mitstudie',\r\n mitstudieUrl: 'https://mitstudie.au.dk',\r\n },\r\n en: {\r\n staffTitleLink: 'staff.au.dk',\r\n studentTitleLink: 'students.au.dk',\r\n mainPageLink: 'au.dk',\r\n iconSystems: 'Systems',\r\n iconPin: 'Persons and buildings',\r\n iconBurger: 'Menu',\r\n mitstudieText: 'mystudies.au.dk',\r\n mitstudieUrl: 'https://mystudies.au.dk/',\r\n },\r\n};\r\n\r\nconst profileLabels = {\r\n da: {\r\n login: 'Log ind',\r\n logout: 'Log ud',\r\n edit: 'Ret',\r\n auId: 'AU-id',\r\n studentNumber: 'Studienummer',\r\n changeLanguage: 'Change language',\r\n headerContainer: 'Profilindstillinger',\r\n headerName: 'Profilnavn',\r\n headerMail: 'Mailadresser',\r\n headerMobile: 'Privat mobilnummer',\r\n headerLanguage: 'Sprog i systemer',\r\n headerNextOfKin: 'Pårørende',\r\n otherMail: 'Se øvrige AU-mailadresser',\r\n languageIn: 'Du har valgt dansk som standardsprog',\r\n legendName: 'Vælg dit profilnavn til universitetets systemer',\r\n legendNameHint: 'Vær opmærksom på, at ændringer ikke slår igennem i alle systemer.',\r\n formNameHint: 'Dit navn fra CPR-registeret',\r\n formNameDisplayName: 'Skriv et andet navn',\r\n firstName: 'Fornavn',\r\n firstNameHint: 'Undlad mellemnavne, hvis du kun vil vises med ét fornavn',\r\n lastName: 'Efternavn',\r\n workMail: 'AU-mailadresse',\r\n workMailHint: 'Ændringer i din medarbejder-mailadresse skal afspejle dit navn',\r\n workMailScreenreader: 'Din medarbejder-mailadresse er ###MAIL###. Du kan kun rette den del, der kommer før @.',\r\n studentMail: 'Studie-mailadresse',\r\n studentMailScreenreader: 'Din studie-mailadresse er ###MAIL###. Du kan kun rette den del, der kommer før @.',\r\n privateMail: 'Privat mailadresse',\r\n privateMailHint: 'Vi sender en mail til din private mailadresse, hvis du glemmer dit brugernavn eller adgangskode til universitetets systemer.',\r\n countryCode: 'Landekode',\r\n number: 'Nummer',\r\n languageLegend: 'Vælg dit foretrukne sprog til universitetets systemer ',\r\n danish: 'Dansk',\r\n english: 'Engelsk',\r\n nextOfKinParagraph: 'Du kan oplyse navn og telefonnummer på en pårørende, så universitetet kan kontakte vedkommende i et nødstilfælde.',\r\n nextOfKinName: 'Navn',\r\n nextOfKinTelephone: 'Telefonnummer',\r\n headerPassword: 'Skift adgangskode',\r\n save: 'Gem',\r\n saved: 'Dine ændringer er blevet gemt.',\r\n mailNotice: 'Vær opmærksom på, at der kan gå op til 15 minutter, før ændringer til din e-mailadresse slår igennem.',\r\n cancel: 'Annuller',\r\n validMail: 'Mailadressen du har skrevet er ikke gyldig.',\r\n validMailPrivate: 'Mailadressen du har skrevet er ikke gyldig, eller du har forsøgt at benytte din AU-mailadresse som privat mailadresse.',\r\n validMobile: 'Telefonnummeret du har skrevet er ikke gyldigt.',\r\n validName: 'Skriv et navn.',\r\n validFirstName: 'Skriv et fornavn.',\r\n validLastName: 'Skriv et efternavn.',\r\n emptyMail: 'Du har endnu ikke tilføjet en privat mailadresse',\r\n emptyMobile: 'Du har endnu ikke tilføjet et mobilnummer',\r\n emptyNok: 'Du har endnu ikke tilføjet en pårørende',\r\n copyAuid: 'Kopiér dit AU-id',\r\n copyStudentNumber: 'Kopiér dit studienummer',\r\n headerVacationAbsence: 'Ferie og fravær',\r\n myProfile: 'Min profil',\r\n helpModalHeader: 'Nyt: Medarbejderprofil',\r\n helpModalText: 'Nu kan du rette dine profiloplysninger, skifte adgangskode og se din ferie- og fraværsoversigt på medarbejdere.au.dk. Klik på \"Min profil\" for at logge ind og se din medarbejderprofil.',\r\n helpModalBtn: 'Ok, vis ikke igen',\r\n profileFor: 'Profilmenu for',\r\n changeLanguageButton: 'Switch to English',\r\n headerPureProfile: 'Redigér din hjemmeside',\r\n },\r\n en: {\r\n login: 'Sign in',\r\n logout: 'Sign out',\r\n edit: 'Edit',\r\n auId: 'AU ID',\r\n studentNumber: 'Student registration number',\r\n changeLanguage: 'Skift sprog',\r\n headerContainer: 'Profile settings',\r\n headerName: 'Profile name',\r\n headerMail: 'Email addresses',\r\n headerMobile: 'Private mobile phone number',\r\n headerLanguage: 'System language',\r\n headerNextOfKin: 'Relatives',\r\n otherMail: 'See other AU email addresses',\r\n languageIn: 'You have selected English as the standard language',\r\n legendName: 'Select your profile name for the university\\'s systems',\r\n legendNameHint: 'Please note that changes will not take effect in all systems.',\r\n formNameHint: 'Your name from the CPR (civil registration number) register',\r\n formNameDisplayName: 'Enter another name',\r\n firstName: 'First name',\r\n firstNameHint: 'Omit any middle names if you only want one first name to be displayed.',\r\n lastName: 'Last name',\r\n workMail: 'AU email address',\r\n workMailHint: 'Changes to your work mail must reflect your name',\r\n workMailScreenreader: 'Your work mail is ###MAIL###. You are only able to edit the part before the @.',\r\n studentMail: 'Student mail address',\r\n studentMailScreenreader: 'Your student mail address is ###MAIL###. You are only able to edit the part before the @.',\r\n privateMail: 'Private mail address',\r\n privateMailHint: 'If you forget your username or password for the university’s systems, we will send an email to your private email address.',\r\n countryCode: 'Country code',\r\n number: 'Number',\r\n languageLegend: 'Select your preferred language for the university’s systems.',\r\n danish: 'Danish',\r\n english: 'English',\r\n nextOfKinParagraph: 'State the name and phone number of a relative so the university can contact the person in question in case of an emergency.',\r\n nextOfKinName: 'Name',\r\n nextOfKinTelephone: 'Telephone number',\r\n headerPassword: 'Change password',\r\n save: 'Save',\r\n saved: 'Your changes have been saved',\r\n mailNotice: 'Please note that it may take up to 15 minutes for changes to your email address to take effect.',\r\n cancel: 'Cancel',\r\n validMail: 'The email address you have entered is not valid.',\r\n validMailPrivate: 'The email address you have entered is not valid, or you have tried to use your AU email address as your private email address.',\r\n validMobile: 'The phone number you have entered is not valid.',\r\n validName: 'Enter a name.',\r\n validFirstName: 'Enter a first name.',\r\n validLastName: 'Enter a last name.',\r\n emptyMail: 'You have not yet added a private email address',\r\n emptyMobile: 'You have not yet added a mobile number',\r\n emptyNok: 'You have not yet added information about a relative ',\r\n copyAuid: 'Copy your AU ID',\r\n copyStudentNumber: 'Copy your student registration number',\r\n headerVacationAbsence: 'Holiday and absence',\r\n myProfile: 'My profile',\r\n helpModalHeader: 'New features at staff.au.dk',\r\n helpModalText: 'You can now edit your profile settings, change your password and see your holiday and absence overview at staff.au.dk. Click \"My profile\" to log in and see your staff profile.',\r\n helpModalBtn: 'OK, don\\'t show again',\r\n profileFor: 'Profile menu for',\r\n changeLanguageButton: 'Skift til dansk',\r\n headerPureProfile: 'Edit your webpage',\r\n },\r\n};\r\n\r\nconst passwordLabels = {\r\n da: {\r\n currentPassword: 'Skriv din nuværende adgangskode',\r\n changePassword: 'Skift adgangskode',\r\n changePasswordInfo: 'Vær opmærksom på, at når du skifter din adgangskode, gælder det alle universitetets systemer.',\r\n newPassword: 'Skriv en ny adgangskode',\r\n newPasswordInfo: 'Af sikkerhedsmæssige årsager må du ikke have anvendt din adgangskode tidligere, og den må ikke indeholde personlige oplysninger.',\r\n repeatPassword: 'Skriv din nye adgangskode igen',\r\n receipt: 'Godt gået!
Din adgangskode er nu skiftet',\r\n goto: 'Gå til forsiden',\r\n requirementsHeader: 'Din nye adgangskode skal indholde:',\r\n requirement1: 'Mindst 12 tegn',\r\n requirement2: 'Ingen æ, ø, å eller Æ, Ø, Å',\r\n requirement3: 'Ingen mellemrum',\r\n requirement4: 'En kombination af bogstaver, tal og disse specialtegn:',\r\n rules: {\r\n lowerupper: 'Tilføj et lille bogstav eller et stort bogstav.',\r\n loweruppernumbers: 'Tilføj en kombination af små bogstaver, store bogstaver og tal.',\r\n lowerupperspecial: 'Tilføj en kombination af små bogstaver, store bogstaver og specialtegn.',\r\n loweruppernumbersspecial: 'Din adgangskode skal indeholde en kombination af bogstaver, tal og specialtegn.',\r\n lowernumbers: 'Tilføj et lille bogstav eller et tal.',\r\n lowernumbersspecial: 'Tilføj en kombination af små bogstaver, tal og specialtegn.',\r\n lowerspecial: 'Tilføj et lille bogstav eller et specialtegn.',\r\n uppernumbers: 'Tilføj et stort bogstav eller et tal.',\r\n uppernumbersspecial: 'Tilføj en kombination af store bogstaver, tal og specialtegn.',\r\n upperspecial: 'Tilføj et stort bogstav eller et specialtegn.',\r\n numbersspecial: 'Tilføj et tal eller et specialtegn.',\r\n invalid: 'Din adgangskode må ikke indeholde æ, ø, å eller Æ, Ø, Å.',\r\n length: 'Din adgangskode skal være på mindst ###LENGTH### tegn.',\r\n spaces: 'Din adgangskode må ikke indeholde mellemrum.',\r\n specialchars: 'Din adgangskode indholder et specieltegn, som ikke er tilladt.',\r\n },\r\n allRequirements: 'Din nye adgangskode opfylder alle krav.',\r\n passwordsEqual: 'De to adgangskoder er ens',\r\n passwordsNotEqual: 'Hov, du har skrevet to forskellige adgangskoder. Prøv igen.',\r\n typeNew: 'Skriv en ny adgangskode',\r\n repeatNew: 'Skriv din nye adgangskode igen',\r\n privateMail: 'Privat mailadresse',\r\n privateMailHint: 'Hvis du ikke har registreret din private mailadresse på Aarhus Universitet, kan du skrive din AU-mailadresse, dit AU-id eller dit studienummer.',\r\n privateMailHint2: 'Hvis du ikke har registreret din private mailadresse på Aarhus Universitet, kan du skrive din AU-mailadresse.',\r\n mailReceiptHeader: 'Vi har sendt et link til din mailadresse',\r\n mailReceiptParagraph: 'Brug linket til at skifte din adgangskode.',\r\n mailReceiptHeader2: 'Vi har sendt dit AU-brugernavn til din mail',\r\n mailReceiptHelp: 'Har du ikke modtaget en mail fra os?',\r\n mailReceiptHelp2: 'Det kan skyldes, at du har indtastet en forkert mailadresse, AU-id eller studienummer.',\r\n mailReceiptHelp3: 'Det kan skyldes, at du har indtastet en forkert mailadresse.',\r\n mailReceiptLink: 'Gå tilbage og prøv igen',\r\n forgotPassword: 'Glemt adgangskode',\r\n forgotPasswordParagraph: 'Skriv din mailadresse, så sender vi et link, som du kan bruge til at skifte din adgangskode.',\r\n forgotUsername: 'Glemt brugernavn',\r\n forgotUsernameParagraph: 'Skriv din mailadresse, så sender vi en mail med dit brugernavn.',\r\n allGood: 'Perfekt',\r\n validInput: 'Du har ikke skrevet gyldig mailadresse, AU-id eller studienummer.',\r\n sendBtnPassword: 'Næste',\r\n sendBtnUsername: 'Send mit brugernavn',\r\n expiredHeader: 'Linket er desværre udløbet.',\r\n expiredText: 'Vær opmærksom på, at linket kun er aktivt i 24 timer.',\r\n expiredLink: 'Prøv igen',\r\n goBack: 'Gå tilbage',\r\n supportHeader: 'Har du brug for hjælp?',\r\n supportStudentLink: 'https://studerende.au.dk/it-support/',\r\n supportStudentText: 'Support til studerende',\r\n supportStaffLink: 'https://medarbejdere.au.dk/administration/it/',\r\n supportStaffText: 'Support til medarbejdere og andre',\r\n pwned: 'Adgangskoden kan ikke bruges, da den tidligere har været brugt på andre hjemmesider, som er blevet hacket. Prøv med en anden.',\r\n },\r\n en: {\r\n currentPassword: 'Enter your current password',\r\n changePassword: 'Change password',\r\n changePasswordInfo: 'Please note that when you change your password, the change will apply to all the university’s systems.',\r\n newPassword: 'Enter a new password',\r\n newPasswordInfo: 'For security reasons, you cannot use a password that you have used before, and the password may not contain personal information.',\r\n repeatPassword: 'Re-enter your new password',\r\n receipt: 'Well done!
Your password has now been changed',\r\n goto: 'Go to the front page',\r\n requirementsHeader: 'Your new password must contain:',\r\n requirement1: 'At least 12 characters',\r\n requirement2: 'No \\'æ\\', \\'ø\\', \\'å\\' or \\'Æ\\', \\'Ø\\', \\'Å\\'',\r\n requirement3: 'No spaces',\r\n requirement4: 'A combination of letters, numbers and these special characters:',\r\n rules: {\r\n lowerupper: 'Add a lower-case letter or an upper-case letter.',\r\n loweruppernumbers: 'Add a combination of lower-case letters, upper-case letters and numbers.',\r\n lowerupperspecial: 'Add a combination of lower-case letters, upper-case letters and special characters.',\r\n loweruppernumbersspecial: 'Your password must contain a combination of letters, numbers and special characters.',\r\n lowernumbers: 'Add a lower-case letter or a number.',\r\n lowernumbersspecial: 'Add a combination of lower-case letters, numbers and special characters.',\r\n lowerspecial: 'Add a lower-case letter or a special character.',\r\n uppernumbers: 'Add an upper-case letter or a number.',\r\n uppernumbersspecial: 'Add a combination of upper-case letters, numbers and special characters.',\r\n upperspecial: 'Add an upper-case letter or a special character.',\r\n numbersspecial: 'Add a number or a special charactern',\r\n invalid: 'Your password may not contain the letters \\'æ\\', \\'ø\\', \\'å\\' or \\'Æ\\', \\'Ø\\', \\'Å\\'.',\r\n length: 'Your password must consist of at least ###LENGTH### characters.',\r\n spaces: 'Your password may not contain spaces.',\r\n specialchars: 'Your password contains a special character which is not permitted.',\r\n },\r\n allRequirements: 'Your new password meets all requirements.',\r\n passwordsEqual: 'The passwords match',\r\n passwordsNotEqual: 'Ups. You have written two different passwords. Please try again.',\r\n typeNew: 'Enter a new password',\r\n repeatNew: 'Re-enter your new password',\r\n privateMail: 'Private email address',\r\n privateMailHint: 'If you have not registered your private email address at Aarhus University, you can write your AU email address, your AU ID or your student registration number.',\r\n privateMailHint2: 'If you have not registered your private email address at Aarhus University, you can write your AU email address.',\r\n mailReceiptHeader: 'We have sent a link to your email address registered',\r\n mailReceiptParagraph: 'Use the link to change your password.',\r\n mailReceiptHeader2: 'We have sent an email with your username to your email address',\r\n mailReceiptHelp: 'Haven’t you received an email from us?',\r\n mailReceiptHelp2: 'Maybe you have entered the wrong email address, AU ID or student registration number.',\r\n mailReceiptHelp3: 'Maybe you have entered the wrong email address.',\r\n mailReceiptLink: 'Please go back and try again',\r\n forgotPassword: 'Forgot your password?',\r\n forgotPasswordParagraph: 'Enter your email address. We will then send you a link which you can use to reset your password.',\r\n forgotUsername: 'Forgot your username?',\r\n forgotUsernameParagraph: 'Enter your email address. We will then send you an email with your username.',\r\n allGood: 'Perfect',\r\n validInput: 'You have not entered a valid email address, AU ID or student registration number.',\r\n sendBtnPassword: 'Next',\r\n sendBtnUsername: 'Send my username',\r\n expiredHeader: 'Unfortunately, the link has expired.',\r\n expiredText: 'Please note that the link is only active for 24 hours.',\r\n expiredLink: 'Try again',\r\n goBack: 'Go back',\r\n supportHeader: 'Need help?',\r\n supportStudentLink: 'https://studerende.au.dk/en/it-support/',\r\n supportStudentText: 'Support for students',\r\n supportStaffLink: 'https://medarbejdere.au.dk/en/administration/it/',\r\n supportStaffText: 'Support for staff and others',\r\n pwned: 'The password cannot be used because it has been used before on other websites that have been hacked. Please try a different password.',\r\n },\r\n};\r\n\r\nconst countryCodes = [\r\n { da: 'Afghanistan', en: 'Afghanistan', code: 93 },\r\n { da: 'Albanien', en: 'Albania', code: 355 },\r\n { da: 'Algeriet', en: 'Algeria', code: 213 },\r\n { da: 'Amerikansk Samoa', en: 'American Samoa', code: 684 },\r\n { da: 'Andorra', en: 'Andorra', code: 376 },\r\n { da: 'Angola', en: 'Angola', code: 244 },\r\n { da: 'Anguilla', en: 'Anguilla', code: 1264 },\r\n { da: 'Antigua og Barbuda', en: 'Antigua and Barbuda', code: 1268 },\r\n { da: 'Argentina', en: 'Argentina', code: 54 },\r\n { da: 'Armenien', en: 'Armenia', code: 374 },\r\n { da: 'Aruba', en: 'Aruba', code: 297 },\r\n { da: 'Ascension', en: 'Ascension', code: 247 },\r\n { da: 'Aserbajdsjan', en: 'Azerbaijan', code: 994 },\r\n { da: 'Australien', en: 'Australia', code: 61 },\r\n { da: 'Bahamas', en: 'Bahamas', code: 1242 },\r\n { da: 'Bahrain', en: 'Bahrain', code: 973 },\r\n { da: 'Bangladesh', en: 'Bangladesh', code: 880 },\r\n { da: 'Barbados', en: 'Barbados', code: 1246 },\r\n { da: 'Belgien', en: 'Belgium', code: 32 },\r\n { da: 'Belize', en: 'Belize', code: 501 },\r\n { da: 'Benin', en: 'Benin', code: 229 },\r\n { da: 'Bermuda', en: 'Bermuda', code: 1441 },\r\n { da: 'Bhutan', en: 'Bhutan', code: 975 },\r\n { da: 'Bolivia', en: 'Bolivia', code: 591 },\r\n { da: 'Bosnien-Hercegovina', en: 'Bosnia Herzegovina', code: 387 },\r\n { da: 'Botswana', en: 'Botswana', code: 267 },\r\n { da: 'Brasilien', en: 'Brazil', code: 55 },\r\n { da: 'Britiske Jomfruøer', en: 'British Virgin Islands', code: 1284 },\r\n { da: 'Brunei', en: 'Brunei', code: 673 },\r\n { da: 'Bulgarien', en: 'Bulgaria', code: 359 },\r\n { da: 'Burkina Faso', en: 'Burkina Faso', code: 226 },\r\n { da: 'Burma', en: 'Burma', code: 95 },\r\n { da: 'Burundi', en: 'Burundi', code: 257 },\r\n { da: 'Cambodja', en: 'Cambodia', code: 855 },\r\n { da: 'Cameroun', en: 'Cameroon', code: 237 },\r\n { da: 'Canada', en: 'Canada', code: 1 },\r\n { da: 'Caymanøerne', en: 'Cayman Islands', code: 1345 },\r\n { da: 'Centralafrikanske Republik', en: 'Centralafrican Republic', code: 236 },\r\n { da: 'Chile', en: 'Chile', code: 56 },\r\n { da: 'Cocosøerne', en: 'Cocos', code: 619162 },\r\n { da: 'Colombia', en: 'Colombia', code: 57 },\r\n { da: 'Comorerne', en: 'Comoros', code: 269 },\r\n { da: 'Cook-øerne', en: 'Cook Islands', code: 682 },\r\n { da: 'Costa Rica', en: 'Costa Rica', code: 506 },\r\n { da: 'Cuba', en: 'Cuba', code: 53 },\r\n { da: 'Cypern', en: 'Cyprus', code: 357 },\r\n {\r\n da: 'Danmark',\r\n en: 'Denmark',\r\n code: 45,\r\n important: true,\r\n },\r\n { da: 'Demokratiske Republik Congo', en: 'Democratic Republic of Congo', code: 243 },\r\n { da: 'Diego Garcia', en: 'Diego Garcia', code: 246 },\r\n { da: 'Djibouti', en: 'Djibouti', code: 253 },\r\n { da: 'Dominica', en: 'Dominica', code: 1767 },\r\n { da: 'Dominikanske Republik', en: 'Dominican Republic', code: 1809 },\r\n { da: 'Ecuador', en: 'Ecuador', code: 593 },\r\n { da: 'Egypten', en: 'Egypt', code: 20 },\r\n { da: 'El Salvador', en: 'El Salvador', code: 503 },\r\n { da: 'Elfenbenskysten', en: 'Ivory Coast', code: 225 },\r\n { da: 'Eritrea', en: 'Eritrea', code: 291 },\r\n { da: 'Estland', en: 'Estonia', code: 372 },\r\n { da: 'Etiopien', en: 'Ethiopia', code: 251 },\r\n { da: 'Falklandsøerne', en: 'Falklands', code: 500 },\r\n { da: 'Fiji', en: 'Fiji', code: 679 },\r\n { da: 'Filippinerne', en: 'Phillipines', code: 63 },\r\n { da: 'Finland', en: 'Finland', code: 358 },\r\n { da: 'Forenede Arabiske Emirater', en: 'United Arab Emirates', code: 971 },\r\n { da: 'Frankrig', en: 'France', code: 33 },\r\n { da: 'Fransk Guyana', en: 'French Guiana', code: 594 },\r\n { da: 'Fransk Polynesien', en: 'French Polynesia', code: 689 },\r\n { da: 'Færøerne', en: 'Faroe Islands', code: 298 },\r\n { da: 'Gabon', en: 'Gabon', code: 241 },\r\n { da: 'Gambia', en: 'Gambia', code: 220 },\r\n { da: 'Georgien', en: 'Georgia', code: 995 },\r\n { da: 'Ghana', en: 'Ghana', code: 233 },\r\n { da: 'Gibraltar', en: 'Gibraltar', code: 350 },\r\n { da: 'Grenada', en: 'Grenada', code: 1473 },\r\n { da: 'Grækenland', en: 'Greece', code: 30 },\r\n { da: 'Grønland', en: 'Greenland', code: 299 },\r\n { da: 'Guadeloupe', en: 'Guadeloupe', code: 590 },\r\n { da: 'Guam', en: 'Guam', code: 1671 },\r\n { da: 'Guatemala', en: 'Guatemala', code: 502 },\r\n { da: 'Guinea', en: 'Guinea', code: 224 },\r\n { da: 'Guinea-Bissau', en: 'Guinea-Bissau', code: 245 },\r\n { da: 'Guyana', en: 'Guyana', code: 592 },\r\n { da: 'Haiti', en: 'Haiti', code: 509 },\r\n { da: 'Honduras', en: 'Honduras', code: 504 },\r\n { da: 'Hong Kong', en: 'Hong Kong', code: 852 },\r\n { da: 'Hviderusland', en: 'Belarus', code: 375 },\r\n { da: 'Indien', en: 'India', code: 91 },\r\n { da: 'Indonesien', en: 'Indonesia', code: 62 },\r\n { da: 'Irak', en: 'Iraq', code: 964 },\r\n { da: 'Iran', en: 'Iran', code: 98 },\r\n { da: 'Irland', en: 'Ireland', code: 353 },\r\n { da: 'Island', en: 'Iceland', code: 354 },\r\n { da: 'Israel', en: 'Israel', code: 972 },\r\n { da: 'Italien', en: 'Italy', code: 39 },\r\n { da: 'Jamaica', en: 'Jamaica', code: 1876 },\r\n { da: 'Japan', en: 'Japan', code: 81 },\r\n { da: 'Jomfruøerne', en: 'Virgin Islands', code: 1340 },\r\n { da: 'Jordan', en: 'Jordan', code: 962 },\r\n { da: 'Juleøen', en: 'Christmas Island', code: 619164 },\r\n { da: 'Kap Verde', en: 'Cape Verde', code: 238 },\r\n { da: 'Kasakhstan', en: 'Kazakhstan', code: 7 },\r\n { da: 'Kenya', en: 'Kenya', code: 254 },\r\n { da: 'Kina', en: 'China', code: 86 },\r\n { da: 'Kirgisistan', en: 'Kyrgyzstan', code: 996 },\r\n { da: 'Kiribati', en: 'Kiribati', code: 686 },\r\n { da: 'Kroatien', en: 'Croatia', code: 385 },\r\n { da: 'Kuwait', en: 'Kuwait', code: 965 },\r\n { da: 'Laos', en: 'Laos', code: 856 },\r\n { da: 'Lesotho', en: 'Lesotho', code: 266 },\r\n { da: 'Letland', en: 'Latvia', code: 371 },\r\n { da: 'Libanon', en: 'Lebanon', code: 961 },\r\n { da: 'Liberia', en: 'Liberia', code: 231 },\r\n { da: 'Libyen', en: 'Libya', code: 218 },\r\n { da: 'Liechtenstein', en: 'Liechtenstein', code: 423 },\r\n { da: 'Litauen', en: 'Lithuania', code: 370 },\r\n { da: 'Luxemburg', en: 'Luxemburg', code: 352 },\r\n { da: 'Macau', en: 'Macau', code: 853 },\r\n { da: 'Madagaskar', en: 'Madagascar', code: 261 },\r\n { da: 'Makedonien', en: 'Macedonia', code: 389 },\r\n { da: 'Malawi', en: 'Malawi', code: 265 },\r\n { da: 'Malaysia', en: 'Malaysia', code: 60 },\r\n { da: 'Maldiverne', en: 'Maldives', code: 960 },\r\n { da: 'Mali', en: 'Mali', code: 223 },\r\n { da: 'Malta', en: 'Malta', code: 356 },\r\n { da: 'Marokko', en: 'Morocco', code: 212 },\r\n { da: 'Marshalløerne', en: 'Marshall Islands', code: 692 },\r\n { da: 'Martinique', en: 'Martinique', code: 596 },\r\n { da: 'Mauretanien', en: 'Mauritania', code: 222 },\r\n { da: 'Mauritius', en: 'Mauritius', code: 230 },\r\n { da: 'Mayotte', en: 'Mayotte', code: 262 },\r\n { da: 'Mexico', en: 'Mexico', code: 52 },\r\n { da: 'Mikronesien', en: 'Micronesia', code: 691 },\r\n { da: 'Moldova', en: 'Moldova', code: 373 },\r\n { da: 'Monaco', en: 'Monaco', code: 377 },\r\n { da: 'Mongoliet', en: 'Mongolia', code: 976 },\r\n { da: 'Montenegro', en: 'Montenegro', code: 382 },\r\n { da: 'Montserrat', en: 'Montserrat', code: 1664 },\r\n { da: 'Mozambique', en: 'Mozambique', code: 258 },\r\n { da: 'Namibia', en: 'Namibia', code: 264 },\r\n { da: 'Nauru', en: 'Nauru', code: 674 },\r\n { da: 'Nederlandene', en: 'Netherlands', code: 31 },\r\n { da: 'Nederlandske Antiller', en: 'Netherlands Antilles', code: 599 },\r\n { da: 'Nepal', en: 'Nepal', code: 977 },\r\n { da: 'New Zealand', en: 'New Zealand', code: 64 },\r\n { da: 'Nicaragua', en: 'Nicaragua', code: 505 },\r\n { da: 'Niger', en: 'Niger', code: 227 },\r\n { da: 'Nigeria', en: 'Nigeria', code: 234 },\r\n { da: 'Niue', en: 'Niue', code: 683 },\r\n { da: 'Nordirland', en: 'Northern Ireland', code: 44 },\r\n { da: 'Nordkorea', en: 'North Korea', code: 850 },\r\n { da: 'Norfolk', en: 'Norfolk', code: 672 },\r\n { da: 'Norge', en: 'Norway', code: 47 },\r\n { da: 'Ny Caledonien', en: 'New Caledonia', code: 687 },\r\n { da: 'Oman', en: 'Oman', code: 968 },\r\n { da: 'Pakistan', en: 'Pakistan', code: 92 },\r\n { da: 'Panama', en: 'Panama', code: 507 },\r\n { da: 'Papua Ny Guinea', en: 'Papua New Guinea', code: 675 },\r\n { da: 'Paraguay', en: 'Paraguay', code: 595 },\r\n { da: 'Peru', en: 'Peru', code: 51 },\r\n { da: 'Polen', en: 'Poland', code: 48 },\r\n { da: 'Portugal', en: 'Portugal', code: 351 },\r\n { da: 'Puerto Rico', en: 'Puerto Rico', code: 1787 },\r\n { da: 'Qatar', en: 'Qatar', code: 974 },\r\n { da: 'Republikken Congo', en: 'Republic of the Congo', code: 242 },\r\n { da: 'Réunion', en: 'Reunion', code: 262 },\r\n { da: 'Rumænien', en: 'Romania', code: 40 },\r\n { da: 'Rusland', en: 'Russia', code: 7 },\r\n { da: 'Rwanda', en: 'Rwanda', code: 250 },\r\n { da: 'Saint Helena', en: 'Saint Helena', code: 290 },\r\n { da: 'Saint Kitts og Nevis', en: 'Saint Kitts and Nevis', code: 1869 },\r\n { da: 'Saint Lucia', en: 'Saint Lucia', code: 1758 },\r\n { da: 'Saint Pierre og Miquelon', en: 'Saint Pierre and Miquelon', code: 508 },\r\n { da: 'Saint Vincent og Grenadinerne', en: 'Saint Vincent and the Grenadines', code: 1784 },\r\n { da: 'Salomonøerne', en: 'Solomons', code: 677 },\r\n { da: 'San Marino', en: 'San Marino', code: 378 },\r\n { da: 'Sao Tomé og Principe', en: 'Sao Tome and Principe', code: 239 },\r\n { da: 'Saudi-Arabien', en: 'Saudi Arabia', code: 966 },\r\n { da: 'Schweiz', en: 'Switzerland', code: 41 },\r\n { da: 'Senegal', en: 'Senegal', code: 221 },\r\n { da: 'Serbien', en: 'Serbia', code: 381 },\r\n { da: 'Seychellerne', en: 'Seychelles', code: 248 },\r\n { da: 'Sierra Leone', en: 'Sierra Leone', code: 232 },\r\n { da: 'Singapore', en: 'Singapore', code: 65 },\r\n { da: 'Slovakiet', en: 'Slovakia', code: 421 },\r\n { da: 'Slovenien', en: 'Slovenia', code: 386 },\r\n { da: 'Somalia', en: 'Somalia', code: 252 },\r\n { da: 'Spanien', en: 'Spain', code: 34 },\r\n { da: 'Sri Lanka', en: 'Sri Lanka', code: 94 },\r\n { da: 'Storbritannien', en: 'United Kingdom', code: 44 },\r\n { da: 'Sudan', en: 'Sudan', code: 249 },\r\n { da: 'Surinam', en: 'Suriname', code: 597 },\r\n { da: 'Sverige', en: 'Sweden', code: 46 },\r\n { da: 'Swaziland', en: 'Swaziland', code: 268 },\r\n { da: 'Sydafrika', en: 'South Africa', code: 27 },\r\n { da: 'Sydkorea', en: 'South Korea', code: 82 },\r\n { da: 'Sydsudan', en: 'South Sudan', code: 211 },\r\n { da: 'Syrien', en: 'Syria', code: 963 },\r\n { da: 'Tadsjikistan', en: 'Tajikistan', code: 992 },\r\n { da: 'Taiwan', en: 'Taiwan', code: 886 },\r\n { da: 'Tanzania', en: 'Tanzania', code: 255 },\r\n { da: 'Tchad', en: 'Chad', code: 235 },\r\n { da: 'Thailand', en: 'Thailand', code: 66 },\r\n { da: 'Tjekkiet', en: 'Czech republic', code: 420 },\r\n { da: 'Togo', en: 'Togo', code: 228 },\r\n { da: 'Tonga', en: 'Tonga', code: 676 },\r\n { da: 'Trinidad og Tobago', en: 'Trinidad and Tobago', code: 1868 },\r\n { da: 'Tunesien', en: 'Tunisia', code: 216 },\r\n { da: 'Turkmenistan', en: 'Turkmenistan', code: 993 },\r\n { da: 'Turks- og Caicosøerne', en: 'Turks and Caicos Islands', code: 1649 },\r\n { da: 'Tuvalu', en: 'Tuvalu', code: 688 },\r\n { da: 'Tyrkiet', en: 'Turkey', code: 90 },\r\n { da: 'Tyskland', en: 'Germany', code: 49 },\r\n { da: 'Uganda', en: 'Uganda', code: 256 },\r\n { da: 'Ukraine', en: 'Ukraine', code: 380 },\r\n { da: 'Ungarn', en: 'Hungary', code: 36 },\r\n { da: 'Uruguay', en: 'Uruguay', code: 598 },\r\n { da: 'USA', en: 'USA', code: 1 },\r\n { da: 'Usbekistan', en: 'Uzbekistan', code: 998 },\r\n { da: 'Vanuatu', en: 'Vanuatu', code: 678 },\r\n { da: 'Venezuela', en: 'Venezuela', code: 58 },\r\n { da: 'Vest Samoa', en: 'West Samoa', code: 685 },\r\n { da: 'Vietnam', en: 'Vietnam', code: 84 },\r\n { da: 'Yemen', en: 'Yemen', code: 967 },\r\n { da: 'Zambia', en: 'Zambia', code: 260 },\r\n { da: 'Zimbabwe', en: 'Zimbabwe', code: 263 },\r\n { da: 'Ækvatorialguinea', en: 'Equatorial Guinea', code: 240 },\r\n { da: 'Østrig', en: 'Austria', code: 43 },\r\n];\r\n\r\n\r\nexport {\r\n flowboxLabels,\r\n newsLabels,\r\n universeLabels,\r\n profileLabels,\r\n passwordLabels,\r\n countryCodes,\r\n};\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst EventLayout1Component = (props) => {\r\n const {\r\n item,\r\n listid,\r\n setPopupItem,\r\n lang,\r\n } = props;\r\n if (!item) {\r\n return

;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n\r\n const domID = `news-${listid}-${i.id}`;\r\n const {\r\n fromDate,\r\n toDate,\r\n fromDateSplit,\r\n toDateSplit,\r\n } = AUNewsHelpers.getEventDates(i, lang);\r\n const multipleDates = fromDate.getTime() !== toDate.getTime();\r\n const showYear = i.showyear === '1'; // Oh ffs...\r\n const className = `au_news_eventlist1-calendar ${(multipleDates ? 'multiple' : 'single')}`;\r\n\r\n return (\r\n
\r\n
\r\n \r\n {labels[lang].news.weekdaysShort[fromDate.getDay()]}\r\n \r\n \r\n {fromDateSplit[lang === 'da' ? 0 : 2]}\r\n \r\n \r\n {labels[lang].news.monthsShort[fromDate.getMonth()] + (showYear ? (` ${(`${fromDate.getFullYear()}`).substring(2)}`) : '')}\r\n \r\n \r\n {labels[lang].news.weekdaysShort[toDate.getDay()]}\r\n \r\n \r\n {toDateSplit[lang === 'da' ? 0 : 2]}\r\n \r\n \r\n {labels[lang].news.monthsShort[toDate.getMonth()] + (showYear ? (` ${(`${toDate.getFullYear()}`).substring(2)}`) : '')}\r\n \r\n
\r\n
\r\n

\r\n \r\n {`${(multipleDates ? `${i.event_from.date} ` : '')} ${`${i.event_from.time} `} ${(multipleDates ? `${i.event_to.date} ` : '')} ${i.event_to.time}`}\r\n \r\n {' | '}\r\n \r\n {i.event_where}\r\n \r\n
\r\n {\r\n if (!i.external) {\r\n setPopupItem(props.item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nEventLayout1Component.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n url: PropTypes.string.isRequired,\r\n header: PropTypes.string.isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nEventLayout1Component.displayName = 'EventLayout1Component';\r\nexport default EventLayout1Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst EventLayout2Component = (props) => {\r\n const {\r\n item,\r\n listid,\r\n setPopupItem,\r\n lang,\r\n } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n\r\n const domID = `news-${listid}-${i.id}`;\r\n const { fromDate, toDate, fromDateSplit } = AUNewsHelpers.getEventDates(i, lang);\r\n const multipleDates = fromDate.getTime() !== toDate.getTime();\r\n const showYear = i.showyear === '1';\r\n const classNameOuter = `au_news-eventlist2-item ${(i.featured ? 'au_event-featured' : '')}`;\r\n const classNameInner = `au_news_eventlist2-calendar ${(multipleDates ? 'multiple' : 'single') + (showYear ? ' show-year' : '')}`;\r\n const style = i.image.list === '' ? {} : {\r\n backgroundImage: `url('${i.image.list}')`,\r\n backgroundPosition: 'top center',\r\n backgroundRepeat: 'no-repeat',\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {labels[lang].news.weekdaysShort[fromDate.getDay()]}\r\n \r\n \r\n {fromDateSplit[lang === 'da' ? 0 : 2]}\r\n \r\n \r\n {labels[lang].news.monthsShort[fromDate.getMonth()] + (showYear ? (` ${(`${fromDate.getFullYear()}`).substring(2)}`) : '')}\r\n \r\n
\r\n
\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(props.item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n
\r\n \r\n {`${(multipleDates ? `${i.event_from.date} ` : '')} ${`${i.event_from.time} `} ${(multipleDates ? `${i.event_to.date} ` : '')} ${i.event_to.time}`}\r\n \r\n {' | '}\r\n \r\n {i.event_where}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nEventLayout2Component.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n url: PropTypes.string.isRequired,\r\n header: PropTypes.string.isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nEventLayout2Component.displayName = 'EventLayout2Component';\r\nexport default EventLayout2Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst EventLayout3Component = (props) => {\r\n const {\r\n items,\r\n listid,\r\n setPopupItem,\r\n lang,\r\n } = props;\r\n const renderItems = items.map((_i, j) => {\r\n let i = _i;\r\n const key = j;\r\n if (i) {\r\n i = AUNewsHelpers.setExternal(i);\r\n const { fromDate, toDate } = AUNewsHelpers.getEventDates(i, lang);\r\n const multipleDates = fromDate.getTime() !== toDate.getTime();\r\n const domID = `news-${listid}-${i.id}`;\r\n return (\r\n \r\n {\r\n if (!i.external) {\r\n setPopupItem(i);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n {' ('}\r\n \r\n {`${i.event_from.date} ${i.event_from.time} - ${(multipleDates ? `${i.event_to.date} ` : '')} ${i.event_to.time}`}\r\n \r\n {`, ${i.event_where}) `}\r\n \r\n );\r\n }\r\n return null;\r\n });\r\n\r\n return (\r\n
\r\n
    \r\n {renderItems}\r\n
\r\n
\r\n );\r\n};\r\n\r\nEventLayout3Component.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n url: PropTypes.string.isRequired,\r\n header: PropTypes.string.isRequired,\r\n })).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nEventLayout3Component.displayName = 'EventLayout3Component';\r\nexport default EventLayout3Component;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst NewsCategoriesComponent = (props) => {\r\n const { categories } = props;\r\n const renderCategories = categories.slice(0, 1).map((cat, i) => {\r\n const key = i;\r\n return {(i > 0 ? ', ' : '') + cat.category};\r\n });\r\n\r\n return {renderCategories};\r\n};\r\n\r\nNewsCategoriesComponent.propTypes = {\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n category: PropTypes.string.isRequired,\r\n })).isRequired,\r\n};\r\n\r\nNewsCategoriesComponent.displayName = 'NewsCategoriesComponent';\r\nexport default NewsCategoriesComponent;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport NewsCategoriesComponent from './NewsCategoriesComponent';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout1Component = (props) => {\r\n const { item, listid, setPopupItem } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n {(() => {\r\n if (i.image) {\r\n return (\r\n
\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n >\r\n \"\"\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n

\r\n {i.date}\r\n {' | '}\r\n \r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout1Component.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n date: PropTypes.string.isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout1Component.displayName = 'NewsLayout1Component';\r\nexport default NewsLayout1Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport NewsCategoriesComponent from './NewsCategoriesComponent';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout2Component = (props) => {\r\n const { item, listid, setPopupItem } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n {(() => {\r\n if (i.image) {\r\n return (\r\n
\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n >\r\n \"\"\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n

\r\n {i.date}\r\n {' | '}\r\n \r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout2Component.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n date: PropTypes.string.isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout2Component.displayName = 'NewsLayout2Component';\r\nexport default NewsLayout2Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport NewsCategoriesComponent from './NewsCategoriesComponent';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout3Component = (props) => {\r\n const { item, listid, setPopupItem } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n {(() => {\r\n if (i.image) {\r\n return (\r\n
\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n >\r\n \"\"\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n

\r\n {i.date}\r\n {' | '}\r\n \r\n

\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout3Component.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n date: PropTypes.string.isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout3Component.displayName = 'NewsLayout3Component';\r\nexport default NewsLayout3Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport NewsCategoriesComponent from './NewsCategoriesComponent';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout4Component = (props) => {\r\n const { item, listid, setPopupItem } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n {(() => {\r\n if (i.image) {\r\n return (\r\n
\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n >\r\n \"\"\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n

\r\n {i.date}\r\n {' | '}\r\n \r\n

\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout4Component.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n date: PropTypes.string.isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout4Component.displayName = 'NewsLayout4Component';\r\nexport default NewsLayout4Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsSubHeaderComponent from './NewsSubHeaderComponent';\r\nimport NewsCategoriesComponent from './NewsCategoriesComponent';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout5Component = (props) => {\r\n const { item, listid, setPopupItem } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {i.date}\r\n {' | '}\r\n \r\n

\r\n

\r\n {\r\n if (!i.external) {\r\n setPopupItem(item);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout5Component.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n date: PropTypes.string.isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n\r\n })).isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout5Component.displayName = 'NewsLayout5Component';\r\nexport default NewsLayout5Component;\r\n","/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout6Component = (props) => {\r\n const { items, listid, setPopupItem } = props;\r\n const renderItems = items.map((_i, j) => {\r\n let i = _i;\r\n const key = j;\r\n if (i) {\r\n i = AUNewsHelpers.setExternal(i);\r\n const domID = `news-${listid}-${i.id}`;\r\n return (\r\n \r\n {\r\n if (!i.external) {\r\n setPopupItem(i);\r\n }\r\n }}\r\n href={i.url}\r\n title={i.header}\r\n dangerouslySetInnerHTML={{ __html: i.header }}\r\n />\r\n \r\n );\r\n }\r\n return null;\r\n });\r\n\r\n return (\r\n
\r\n
    \r\n {renderItems}\r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout6Component.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n url: PropTypes.string.isRequired,\r\n header: PropTypes.string.isRequired,\r\n })).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout6Component.displayName = 'NewsLayout6Component';\r\nexport default NewsLayout6Component;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout7Component = (props) => {\r\n const {\r\n item,\r\n listid,\r\n setPopupItem,\r\n lang,\r\n } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n

{i.subheader}

\r\n
    \r\n
  • \r\n {\r\n if (!i.external) {\r\n setPopupItem(props.item);\r\n }\r\n }}\r\n href={i.url}\r\n >\r\n {labels[lang].news.readMore}\r\n \r\n
  • \r\n
\r\n

\r\n
\r\n );\r\n};\r\n\r\nNewsLayout7Component.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout7Component.displayName = 'NewsLayout7Component';\r\nexport default NewsLayout7Component;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsLayout8Component = (props) => {\r\n const {\r\n item,\r\n listid,\r\n setPopupItem,\r\n lang,\r\n } = props;\r\n if (!item) {\r\n return
;\r\n }\r\n\r\n const i = AUNewsHelpers.setExternal(item);\r\n const domID = `news-${listid}-${i.id}`;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n {\r\n if (!i.external) {\r\n setPopupItem(props.item);\r\n }\r\n }}\r\n href={i.url}\r\n >\r\n {labels[lang].news.readMore}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nNewsLayout8Component.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n external: PropTypes.bool.isRequired,\r\n }).isRequired,\r\n listid: PropTypes.number.isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLayout8Component.displayName = 'NewsLayout8Component';\r\nexport default NewsLayout8Component;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport EventLayout1Component from './EventLayout1Component';\r\nimport EventLayout2Component from './EventLayout2Component';\r\nimport EventLayout3Component from './EventLayout3Component';\r\nimport NewsLayout1Component from './NewsLayout1Component';\r\nimport NewsLayout2Component from './NewsLayout2Component';\r\nimport NewsLayout3Component from './NewsLayout3Component';\r\nimport NewsLayout4Component from './NewsLayout4Component';\r\nimport NewsLayout5Component from './NewsLayout5Component';\r\nimport NewsLayout6Component from './NewsLayout6Component';\r\nimport NewsLayout7Component from './NewsLayout7Component';\r\nimport NewsLayout8Component from './NewsLayout8Component';\r\n\r\nconst NewsColumnsComponent = (props) => {\r\n const layouts = [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ];\r\n\r\n const layoutsEvents = [\r\n ,\r\n ,\r\n ,\r\n ];\r\n\r\n const {\r\n type,\r\n cols,\r\n items,\r\n setPopupItem,\r\n incrementPointer,\r\n listid,\r\n lang,\r\n } = props;\r\n let count = -1;\r\n const headerElementValue = type === 'events' ? 3 : 6;\r\n const renderColumns = cols.map((col, i) => {\r\n const outerKey = i; // LOL\r\n let isHeader = false;\r\n const renderItems = col.map((element, j) => {\r\n const innerKey = j; // Mere LOL\r\n count += 1;\r\n if (parseInt(element, 10) === headerElementValue && !isHeader) {\r\n isHeader = true;\r\n const hItems = [];\r\n for (let x = j; x < col.length; x += 1) {\r\n if (parseInt(col[x], 10) === headerElementValue) {\r\n hItems.push(items[count + x]);\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n if (type === 'events') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (parseInt(element, 10) !== headerElementValue) {\r\n incrementPointer();\r\n isHeader = false;\r\n const layoutsArray = type === 'events' ? layoutsEvents : layouts;\r\n return React.cloneElement(layoutsArray[parseInt(element, 10) - 1], {\r\n key: innerKey,\r\n item: items[count],\r\n listid,\r\n setPopupItem,\r\n lang,\r\n });\r\n }\r\n\r\n return null;\r\n });\r\n\r\n return (\r\n
\r\n {renderItems}\r\n
\r\n );\r\n });\r\n\r\n return (\r\n
\r\n {renderColumns}\r\n
\r\n );\r\n};\r\n\r\nNewsColumnsComponent.propTypes = {\r\n type: PropTypes.string.isRequired,\r\n cols: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n items: PropTypes.shape({}).isRequired,\r\n setPopupItem: PropTypes.func.isRequired,\r\n incrementPointer: PropTypes.func.isRequired,\r\n listid: PropTypes.number.isRequired,\r\n lang: PropTypes.bool.isRequired,\r\n};\r\n\r\nNewsColumnsComponent.displayName = 'NewsColumnsComponent';\r\nexport default NewsColumnsComponent;\r\n","/* eslint jsx-a11y/click-events-have-key-events: 0 */\r\n/* eslint jsx-a11y/no-noninteractive-element-interactions: 0 */\r\n/* eslint jsx-a11y/interactive-supports-focus: 0 */\r\n/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\n\r\nclass NewsRSSComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n wide: false,\r\n };\r\n }\r\n\r\n render() {\r\n const { wide } = this.state;\r\n const { url, lang } = this.props;\r\n return (\r\n
    \r\n {\r\n this.setState((prevState) => ({\r\n wide: !prevState.wide,\r\n }));\r\n }}\r\n >\r\n {(() => {\r\n if (wide) {\r\n return (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {\r\n e.stopPropagation();\r\n this.setState({\r\n wide: false,\r\n });\r\n }}\r\n />\r\n

    \r\n {'RSS '}\r\n feed\r\n

    \r\n

    {labels[lang].news.rssCopy}

    \r\n \r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nNewsRSSComponent.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n lang: PropTypes.string.isRequired,\r\n};\r\n\r\nNewsRSSComponent.displayName = 'NewsRSSComponent';\r\nexport default NewsRSSComponent;\r\n","/* eslint-env browser */\r\n/* NO IMPORTS! */\r\n\r\nconst { serviceScopeProfile } = window; // Sættes pr. webapp\r\n\r\nconst sortAlphaObj = (a, b) => {\r\n if (typeof a.name !== 'undefined' && typeof b.name !== 'undefined') {\r\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase(), 'da', { ignorePunctuation: true });\r\n }\r\n return 0;\r\n};\r\n\r\nconst isElementInViewport = (element) => {\r\n if (element === null) {\r\n return false;\r\n }\r\n\r\n const rect = element.getBoundingClientRect();\r\n\r\n return rect.bottom > 0\r\n && rect.right > 0\r\n && rect.left < (window.innerWidth || document.documentElement.clientWidth)\r\n && rect.top < (window.innerHeight || document.documentElement.clientHeight);\r\n};\r\n\r\nconst isElementPartlyInViewport = (element) => {\r\n let top = element.offsetTop;\r\n let left = element.offsetLeft;\r\n const width = element.offsetWidth;\r\n const height = element.offsetHeight;\r\n\r\n let offsetElement = element;\r\n while (offsetElement.offsetParent) {\r\n offsetElement = element.offsetParent;\r\n top += element.offsetTop;\r\n left += element.offsetLeft;\r\n }\r\n\r\n return (\r\n top < (window.pageYOffset + window.innerHeight)\r\n && left < (window.pageXOffset + window.innerWidth)\r\n && (top + height) > window.pageYOffset\r\n && (left + width) > window.pageXOffset\r\n );\r\n};\r\n\r\nconst setCookie = (cookieName, value, maxAge = null, exdays = null, path = ';path=/;domain=au.dk') => {\r\n let cookieValue = encodeURI(value);\r\n if (exdays != null) {\r\n const exdate = new Date();\r\n exdate.setDate(exdate.getDate() + exdays);\r\n cookieValue = `${cookieValue}; expires=${exdate.toUTCString()}`;\r\n } else if (maxAge != null) {\r\n cookieValue = `${cookieValue}; max-age=${maxAge}`;\r\n }\r\n\r\n document.cookie = `${cookieName}=${cookieValue}${path}`;\r\n};\r\n\r\nconst getCookie = (cookieName) => {\r\n let cookieValue = document.cookie;\r\n let cookieStart = cookieValue.indexOf(` ${cookieName}=`);\r\n if (cookieStart === -1) {\r\n cookieStart = cookieValue.indexOf(`${cookieName}=`);\r\n }\r\n if (cookieStart === -1) {\r\n cookieValue = null;\r\n } else {\r\n cookieStart = cookieValue.indexOf('=', cookieStart) + 1;\r\n let cookieEnd = cookieValue.indexOf(';', cookieStart);\r\n if (cookieEnd === -1) {\r\n cookieEnd = cookieValue.length;\r\n }\r\n cookieValue = decodeURI(cookieValue.substring(cookieStart, cookieEnd));\r\n }\r\n return cookieValue;\r\n};\r\n\r\nconst addToSessionStorage = (key, data) => {\r\n if (window.sessionStorage) {\r\n sessionStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n return data;\r\n};\r\n\r\nconst getFromSessionStorage = (key) => {\r\n if (window.sessionStorage) {\r\n const data = sessionStorage.getItem(key);\r\n if (data) {\r\n return JSON.parse(data);\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst addToLocalStorage = (key, data) => {\r\n if (window.localStorage) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n return data;\r\n};\r\n\r\nconst getFromLocalStorage = (key) => {\r\n if (window.localStorage) {\r\n const data = localStorage.getItem(key);\r\n if (data) {\r\n return JSON.parse(data);\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst setContextInSession = (key, data, clearPrevious = true) => {\r\n if (clearPrevious) {\r\n Object.entries(window.sessionStorage).forEach((entry) => {\r\n const entryKey = entry[0];\r\n if (entryKey.includes('user-context')) {\r\n window.sessionStorage.removeItem(entryKey);\r\n }\r\n });\r\n }\r\n window.sessionStorage.setItem(`user-context-${key}`, data);\r\n};\r\n\r\nconst getContextFromSession = (key = '', any = false) => {\r\n if (any) {\r\n let foundContext = null;\r\n Object.entries(window.sessionStorage).forEach((entry) => {\r\n const entryKey = entry[0];\r\n if (entryKey.includes('user-context')) {\r\n foundContext = window.sessionStorage.getItem(entryKey);\r\n }\r\n });\r\n return foundContext;\r\n }\r\n\r\n return window.sessionStorage.getItem(`user-context-${key}`);\r\n};\r\n\r\n// Credits: http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/\r\nconst setCaretPosition = (element, pos) => {\r\n // Modern browsers\r\n if (element && element.setSelectionRange) {\r\n element.focus();\r\n element.setSelectionRange(pos, pos);\r\n }\r\n};\r\n\r\nconst splitPhoneNumber = (countryCodes, phoneNumber) => {\r\n const countryCodeFound = (code) => countryCodes.filter(\r\n (x) => x.code === parseInt(code, 10),\r\n ).length > 0;\r\n\r\n const findPrefix = () => {\r\n if (countryCodes.length > 0) {\r\n const skip = phoneNumber.length > 0 ? '' : '+'; // Hackish...\r\n let count = 1;\r\n let prefix = countryCodes.find((x) => x.important).code;\r\n while (count < phoneNumber.length) {\r\n const split = phoneNumber.substring(skip.length, skip.length + count);\r\n if (countryCodeFound(split)) {\r\n prefix = split;\r\n }\r\n count += 1;\r\n }\r\n return skip + prefix;\r\n }\r\n return '';\r\n };\r\n\r\n const prefix = findPrefix();\r\n return {\r\n prefix,\r\n number: phoneNumber.replace(prefix, ''),\r\n };\r\n};\r\n\r\nconst prettyPrintPhone = (countryCodes, phone) => {\r\n if (phone) {\r\n const { prefix, number } = splitPhoneNumber(countryCodes, phone);\r\n if (prefix) {\r\n return `${prefix} ${number.match(/\\d{1,2}/g).join(' ')}`;\r\n }\r\n return number.match(/\\d{1,2}/g).join(' ');\r\n }\r\n return '';\r\n};\r\n\r\nconst getAccessToken = (auAuth, serviceScope, callback) => {\r\n auAuth.getAccessToken([serviceScope]).then((accessToken) => {\r\n callback(accessToken.accessToken);\r\n });\r\n};\r\n\r\nconst parseError = (errorArray) => errorArray.map((e) => e.errorMessage).join(', ');\r\n\r\nconst scrollTo = (x = 0, y = 0) => window.scrollTo(x, y);\r\n\r\nexport {\r\n sortAlphaObj,\r\n isElementInViewport,\r\n isElementPartlyInViewport,\r\n setCookie,\r\n getCookie,\r\n addToLocalStorage,\r\n getFromLocalStorage,\r\n addToSessionStorage,\r\n getFromSessionStorage,\r\n setCaretPosition,\r\n getAccessToken,\r\n serviceScopeProfile,\r\n splitPhoneNumber,\r\n prettyPrintPhone,\r\n parseError,\r\n scrollTo,\r\n setContextInSession,\r\n getContextFromSession,\r\n};\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { isElementInViewport } from '../lib/helpers';\r\n/**\r\n * AU Spinner Komponent\r\n * Bliver brugt til lazy-loading af elementer, der først skal indlæses når de er synlige.\r\n *\r\n * Eksempel:\r\n * ```jsx\r\n * Hej}\r\n loaded={this.state.spinnerLoaded}\r\n loadingCondition\r\n onLoad={() => {\r\n setTimeout(() => {\r\n this.setState({\r\n spinnerLoaded: true,\r\n });\r\n }, 2000);\r\n }}\r\n />\r\n * ```\r\n */\r\n\r\nclass AUSpinnerComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: true,\r\n visible: props.visible,\r\n };\r\n\r\n this.lazyLoad = this.lazyLoad.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.lazyLoad();\r\n window.addEventListener('scroll', () => {\r\n this.lazyLoad();\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n this.lazyLoad();\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.visible !== prevState.visible) {\r\n return {\r\n visible: nextProps.visible,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n lazyLoad() {\r\n const {\r\n loadingCondition,\r\n loaded,\r\n domID,\r\n onLoad,\r\n } = this.props;\r\n const { loading, visible } = this.state;\r\n\r\n const element = document.getElementById(domID);\r\n if (!loaded && loading && loadingCondition && (visible || isElementInViewport(element))) {\r\n this.setState({\r\n loading: false,\r\n }, () => {\r\n onLoad();\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n columns, content, loaded, domID, children,\r\n } = this.props;\r\n\r\n if (!loaded) {\r\n return (\r\n
\r\n

\r\n

\r\n );\r\n }\r\n\r\n return children || content;\r\n }\r\n}\r\n\r\nAUSpinnerComponent.defaultProps = {\r\n domID: 'au-spinner-component',\r\n visible: false,\r\n columns: 'large-12 medium-12 small-12',\r\n content: null,\r\n children: null,\r\n onLoad: () => {},\r\n};\r\n\r\nAUSpinnerComponent.propTypes = {\r\n /**\r\n * Relevant ved mere end en spinner per side\r\n */\r\n domID: PropTypes.string,\r\n /**\r\n * Om den er synlig på skærmen ved indlæsning\r\n */\r\n visible: PropTypes.bool,\r\n columns: PropTypes.string,\r\n content: PropTypes.element,\r\n children: PropTypes.element,\r\n loaded: PropTypes.bool.isRequired,\r\n loadingCondition: PropTypes.bool.isRequired,\r\n onLoad: PropTypes.func,\r\n};\r\n\r\nAUSpinnerComponent.displayName = 'AUSpinnerComponent';\r\nexport default AUSpinnerComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport EventLayout1Component from './EventLayout1Component';\r\nimport EventLayout2Component from './EventLayout2Component';\r\nimport EventLayout3Component from './EventLayout3Component';\r\nimport NewsLayout1Component from './NewsLayout1Component';\r\nimport NewsLayout2Component from './NewsLayout2Component';\r\nimport NewsLayout3Component from './NewsLayout3Component';\r\nimport NewsLayout4Component from './NewsLayout4Component';\r\nimport NewsLayout5Component from './NewsLayout5Component';\r\nimport NewsLayout6Component from './NewsLayout6Component';\r\nimport NewsLayout7Component from './NewsLayout7Component';\r\nimport NewsLayout8Component from './NewsLayout8Component';\r\nimport NewsColumnsComponent from './NewsColumnsComponent';\r\nimport NewsRSSComponent from './NewsRSSComponent';\r\nimport AUSpinnerComponent from '../AUSpinnerComponent';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsConfig } from '../../lib/au-news';\r\n\r\nclass NewsListComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.pointer = -1;\r\n this.layouts = [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ];\r\n\r\n this.layoutsEvents = [\r\n ,\r\n ,\r\n ,\r\n ];\r\n\r\n const { list, elements } = props;\r\n\r\n this.state = {\r\n loading: true,\r\n more: !list.noPageBrowser,\r\n items: [],\r\n elements,\r\n };\r\n\r\n this.handleLoadMore = this.handleLoadMore.bind(this);\r\n this.incrementPointer = this.incrementPointer.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setHeader();\r\n }\r\n\r\n getItems(index, amount, callback) {\r\n const { list, lang } = this.props;\r\n const url = `${AUNewsConfig.server}/index.php?eID=getAuNewsFeed&mode=key&key=${list.feed_key}&index=${index}&amount=${(amount + (list.noPageBrowser === 0 ? 1 : 0))}&lang=${lang}${list.extra_param}&callback=?`;\r\n\r\n // Axios does not support JSONP requests!\r\n $.ajax({\r\n url,\r\n dataType: 'json',\r\n jsonpCallback: url.hashCode(),\r\n jsonp: true,\r\n cache: true,\r\n success: (items) => {\r\n callback(items, items.length > amount && list.noPageBrowser === 0);\r\n },\r\n });\r\n }\r\n\r\n setHeader() {\r\n const { list } = this.props;\r\n list.header = document.querySelector(`#c${list.id} .csc-header h1`);\r\n if (!list.header) {\r\n list.header = document.querySelector(`#c${list.id} .csc-header h2`);\r\n }\r\n if (list.header) {\r\n list.header.parentNode.classList.add('relative');\r\n }\r\n }\r\n\r\n incrementPointer() {\r\n // \"Global\" pointer til at holde styr på, hvor langt vi er nået igennem data\r\n // til de forskellige elementer\r\n this.pointer += 1;\r\n }\r\n\r\n handleLoadMore(e) {\r\n e.preventDefault();\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n const { elements } = this.props;\r\n let lastElement = elements[elements.length - 1];\r\n if (Array.isArray(lastElement)) {\r\n const temp = lastElement[lastElement.length - 1];\r\n if (Array.isArray(temp)) {\r\n lastElement = temp[temp.length - 1];\r\n } else {\r\n lastElement = temp;\r\n }\r\n }\r\n\r\n const amount = 10;\r\n const newElements = [];\r\n for (let i = 0; i < amount; i += 1) {\r\n newElements.push(lastElement);\r\n }\r\n\r\n const { items, elements: sElements } = this.state;\r\n this.getItems(items.length - 1, amount, (_items, more) => {\r\n this.setState({\r\n items: items.slice(0, items.length - 1).concat(_items),\r\n elements: sElements.concat(newElements),\r\n loading: false,\r\n more,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n this.pointer = -1;\r\n const {\r\n list,\r\n elements: pElements,\r\n lang,\r\n setItem,\r\n } = this.props;\r\n const {\r\n items,\r\n elements,\r\n loading,\r\n more,\r\n } = this.state;\r\n let isHeader = false;\r\n const headerElementValue = list.feed_type === 'events' ? 3 : 6;\r\n const renderElements = elements.map((e, j) => {\r\n const key = j;\r\n // Kolonne\r\n if (Array.isArray(e)) {\r\n let length = 0;\r\n for (let i = 0; i < e.length; i += 1) {\r\n for (let n = 0; n < e[i].length; n += 1) {\r\n this.incrementPointer();\r\n length += 1;\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n // Ikke-kolonne\r\n const element = parseInt(e, 10);\r\n if (element === headerElementValue && !isHeader) {\r\n isHeader = true;\r\n const hItems = [];\r\n for (let x = j; x < items.length; x += 1) {\r\n // Høker-hack-fix af load more ved listevisning\r\n // jf. FB84396 - der er givetvis stadig et issue, hvis listerne ligger i en kolonne...\r\n if (parseInt(pElements[x], 10) === headerElementValue\r\n || (!Number.isNaN(pElements[x]) && items.length - pElements.length > 2)) {\r\n this.incrementPointer();\r\n hItems.push(items[this.pointer]);\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n if (list.feed_type === 'events') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (element !== headerElementValue) {\r\n this.incrementPointer();\r\n isHeader = false;\r\n const layoutsArray = list.feed_type === 'events' ? this.layoutsEvents : this.layouts;\r\n return React.cloneElement(layoutsArray[element - 1], {\r\n key,\r\n item: items[this.pointer],\r\n listid: list.id,\r\n setPopupItem: setItem,\r\n lang,\r\n });\r\n }\r\n\r\n return null;\r\n });\r\n\r\n let syndication = null;\r\n const syndicationNode = document.querySelector(`#c${list.id} .csc-header`);\r\n if (syndicationNode && AUNewsConfig.useSyndication && list.feed_type !== 'events') {\r\n syndication = ReactDOM.createPortal(\r\n ,\r\n syndicationNode,\r\n '2',\r\n );\r\n }\r\n\r\n return [\r\n
\r\n {renderElements}\r\n {(() => {\r\n if (more) {\r\n return (\r\n \r\n {labels[lang].news.listLoadMore}\r\n \r\n );\r\n }\r\n return null;\r\n })()}\r\n
,\r\n {\r\n this.getItems(0, list.amount, (_items, _more) => {\r\n this.setState({ items: _items, loading: false, more: _more });\r\n });\r\n }}\r\n content={
}\r\n />,\r\n syndication,\r\n ];\r\n }\r\n}\r\n\r\nNewsListComponent.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n list: PropTypes.shape({\r\n feed_key: PropTypes.string.isRequired,\r\n noPageBrowser: PropTypes.bool.isRequired,\r\n id: PropTypes.number.isRequired,\r\n amount: PropTypes.number.isRequired,\r\n extra_param: PropTypes.string.isRequired,\r\n header: PropTypes.instanceOf(Element).isRequired,\r\n feed_type: PropTypes.string.isRequired,\r\n }).isRequired,\r\n elements: PropTypes.arrayOf(PropTypes.number).isRequired,\r\n setItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsListComponent.displayName = 'NewsListComponent';\r\nexport default NewsListComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass NewsLanguageChangeComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const { item } = props;\r\n this.state = {\r\n item,\r\n lang: -1,\r\n altLangLink: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { getItem, lang: pLang } = this.props;\r\n const { item } = this.state;\r\n const lang = pLang === 'da' ? 1 : 0;\r\n let changeLangElement = document.querySelector('.language-selector a');\r\n if (!changeLangElement) {\r\n // Oh for fuck sake! Medarbejderheaderen...\r\n changeLangElement = document.querySelector('.languageselector a');\r\n }\r\n if (changeLangElement) {\r\n const t3LangChangeLink = changeLangElement.getAttribute('href');\r\n if (t3LangChangeLink) {\r\n getItem(item.id, lang, (data) => {\r\n let hasAltLanguage = false;\r\n const pl = data.permalink;\r\n if (lang === 0 && pl.indexOf('/en/') === -1) {\r\n // Klik på \"dansk\" fra engelsk nyhed\r\n hasAltLanguage = true;\r\n }\r\n if (lang === 1 && pl.indexOf('/en/') > -1) {\r\n // Klik på \"english\" fra dansk nyhed\r\n hasAltLanguage = true;\r\n }\r\n\r\n if (hasAltLanguage) {\r\n this.setState({\r\n altLangLink: `${t3LangChangeLink}#news-${item.id}`,\r\n lang,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { lang, altLangLink } = this.state;\r\n if (lang === -1) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {lang === 1 ? 'English' : 'Danish'}\r\n \r\n );\r\n }\r\n}\r\n\r\nNewsLanguageChangeComponent.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n }).isRequired,\r\n getItem: PropTypes.func.isRequired,\r\n};\r\n\r\nNewsLanguageChangeComponent.displayName = 'NewsLanguageChangeComponent';\r\nexport default NewsLanguageChangeComponent;\r\n","/* eslint-env browser */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\n\r\nclass NewsSocialComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n mailOpen: false,\r\n };\r\n }\r\n\r\n render() {\r\n const { item, lang } = this.props;\r\n const { mailOpen } = this.state;\r\n\r\n return (\r\n
\r\n
    \r\n
  • \r\n {\r\n e.preventDefault();\r\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${item.permalink}`, '', 'width=600,height=450');\r\n }}\r\n >\r\n {labels[lang].share.facebook}\r\n \r\n
  • \r\n
  • \r\n {\r\n e.preventDefault();\r\n const url = encodeURI(item.permalink);\r\n const title = encodeURI(item.header);\r\n window.open(`https://twitter.com/intent/tweet?text=${title}&url=${url}`, '', 'width=550,height=450');\r\n }}\r\n >\r\n {labels[lang].share.twitter}\r\n \r\n
  • \r\n
  • \r\n {\r\n e.preventDefault();\r\n const url = encodeURI(item.permalink);\r\n window.open(`https://www.linkedin.com/shareArticle?mini=true&url=${url}`, '', 'width=850,height=550');\r\n }}\r\n >\r\n {labels[lang].share.linkedin}\r\n \r\n
  • \r\n
  • \r\n {\r\n e.preventDefault();\r\n this.setState((prevState) => ({\r\n mailOpen: !prevState.mailOpen,\r\n }));\r\n }}\r\n >\r\n {labels[lang].share.mail}\r\n \r\n \r\n
  • \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nNewsSocialComponent.propTypes = {\r\n item: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n permalink: PropTypes.string.isRequired,\r\n }).isRequired,\r\n lang: PropTypes.string.isRequired,\r\n};\r\n\r\nNewsSocialComponent.displayName = 'NewsSocialComponent';\r\nexport default NewsSocialComponent;\r\n","/* eslint-env browser */\r\n/* eslint jsx-a11y/no-noninteractive-tabindex: 0 */\r\n/* eslint jsx-a11y/control-has-associated-label: 0 */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NewsLanguageChangeComponent from './NewsLanguageChangeComponent';\r\nimport NewsSocialComponent from './NewsSocialComponent';\r\nimport { newsLabels as labels } from '../../lib/i18n';\r\nimport { AUNewsHelpers, AUNewsConfig } from '../../lib/au-news';\r\n\r\nconst setFade = () => {\r\n const fade = document.getElementById('fade');\r\n if (fade) {\r\n fade.style.display = 'block';\r\n fade.style.opacity = 0.7;\r\n fade.style.zIndex = 101;\r\n }\r\n};\r\n\r\nclass NewsPopUpComponent extends React.Component {\r\n static getItem(id, lang, callback) {\r\n const url = `${AUNewsConfig.server}/index.php?eID=getAuNewsFeed&mode=id&key=${id}&lang=${lang}&callback=?`;\r\n // Axios does not support JSONP requests!\r\n $.ajax({\r\n url,\r\n dataType: 'json',\r\n jsonpCallback: url.hashCode(),\r\n jsonp: true,\r\n cache: true,\r\n success: (data) => {\r\n if (data && data.length === 1) {\r\n if (typeof callback === 'function' && data[0].hidden !== '1') {\r\n callback(data[0]);\r\n }\r\n }\r\n },\r\n });\r\n }\r\n\r\n static calculateHeight() {\r\n if (document.querySelector('.au_news_popup') && !AU.helpers.isMobileDevice()) {\r\n const element = document.querySelector('.au_news_popup');\r\n const viewPortHeight = Math.max(\r\n document.documentElement.clientHeight, window.innerHeight || 0,\r\n );\r\n const popupTop = getComputedStyle(element).top.replace('px', '');\r\n const popupBottom = getComputedStyle(element).bottom.replace('px', '');\r\n element.querySelector('.au_news_popup_inner').style.height = `${viewPortHeight - popupTop - popupBottom}px`;\r\n }\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n const { item } = props;\r\n this.state = {\r\n item,\r\n };\r\n\r\n this.posBeforeShow = 0;\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n item,\r\n id,\r\n lang,\r\n print,\r\n } = this.props;\r\n const { item: sItem } = this.state;\r\n if (item == null) {\r\n NewsPopUpComponent.getItem(id, lang, (_item) => {\r\n const trackerLink = `/virtual/news/${AUNewsHelpers.typeIdToText(_item.type)}/open-single/id-${_item.id}/${_item.permalink}`;\r\n AU.tracking.trackSingle(trackerLink);\r\n this.setState({\r\n item: _item,\r\n }, () => {\r\n if (print) {\r\n window.print();\r\n }\r\n });\r\n });\r\n }\r\n\r\n setFade();\r\n document.querySelector('.au_news_popup_inner').focus();\r\n NewsPopUpComponent.calculateHeight();\r\n if (sItem != null) {\r\n // this.setDisqus();\r\n NewsPopUpComponent.setLightBox();\r\n }\r\n this.posBeforeShow = document.documentElement.scrollTop === 0\r\n ? document.body.scrollTop : document.documentElement.scrollTop;\r\n document.querySelector('body').classList.add('news-overlay-open');\r\n AU.resize.push(() => {\r\n NewsPopUpComponent.calculateHeight();\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n const { item } = this.state;\r\n if (item != null) {\r\n // this.setDisqus();\r\n NewsPopUpComponent.setLightBox();\r\n setFade();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const fade = document.getElementById('fade');\r\n if (fade) {\r\n fade.style.display = 'none';\r\n document.querySelector('body').style.overflowY = 'visible';\r\n document.documentElement.scrollTop = this.posBeforeShow;\r\n document.body.scrollTop = this.posBeforeShow;\r\n }\r\n }\r\n\r\n setDisqus() {\r\n const { item } = this.state;\r\n window.disqus_url = item.permalink;\r\n if (window.disqus_url !== '' && !item.comments_closed && item.id > 0) {\r\n if (!window.disqus_loaded) {\r\n $.getScript('//disqus.com/forums/rapexegesis/embed.js', () => {\r\n window.disqus_loaded = true;\r\n });\r\n } else {\r\n window.DISQUS.reset({\r\n reload: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n static setLightBox() {\r\n $('.au_news_popup a[rel=\"lightbox\"]').magnificPopup({\r\n type: 'image',\r\n gallery: {\r\n enabled: true,\r\n },\r\n modal: false,\r\n });\r\n }\r\n\r\n render() {\r\n const { item } = this.state;\r\n const { lang } = this.props;\r\n\r\n let outerClassName = 'au_news_popup social';\r\n if (AUNewsHelpers.isiPad()) {\r\n outerClassName += ' ipad';\r\n }\r\n\r\n if (!item) {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n const additionalInfo = item.links.length > 0\r\n || item.related.length > 0\r\n || item.files.length > 0;\r\n const renderCategories = null; /* item.categories ? item.categories.map(\r\n (c, j) => (\r\n \r\n {`${j === 0 ? '' : ', '} ${c.category}`}\r\n \r\n ),\r\n ) : ''; */\r\n\r\n const printUrl = window.location.href.replace(window.location.hash, `?newsprint=true${window.location.hash}`);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {\r\n e.preventDefault();\r\n window.open(printUrl, '', 'width=1025,height=600');\r\n }}\r\n >\r\n Print\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {(() => {\r\n if (item.event_from == null) {\r\n return (\r\n

\r\n {item.date}\r\n \r\n | \r\n \r\n {item.author.name}\r\n \r\n \r\n

\r\n );\r\n }\r\n return null;\r\n })()}\r\n {(() => {\r\n if (item.image.src !== '' && item.layout === 'Standard') {\r\n return (\r\n
\r\n \r\n \r\n \r\n

{item.image.title}

\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n {(() => {\r\n if (item.event_from) {\r\n const fromDateSplit = item.event_from.date.split('.');\r\n const toDateSplit = item.event_to.date.split('.');\r\n let fromDate;\r\n let toDate;\r\n\r\n if (lang === 'en') {\r\n fromDate = new Date(\r\n parseInt(fromDateSplit[0], 10),\r\n parseInt(fromDateSplit[1], 10) - 1,\r\n parseInt(fromDateSplit[2], 10),\r\n );\r\n toDate = new Date(\r\n parseInt(toDateSplit[0], 10),\r\n parseInt(toDateSplit[1], 10) - 1,\r\n parseInt(toDateSplit[2], 10),\r\n );\r\n } else {\r\n fromDate = new Date(\r\n parseInt(fromDateSplit[2], 10),\r\n parseInt(fromDateSplit[1], 10) - 1,\r\n parseInt(fromDateSplit[0], 10),\r\n );\r\n toDate = new Date(\r\n parseInt(toDateSplit[2], 10),\r\n parseInt(toDateSplit[1], 10) - 1,\r\n parseInt(toDateSplit[0], 10),\r\n );\r\n }\r\n\r\n const differentDays = !(\r\n toDate.getFullYear() === fromDate.getFullYear()\r\n && toDate.getMonth() === fromDate.getMonth()\r\n && toDate.getDate() === fromDate.getDate()\r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{labels[lang].news.eventDate}\r\n \r\n \r\n {`${labels[lang].news.weekdays[fromDate.getDay()]} `}\r\n \r\n \r\n {`${fromDate.getDate() + (lang === 'da' ? '.' : '')} `}\r\n \r\n \r\n {`${labels[lang].news.months[fromDate.getMonth()]} ${fromDate.getFullYear()}`}\r\n \r\n \r\n {(() => {\r\n if (differentDays) {\r\n return (\r\n \r\n \r\n \r\n \r\n {`${labels[lang].news.weekdays[toDate.getDay()]} `}\r\n \r\n \r\n {`${toDate.getDate() + (lang === 'da' ? '.' : '')} `}\r\n \r\n \r\n {`${labels[lang].news.months[toDate.getMonth()]} ${toDate.getFullYear()}`}\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n })()}\r\n\r\n
{labels[lang].news.eventTime}\r\n {item.event_from.time}\r\n {(() => {\r\n if (!differentDays) {\r\n return (\r\n \r\n \r\n {item.event_to.time}\r\n \r\n );\r\n }\r\n return null;\r\n })()}\r\n
{labels[lang].news.eventWhere}{item.event_where}
\r\n {(() => {\r\n if (item.event_regurl !== '') {\r\n if (lang === 'da' && item.event_regfrom && item.event_regto) {\r\n const regFromDateSplit = item.event_regfrom.date.split('.');\r\n item.event_regfrom.date = `${regFromDateSplit[2]}.${regFromDateSplit[1]}.${regFromDateSplit[0]}`;\r\n const regToDateSplit = item.event_regto.date.split('.');\r\n item.event_regto.date = `${regToDateSplit[2]}.${regToDateSplit[1]}.${regToDateSplit[0]}`;\r\n }\r\n\r\n if (!(item.event_regfrom && item.event_regto) || (new Date() > new Date(item.event_regfrom.date.replace(/\\./g, '-')) && new Date() < new Date(item.event_regto.date.replace(/\\./g, '-')))) {\r\n return (\r\n \r\n -1 ? 'mailto:' : '') + item.event_regurl}>{labels[lang].news.eventRegistration}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n })()}\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n {(() => {\r\n const renderSubImages = item.subimages.map((s) => (\r\n
\r\n \r\n {s.title}\r\n \r\n

\r\n {s.title}\r\n

\r\n
\r\n ));\r\n\r\n if (item.image.src !== '' && item.image.layout5 !== '' && item.layout === 'Alternativ 1') {\r\n return (\r\n
\r\n
\r\n \r\n {item.image.title}\r\n \r\n

\r\n {item.image.title}\r\n

\r\n
\r\n {renderSubImages}\r\n
\r\n );\r\n }\r\n\r\n if (item.subimages.length > 0 && item.image.src !== '' && item.layout === 'Standard') {\r\n return (\r\n
\r\n {renderSubImages}\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n \r\n {(() => {\r\n if (item.event_from) {\r\n return (\r\n

\r\n {item.date}\r\n \r\n | \r\n \r\n {item.author.name}\r\n \r\n \r\n

\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n {renderCategories}\r\n
\r\n \r\n {(() => {\r\n if (additionalInfo) {\r\n const renderLinks = item.links.map((l) => {l.text});\r\n\r\n const renderRelated = item.related.map((r) => (\r\n \r\n {r.text}\r\n {` ${r.date}`}\r\n \r\n ));\r\n\r\n const renderFiles = item.files.map((f) => {f.text});\r\n\r\n return (\r\n
\r\n {(() => {\r\n if (item.links.length > 0) {\r\n return (\r\n
\r\n
Links
\r\n
\r\n {renderLinks}\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n {(() => {\r\n if (item.related.length > 0) {\r\n return (\r\n
\r\n
{lang === 'da' ? 'Læs også' : 'Read more'}
\r\n
\r\n {renderRelated}\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n {(() => {\r\n if (item.files.length > 0) {\r\n return (\r\n
\r\n
Download
\r\n
\r\n {renderFiles}\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n );\r\n }\r\n return null;\r\n })()}\r\n
\r\n {(() => {\r\n if (!item.comments_closed) {\r\n return
;\r\n }\r\n return null;\r\n })()}\r\n
\r\n \r\n
\r\n {\r\n window.location.hash = '';\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nNewsPopUpComponent.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n print: PropTypes.bool.isRequired,\r\n item: PropTypes.shape({\r\n type: PropTypes.number.isRequired,\r\n id: PropTypes.number.isRequired,\r\n header: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n permalink: PropTypes.string.isRequired,\r\n comments_closed: PropTypes.bool.isRequired,\r\n links: PropTypes.arrayOf(PropTypes.shape({\r\n href: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n })).isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.shape({\r\n category: PropTypes.string.isRequired,\r\n })).isRequired,\r\n files: PropTypes.arrayOf(PropTypes.shape({\r\n href: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n })).isRequired,\r\n related: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n text: PropTypes.string.isRequired,\r\n })).isRequired,\r\n event_from: PropTypes.shape({\r\n date: PropTypes.string,\r\n time: PropTypes.string,\r\n }),\r\n event_to: PropTypes.shape({\r\n date: PropTypes.string,\r\n time: PropTypes.string,\r\n }),\r\n event_where: PropTypes.string.isRequired,\r\n event_regfrom: PropTypes.shape({\r\n date: PropTypes.string,\r\n time: PropTypes.string,\r\n }),\r\n event_regto: PropTypes.shape({\r\n date: PropTypes.string,\r\n time: PropTypes.string,\r\n }),\r\n event_regurl: PropTypes.string.isRequired,\r\n date: PropTypes.string.isRequired,\r\n autor: PropTypes.shape({\r\n email: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n }).isRequired,\r\n image: PropTypes.shape({\r\n src: PropTypes.string.isRequired,\r\n href: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n width: PropTypes.string.isRequired,\r\n height: PropTypes.string.isRequired,\r\n layout5: PropTypes.string.isRequired,\r\n }),\r\n subimages: PropTypes.arrayOf(PropTypes.shape({\r\n href: PropTypes.string.isRequired,\r\n title: PropTypes.string.isRequired,\r\n width: PropTypes.string.isRequired,\r\n height: PropTypes.string.isRequired,\r\n })),\r\n layout: PropTypes.string.isRequired,\r\n content: PropTypes.string.isRequired,\r\n }).isRequired,\r\n id: PropTypes.number.isRequired,\r\n};\r\n\r\nNewsPopUpComponent.displayName = 'NewsPopUpComponent';\r\nexport default NewsPopUpComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { AUNewsHelpers } from '../../lib/au-news';\r\n\r\nconst NewsCollageBannerComponent = (props) => {\r\n const {\r\n lang,\r\n item,\r\n title,\r\n type,\r\n } = props;\r\n const className = `aubanner hastext aubanner-2 ${(type === 'events' ? 'bg-dark-magenta' : 'bg-dark-staff')}`;\r\n const isEvent = AUNewsHelpers.typeIdToText(item.type) === 'event';\r\n let multipleDates = false;\r\n let dateStr = item.date;\r\n if (isEvent) {\r\n const { fromDate, toDate } = AUNewsHelpers.getEventDates(item, lang);\r\n multipleDates = fromDate.getTime() !== toDate.getTime();\r\n dateStr = `${item.event_from.date} ${item.event_from.time} - ${(multipleDates ? `${item.event_to.date} ` : '')}${item.event_to.time}`;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nNewsCollageBannerComponent.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n image: PropTypes.shape({\r\n href: PropTypes.string.isRequired,\r\n }).isRequired,\r\n header: PropTypes.string.isRequired,\r\n event_from: PropTypes.shape({\r\n date: PropTypes.string.isRequired,\r\n time: PropTypes.string.isRequired,\r\n }).isRequired,\r\n event_to: PropTypes.shape({\r\n date: PropTypes.string.isRequired,\r\n time: PropTypes.string.isRequired,\r\n }).isRequired,\r\n event_where: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n type: PropTypes.string.isRequired,\r\n date: PropTypes.string.isRequired,\r\n subheader: PropTypes.string.isRequired,\r\n }).isRequired,\r\n title: PropTypes.string.isRequired,\r\n type: PropTypes.string.isRequired,\r\n};\r\n\r\nNewsCollageBannerComponent.displayName = 'NewsCollageBannerComponent';\r\nexport default NewsCollageBannerComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst appendZero = (datePart) => `${datePart < 10 ? '0' : ''}${datePart}`;\r\nconst strDateTime = (dateTime, lang, showTime = false) => {\r\n if (lang === 'da') {\r\n if (showTime) {\r\n return `${appendZero(dateTime.getDate())}.${appendZero(dateTime.getMonth() + 1)}.${dateTime.getFullYear()} ${appendZero(dateTime.getHours())}:${appendZero(dateTime.getMinutes())}`;\r\n }\r\n return `${appendZero(dateTime.getDate())}.${appendZero(dateTime.getMonth() + 1)}.${dateTime.getFullYear()}`;\r\n }\r\n\r\n if (showTime) {\r\n return `${appendZero(dateTime.getMonth() + 1)}.${appendZero(dateTime.getDate())}.${dateTime.getFullYear()} ${appendZero(dateTime.getHours())}:${appendZero(dateTime.getMinutes())}`;\r\n }\r\n\r\n return `${appendZero(dateTime.getMonth() + 1)}.${appendZero(dateTime.getDate())}.${dateTime.getFullYear()}`;\r\n};\r\n\r\nconst NewsCollageBannerComponent = (props) => {\r\n const {\r\n lang,\r\n item,\r\n title,\r\n type,\r\n } = props;\r\n const className = `aubanner hastext aubanner-2 ${(type === 'events' ? 'bg-dark-magenta' : 'bg-dark-staff')}`;\r\n const isEvent = item.Type === 1; // Enum fra C#\r\n const published = new Date(item.Published);\r\n let dateStr = strDateTime(published, lang);\r\n\r\n if (isEvent) {\r\n const eventFrom = new Date(item.EventFrom);\r\n const eventTo = new Date(item.EventTo);\r\n const multipleDates = eventFrom !== eventTo;\r\n dateStr = `${strDateTime(eventFrom, lang, true)}${multipleDates ? ` – ${strDateTime(eventTo, lang, true)}` : ''}`;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nNewsCollageBannerComponent.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n item: PropTypes.shape({\r\n Published: PropTypes.instanceOf(Date).isRequired,\r\n Type: PropTypes.number.isRequired,\r\n Image: PropTypes.string.isRequired,\r\n Header: PropTypes.string.isRequired,\r\n SubHeader: PropTypes.string.isRequired,\r\n Uri: PropTypes.string.isRequired,\r\n EventWhere: PropTypes.string.isRequired,\r\n EventFrom: PropTypes.instanceOf(Date).isRequired,\r\n EventTo: PropTypes.instanceOf(Date).isRequired,\r\n }).isRequired,\r\n title: PropTypes.string.isRequired,\r\n type: PropTypes.string.isRequired,\r\n};\r\n\r\nNewsCollageBannerComponent.displayName = 'NewsCollageBannerComponent';\r\nexport default NewsCollageBannerComponent;\r\n","/* eslint-env browser */\r\n/* eslint max-classes-per-file: 0 */\r\n/* eslint class-methods-use-this: 0 */\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport NewsListComponent from '../components/news/NewsListComponent';\r\nimport NewsPopUpComponent from '../components/news/NewsPopUpComponent';\r\nimport NewsCollageBannerComponent from '../components/news/NewsCollageBannerComponent';\r\nimport NewsCollageBannerRSSComponent from '../components/news/NewsCollageBannerRSSComponent';\r\nimport { isElementInViewport } from './helpers';\r\n\r\nconst AUNewsConfig = {\r\n server: window.newsServer || '//news.au.dk',\r\n newsUrl: `${window.location.href.replace(window.location.hash, '').replace('#', '')}#news-`,\r\n useOverlay: !(typeof window.useOverlay !== 'undefined' && !window.useOverlay),\r\n useSyndication: !(typeof window.useSyndication !== 'undefined' && !window.useSyndication),\r\n tagStrip: new RegExp(/<(?!\\/?sub|sup(?=>|\\s.*>))\\/?.*?>/ig),\r\n};\r\n\r\nclass AUNewsHelpers {\r\n static typeIdToText(_id) {\r\n let id = _id;\r\n id = parseInt(id, 10);\r\n if (id === 0 || id === 2) {\r\n return 'news';\r\n }\r\n if (id === 4 || id === 7) {\r\n return 'event';\r\n }\r\n if (id === 9) {\r\n return 'notice';\r\n }\r\n return '';\r\n }\r\n\r\n static getEventDates(item, lang) {\r\n const fromDateSplit = item.event_from.date.split('.');\r\n let fromDate;\r\n if (lang === 'en') {\r\n fromDate = new Date(\r\n parseInt(fromDateSplit[0], 10),\r\n parseInt(fromDateSplit[1], 10) - 1,\r\n parseInt(fromDateSplit[2], 10),\r\n );\r\n } else {\r\n fromDate = new Date(\r\n parseInt(fromDateSplit[2], 10),\r\n parseInt(fromDateSplit[1], 10) - 1,\r\n parseInt(fromDateSplit[0], 10),\r\n );\r\n }\r\n\r\n const toDateSplit = item.event_to.date.split('.');\r\n let toDate;\r\n if (lang === 'en') {\r\n toDate = new Date(\r\n parseInt(toDateSplit[0], 10),\r\n parseInt(toDateSplit[1], 10) - 1,\r\n parseInt(toDateSplit[2], 10),\r\n );\r\n } else {\r\n toDate = new Date(\r\n parseInt(toDateSplit[2], 10),\r\n parseInt(toDateSplit[1], 10) - 1,\r\n parseInt(toDateSplit[0], 10),\r\n );\r\n }\r\n\r\n return {\r\n fromDate,\r\n toDate,\r\n fromDateSplit,\r\n toDateSplit,\r\n };\r\n }\r\n\r\n static setExternal(_item) {\r\n const item = _item;\r\n const ttType = parseInt(item.type, 10);\r\n item.external = ttType !== 0 && ttType !== 4 && ttType !== 9;\r\n // \"News\" eller \"Event\" eller \"Notice\"\r\n item.url = !item.external\r\n && AUNewsConfig.useOverlay ? (AUNewsConfig.newsUrl + item.id) : item.permalink;\r\n return item;\r\n }\r\n\r\n static getNewsID(search) {\r\n const reNewsId = /^#?news-(.*)$/;\r\n const match = search.match(reNewsId);\r\n if (match !== null) {\r\n return match[1];\r\n }\r\n\r\n return -1;\r\n }\r\n\r\n static isiPad() {\r\n return (/iPad/i).test(navigator.userAgent);\r\n }\r\n}\r\n\r\nclass AUNews {\r\n constructor(lang, feeds) {\r\n this.lang = lang;\r\n this.feeds = feeds || [];\r\n this.item = null;\r\n this.setItem = this.setItem.bind(this);\r\n }\r\n\r\n setItem(item) {\r\n this.item = item;\r\n }\r\n\r\n setPopUp() {\r\n const qsNewsPrint = AU.helpers.getQuerystring('newsprint');\r\n const print = qsNewsPrint !== '';\r\n const openPopUp = () => {\r\n const newsID = AUNewsHelpers.getNewsID(window.location.hash);\r\n let mountNode = document.getElementById('au_news_popup');\r\n if (print) {\r\n mountNode = document.querySelector('body');\r\n }\r\n if (parseInt(newsID, 10) > -1) {\r\n if (this.item != null) {\r\n const trackerLink = `/virtual/news/${AUNewsHelpers.typeIdToText(this.item.type)}/open-list/id-${this.item.id}/${this.item.permalink}`;\r\n AU.tracking.trackSingle(trackerLink);\r\n }\r\n // Would like to use portal here, but it won't work \"standalone\"\r\n ReactDOM.render(\r\n ,\r\n mountNode,\r\n );\r\n } else if (window.location.hash === '' || window.location.hash === '#') { // Thx IE!\r\n ReactDOM.unmountComponentAtNode(mountNode);\r\n }\r\n };\r\n\r\n openPopUp();\r\n\r\n window.addEventListener('hashchange', () => {\r\n openPopUp();\r\n });\r\n\r\n const fade = document.getElementById('fade');\r\n fade.addEventListener('click', () => {\r\n window.location.hash = '';\r\n });\r\n }\r\n\r\n init() {\r\n this.setPopUp();\r\n this.feeds.forEach((f) => {\r\n const list = f;\r\n list.container = document.querySelector(`#au_news-list_${list.id}`);\r\n list.items = [];\r\n list.page = 1;\r\n const elements = AUNews.getElementFormatArray(list);\r\n const mountNode = list.container;\r\n if (mountNode) {\r\n ReactDOM.render(\r\n ,\r\n mountNode,\r\n );\r\n }\r\n });\r\n }\r\n\r\n static getElementFormatArray(_list) {\r\n const list = _list;\r\n const elements = [];\r\n const rowSplit = list.format.split(',');\r\n let formatCount = 0;\r\n for (let r = 0; r < rowSplit.length; r += 1) {\r\n const element = rowSplit[r];\r\n if (element !== '|') {\r\n if (element.indexOf('|') > -1) {\r\n const columns = [];\r\n const columnSplit = element.split('|');\r\n for (let c = 0; c < columnSplit.length; c += 1) {\r\n const columnElements = [];\r\n const columnElementsSplit = columnSplit[c].split(';');\r\n for (let e = 0; e < columnElementsSplit.length; e += 1) {\r\n columnElements.push(columnElementsSplit[e]);\r\n list.lastelement = columnElementsSplit[e];\r\n list.lastiscolumn = true;\r\n formatCount += 1;\r\n }\r\n columns.push(columnElements);\r\n }\r\n elements.push(columns);\r\n } else {\r\n elements.push(element);\r\n list.lastiscolumn = false;\r\n list.lastelement = element;\r\n formatCount += 1;\r\n }\r\n }\r\n }\r\n\r\n if (list.page === 1) {\r\n list.amount = formatCount;\r\n }\r\n\r\n return elements;\r\n }\r\n}\r\n\r\nclass AUNewsCollage {\r\n constructor(lang, element) {\r\n this.element = element;\r\n this.loaded = false;\r\n this.lang = lang;\r\n window.addEventListener('scroll', () => {\r\n this.init();\r\n this.initRSS();\r\n });\r\n }\r\n\r\n loadData(key, callback) {\r\n const url = `${AUNewsConfig.server}/index.php?eID=getAuNewsFeed&mode=key&key=${key}&index=0&amount=4&noPageBrowser=1&lang=${this.lang}&callback=?`;\r\n $.ajax({\r\n url,\r\n dataType: 'json',\r\n jsonpCallback: url.hashCode(),\r\n jsonp: true,\r\n cache: true,\r\n success: (data) => {\r\n if (typeof callback === 'function') {\r\n callback(data);\r\n }\r\n },\r\n });\r\n }\r\n\r\n loadDataRSS(url, callback) {\r\n fetch(url).then((response) => response.json()).then((data) => callback(data.Items));\r\n }\r\n\r\n init() {\r\n if (!this.loaded && isElementInViewport(this.element) && typeof window.newsCollageRSS === 'undefined') {\r\n const newsElements = [\r\n document.querySelector('#news1'),\r\n document.querySelector('#news2'),\r\n document.querySelector('#news3'),\r\n document.querySelector('#news4'),\r\n ];\r\n\r\n const eventElements = [\r\n document.querySelector('#event1'),\r\n document.querySelector('#event2'),\r\n document.querySelector('#event3'),\r\n ];\r\n\r\n // News\r\n const newsFeedKey = this.lang === 'da' ? 'b73f5e9759ac3592043449c02dcffa56' : '400bcbb4807a5a722df5e2045fa7966f';\r\n this.loadData(newsFeedKey, (data) => {\r\n newsElements.forEach((e, i) => {\r\n if (data[i]) {\r\n ReactDOM.render(\r\n ,\r\n e,\r\n );\r\n } else {\r\n e.style.display = 'none';\r\n }\r\n });\r\n });\r\n // Events\r\n const eventFeedKey = this.lang === 'da' ? '003383f99d8ae70cde9110294ab39727' : '19a8aa9cc30143d2e41cfbdb4123541e';\r\n this.loadData(eventFeedKey, (data) => {\r\n eventElements.forEach((e, i) => {\r\n if (data[i]) {\r\n ReactDOM.render(\r\n ,\r\n e,\r\n );\r\n } else {\r\n e.style.display = 'none';\r\n }\r\n });\r\n });\r\n\r\n this.loaded = true;\r\n }\r\n }\r\n\r\n initRSS() {\r\n if (!this.loaded && isElementInViewport(this.element) && typeof window.newsCollageRSS !== 'undefined' && window.newsCollageRSS) {\r\n const newsElements = [\r\n document.querySelector('#news1'),\r\n document.querySelector('#news2'),\r\n document.querySelector('#news3'),\r\n document.querySelector('#news4'),\r\n ];\r\n\r\n const eventElements = [\r\n document.querySelector('#event1'),\r\n document.querySelector('#event2'),\r\n document.querySelector('#event3'),\r\n ];\r\n\r\n // News\r\n const newsFeedKey = `https://webtools.au.dk/api/news/getlist?url=${window.newsFeedRssUri}`;\r\n this.loadDataRSS(newsFeedKey, (data) => {\r\n newsElements.forEach((e, i) => {\r\n if (data[i]) {\r\n ReactDOM.render(\r\n ,\r\n e,\r\n );\r\n } else {\r\n e.style.display = 'none';\r\n }\r\n });\r\n });\r\n // Events\r\n const eventFeedKey = `https://webtools.au.dk/api/news/getlist?url=${window.eventFeedRssUri}`;\r\n this.loadDataRSS(eventFeedKey, (data) => {\r\n eventElements.forEach((e, i) => {\r\n if (data[i]) {\r\n ReactDOM.render(\r\n ,\r\n e,\r\n );\r\n } else {\r\n e.style.display = 'none';\r\n }\r\n });\r\n });\r\n\r\n this.loaded = true;\r\n }\r\n }\r\n}\r\n\r\nwindow.AUNews = AUNews;\r\nwindow.AUNewsCollage = AUNewsCollage;\r\nexport {\r\n AUNewsConfig,\r\n AUNewsHelpers,\r\n};\r\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__383__;","module.exports = __WEBPACK_EXTERNAL_MODULE__949__;","// 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__(634);\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// 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":""}