"}},{}],2:[function(e,t,r){"use strict";angular.module("accountModule",["angularLoad"]).component("prmAccountLinksAfter",e("./accountlinks.component.js"))},{"./accountlinks.component.js":1}],3:[function(e,t,r){"use strict";angular.module("customTranslateFilter",[]).filter("customTranslate",["$translate",function(r){return function(e){var t={costWarningScan:{fr:'Service payant: les collaborateurs et les étudiants de l’EPFL peuvent bénéficier de ce service gratuitement, en utilisant le formulaire:',en:'Fee-based service: EPFL employees and students can benefit from this service free of charge by using the form:',de:'Kostenpflichtiger Service: Mitarbeitern und Studenten der EPFL steht dieser Dienst über das Fernleihe-Formular gratis zur Verfügung.',it:'Servizio a pagamento: I dipendenti e gli studenti dell\'EPFL possono usufruire gratuitamente di questo servizio utilizzando il modulo:'},costWarningScanEPFL:{fr:"Service gratuit pour les collaborateurs et les étudiants EPFL.",en:"Free of charge for EPFL staff and students.",de:"Service für Mitarbeiter und Studenten der EPFL kostenlos",it:"Servizio gratuito per i dipendenti e gli studenti dell’EPFL."},costWarningNetworkLoan:{fr:"Service gratuit en cas de retrait à la Bibliothèque de l’EPFL.",en:"Free of charge if withdrawal at the EPFL Library.",de:"Service bei Abholung in der EPFL-Bibliothek kostenlos.",it:"Servizio gratuito in caso di ritiro alla Biblioteca dell’EPFL"},costWarningPEB:{fr:"Service gratuit pour les collaborateurs et les étudiants de l’EPFL. 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:"Free of charge for EPFL staff and students. 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:"Kostenloser Service für Mitarbeiter und Studenten der EPFL. 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:"Servizio gratuito per i dipendenti e gli studenti dell’EPFL. 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 bibliotèques (PEB)",en:"Inter Library Loan (ILL)",de:"Fernleihe",it:"Prestito interbibliotecario"}};return["en","fr","it","de"].includes(r.use())?t[e][r.use()]:t[e].fr}}])},{}],4:[function(e,t,r){"use strict";angular.module("trustHtmlFilter",[]).filter("trustHtml",["$sce",function(t){return function(e){return t.trustAsHtml(e)}}])},{}],5:[function(e,t,r){"use strict";t.exports={active:!0,txt:{fr:'
\n
Le réseau NEBIS a pris fin le 7 décembre 2020 pour être remplacé par un nouveau réseau plus vaste : SLSP
\n
',en:'
\n
The NEBIS network ended on December 7, 2020. It has been replaced by SLSP: a new and wider network.
\n
',de:'
\n
Das NEBIS-Netzwerk wurde am 07.12.2020 abgeschaltet und durch ein neues, grösseres Netzwerk ersetzt: SLSP
\n
',it:'
\n
La rete NEBIS è stata sciolta il 7 dicembre 2020 per essere sostituita da una rete piú ampia di biblioteche: SLSP
"}},{}],2:[function(e,t,r){"use strict";angular.module("accountModule",["angularLoad"]).component("prmAccountLinksAfter",e("./accountlinks.component.js"))},{"./accountlinks.component.js":1}],3:[function(e,t,r){"use strict";angular.module("customTranslateFilter",[]).filter("customTranslate",["$translate",function(r){return function(e){var t={costWarningScan:{fr:'Service payant: les collaborateurs et les étudiants de l’EPFL peuvent bénéficier de ce service gratuitement, en utilisant le formulaire:',en:'Fee-based service: EPFL employees and students can benefit from this service free of charge by using the form:',de:'Kostenpflichtiger Service: Mitarbeitern und Studenten der EPFL steht dieser Dienst über das Fernleihe-Formular gratis zur Verfügung.',it:'Servizio a pagamento: I dipendenti e gli studenti dell\'EPFL possono usufruire gratuitamente di questo servizio utilizzando il modulo:'},costWarningScanEPFL:{fr:"Service gratuit pour les collaborateurs et les étudiants EPFL.",en:"Free of charge for EPFL staff and students.",de:"Service für Mitarbeiter und Studenten der EPFL kostenlos",it:"Servizio gratuito per i dipendenti e gli studenti dell’EPFL."},costWarningNetworkLoan:{fr:"Service gratuit en cas de retrait à la Bibliothèque de l’EPFL.",en:"Free of charge if withdrawal at the EPFL Library.",de:"Service bei Abholung in der EPFL-Bibliothek kostenlos.",it:"Servizio gratuito in caso di ritiro alla Biblioteca dell’EPFL"},costWarningPEB:{fr:"Service gratuit pour les collaborateurs et les étudiants de l’EPFL. 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:"Free of charge for EPFL staff and students. 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:"Kostenloser Service für Mitarbeiter und Studenten der EPFL. 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:"Servizio gratuito per i dipendenti e gli studenti dell’EPFL. 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 bibliotèques (PEB)",en:"Inter Library Loan (ILL)",de:"Fernleihe",it:"Prestito interbibliotecario"}};return["en","fr","it","de"].includes(r.use())?t[e][r.use()]:t[e].fr}}])},{}],4:[function(e,t,r){"use strict";angular.module("trustHtmlFilter",[]).filter("trustHtml",["$sce",function(t){return function(e){return t.trustAsHtml(e)}}])},{}],5:[function(e,t,r){"use strict";t.exports={active:!0,txt:{fr:'
\n
Le réseau NEBIS a pris fin le 7 décembre 2020 pour être remplacé par un nouveau réseau plus vaste : SLSP
\n
',en:'
\n
The NEBIS network ended on December 7, 2020. It has been replaced by SLSP: a new and wider network.
\n
',de:'
\n
Das NEBIS-Netzwerk wurde am 07.12.2020 abgeschaltet und durch ein neues, grösseres Netzwerk ersetzt: SLSP
\n
',it:'
\n
La rete NEBIS è stata sciolta il 7 dicembre 2020 per essere sostituita da una rete piú ampia di biblioteche: SLSP
`\r\n};\r\n","(function () {\r\n var account_module = angular.module('accountModule', ['angularLoad']);\r\n account_module.component('prmAccountLinksAfter', require('./accountlinks.component.js'));\r\n})()\r\n","\"use strict\";\r\n\r\n/***********************/\r\n/* FILTRE : traduction */\r\n/***********************/\r\n\r\n/*\r\n OBJECTIF: traduire des éléments, tant des urls que du texte.\r\n UTILISATION:\r\n - Dans le template:\r\n 1. comme un filtre: {{ clé | customTranslate }}\r\n - Dans un controlleur:\r\n Même si les filtres sont d'abord prévus pour être utilisés dans le\r\n template, on peut les appeler dans les controlleurs.\r\n 1. Ajouter le service dans l'en-tête du controlleur\r\n 2. Appeler le service avec la fonction $filter\r\n EXEMPLE:\r\n controller:function($http, $filter){...\r\n var traduction = $filter('customTranslate')('cleTrad');\r\n ...}\r\n CONFIGURATION:\r\n L'ajout de traduction se fait à travers des objets. La clé indique le\r\n terme à utiliser dans le template ou le controlleur pour ensuite\r\n renvoyer la traduction. Les noms associés n'appaaraissent donc pas tels\r\n quels. La structure de chaque élément traduit disponible est comme suit:\r\n clé1:{\r\n fr: traductionFrançaise\r\n en: traductionAnglaise\r\n },\r\n clé2:{\r\n fr: traductionFrançaise\r\n en: traductionAnglaise\r\n }\r\n*/\r\n(function () {\r\n\r\n var custom_translate_module = angular.module('customTranslateFilter', [])\r\n .filter('customTranslate', ['$translate', function($translate){\r\n return function(txt){\r\n var trad = {\r\n costWarningScan:{\r\n fr: \"Service payant: les collaborateurs et les étudiants de l’EPFL peuvent bénéficier de ce service gratuitement, en utilisant le formulaire:\",\r\n en: \"Fee-based service: EPFL employees and students can benefit from this service free of charge by using the form:\",\r\n de: \"Kostenpflichtiger Service: Mitarbeitern und Studenten der EPFL steht dieser Dienst über das Fernleihe-Formular gratis zur Verfügung.\",\r\n it: \"Servizio a pagamento: I dipendenti e gli studenti dell'EPFL possono usufruire gratuitamente di questo servizio utilizzando il modulo:\"\r\n },\r\n costWarningScanEPFL:{\r\n fr: \"Service gratuit pour les collaborateurs et les étudiants EPFL.\",\r\n en: \"Free of charge for EPFL staff and students.\",\r\n de: \"Service für Mitarbeiter und Studenten der EPFL kostenlos\",\r\n it: \"Servizio gratuito per i dipendenti e gli studenti dell’EPFL.\"\r\n },\r\n costWarningNetworkLoan:{\r\n fr: \"Service gratuit en cas de retrait à la Bibliothèque de l’EPFL.\",\r\n en: \"Free of charge if withdrawal at the EPFL Library.\",\r\n de: \"Service bei Abholung in der EPFL-Bibliothek kostenlos.\",\r\n it: \"Servizio gratuito in caso di ritiro alla Biblioteca dell’EPFL\"\r\n },\r\n costWarningPEB:{\r\n fr: \"Service gratuit pour les collaborateurs et les étudiants de l’EPFL. 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.\",\r\n en: \"Free of charge for EPFL staff and students. 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.\",\r\n de: \"Kostenloser Service für Mitarbeiter und Studenten der EPFL. 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.\",\r\n it: \"Servizio gratuito per i dipendenti e gli studenti dell’EPFL. 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.\"\r\n },\r\n mainTitle:{\r\n fr: \"Catalogue BEAST\",\r\n en: \"BEAST discovery tool\",\r\n de: \"BEAST Wissensportal\",\r\n it: \"Catalogo BEAST\"\r\n },\r\n subTitle:{\r\n fr: \"Le point d\\'accès à toutes les ressources de la Bibliothèque de l\\'EPFL\",\r\n en: \"The access portal to all the resources of the EPFL Library\",\r\n de: \"Der Zugangspunkt zu allen Ressourcen der EPFL Bibliothek\",\r\n it: \"Il punto d’accesso a tutte le risorse della Biblioteca dell’EPFL\"\r\n },\r\n switchEduID:{\r\n fr: \"Modifier vos informations personnelles sur\",\r\n en: \"Change your personal data on\",\r\n de: \"Ändern Sie Ihre persönlichen Daten auf\",\r\n it: \"Modifica i tuoi dati personali sul\"\r\n },\r\n illButton:{\r\n fr: \"Prêt entre bibliotèques (PEB)\",\r\n en: \"Inter Library Loan (ILL)\",\r\n de: \"Fernleihe\",\r\n it: \"Prestito interbibliotecario\"\r\n }\r\n };\r\n if (['en', 'fr', 'it', 'de'].includes($translate.use())) {\r\n return trad[txt][$translate.use()]\r\n } else {\r\n return trad[txt].fr\r\n }\r\n };\r\n }]);\r\n\r\n}) ()\r\n","\"use strict\";\r\n\r\n/***********************/\r\n/* FILTRE : traduction */\r\n/***********************/\r\n\r\n/*\r\n OBJECTIF: Permettre des balises html dans les champs.\r\n UTILISATION: S'utilise dans une balise comme un filtre.\r\n EXEMPLE: {{ variable | trustHtml }}\r\n*/\r\n(function () {\r\nangular.module('trustHtmlFilter', [])\r\n .filter('trustHtml', ['$sce', function($sce){\r\n return function(txt){\r\n return $sce.trustAsHtml(txt);\r\n };\r\n}]);\r\n}) ()\r\n","module.exports = {active: true,\r\n txt:\r\n {fr: `
\r\n
Le réseau NEBIS a pris fin le 7 décembre 2020 pour être remplacé par un nouveau réseau plus vaste : SLSP
\r\n
`,\r\n en: `
\r\n
The NEBIS network ended on December 7, 2020. It has been replaced by SLSP: a new and wider network.
\r\n
`,\r\n de: `
\r\n
Das NEBIS-Netzwerk wurde am 07.12.2020 abgeschaltet und durch ein neues, grösseres Netzwerk ersetzt: SLSP
\r\n
`,\r\n it: `
\r\n
La rete NEBIS è stata sciolta il 7 dicembre 2020 per essere sostituita da una rete piú ampia di biblioteche: SLSP
\r\n
`},\r\n begin:\"2020-01-04T00:00:00Z\",\r\n end:\"2021-03-31T12:00:00Z\"}\r\n","(function () {\r\n var homepage_module = angular.module('homepageModule', ['angularLoad']);\r\n homepage_module.component('prmTopbarAfter', require('./topbar.component.js'));\r\n homepage_module.component('prmSearchBarAfter', require('./searchbar.component.js'));\r\n})()\r\n","\"use strict\";\r\n\r\n/*\r\n OBJECTIFS:\r\n - Toujours afficher l'onglet pour modifier le scope\r\n - Afficher une alerte si les dates correspondent\r\n UTILISATION:\r\n Pour paramétrer l'alerte, il faut modifier le fichier alert.json (dans ce dossier)\r\n*/\r\nmodule.exports = {\r\n bindings: {parentCtrl: '<'},\r\n template: '',\r\n controllerAs:'ctrl',\r\n controller: ['$translate', function($translate){\r\n\r\n var vm = this;\r\n\r\n /********************/\r\n /* MESSAGE D'ALERTE */\r\n /********************/\r\n\r\n // récupère le fichier json avec les paramètres de l'alerte\r\n vm.alert = require(\"./alert.js\");\r\n\r\n // par défaut, l'alerte n'est pas considérée comme active\r\n vm.active = false;\r\n\r\n // Vérifie dans le fichier json si une alerte est prévue\r\n if (vm.alert.active === true){\r\n\r\n // Teste si les dates correspondent pour l'affichage de l'alerte\r\n var d_now = Date.now();\r\n if ((new Date(vm.alert.begin) < d_now) && (d_now < new Date(vm.alert.end))) {\r\n // déclenche l'affichage de l'alerte\r\n vm.active = true;\r\n }\r\n }\r\n\r\n // getteur qui retourne le texte en fonction de la langue\r\n vm.get_txt = function(){\r\n var lang = ['en', 'fr', 'it', 'de'].includes($translate.use()) ? $translate.use():'en';\r\n return vm.active ? vm.alert.txt[lang] : \"\";\r\n }\r\n\r\n /*******************/\r\n /* SCOPE PERMANENT */\r\n /*******************/\r\n\r\n // Rendre permanent l'affichage des onglets permettant de sélectionnet le scope\r\n vm.parentCtrl.showTabsAndScopes = true;\r\n\r\n // console.log(vm.alert);\r\n }\r\n ]};\r\n","\"use strict\";\r\n\r\n/*\r\n OBJECTIF: afficher l'entête de la page.\r\n REMARQUES: contient le titre BEAST, le teaser, le fil d'ariance. Le controlleur vérifie\r\n si on se trouve dans le compte de lecteur afin de paramétrer le fil d'ariane.\r\n*/\r\n\r\nmodule.exports = {\r\n bindings: {parentCtrl: '<'},\r\n controllerAs: 'ctrl',\r\n controller: ['$location', '$translate', function($location, $translate) {\r\n var vm = this;\r\n vm.url = window.location.href.split('?')[0] + '?vid=' + vm.parentCtrl.configurationUtil.vid + '&lang=' + $translate.use();\r\n // console.log(vm);\r\n // console.log(vm.url);\r\n }],\r\n template: `
`\r\n};\r\n","(function () {\r\n var account_module = angular.module('accountModule', ['angularLoad']);\r\n account_module.component('prmAccountLinksAfter', require('./accountlinks.component.js'));\r\n})()\r\n","\"use strict\";\r\n\r\n/***********************/\r\n/* FILTRE : traduction */\r\n/***********************/\r\n\r\n/*\r\n OBJECTIF: traduire des éléments, tant des urls que du texte.\r\n UTILISATION:\r\n - Dans le template:\r\n 1. comme un filtre: {{ clé | customTranslate }}\r\n - Dans un controlleur:\r\n Même si les filtres sont d'abord prévus pour être utilisés dans le\r\n template, on peut les appeler dans les controlleurs.\r\n 1. Ajouter le service dans l'en-tête du controlleur\r\n 2. Appeler le service avec la fonction $filter\r\n EXEMPLE:\r\n controller:function($http, $filter){...\r\n var traduction = $filter('customTranslate')('cleTrad');\r\n ...}\r\n CONFIGURATION:\r\n L'ajout de traduction se fait à travers des objets. La clé indique le\r\n terme à utiliser dans le template ou le controlleur pour ensuite\r\n renvoyer la traduction. Les noms associés n'appaaraissent donc pas tels\r\n quels. La structure de chaque élément traduit disponible est comme suit:\r\n clé1:{\r\n fr: traductionFrançaise\r\n en: traductionAnglaise\r\n },\r\n clé2:{\r\n fr: traductionFrançaise\r\n en: traductionAnglaise\r\n }\r\n*/\r\n(function () {\r\n\r\n var custom_translate_module = angular.module('customTranslateFilter', [])\r\n .filter('customTranslate', ['$translate', function($translate){\r\n return function(txt){\r\n var trad = {\r\n costWarningScan:{\r\n fr: \"Service payant: les collaborateurs et les étudiants de l’EPFL peuvent bénéficier de ce service gratuitement, en utilisant le formulaire:\",\r\n en: \"Fee-based service: EPFL employees and students can benefit from this service free of charge by using the form:\",\r\n de: \"Kostenpflichtiger Service: Mitarbeitern und Studenten der EPFL steht dieser Dienst über das Fernleihe-Formular gratis zur Verfügung.\",\r\n it: \"Servizio a pagamento: I dipendenti e gli studenti dell'EPFL possono usufruire gratuitamente di questo servizio utilizzando il modulo:\"\r\n },\r\n costWarningScanEPFL:{\r\n fr: \"Service gratuit pour les collaborateurs et les étudiants EPFL.\",\r\n en: \"Free of charge for EPFL staff and students.\",\r\n de: \"Service für Mitarbeiter und Studenten der EPFL kostenlos\",\r\n it: \"Servizio gratuito per i dipendenti e gli studenti dell’EPFL.\"\r\n },\r\n costWarningNetworkLoan:{\r\n fr: \"Service gratuit en cas de retrait à la Bibliothèque de l’EPFL.\",\r\n en: \"Free of charge if withdrawal at the EPFL Library.\",\r\n de: \"Service bei Abholung in der EPFL-Bibliothek kostenlos.\",\r\n it: \"Servizio gratuito in caso di ritiro alla Biblioteca dell’EPFL\"\r\n },\r\n costWarningPEB:{\r\n fr: \"Service gratuit pour les collaborateurs et les étudiants de l’EPFL. 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.\",\r\n en: \"Free of charge for EPFL staff and students. 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.\",\r\n de: \"Kostenloser Service für Mitarbeiter und Studenten der EPFL. 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.\",\r\n it: \"Servizio gratuito per i dipendenti e gli studenti dell’EPFL. 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.\"\r\n },\r\n mainTitle:{\r\n fr: \"Catalogue BEAST\",\r\n en: \"BEAST discovery tool\",\r\n de: \"BEAST Wissensportal\",\r\n it: \"Catalogo BEAST\"\r\n },\r\n subTitle:{\r\n fr: \"Le point d\\'accès à toutes les ressources de la Bibliothèque de l\\'EPFL\",\r\n en: \"The access portal to all the resources of the EPFL Library\",\r\n de: \"Der Zugangspunkt zu allen Ressourcen der EPFL Bibliothek\",\r\n it: \"Il punto d’accesso a tutte le risorse della Biblioteca dell’EPFL\"\r\n },\r\n switchEduID:{\r\n fr: \"Modifier vos informations personnelles sur\",\r\n en: \"Change your personal data on\",\r\n de: \"Ändern Sie Ihre persönlichen Daten auf\",\r\n it: \"Modifica i tuoi dati personali sul\"\r\n },\r\n illButton:{\r\n fr: \"Prêt entre bibliotèques (PEB)\",\r\n en: \"Inter Library Loan (ILL)\",\r\n de: \"Fernleihe\",\r\n it: \"Prestito interbibliotecario\"\r\n }\r\n };\r\n if (['en', 'fr', 'it', 'de'].includes($translate.use())) {\r\n return trad[txt][$translate.use()]\r\n } else {\r\n return trad[txt].fr\r\n }\r\n };\r\n }]);\r\n\r\n}) ()\r\n","\"use strict\";\r\n\r\n/***********************/\r\n/* FILTRE : traduction */\r\n/***********************/\r\n\r\n/*\r\n OBJECTIF: Permettre des balises html dans les champs.\r\n UTILISATION: S'utilise dans une balise comme un filtre.\r\n EXEMPLE: {{ variable | trustHtml }}\r\n*/\r\n(function () {\r\nangular.module('trustHtmlFilter', [])\r\n .filter('trustHtml', ['$sce', function($sce){\r\n return function(txt){\r\n return $sce.trustAsHtml(txt);\r\n };\r\n}]);\r\n}) ()\r\n","module.exports = {active: true,\r\n txt:\r\n {fr: `
\r\n
Le réseau NEBIS a pris fin le 7 décembre 2020 pour être remplacé par un nouveau réseau plus vaste : SLSP
\r\n
`,\r\n en: `
\r\n
The NEBIS network ended on December 7, 2020. It has been replaced by SLSP: a new and wider network.
\r\n
`,\r\n de: `
\r\n
Das NEBIS-Netzwerk wurde am 07.12.2020 abgeschaltet und durch ein neues, grösseres Netzwerk ersetzt: SLSP
\r\n
`,\r\n it: `
\r\n
La rete NEBIS è stata sciolta il 7 dicembre 2020 per essere sostituita da una rete piú ampia di biblioteche: SLSP
\r\n
`},\r\n begin:\"2020-01-04T00:00:00Z\",\r\n end:\"2021-03-31T12:00:00Z\"}\r\n","(function () {\r\n var homepage_module = angular.module('homepageModule', ['angularLoad']);\r\n homepage_module.component('prmSearchBarAfter', require('./searchbar.component.js'));\r\n})()\r\n","\"use strict\";\r\n\r\n/*\r\n OBJECTIFS:\r\n - Toujours afficher l'onglet pour modifier le scope\r\n - Afficher une alerte si les dates correspondent\r\n UTILISATION:\r\n Pour paramétrer l'alerte, il faut modifier le fichier alert.json (dans ce dossier)\r\n*/\r\nmodule.exports = {\r\n bindings: {parentCtrl: '<'},\r\n template: '',\r\n controllerAs: 'ctrl',\r\n controller: ['$translate', function($translate){\r\n\r\n var vm = this;\r\n\r\n /********************/\r\n /* MESSAGE D'ALERTE */\r\n /********************/\r\n\r\n // récupère le fichier json avec les paramètres de l'alerte\r\n vm.alert = require(\"./alert.js\");\r\n\r\n // par défaut, l'alerte n'est pas considérée comme active\r\n vm.active = false;\r\n\r\n // Vérifie dans le fichier json si une alerte est prévue\r\n if (vm.alert.active === true){\r\n\r\n // Teste si les dates correspondent pour l'affichage de l'alerte\r\n var d_now = Date.now();\r\n if ((new Date(vm.alert.begin) < d_now) && (d_now < new Date(vm.alert.end))) {\r\n // déclenche l'affichage de l'alerte\r\n vm.active = true;\r\n }\r\n }\r\n\r\n // getteur qui retourne le texte en fonction de la langue\r\n vm.get_txt = function(){\r\n var lang = ['en', 'fr', 'it', 'de'].includes($translate.use()) ? $translate.use():'en';\r\n return vm.active ? vm.alert.txt[lang] : \"\";\r\n }\r\n\r\n /*******************/\r\n /* SCOPE PERMANENT */\r\n /*******************/\r\n\r\n // Rendre permanent l'affichage des onglets permettant de sélectionnet le scope\r\n vm.parentCtrl.showTabsAndScopes = true;\r\n\r\n // console.log(vm.alert);\r\n }\r\n ]};\r\n","/************************/\r\n/* List of used modules */\r\n/************************/\r\n\r\n// Import central SLSP package ;\r\n// import { centralCustom } from './slsp/custom_slsp.js';\r\nimport { centralCustom } from './slsp/epfl_custom_slsp.js';\r\nimport { homepageModule } from './homepage/index.js';\r\nimport { customTranslateFilter } from './filters/custom_translate.filter.js';\r\nimport { trustHtmlFilter } from './filters/trust_html.filter.js';\r\nimport { accountModule } from './account/index.js';\r\n\r\nvar app = angular.module('viewCustom', ['angularLoad', 'centralCustom', 'homepageModule', 'customTranslateFilter', 'trustHtmlFilter', 'accountModule']);\r\n","(function () {\r\n\r\n\r\n var app = angular.module('centralCustom', ['angularLoad']);\r\n\r\n\r\n /*\r\n ## VERSION SLSP DU CONTROLLEUR ##\r\n # Ajoute le lien vers les amendes\r\n\r\n app.controller('CourierInfoController', [function () {\r\n var vm = this;\r\n vm.linkBase = \"https:\\/\\/slsp.ch\\/fees\";\r\n\r\n }]);\r\n */\r\n\r\n /* ## VERSION EPFL DU CONTROLLEUR ## */\r\n\r\n app.controller('CourierInfoController', ['$filter', function ($filter) {\r\n var vm = this;\r\n\r\n // Remonte l'EPFL dans la liste des bibliothèques\r\n Object.defineProperty(vm.parentCtrl, \"form\", {\r\n configurable: !0,\r\n get: function(){\r\n // Mettre l'EPFL en première position\r\n var form = this.getFilteredForm(['label', 'multiLabel'], false);\r\n if (!vm.hasOwnProperty('pickupLocationsListOrdered')){\r\n for (var i = 0; i < form.length; i++){\r\n if (form[i].key == 'pickupInstitution'){\r\n function compare( a, b ){\r\n var onTopInstitutions = ['41SLSP_EPF', '41SLSP_EPFL'];\r\n a = onTopInstitutions.indexOf(a.value);\r\n b = onTopInstitutions.indexOf(b.value);\r\n if (a == b) {return 0};\r\n return a < b ? 1 : -1;\r\n }\r\n form[i].options.sort(compare);\r\n vm['pickupLocationsListOrdered'] = true;\r\n }\r\n }\r\n }\r\n return form;\r\n }\r\n }\r\n );\r\n\r\n // Vérifie si l'EPFL est la provenance de l'exemplaire sélectionné\r\n vm.isEPFL = function() {\r\n return vm.parentCtrl.requestService && vm.parentCtrl.requestService._service['link-to-service'].indexOf('institution=41SLSP_EPF') > 0 ? true : false;\r\n }\r\n\r\n vm.linkBase = \"https:\\/\\/slsp.ch\\/fees\";\r\n\r\n // Personnalisation du message des frais\r\n vm.typeFeeAlert = function() {\r\n if (['almaRequest.header', 'almaRequestOther.header'].includes(vm.parentCtrl.requestHeader)) {\r\n return 'costWarningNetworkLoan'; // $filter('customTranslate')(costWarningNetworkLoan');\r\n } else if (['almaDigitization.header',\r\n 'almaDigitizationOther.header',\r\n 'almaItemDigitization.header']\r\n .includes(vm.parentCtrl.requestHeader)) {\r\n return vm.isEPFL() ? 'costWarningScanEPFL' : 'costWarningScan';\r\n } else if (vm.parentCtrl.requestHeader === 'almaResourceSharing.header') {\r\n return 'costWarningPEB';\r\n } else {\r\n return 'costWarningGeneral';\r\n }\r\n }\r\n vm.getFeeAlert = function() {\r\n return $filter('customTranslate')(vm.typeFeeAlert());\r\n }\r\n\r\n // Récupère le bouton PEB de la page afin de simuler un clic dessus\r\n vm.get_peb_button = function(){\r\n var allElements = document.getElementsByTagName('span');\r\n for (var i = 0, n = allElements.length; i < n; i++) {\r\n if (allElements[i].getAttribute('translate') === 'AlmaResourceSharing' &&\r\n allElements[i].parentNode.className.indexOf('greenbutton') === -1)\r\n {\r\n return allElements[i];\r\n }\r\n }\r\n\r\n }\r\n // vm.get_request_button = function(){\r\n // var allElements = document.getElementsByTagName('prm-opac');\r\n // if (allElements.length === 0) { return null; }\r\n // var opac = allElements[0];\r\n // if (opac.closest('prm-alma-other-members')) { return null; }\r\n //\r\n // var buttons = opac.getElementsByTagName('span');\r\n // for (var i = 0, n = buttons.length; i < n; i++) {\r\n // if (buttons[i].getAttribute('translate') == 'AlmaRequest')\r\n // {\r\n // return buttons[i];\r\n // }\r\n // }\r\n // }\r\n\r\n // Fonction simulant un clic sur le bouton PEB quand on clique sur les\r\n // frais.\r\n vm.click_peb = function(){\r\n var button = vm.get_peb_button();\r\n // console.log(button);\r\n if (button) {\r\n button.click();\r\n } else {\r\n window.location.href = window.location.origin + '/discovery/blankIll?vid=' + vm.parentCtrl.vid;\r\n }\r\n }\r\n // vm.click_request = function(){\r\n // vm.get_request_button().click();\r\n // }\r\n\r\n // console.log(vm);\r\n\r\n }]);\r\n\r\n app.component('prmRequestAfter', {\r\n bindings: { parentCtrl: '<' },\r\n controller: 'CourierInfoController',\r\n template:\r\n `
`\r\n });\r\n\r\n //----------------------------------------------------------------------------------------------\r\n\r\n\r\n app.controller('AlertMsgController', ['$scope', function ($scope) {\r\n var vm = this;\r\n vm.getAlert = getAlert\r\n\r\n function getAlert() {\r\n var ga = vm.parentCtrl.almaHowToGetitService.reqAlert._htmlMsg;\r\n var myEl2 = angular.element(document.querySelector('primo-explore'));\r\n\r\n if (ga.length > 0) {\r\n return myEl2.addClass('alert');\r\n\r\n }\r\n else {\r\n\r\n return myEl2.removeClass('alert');\r\n\r\n }\r\n }\r\n\r\n }]);\r\n\r\n app.component('almaHowovpAfter', {\r\n bindings: { parentCtrl: '<' },\r\n controller: 'AlertMsgController',\r\n template: '
{{$ctrl.getAlert()}}
'\r\n });\r\n\r\n\r\n\r\n})();\r\n"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/primo-explore/custom/41SLSP_EPF-prod/js/homepage/index.js b/primo-explore/custom/41SLSP_EPF-prod/js/homepage/index.js
index 37230b3..44d86a7 100644
--- a/primo-explore/custom/41SLSP_EPF-prod/js/homepage/index.js
+++ b/primo-explore/custom/41SLSP_EPF-prod/js/homepage/index.js
@@ -1,5 +1,4 @@
(function () {
var homepage_module = angular.module('homepageModule', ['angularLoad']);
- homepage_module.component('prmTopbarAfter', require('./topbar.component.js'));
homepage_module.component('prmSearchBarAfter', require('./searchbar.component.js'));
})()
diff --git a/primo-explore/custom/41SLSP_EPF-prod/js/homepage/searchbar.component.js b/primo-explore/custom/41SLSP_EPF-prod/js/homepage/searchbar.component.js
index 42107c6..360c673 100644
--- a/primo-explore/custom/41SLSP_EPF-prod/js/homepage/searchbar.component.js
+++ b/primo-explore/custom/41SLSP_EPF-prod/js/homepage/searchbar.component.js
@@ -1,54 +1,54 @@
"use strict";
/*
OBJECTIFS:
- Toujours afficher l'onglet pour modifier le scope
- Afficher une alerte si les dates correspondent
UTILISATION:
Pour paramétrer l'alerte, il faut modifier le fichier alert.json (dans ce dossier)
*/
module.exports = {
bindings: {parentCtrl: '<'},
template: '',
- controllerAs:'ctrl',
+ controllerAs: 'ctrl',
controller: ['$translate', function($translate){
var vm = this;
/********************/
/* MESSAGE D'ALERTE */
/********************/
// récupère le fichier json avec les paramètres de l'alerte
vm.alert = require("./alert.js");
// par défaut, l'alerte n'est pas considérée comme active
vm.active = false;
// Vérifie dans le fichier json si une alerte est prévue
if (vm.alert.active === true){
// Teste si les dates correspondent pour l'affichage de l'alerte
var d_now = Date.now();
if ((new Date(vm.alert.begin) < d_now) && (d_now < new Date(vm.alert.end))) {
// déclenche l'affichage de l'alerte
vm.active = true;
}
}
// getteur qui retourne le texte en fonction de la langue
vm.get_txt = function(){
var lang = ['en', 'fr', 'it', 'de'].includes($translate.use()) ? $translate.use():'en';
return vm.active ? vm.alert.txt[lang] : "";
}
/*******************/
/* SCOPE PERMANENT */
/*******************/
// Rendre permanent l'affichage des onglets permettant de sélectionnet le scope
vm.parentCtrl.showTabsAndScopes = true;
// console.log(vm.alert);
}
]};
diff --git a/primo-explore/custom/41SLSP_EPF-prod/js/slsp/epfl_custom_slsp.js b/primo-explore/custom/41SLSP_EPF-prod/js/slsp/epfl_custom_slsp.js
index f136a25..45d1635 100644
--- a/primo-explore/custom/41SLSP_EPF-prod/js/slsp/epfl_custom_slsp.js
+++ b/primo-explore/custom/41SLSP_EPF-prod/js/slsp/epfl_custom_slsp.js
@@ -1,172 +1,252 @@
(function () {
+
var app = angular.module('centralCustom', ['angularLoad']);
+
/*
## VERSION SLSP DU CONTROLLEUR ##
# Ajoute le lien vers les amendes
app.controller('CourierInfoController', [function () {
var vm = this;
vm.linkBase = "https:\/\/slsp.ch\/fees";
}]);
*/
/* ## VERSION EPFL DU CONTROLLEUR ## */
app.controller('CourierInfoController', ['$filter', function ($filter) {
var vm = this;
// Remonte l'EPFL dans la liste des bibliothèques
Object.defineProperty(vm.parentCtrl, "form", {
configurable: !0,
get: function(){
// Mettre l'EPFL en première position
var form = this.getFilteredForm(['label', 'multiLabel'], false);
if (!vm.hasOwnProperty('pickupLocationsListOrdered')){
for (var i = 0; i < form.length; i++){
if (form[i].key == 'pickupInstitution'){
function compare( a, b ){
var onTopInstitutions = ['41SLSP_EPF', '41SLSP_EPFL'];
a = onTopInstitutions.indexOf(a.value);
b = onTopInstitutions.indexOf(b.value);
if (a == b) {return 0};
return a < b ? 1 : -1;
}
form[i].options.sort(compare);
vm['pickupLocationsListOrdered'] = true;
}
}
}
return form;
}
}
);
// Vérifie si l'EPFL est la provenance de l'exemplaire sélectionné
vm.isEPFL = function() {
return vm.parentCtrl.requestService && vm.parentCtrl.requestService._service['link-to-service'].indexOf('institution=41SLSP_EPF') > 0 ? true : false;
}
vm.linkBase = "https:\/\/slsp.ch\/fees";
// Personnalisation du message des frais
vm.typeFeeAlert = function() {
if (['almaRequest.header', 'almaRequestOther.header'].includes(vm.parentCtrl.requestHeader)) {
return 'costWarningNetworkLoan'; // $filter('customTranslate')(costWarningNetworkLoan');
} else if (['almaDigitization.header',
'almaDigitizationOther.header',
'almaItemDigitization.header']
.includes(vm.parentCtrl.requestHeader)) {
return vm.isEPFL() ? 'costWarningScanEPFL' : 'costWarningScan';
} else if (vm.parentCtrl.requestHeader === 'almaResourceSharing.header') {
return 'costWarningPEB';
} else {
return 'costWarningGeneral';
}
}
vm.getFeeAlert = function() {
return $filter('customTranslate')(vm.typeFeeAlert());
}
// Récupère le bouton PEB de la page afin de simuler un clic dessus
vm.get_peb_button = function(){
var allElements = document.getElementsByTagName('span');
for (var i = 0, n = allElements.length; i < n; i++) {
if (allElements[i].getAttribute('translate') === 'AlmaResourceSharing' &&
allElements[i].parentNode.className.indexOf('greenbutton') === -1)
{
return allElements[i];
}
}
}
// vm.get_request_button = function(){
// var allElements = document.getElementsByTagName('prm-opac');
// if (allElements.length === 0) { return null; }
// var opac = allElements[0];
// if (opac.closest('prm-alma-other-members')) { return null; }
//
// var buttons = opac.getElementsByTagName('span');
// for (var i = 0, n = buttons.length; i < n; i++) {
// if (buttons[i].getAttribute('translate') == 'AlmaRequest')
// {
// return buttons[i];
// }
// }
// }
// Fonction simulant un clic sur le bouton PEB quand on clique sur les
// frais.
vm.click_peb = function(){
var button = vm.get_peb_button();
// console.log(button);
if (button) {
button.click();
} else {
window.location.href = window.location.origin + '/discovery/blankIll?vid=' + vm.parentCtrl.vid;
}
}
// vm.click_request = function(){
// vm.get_request_button().click();
// }
// console.log(vm);
}]);
app.component('prmRequestAfter', {
bindings: { parentCtrl: '<' },
controller: 'CourierInfoController',
template:
`