Page MenuHomec4science

custom.js
No OneTemporary

File Metadata

Created
Sun, Apr 28, 02:44

custom.js

!function l(a,s,o){function c(t,e){if(!s[t]){if(!a[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(p)return p(t,!0);var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}var i=s[t]={exports:{}};a[t][0].call(i.exports,function(e){return c(a[t][1][e]||e)},i,i.exports,l,a,s,o)}return s[t].exports}for(var p="function"==typeof require&&require,e=0;e<o.length;e++)c(o[e]);return c}({1:[function(e,t,r){"use strict";var n=angular.module("briefviewModule",["angularLoad"]);n.component("prmSearchResultAvailabilityLineAfter",e("./prm-search-result-availability-line-after/availabilityline.component.js")),n.component("prmEpflSearchResultAvailabilityLineAfter",e("./prm-search-result-availability-line-after/epfl_availabilityline.component.js"))},{"./prm-search-result-availability-line-after/availabilityline.component.js":2,"./prm-search-result-availability-line-after/epfl_availabilityline.component.js":3}],2:[function(e,t,r){"use strict";t.exports={bindings:{parentCtrl:"<"},template:'<prm-epfl-search-result-availability-line-after after-ctrl="$ctrl"></prm-epfl-search-result-availability-line-after>\n <prm-eth-search-result-availability-line-after after-ctrl="$ctrl"></prm-eth-search-result-availability-line-after>'}},{}],3:[function(e,t,r){"use strict";t.exports={bindings:{afterCtrl:"<"},controller:e("./epfl_availabilityline.controller.js"),template:'<div>\r\n <div class="pdf_btn" ng-if="$ctrl.check_doi() &amp;&amp; $ctrl.is_epfl_IP">\r\n <a href="{{$ctrl.pdf_link}}" target="_blank"><prm-icon icon-type="svg" svg-icon-set="primo-ui" icon-definition="pdf"></prm-icon> {{ \'pdfAccess\' | customTranslate }}</a>\r\n </div>\r\n <div class="series_btn" ng-if="$ctrl.get_collection_url()">\r\n <a class="neutralized-button arrow-link-button md-button md-primoExplore-theme md-ink-ripple" href="{{$ctrl.collection_url}}" target="_blank"><span class="button-content"><span class="link_gray">{{ \'seriesLink\' | customTranslate }}</span> {{$ctrl.collection_title}}</span> <prm-icon link-arrow="" icon-type="svg" svg-icon-set="primo-ui" icon-definition="chevron-right"></prm-icon><div class="md-ripple-container" style=""></div></a>\r\n </div>\r\n</div>\r\n'}},{"./epfl_availabilityline.controller.js":4}],4:[function(e,t,r){"use strict";t.exports=["$filter","$http","userService",function(e,t,r){this.parentCtrl=this.afterCtrl.parentCtrl;var s=this;function o(e){var t=e.match(/10\.\d{4,9}\/[-._;()/:A-Z0-9]+/i);if(t)return t[0]}s.is_epfl_IP=r.isEpflIP(),s.get_doi=function(){if(s.parentCtrl.hasOwnProperty("result")&&s.parentCtrl.result.hasOwnProperty("pnx")){var e=s.parentCtrl.result.pnx;if("addata"in e&&"doi"in e.addata&&o(e.addata.doi[0])&&e.control.hasOwnProperty("recordtype")&&"article"===e.control.recordtype[0])return o(e.addata.doi[0]);if("display"in e&&"identifier"in e.display){var t=!0,r=!1,n=void 0;try{for(var i,l=e.display.identifier[Symbol.iterator]();!(t=(i=l.next()).done);t=!0){var a=i.value;if(o(a))return o(a)}}catch(e){r=!0,n=e}finally{try{!t&&l.return&&l.return()}finally{if(r)throw n}}}}},s.check_doi=function(){return s.hasOwnProperty("doi")||s.parentCtrl.hasOwnProperty("result")&&s.parentCtrl.result.hasOwnProperty("pnx")&&(s.get_doi()?(s.doi=s.get_doi(),s.set_url_pdf()):s.doi=null),!!s.hasOwnProperty("pdf_link")},s.set_url_pdf=function(){var e="https://public-api.thirdiron.com/public/v1/libraries/183/articles/doi/"+s.doi+"?access_token=adc54dee-c6a6-4b99-a917-2ed400f1f2d3";t({method:"GET",url:e}).then(function(e){if(200===e.status){try{var t=e.data.data.fullTextFile}catch(e){t=""}0<t.length&&(s.pdf_link=t)}},function(){s.doi=null})},s.get_collection_url=function(){try{if(s.collection_url)return s.collection_url;for(var e=s.parentCtrl.result.pnx.display.series,t=0;e.length;t++){var r=e[t].match(/\$\$Q(.*)\$\$Z(99\d{16})/);if(r){if(s.parentCtrl.$stateParams.lang)n="&lang="+s.parentCtrl.$stateParams.lang;else var n="";return s.collection_title=r[1],s.collection_url=window.location.origin+"/discovery/fulldisplay?vid="+s.parentCtrl.$stateParams.vid+"&tab="+s.parentCtrl.$stateParams.tab+"&docid=alma"+r[2]+"&context="+s.parentCtrl.$stateParams.context+n,s.collection_url}}}catch(e){}}}]},{}],5:[function(e,t,r){"use strict";angular.module("databasesModule",["angularLoad"]).component("prmTreeNavAfter",e("./treenav.component.js"))},{"./treenav.component.js":6}],6:[function(e,t,r){"use strict";t.exports={bindings:{parentCtrl:"<"},controllerAs:"ctrl",controller:["$filter",function(e){}]}},{}],7:[function(e,t,r){"use strict";angular.module("customTranslateFilter",[]).filter("customTranslate",["$translate",function(r){return function(e){var t={costWarningScan:{fr:'<b><span class="bigfont" style="font-size:20px">Service payant:</span></b><b> les collaborateurs et les étudiants de l’EPFL peuvent bénéficier de ce service gratuitement, en utilisant le formulaire:</b>',en:'<b><span class="bigfont" style="font-size:20px">Fee-based service:</span></b><b> EPFL employees and students can benefit from this service free of charge by using the form:</b>',de:'<b><span class="bigfont" style="font-size:20px">Kostenpflichtiger Service:</span></b><b> Mitarbeitern und Studenten der EPFL steht dieser Dienst über das Fernleihe-Formular gratis zur Verfügung.</b>',it:'<b><span class="bigfont" style="font-size:20px">Servizio a pagamento:</span></b><b> I dipendenti e gli studenti dell\'EPFL possono usufruire gratuitamente di questo servizio utilizzando il modulo:</b>'},costWarningScanEPFL:{fr:"<b>Service gratuit pour les collaborateurs et les étudiants EPFL.</b>",en:"<b>Free of charge for EPFL staff and students.</b>",de:"<b>Service für Mitarbeiter und Studenten der EPFL kostenlos</b>",it:"<b>Servizio gratuito per i dipendenti e gli studenti dell’EPFL.<b>"},costWarningNetworkLoan:{fr:"<b>Service gratuit en cas de retrait à la Bibliothèque de l’EPFL.</b>",en:"<b>Free of charge if withdrawal at the EPFL Library.</b>",de:"<b>Service bei Abholung in der EPFL-Bibliothek kostenlos.</b>",it:"<b>Servizio gratuito in caso di ritiro alla Biblioteca dell’EPFL</b>"},costWarningPEB:{fr:"<b>Service gratuit pour les collaborateurs et les étudiants de l’EPFL.</b> Avant de passer une commande d’un document physique via le prêt entre bibliothèques, merci de vous assurer que ce document n'est pas disponible dans d’autres bibliothèques du réseau SLSP dans swisscovery.",en:"<b>Free of charge for EPFL staff and students.</b> Before placing an order for a physical document via the interlibrary loan, please make sure that this document is not available in other SLSP network libraries on swisscovery.",de:"<b>Kostenloser Service für Mitarbeiter und Studenten der EPFL.</b> Bevor Sie ein Medium über die Fernleihe bestellen, vergewissern Sie sich bitte zunächst in swisscovery, dass es nicht in einer anderen Bibliothek des SLSP-Netzwerks verfügbar ist.",it:"<b>Servizio gratuito per i dipendenti e gli studenti dell’EPFL.</b> Prima di ordinare un documento cartaceo tramite il prestito interbibliotecario, assicuratevi che questo documento non sia disponibile in altre biblioteche della rete SLSP in swisscovery."},mainTitle:{fr:"Catalogue BEAST",en:"BEAST discovery tool",de:"BEAST Wissensportal",it:"Catalogo BEAST"},subTitle:{fr:"Le point d'accès à toutes les ressources de la Bibliothèque de l'EPFL",en:"The access portal to all the resources of the EPFL Library",de:"Der Zugangspunkt zu allen Ressourcen der EPFL Bibliothek",it:"Il punto d’accesso a tutte le risorse della Biblioteca dell’EPFL"},switchEduID:{fr:"Modifier vos informations personnelles sur",en:"Change your personal data on",de:"Ändern Sie Ihre persönlichen Daten auf",it:"Modifica i tuoi dati personali sul"},illButton:{fr:"Prêt entre bibliothèques (PEB)",en:"Inter Library Loan (ILL)",de:"Fernleihe",it:"Prestito interbibliotecario"},feedbackLink:{fr:"Signaler un problème d'accès",en:"Report an access problem",de:"Zugriffsproblem melden",it:"Segnalare un problema di accesso"},vpnMSG:{fr:'Les ressources électroniques sont accessibles depuis tous les postes de l’EPFL, et à distance via le <a target="_blank" href="https://www.epfl.ch/campus/services/ressources-informatiques/network-services-reseau/acces-intranet-a-distance/clients-vpn-disponibles/">VPN</a> EPFL.',en:'Electronic resources are accessible from all EPFL workstations, and remotely via the EPFL <a target="_blank" href="https://www.epfl.ch/campus/services/en/it-services/network-services/remote-intranet-access/vpn-clients-available/">VPN</a>.',de:'Elektronische Informationsressourcen sind an allen EPFL-Arbeitsplätzen und per EPFL <a target="_blank" href="https://www.epfl.ch/campus/services/en/it-services/network-services/remote-intranet-access/vpn-clients-available/">VPN</a> abrufbar.',it:'Le risorse elettroniche sono accessibili da tutte le postazioni di lavoro dell\'EPFL e a distanza tramite <a target="_blank" href="https://www.epfl.ch/campus/services/en/it-services/network-services/remote-intranet-access/vpn-clients-available/">VPN</a> EPFL.'},feedbackLinkMSG:{fr:"I have a problem accessing the electronic resource below. Please let me know when the access will be restored.",en:"I have a problem accessing the electronic resource below. Please let me know when the access will be restored.",de:"I have a problem accessing the electronic resource below. Please let me know when the access will be restored.",it:"I have a problem accessing the electronic resource below. Please let me know when the access will be restored."},pdfAccess:{fr:"Accès direct au pdf",en:"Direct access to the pdf",de:"Direct access to the pdf",it:"Direct access to the pdf"},seriesLink:{fr:"Collection :",en:"Serie:",de:"Serie:",it:"Serie:"}};return["en","fr","it","de"].includes(r.use())?t[e][r.use()]:t[e].fr}}])},{}],8:[function(e,t,r){"use strict";angular.module("trustHtmlFilter",[]).filter("trustHtml",["$sce",function(t){return function(e){return t.trustAsHtml(e)}}])},{}],9:[function(e,t,r){"use strict";t.exports={bindings:{parentCtrl:"<"},template:'<div><prm-epfl-alma-viewit-after after-ctrl="$ctrl"></prm-epfl-alma-viewit-after>\n <prm-eth-alma-viewit-after after-ctrl="$ctrl"></prm-eth-alma-viewit-after></div>'}},{}],10:[function(e,t,r){"use strict";t.exports={bindings:{afterCtrl:"<"},controller:e("./epfl_almaviewit.controller.js"),template:'<div class="bar alert-bar" ng-if="$ctrl.no_report_link==false && $ctrl.is_epfl_IP==false">\r\n <div ng-bind-html="$ctrl.get_txt()"></div>\r\n <md-icon ng-if="::($ctrl.iconDefinition &amp;&amp; !$ctrl.isCustom &amp;&amp; !$ctrl.isEmailMode())" md-svg-icon="primo-ui:open-in-new" role="presentation" class="md-primoExplore-theme"></md-icon\r\n <div class="feedbacklink"> <a href="{{ ::$ctrl.feedbackLink }}"><md-icon md-svg-icon="primo-ui:envelope-outline" role="presentation" class="md-primoExplore-theme"></md-icon> {{ \'feedbackLink\' | customTranslate }}</a></div>\r\n</div>\r\n<div class="feedbacklink" ng-if="$ctrl.no_report_link==false && $ctrl.is_epfl_IP==true">\r\n <a href="{{ ::$ctrl.feedbackLink }}"><md-icon md-svg-icon="primo-ui:envelope-outline" role="presentation" class="md-primoExplore-theme"></md-icon> {{ \'feedbackLink\' | customTranslate }}</a>\r\n</div>\r\n'}},{"./epfl_almaviewit.controller.js":11}],11:[function(e,t,r){"use strict";t.exports=["$filter","userService",function(e,t){this.parentCtrl=this.afterCtrl.parentCtrl;var r=this;if(r.get_txt=function(){return e("customTranslate")("vpnMSG")},r.feedbackLink="",r.is_epfl_IP=!1,r.no_report_link=!1,r.parentCtrl.item.pnx.addata.openaccess&&"true"===r.parentCtrl.item.pnx.addata.openaccess[0]&&(r.no_report_link=!0),r.parentCtrl.item.pnx.addata.oa&&"free_for_read"===r.parentCtrl.item.pnx.addata.oa[0]&&(r.no_report_link=!0),!r.no_report_link){r.is_epfl_IP=t.isEpflIP(),r.user_ip=t.get_ip();var n=r.parentCtrl.item.pnx.control.recordid[0],i="";r.parentCtrl.item.pnx.display.title&&0<r.parentCtrl.item.pnx.display.title.length&&(i=r.parentCtrl.item.pnx.display.title[0]);var l="";r.parentCtrl.item.pnx.display.creationdate&&0<r.parentCtrl.item.pnx.display.creationdate.length&&(l=r.parentCtrl.item.pnx.display.creationdate[0]);var a="";r.parentCtrl.item.pnx.display.creator&&0<r.parentCtrl.item.pnx.display.creator.length&&(a=r.parentCtrl.item.pnx.display.creator.join(", "));var s="";r.parentCtrl.item.pnx.display.type&&0<r.parentCtrl.item.pnx.display.type.length&&(s=r.parentCtrl.item.pnx.display.type[0]);var o="";if(r.parentCtrl.item.pnx.display.identifier&&0<r.parentCtrl.item.pnx.display.identifier.length){var c=r.parentCtrl.item.pnx.display.identifier[0];-1<c.indexOf("<b>ISBN")||-1<c.indexOf("<b>ISSN")?o=r.parentCtrl.item.pnx.display.identifier.join(", ").replace(/<\/b>/g,"").replace(/<b>/g,""):-1<c.indexOf("ISBN")?o="ISBN: "+c.substring(c.indexOf("$$V")+3):-1<c.indexOf("ISSN")&&(o="ISSN: "+c.substring(c.indexOf("$$V")+3))}var p=navigator.userAgent,u="Access problem "+n+' - "'+i+'"',d=e("customTranslate")("feedbackLinkMSG")+"\n\n****\nTitle: "+i+"\nAuthor: "+a+"\nYear: "+l+"\nType: "+s+"\nDocId: "+n+"\nIdentifier: "+o+"\nUser_agent: "+p+"\nUserIP: "+r.user_ip+"\nRange EPFL: "+r.is_epfl_IP+"\n****";r.feedbackLink="mailto:eresources@epfl.ch?subject="+encodeURIComponent(u)+"&body="+encodeURIComponent(d)+"&Content-Type=text/html"}}]},{}],12:[function(e,t,r){"use strict";var n=angular.module("fullviewModule",["angularLoad"]);n.component("prmAlmaViewitAfter",e("./almaviewit.component.js")),n.component("prmEpflAlmaViewitAfter",e("./epfl_almaviewit.component.js"))},{"./almaviewit.component.js":9,"./epfl_almaviewit.component.js":10}],13:[function(e,t,r){"use strict";t.exports={active:!0,txt:{fr:'<div class="info-symbol" style="text-align:left">\n <div><p>Le réseau NEBIS a pris fin le 7 décembre 2020 pour être remplacé par un nouveau réseau plus vaste : <a class="md-primoExplore-theme" href="https://slsp.ch/fr">swisscovery</a></p></div>\n </div>',en:'<div class="info-symbol" style="text-align:left">\n <div><p>The NEBIS network ended on December 7, 2020. It has been replaced by <a class="md-primoExplore-theme" href="https://slsp.ch/it">swisscovery</a>: a new and wider network.</p></div>\n </div>',de:'<div class="info-symbol" style="text-align:left">\n <div><p>Das NEBIS-Netzwerk wurde am 07.12.2020 abgeschaltet und durch ein neues, grösseres Netzwerk ersetzt: <a class="md-primoExplore-theme" href="https://slsp.ch/de">swisscovery</a></p></div>\n </div>',it:'<div class="info-symbol" style="text-align:left">\n <div><p>La rete NEBIS è stata sciolta il 7 dicembre 2020 per essere sostituita da una rete piú ampia di biblioteche: <a class="md-primoExplore-theme" href="https://slsp.ch/it">swisscovery</a></p></div>\n </div>'},begin:"2020-01-04T00:00:00Z",end:"2021-03-31T12:00:00Z"}},{}],14:[function(e,t,r){"use strict";var n=angular.module("homepageModule",["angularLoad"]);n.component("prmSearchBarAfter",e("./searchbar.component.js")),n.component("prmMainMenuAfter",e("./mainmenu.component.js")),n.component("prmTopbarAfter",e("./topbar.component.js"))},{"./mainmenu.component.js":15,"./searchbar.component.js":16,"./topbar.component.js":17}],15:[function(e,t,r){"use strict";t.exports={bindings:{parentCtrl:"<"},controllerAs:"ctrl",controller:["$location","$translate","$element",function(e,t,r){var n=this;this.$doCheck=function(){if("complete"===document.readyState){try{var e=document.querySelector("[translate='mainmenu.label.db']").parentElement}catch(e){n.modified=!1}e&&(e.removeAttribute("target"),e.setAttribute("aria-label","Databases"),n.modified=!0)}}}]}},{}],16:[function(n,e,t){"use strict";e.exports={bindings:{parentCtrl:"<"},template:'<div class="epfl-alert-message" ng-if="ctrl.active" ng-bind-html="ctrl.get_txt() "></div>',controllerAs:"ctrl",controller:["$translate",function(t){var r=this;if(r.alert=n("./alert.js"),!(r.active=!1)===r.alert.active){var e=Date.now();new Date(r.alert.begin)<e&&e<new Date(r.alert.end)&&(r.active=!0)}r.get_txt=function(){var e=["en","fr","it","de"].includes(t.use())?t.use():"en";return r.active?r.alert.txt[e]:""},r.parentCtrl.showTabsAndScopes=!0}]}},{"./alert.js":13}],17:[function(e,t,r){"use strict";t.exports={bindings:{parentCtrl:"<"},controllerAs:"ctrl",controller:["$location","$translate","$element",function(e,t,r){this.url=window.location.href.split("?")[0]+"?vid="+this.parentCtrl.configurationUtil.vid+"&lang="+t.use()}],template:"<div class=\"main-title\"><h1><a href=\"{{ ::ctrl.url }}\">{{ 'mainTitle' | customTranslate }}</a></h1><h2>{{ 'subTitle' | customTranslate }}</h2></div>"}},{}],18:[function(e,t,r){"use strict";e("./filters/custom_translate.filter.js"),e("./filters/trust_html.filter.js"),e("./slsp/slsp-courier-info"),e("./slsp/slsp-ill-signin-order-logged-out"),e("./slsp/slsp-ill-signin-order-alert"),e("./slsp/slsp-edit-personal-details"),e("./slsp/prm-locations-after"),e("./slsp/prm-location-items-after"),e("./slsp/slsp-archives-htgi"),e("./slsp/slsp-archives-viewit"),e("./briefview"),e("./homepage"),e("./fullView"),e("./databases");angular.module("viewCustom",["angularLoad","customTranslateFilter","trustHtmlFilter","epflCourierInfo","epflIllSigninOrderLoggedOut","slspIllSigninOrderAlert","epflEditPersonalDetails","ethLocationsAfterModule","ethLocationItemsAfterModule","slspArchivesHtgi","slspArchivesViewit","briefviewModule","homepageModule","fullviewModule","databasesModule"])},{"./briefview":1,"./databases":5,"./filters/custom_translate.filter.js":7,"./filters/trust_html.filter.js":8,"./fullView":12,"./homepage":14,"./slsp/prm-location-items-after":19,"./slsp/prm-locations-after":24,"./slsp/slsp-archives-htgi":27,"./slsp/slsp-archives-viewit":29,"./slsp/slsp-courier-info":31,"./slsp/slsp-edit-personal-details":33,"./slsp/slsp-ill-signin-order-alert":35,"./slsp/slsp-ill-signin-order-logged-out":37}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ethLocationItemsAfterModule=void 0;var n=e("./eth-location-items-filter/eth-location-items-filter.module"),i=e("./slsp-i-button/epfl-i-button.module"),l=r.ethLocationItemsAfterModule=angular.module("ethLocationItemsAfterModule",[]).component("prmLocationItemsAfter",{bindings:{parentCtrl:"<"},template:'<eth-location-items-filter-component after-ctrl="$ctrl"></eth-location-items-filter-component><epfl-i-button-component after-ctrl="$ctrl"></epfl-i-button-component>'});l.requires.push(n.ethLocationItemsFilterModule.name),l.requires.push(i.epflIButtonModule.name)},{"./eth-location-items-filter/eth-location-items-filter.module":21,"./slsp-i-button/epfl-i-button.module":23}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),e};function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),this.$timeout=e,this.$scope=t}(r.ethLocationItemsFilterController=(n(l,[{key:"$onInit",value:function(){var n=this;try{this.parentCtrl=this.afterCtrl.parentCtrl,this.$scope.$watch("this.$ctrl.parentCtrl.loc.location.librarycodeTranslation",function(e,t,r){!r.$ctrl.parentCtrl.isLocationsFilterVisible&&e&&""!=e&&n.$scope.$watch("this.$ctrl.parentCtrl.loc.items",function(e){angular.isArray(e)&&1<e.length&&n.$timeout(function(){r.$ctrl.parentCtrl.isLocationsFilterVisible=!0},0)})},!0)}catch(e){console.error("***SLSP*** an error occured: ethLocationItemsFilterController\n\n"),console.error(e.message)}}}]),l)).$inject=["$timeout","$scope"]},{}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ethLocationItemsFilterModule=void 0;var n=e("./eth-location-items-filter.controller");r.ethLocationItemsFilterModule=angular.module("ethLocationItemsFilterModule",[]).controller("ethLocationItemsFilterController",n.ethLocationItemsFilterController).component("ethLocationItemsFilterComponent",{bindings:{afterCtrl:"<"},controller:"ethLocationItemsFilterController"})},{"./eth-location-items-filter.controller":20}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),e};function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l)}(r.epflIButtonController=(n(l,[{key:"$onInit",value:function(){try{this.parentCtrl=this.afterCtrl.parentCtrl,this.getLibrary=function(){return this.parentCtrl.currLoc?this.parentCtrl.currLoc.location.librarycodeTranslation:""},this.biblinkText="Library",this.biblinkBase="https://slsp.ch/libraries",this.getLibraryUrl=function(){return this.parentCtrl.loc&&"E02"===this.parentCtrl.loc.location.libraryCode?"https://go.epfl.ch/library":this.biblinkBase},this.view=this.parentCtrl.configurationUtil.vid.replace(":","-")}catch(e){console.error("***SLSP*** an error occured: slspIButtonController\n\n"),console.error(e.message)}}}]),l)).$inject=[]},{}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.epflIButtonModule=void 0;var n=e("./epfl-i-button.controller");r.epflIButtonModule=angular.module("epflIButtonModule",[]).controller("epflIButtonController",n.epflIButtonController).component("epflIButtonComponent",{bindings:{afterCtrl:"<"},controller:"epflIButtonController",template:'<div layout="row" class="LibInfo" layout-align="start center">\r\n <span class="md-subhead">\r\n <a ng-href="{{ $ctrl.getLibraryUrl() }}" target="_blank"><img width="20px" ng-src="/discovery/custom/{{ $ctrl.view }}/img/information.png" />{{ $ctrl.getLibrary() }}</a>\r\n </span>\r\n</div>\r\n'})},{"./epfl-i-button.controller":22}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ethLocationsAfterModule=void 0;var n=e("./eth-locations-filter/eth-locations-filter.module");(r.ethLocationsAfterModule=angular.module("ethLocationsAfterModule",[]).component("prmLocationsAfter",{bindings:{parentCtrl:"<"},template:'<eth-locations-filter-component after-ctrl="$ctrl"></eth-locations-filter-component>'})).requires.push(n.ethLocationsFilterModule.name)},{"./eth-locations-filter/eth-locations-filter.module":26}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),e};function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function l(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),this.$timeout=e,this.$scope=t}(r.ethLocationsFilterController=(n(l,[{key:"$onInit",value:function(){var n=this;try{this.parentCtrl=this.afterCtrl.parentCtrl,this.$scope.$watch("this.$ctrl.parentCtrl.locations[0].location.librarycodeTranslation",function(e,t,r){!r.$ctrl.parentCtrl.isLocationsFilterVisible&&e&&""!=e&&n.$timeout(function(){r.$ctrl.parentCtrl.isLocationsFilterVisible=!0},0)},!0)}catch(e){console.error("***ETH*** an error occured: ethLocationsFilterController\n\n"),console.error(e.message)}}}]),l)).$inject=["$timeout","$scope"]},{}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.ethLocationsFilterModule=void 0;var n=e("./eth-locations-filter.controller");r.ethLocationsFilterModule=angular.module("ethLocationsFilterModule",[]).controller("ethLocationsFilterController",n.ethLocationsFilterController).component("ethLocationsFilterComponent",{bindings:{afterCtrl:"<"},controller:"ethLocationsFilterController"})},{"./eth-locations-filter.controller":25}],27:[function(e,t,r){"use strict";e("./js/slsp-archives-htgi.module.js"),t.exports="slspArchivesHtgi"},{"./js/slsp-archives-htgi.module.js":28}],28:[function(e,t,r){"use strict";angular.module("slspArchivesHtgi",[]).controller("ArchivesHtgiController",[function(){this.$onInit=function(){try{if(!this.parentCtrl.item.pnx.display.source||0===this.parentCtrl.item.pnx.display.source.length)return;if(this.source=this.parentCtrl.item.pnx.display.source[0],"ETH_MaxFrischArchiv"===this.source||"ETH_ThomasMannArchiv"===this.source){document.getElementById("full-view-container").classList.add("slsp-archives-hide");var e=this.parentCtrl.item.pnx.control.originalsourceid[0],t=e.substring(e.lastIndexOf(":")+1);"ETH_ThomasMannArchiv"===this.source?this.url="http://www.online.tma.ethz.ch/home/#/content/"+t:"ETH_MaxFrischArchiv"===this.source&&(this.url="http://maxfrischarchiv-online.ethz.ch/home/#/content/"+t)}}catch(e){console.error("***SLSP*** an error occured: ArchivesHtgiController\n\n"),console.error(e.message)}}}]).component("almaHtgiSvcAfter",{bindings:{parentCtrl:"<"},controller:"ArchivesHtgiController",template:'\n <div class="slsp-archives" ng-if="$ctrl.url">\n <md-list layout="column" class="separate-list-items md-primoExplore-theme layout-column" role="list">\n <md-list-item role="listitem" ng-href="{{$ctrl.url}}" target="_blank">\n <span>{{(\'customized.archives.\' + $ctrl.source + \'.linktext\' | translate)}}</span>\n <span>{{$ctrl.label}}</span>\n <div class="md-secondary">\n <prm-icon icon-type="svg" svg-icon-set="primo-ui" icon-definition="open-in-new" class="layout-margin"/>\n </div>\n </md-list-item>\n </md-list>\n <div ng-if="$ctrl.source === \'ETH_ThomasMannArchiv\'" class="slsp-archives-additional-hint">\n <div>\n <span translate="customized.archives.ETH_ThomasMannArchiv.text1">No request possible. The digitized item can be consulted in the Thomas Mann Archives reading room upon advance registration (</span>\n <a target="_blank" rel="noopener" ng-href="https://tma.ethz.ch/utils/kontakt.html">\n <span translate="customized.archives.ETH_ThomasMannArchiv.linktext2">Contact</span>\n <prm-icon external-link icon-type="svg" svg-icon-set="primo-ui" icon-definition="open-in-new"></prm-icon>\n </a>\n <span translate="customized.archives.ETH_ThomasMannArchiv.text2">).</span>\n </div>\n </div>\n <div ng-if="$ctrl.source === \'ETH_MaxFrischArchiv\'" class="slsp-archives-additional-hint">\n <div>\n <span translate="customized.archives.ETH_MaxFrischArchiv.text1">Informationen zu Bestellung und Benutzung siehe</span>\n <a target="_blank" rel="noopener" ng-href="http://maxfrischarchiv-online.ethz.ch/home/#/manual">\n <span translate="customized.archives.ETH_MaxFrischArchiv.linktext2">Bedienungshinweise</span>\n <prm-icon external-link icon-type="svg" svg-icon-set="primo-ui" icon-definition="open-in-new"></prm-icon>\n </a>\n <span translate="customized.archives.ETH_MaxFrischArchiv.text2">.</span>\n </div>\n </div>\n </div>\n '})},{}],29:[function(e,t,r){"use strict";e("./js/slsp-archives-viewit.module.js"),t.exports="slspArchivesViewit"},{"./js/slsp-archives-viewit.module.js":30}],30:[function(e,t,r){"use strict";angular.module("slspArchivesViewit",[]).component("prmEthSearchResultAvailabilityLineAfter",{bindings:{afterCtrl:"<"},controller:"ArchivesAvailabilityLineController"}).component("prmEthAlmaViewitAfter",{bindings:{afterCtrl:"<"},controller:"ArchivesViewitController",template:'\n <div class="slsp-archives" ng-if="$ctrl.url">\n <md-list layout="column" class="separate-list-items md-primoExplore-theme layout-column" role="list">\n <md-list-item role="listitem" ng-href="{{$ctrl.url}}" target="_blank">\n <span>{{(\'customized.archives.\' + $ctrl.source + \'.linktext\' | translate)}}</span>\n <span>{{$ctrl.label}}</span>\n <div class="md-secondary">\n <prm-icon icon-type="svg" svg-icon-set="primo-ui" icon-definition="open-in-new" class="layout-margin"/>\n </div>\n </md-list-item>\n </md-list>\n <div ng-if="$ctrl.source === \'ETH_Hochschularchiv\'" class="slsp-archives-additional-hint">\n <div>\n <span translate="customized.archives.ETH_Hochschularchiv.text1">Informationen zu Bestellung und Benutzung siehe</span>\n <a target="_blank" rel="noopener" ng-href="http://archivdatenbank-online.ethz.ch/hsa/#/manual">\n <span translate="customized.archives.ETH_Hochschularchiv.linktext2">Bedienungshinweise</span>\n <prm-icon external-link icon-type="svg" svg-icon-set="primo-ui" icon-definition="open-in-new"></prm-icon>\n </a>\n <span translate="customized.archives.ETH_Hochschularchiv.text2">.</span>\n </div>\n </div>\n </div>\n '}).controller("ArchivesViewitController",["$translate",function(r){this.parentCtrl=this.afterCtrl.parentCtrl,this.$onInit=function(){try{if(!this.parentCtrl.item.pnx.display.source||0===this.parentCtrl.item.pnx.display.source.length)return;if(this.source=this.parentCtrl.item.pnx.display.source[0],"ETH_Hochschularchiv"===this.source){if(this.parentCtrl.item.delivery.GetIt1&&0<this.parentCtrl.item.delivery.GetIt1.length&&this.parentCtrl.item.delivery.GetIt1[0].links&&0<this.parentCtrl.item.delivery.GetIt1[0].links.length){if(0<this.parentCtrl.item.delivery.GetIt1[0].links.filter(function(e){return!(!e.isLinktoOnline||""===e.link)}).length)return;r("nui.getit.service_howtogetit").then(function(e){var t=document.getElementById("fullView");angular.element(t.querySelector("h4[translate='nui.getit.service_viewit']")).text(e),angular.element(t.querySelector("#services-index span[translate='nui.getit.service_viewit']")).text(e)})}document.getElementById("full-view-container").classList.add("slsp-archives-hide");var e=this.parentCtrl.item.pnx.control.originalsourceid[0],t=e.substring(e.lastIndexOf(":")+1);"ETH_Hochschularchiv"===this.source&&(this.url="http://archivdatenbank-online.ethz.ch/hsa/#/content/"+t)}}catch(e){console.error("***SLSP*** an error occured: ArchivesViewitController\n\n"),console.error(e.message)}}}]).controller("ArchivesAvailabilityLineController",["$translate",function(r){this.$onInit=function(){var t=this;try{if(this.parentCtrl=this.afterCtrl.parentCtrl,this.changeButton=!1,!this.parentCtrl.result.pnx.display.source||0===this.parentCtrl.result.pnx.display.source.length)return;if(this.source=this.parentCtrl.result.pnx.display.source[0],"ETH_Hochschularchiv"===!this.source)return;if(!this.parentCtrl.result.delivery.GetIt1||0==this.parentCtrl.result.delivery.GetIt1.length||!this.parentCtrl.result.delivery.GetIt1[0].links||0==this.parentCtrl.result.delivery.GetIt1[0].links.length)return;if(0===this.parentCtrl.result.delivery.GetIt1[0].links.filter(function(e){return!(!e.isLinktoOnline||""===e.link)}).length){r("delivery.code.no_inventory").then(function(e){t.changeButton=!0,t.changeButtonText=e});var e=this.parentCtrl.$element[0];e&&e.classList.add("slsp-hsa-no-online")}}catch(e){console.error("***SLSP*** an error occured: ArchivesAvailabilityLineController\n\n"),console.error(e.message)}},this.$doCheck=function(){try{if(this.changeButton){var e=this.parentCtrl.$element[0].querySelector(".availability-status");angular.element(e)&&0<angular.element(e).length&&(angular.element(e).html(this.changeButtonText),this.changeButton=!1,this.changeButtonText="")}}catch(e){console.error("***ETH*** an error occured: ArchivesAvailabilityLineController $doCheck\n\n"),console.error(e.message)}}}])},{}],31:[function(e,t,r){"use strict";e("./js/epfl-courier-info.module.js"),t.exports="slspCourierInfo"},{"./js/epfl-courier-info.module.js":32}],32:[function(e,t,r){"use strict";angular.module("epflCourierInfo",[]).controller("CourierInfoController",["$filter","$element",function(a,e,t,r,n){var s=this;s.form=e[0].parentElement,s.$doCheck=function(){var e=!1,t=2;if(void 0===s.form.children[0].children[1]||void 0===s.form.children[0].children[1].children[0]&&"costWarningPEB"!=s.typeFeeAlert()?void 0!==s.form.children[0].children[0]&&void 0!==s.form.children[0].children[0].children[0]&&(e=s.form.children[0].children[0].children[0],t=3):(e=s.form.children[0].children[1].children[0],"costWarningPEB"==s.typeFeeAlert()&&(t=3)),e&&e.children.length==t&&1<e.children.length||s.hasOwnProperty("currentTypeFeeAlert")&&s.currentTypeFeeAlert!=s.typeFeeAlert()){s.currentTypeFeeAlert=s.typeFeeAlert();var r='<div class="courier-info bar alert-bar"><p>'+s.getFeeAlert()+"</p>";if("costWarningScan"==s.typeFeeAlert()){var n=a("customTranslate")("illButton");if(s.get_peb_button())var i="javascript:(function() {\n for (var elem of document.getElementsByTagName('span')) {\n if (elem.getAttribute('translate') === 'AlmaResourceSharing' &&\n elem.parentNode.className.indexOf('greenbutton') === -1)\n {\n elem.click();\n break;\n }\n };})()";else i="javascript:(function() {window.location.href = window.location.origin + '/discovery/blankIll?vid="+s.parentCtrl.vid+"'})()";r+='<p><span class="button-confirm md-button md-primoExplore-theme md-ink-ripple" onclick="'+i+'" ">'+n+"</span></p>"}r+='<p><a href="'+s.parentCtrl.$translate.instant("customize.fullview.feesUrl")+'" target="_blank">'+s.parentCtrl.$translate.instant("customize.fullview.feesLinkText")+"</a></p></div>";var l=angular.element(r)[0];e.children.length==t?e.insertBefore(l,e.children[t-1]):e.children[e.children.length-2].replaceWith(l)}},Object.defineProperty(s.parentCtrl,"form",{configurable:!0,get:function(){var e=this.getFilteredForm(["label","multiLabel"],!1);if(!s.hasOwnProperty("pickupLocationsListOrdered"))for(var t=0;t<e.length;t++)if("pickupInstitution"==e[t].key){e[t].options.sort(function(e,t){var r=["41SLSP_EPF","41SLSP_EPFL"];return(e=r.indexOf(e.value))==(t=r.indexOf(t.value))?0:e<t?1:-1}),s.pickupLocationsListOrdered=!0}return e}}),s.isEPFL=function(){return!!(s.parentCtrl.requestService&&0<s.parentCtrl.requestService._service["link-to-service"].indexOf("institution=41SLSP_EPF"))},s.linkBase="https://slsp.ch/fees",s.typeFeeAlert=function(){return["almaRequest.header","almaRequestOther.header","almaItemRequest.header"].includes(s.parentCtrl.requestHeader)?"costWarningNetworkLoan":["almaDigitization.header","almaDigitizationOther.header","almaItemDigitization.header"].includes(s.parentCtrl.requestHeader)?s.isEPFL()?"costWarningScanEPFL":"costWarningScan":"almaResourceSharing.header"===s.parentCtrl.requestHeader?"costWarningPEB":"costWarningGeneral"},s.getFeeAlert=function(){return a("customTranslate")(s.typeFeeAlert())},s.get_peb_button=function(){for(var e=document.getElementsByTagName("span"),t=0,r=e.length;t<r;t++)if("AlmaResourceSharing"===e[t].getAttribute("translate")&&-1===e[t].parentNode.className.indexOf("greenbutton"))return e[t]},s.click_peb=function(){var e=s.get_peb_button();e?e.click():window.location.href=window.location.origin+"/discovery/blankIll?vid="+s.parentCtrl.vid}}]).component("prmRequestAfter",{bindings:{parentCtrl:"<"},controller:"CourierInfoController"})},{}],33:[function(e,t,r){"use strict";e("./js/epfl-edit-personal-details.module.js"),t.exports="epflEditPersonalDetails"},{"./js/epfl-edit-personal-details.module.js":34}],34:[function(e,t,r){"use strict";angular.module("epflEditPersonalDetails",[]).controller("EditPersonalDetailsController",["$scope","$element","$translate",function(e,n,t){var i=this,r="en",l=e.$root.$$childHead.$ctrl.userSessionManagerService;l&&(r=l.getInterfaceLanguage()),i.detailsBaseEdu="https://eduid.ch/web/change-account-data/2/?lang="+r,i.detailsBaseReg="https://registration.slsp.ch/library-card/?lang="+r,i.exclude=["STAFF","11","12","13","14","15","16","91","92"],i.grpA=["11","91","92"],i.grpB=["12","13","14","15","16"],i.getPatronGrp=function(){if(void 0===i.parentCtrl.personalInfoService.personalInfo)return!1;var e=i.parentCtrl.personalInfoService.personalInfo.patronstatus[0].registration[0].institution[0].patronstatuscode;return!i.exclude.includes(e)},i.grpLabelA=function(){if(void 0===i.parentCtrl.personalInfoService.personalInfo)return!1;var e=i.parentCtrl.personalInfoService.personalInfo.patronstatus[0].registration[0].institution[0].patronstatuscode;return!!i.grpA.includes(e)},i.grpLabelB=function(){if(void 0===i.parentCtrl.personalInfoService.personalInfo)return!1;var e=i.parentCtrl.personalInfoService.personalInfo.patronstatus[0].registration[0].institution[0].patronstatuscode;return!!i.grpB.includes(e)},i.test=0,i.testPersonalInfo=function(){return new Promise(function(e,t){(void 0!==i.parentCtrl.personalInfoService.personalInfo?e:t)()})},i.persInfoAv=function(){var e='<div class="btn-account">';i.grpLabelA()?e+='<md-card-content flex="100" class="bar courier-info layout-align-left-center layout-row"><span>'+i.parentCtrl.$translate.instant("customized.libraries.details")+"</span></md-card-content>":i.grpLabelB()?e+='<md-card-content flex="100" class="bar courier-info layout-align-left-center layout-row"><span>'+i.parentCtrl.$translate.instant("customized.slsp.details")+"</span></md-card-content>":i.getPatronGrp&&(e+='<a href="'+i.detailsBaseEdu+'" target="_blank">\n <md-card-content flex="100" class="bar layout-align-left-center layout-row">\n <prm-icon class="rotate-20 margin-right-small" icon-type="svg" svg-icon-set="primo-ui" icon-definition="pencil">\n <svg id="pencil_cache64" viewBox="0 0 24 24" y="696" xmlns="http://www.w3.org/2000/svg" fit="" preserveAspectRatio="xMidYMid meet" focusable="false">\n <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>\n </svg>\n </prm-icon>\n <span class="md-subhead" >'+i.parentCtrl.$translate.instant("customized.personal.details")+'</span>\n </md-card-content>\n </a>\n <a href="'+i.detailsBaseReg+'" target="_blank">\n <md-card-content flex="100" class="bar layout-align-left-center layout-row">\n <prm-icon class="rotate-20 margin-right-small" icon-type="svg" svg-icon-set="primo-ui" icon-definition="account-card-details">\n <svg id="account-card-details_cache63" viewBox="0 0 24 24" y="1176" xmlns="http://www.w3.org/2000/svg" fit="" preserveAspectRatio="xMidYMid meet" focusable="false">\n <path d="M2,3H22C23.05,3 24,3.95 24,5V19C24,20.05 23.05,21 22,21H2C0.95,21 0,20.05 0,19V5C0,3.95 0.95,3 2,3M14,6V7H22V6H14M14,8V9H21.5L22,9V8H14M14,10V11H21V10H14M8,13.91C6,13.91 2,15 2,17V18H14V17C14,15 10,13.91 8,13.91M8,6A3,3 0 0,0 5,9A3,3 0 0,0 8,12A3,3 0 0,0 11,9A3,3 0 0,0 8,6Z"></path>\n </svg>\n </prm-icon>\n <span class="md-subhead" >'+i.parentCtrl.$translate.instant("customized.libcard.number")+"</span>\n </md-card-content>\n </a>"),e+="</div>";var t=angular.element(e)[0],r=n[0].parentElement.children[1].children[0];r.insertBefore(t,r.children[1])},i.persInfoNotAv=function(){i.test+=1,i.test<10&&setTimeout(function(){return i.testPersonalInfo().then(i.persInfoAv,i.persInfoNotAv)},500)},0===i.test&&i.testPersonalInfo().then(i.persInfoAv,i.persInfoNotAv)}]).component("prmPersonalInfoAfter",{bindings:{parentCtrl:"<"},controller:"EditPersonalDetailsController"})},{}],35:[function(e,t,r){"use strict";e("./js/slsp-ill-signin-order-alert.module.js"),t.exports="slspIllSigninOrderAlert"},{"./js/slsp-ill-signin-order-alert.module.js":36}],36:[function(e,t,r){"use strict";angular.module("slspIllSigninOrderAlert",[]).controller("AlertMsgController",["$scope",function(e){var r=this;r.getAlert=function(){var e=r.parentCtrl.almaHowToGetitService.reqAlert._htmlMsg,t=angular.element(document.querySelector("primo-explore"));return 0<e.length?t.addClass("alert"):t.removeClass("alert")}}]).component("almaHowovpAfter",{bindings:{parentCtrl:"<"},controller:"AlertMsgController",template:'<div style="display:none">{{$ctrl.getAlert()}}</div>'})},{}],37:[function(e,t,r){"use strict";e("./js/epfl-ill-signin-order-logged-out.module.js"),t.exports="epflIllSigninOrderLoggedOut"},{"./js/epfl-ill-signin-order-logged-out.module.js":38}],38:[function(e,t,r){"use strict";angular.module("epflIllSigninOrderLoggedOut",[]).service("userService",["jwtHelper",function(n){this.get_ip=function(){var e=sessionStorage.getItem("primoExploreJwt");if(e)return n.decodeToken(e).userIp},this.isGuest=function(){var e=sessionStorage.getItem("primoExploreJwt");if(!e)return!0;var t=n.decodeToken(e);return!("GUEST"!==t.userGroup?t.userName:"")},this.isEpflIP=function(){var e=sessionStorage.getItem("primoExploreJwt");if(e){var t=n.decodeToken(e).userIp;if(t){var r=t.match(/128\.17([89])\.(\d{1,3})\./);if(r&&("8"==r[1]||128<=parseInt(r[2])))return!0}return!1}}}]).controller("IllBoxController",["$scope","userService",function(e,t){return e.usrNme=t.isGuest(),1!=e.usrNme?angular.element(document.querySelector("primo-explore")).removeClass("logged-out"):angular.element(document.querySelector("primo-explore")).addClass("logged-out")}]).component("prmUserAreaExpandableAfter",{bindings:{parentCtrl:"<"},controller:"IllBoxController",template:""})},{}]},{},[18]);
//# sourceMappingURL=custom.js.map

Event Timeline