CINXE.COM

Teacher detail

<!DOCTYPE html><html lang="it"><head><meta charset="utf-8"/><meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport"/><title>Teacher detail</title><meta content="Il Campus per eccellenza che cresce con il territorio ed 猫 capace di creare prospettive di crescita culturale, sociale ed economica per i propri studenti." name="description"/><meta content="UniCal" name="keywords"/><meta content="index, follow" name="robots"/><link href="https://cdn.jsdelivr.net/npm/bootstrap-italia@2.12.0/dist/css/bootstrap-italia.min.css" rel="stylesheet"/><script>window.__PUBLIC_PATH__ = "https://cdn.jsdelivr.net/npm/bootstrap-italia@2.12.0/dist/fonts"</script><link href="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/favicon/favicon-32x32.png" rel="shortcut icon"/><link href="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/css/unicms_unical.css" rel="stylesheet" type="text/css"/><link href="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/css/colors/unicms_unical.css" rel="stylesheet" type="text/css"/><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/vue.2.7.16.js"></script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/axios.1.6.7.js"></script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/vue.options.js"></script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/jquery.3.7.1.min.js"></script><link href="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/css/vendor/owl.carousel.min.css" rel="stylesheet"/><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/vendor/owl.carousel.min.js"></script><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://ingestion.webanalytics.italia.it/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', 'bm93LeJpxR']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><meta content="http://www.unical.it/storage/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/?lang=en" property="og:url"/><meta content="article" property="og:type"/><meta content="Portale dell'Universit脿 della Calabria" property="og:title"/><meta content="Il Campus per eccellenza che cresce con il territorio ed 猫 capace di creare prospettive di crescita culturale, sociale ed economica per i propri studenti." property="og:description"/><meta content="https://www.unical.it/static/images/logo.png" property="og:image"/><meta content="Portale dell'Universit脿 della Calabria" property="og:image:alt"/><meta content="330" property="og:image:width"/><meta content="330" property="og:image:height"/><meta content="summary_large_image" name="twitter:card"/><meta content="Portale dell'Universit脿 della Calabria" name="twitter:title"/><meta content="Il Campus per eccellenza che cresce con il territorio ed 猫 capace di creare prospettive di crescita culturale, sociale ed economica per i propri studenti." name="twitter:description"/><meta content="https://www.unical.it/static/images/logo.png" name="twitter:image"/><meta content="Portale dell'Universit脿 della Calabria" name="twitter:image:alt"/></head><body><div class="it-header-wrapper"><a aria-label="University of Calabria" href="/"><div class="it-header-center-wrapper d-lg-none h-auto pt-4"><img alt="University of Calabria" class="w-100 h-100 d-md-none" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logo_unical_white.svg" style="aspect-ratio: 11,15"/><img alt="HRS4R" class="d-md-none ms-1" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logos/HRS4R.svg" style="width: 8%; aspect-ratio: 1"/><img alt="University of Calabria" class="w-75 h-100 d-none d-md-block" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logo_unical_white.svg" style="aspect-ratio: 11,15"/><img alt="HRS4R" class="d-none d-md-block ms-3" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logos/HRS4R.svg" style="width: 6%; aspect-ratio: 1"/></div></a><div class="it-nav-wrapper"><div class="it-header-center-wrapper"><div class="container"><div class="row"><div class="col-10 offset-2 col-lg-12 offset-lg-0"><div class="it-header-center-content-wrapper"><div class="d-none d-lg-inline col-lg-6"><div class="it-brand-wrapper"><a href=" / "><div class="d-none d-lg-flex col-lg-12 px-0"><img alt="University of Calabria" class="w-100" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logo_unical_white.svg" style="aspect-ratio: 11,15"/><img alt="HRS4R" class="ms-3" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logos/HRS4R.svg" style="width: 8%; aspect-ratio: 1"/></div></a></div></div><div class="it-right-zone col-12 col-lg-5 offset-lg-1"><div class="row w-100"><div class="col-2 offset-8 offset-md-1 col-md-10"><a aria-label="Search" href="/search/"><svg aria-labelledby="search_mobile" class="icon d-md-none icon-sm icon-light"><title id="search_mobile">Search</title><use xlink:href="/static/svg/sprites.svg#it-search"></use></svg></a><div class="row d-none d-md-flex"><div class="col-2 col-lg-3 text-end"><svg aria-labelledby="search" class="icon icon-md icon-light"><title id="search">Search</title><use xlink:href="/static/svg/sprites.svg#it-search"></use></svg></div><div class="col-9 col-lg-8"><input class="top-input" id="search-engine-input" placeholder="Search..." type="text"/></div></div></div><div class="col-2 col-md-1 text-center"><a href="/rubrica/"><img alt="Address book" class="d-none d-lg-block" loading="lazy" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/addressbook.svg" style="height: 32px; width: 38px;" title="Address book"/><img alt="Address book" class="d-lg-none" loading="lazy" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/addressbook.svg" style="height: 24px; width: 28px;" title="Address book"/></a></div></div></div></div></div></div></div></div><div class="dark-grey-background py-2"><div class="container text-center text-lg-end"><div class="row"><div class="col"><a href="?lang=it" style="cursor: pointer;" title="Italian"><img alt="Italian" class="me-2" src="/static/images/flags/it.svg" style="width: 27px; height: 27px;"/></a> <a href="?lang=en" style="cursor: pointer;" title="English"><img alt="English" class="me-2" src="/static/images/flags/en.svg" style="width: 27px; height: 27px;"/></a> <a href="/chinese/?lang=en" style="cursor: pointer;" title="Chinese"><img alt="Chinese" class="me-2" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/zh.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a> <a href="/francais/?lang=en" style="cursor: pointer;" title="French"><img alt="French" class="me-2" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/fr.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a> <a href="/portugues/?lang=en" style="cursor: pointer;" title="Portuguese"><img alt="Portuguese" class="me-2" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/pt.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a> <a href="/espanol/?lang=en" style="cursor: pointer;" title="Espanol"><img alt="Espanol" class="me-2" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/es.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a> <a href="/arabo/?lang=en" style="cursor: pointer;" title="Arabic"><img alt="Arabic" class="me-2" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/ar.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a> <a href="/russo/?lang=en" style="cursor: pointer;" title="Russian"><img alt="Russian" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static//images/flags/ru.svg" style="cursor: pointer; width: 27px; height: 27px;"/></a></div></div></div></div><div class="it-header-navbar-wrapper"><div class="container"><div class="row"><div class="col-12"><nav aria-label="Main menu" class="navbar navbar-expand-lg has-megamenu"><button aria-controls="nav10" aria-expanded="false" aria-label="Show/Hide menu" class="custom-navbar-toggler" data-bs-target="#nav10" data-bs-toggle="navbarcollapsible" type="button"><svg class="icon"><use xlink:href="/static/svg/sprites.svg#it-burger"></use></svg></button><div class="navbar-collapsable" id="nav10" style="display: none;"><div class="overlay" style="display: none;"></div><div class="close-div"><button class="btn close-menu" type="button"><svg class="icon"><use xlink:href="/static/svg/sprites.svg#it-close-big"></use></svg><span class="visually-hidden">Close</span></button></div><div class="menu-wrapper"><ul class="navbar-nav"><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle ps-lg-0 pe-lg-1" href="//www.unical.it/campus/"><span>The Campus</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_3" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_3" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/campus/servizi/"><span class="text-dark">Campus services</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/servizi/futuri-studenti/"><span class="text-dark">Prospective students</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/servizi/studenti-iscritti/"><span class="text-dark">Enrolled students</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/servizi/laureati/"><span class="text-dark">Graduates</span></a></li></ul></div></div><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/campus/vivere-il-campus/"><span class="text-dark">Living on Campus</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/quartieri/"><span class="text-dark">Campus Residences</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/servizio-mensa/"><span class="text-dark">Canteen services</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/biblioteche/"><span class="text-dark">Libraries</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/sistema-museale/"><span class="text-dark">Museum hub</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/teatri-e-cinema/"><span class="text-dark">Theaters and cinemas</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/centro-linguistico-di-ateneo/"><span class="text-dark">Language Centre</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/centro-sanitario/"><span class="text-dark">Health Centre</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/centro-sportivo/"><span class="text-dark">Sports Centre</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/centro-congressi/"><span class="text-dark">Convention Center</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/polo-infanzia/"><span class="text-dark">Infants Center</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/servizio-foresteria/"><span class="text-dark">Guest quarters</span></a></li></ul></div></div><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/campus/visita-il-campus/"><span class="text-dark">Visit our Campus</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/visita-il-campus/storia-e-architettura/"><span class="text-dark">History and Architecture</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/visita-il-campus/territorio/"><span class="text-dark">The surrounding area</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/visita-il-campus/come-arrivare/"><span class="text-dark">How to get here</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/visita-il-campus/mappa/"><span class="text-dark">Map</span></a></li></ul></div></div></div></div></li><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle pe-lg-1" href="//www.unical.it/didattica/"><span>Teaching</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_2" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_2" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/didattica/offerta-formativa/"><span class="text-dark">Educational offer</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/lauree-triennali-e-magistrali-a-ciclo-unico/"><span class="text-dark">Bachelor and Single-cycle Master鈥檚 Degrees</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/lauree-magistrali/"><span class="text-dark">Master鈥檚 Degrees</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/lauree-in-lingua-inglese/"><span class="text-dark">International Degrees</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/scuole-specializzazione/"><span class="text-dark">Scuole di Specializzazione</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/dottorati/"><span class="text-dark">PhD Courses</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/master-e-alta-formazione/"><span class="text-dark">Postgraduate Courses</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/formazione-insegnanti/"><span class="text-dark">Teacher Training Courses</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/offerta-formativa/esami-di-stato/"><span class="text-dark">State examinations</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/"><span class="text-dark">Enrolments, educational paths and graduations</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/ammissione-1-anno/"><span class="text-dark">Admission procedures</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/iscrizioni-anni-successivi/"><span class="text-dark">Enrolment procedures</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/frequentare-i-corsi/"><span class="text-dark">Course attendance</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/mobilita-nazionale/"><span class="text-dark">Mobilit脿 Nazionale (Erasmus Italiano)</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/"><span class="text-dark">Mobilit脿 internazionale</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/trasferimenti-e-passaggi-di-corso/"><span class="text-dark">Transfer and Course Changing procedures</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/lasciare-e-riprendere-gli-studi/"><span class="text-dark">Interruption and return to study</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/tasse-ed-esoneri/"><span class="text-dark">Tuition fees and exemptions</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/certificati-e-pergamene-di-laurea/"><span class="text-dark">Certificates and degree certificates</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/dual-career/"><span class="text-dark">Student/Athlete Dual Career</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/carriera-alias/"><span class="text-dark">Alias career</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/iscriversi-studiare-laurearsi/pa-110-e-lode/"><span class="text-dark">PA 110 e lode</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/didattica/diritto-allo-studio/"><span class="text-dark">Benefits to access higher education</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/diritto-allo-studio/borse-di-studio/"><span class="text-dark">Study grants</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/diritto-allo-studio/altri-benefici/"><span class="text-dark">Other benefits</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/diritto-allo-studio/servizio-alloggi/"><span class="text-dark">Housing services</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/diritto-allo-studio/servizio-mensa/"><span class="text-dark">Canteen services</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/diritto-allo-studio/servizi-per-studenti-con-disabilita-e-dsa/"><span class="text-dark">Services for disabled and dyslexic students</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/didattica/orientamento/"><span class="text-dark">Guidance</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/iniziative-di-orientamento/"><span class="text-dark">Academic guidance initiatives</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/orientamento-con-le-scuole/"><span class="text-dark">Guidance initiatives for high schools</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/pre-corsi/"><span class="text-dark">Pre-degree courses</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/tirocinio/"><span class="text-dark">Internship</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/tutorato/"><span class="text-dark">Tutoring</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/career-service/"><span class="text-dark">Career Service</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/counselling/"><span class="text-dark">Counselling</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/didattica/orientamento/progetto-orsi/"><span class="text-dark">Progetti PNRR</span></a></li></ul></div></div></div></div></li><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle pe-lg-1" href="//www.unical.it/ricerca/"><span>Research</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_300" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_300" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/ricerca/strutture-di-ricerca/"><span class="text-dark">Research facilities</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/strutture-di-ricerca/dipartimenti/"><span class="text-dark">Departments</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/strutture-di-ricerca/laboratori/"><span class="text-dark">Labs</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/strutture-di-ricerca/infrastrutture/"><span class="text-dark">Infrastructures</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/ricerca/attivita-di-ricerca/"><span class="text-dark">Research activities</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/attivita-di-ricerca/progetti-di-ricerca/"><span class="text-dark">Research projects</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/attivita-di-ricerca/progetti-di-ricerca/attuazione-misure-pnrr/"><span class="text-dark">Attuazione misure PNRR</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/attivita-di-ricerca/prodotti-ricerca/"><span class="text-dark">Research products</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/attivita-di-ricerca/opportunita-di-finanziamento/"><span class="text-dark">Funding opportunities</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/ricerca/giovani-ricercatori/"><span class="text-dark">Young researchers</span></a></b></li><li><a class="list-item py-0 sub" href="https://www.unical.it/didattica/offerta-formativa/dottorati/"><span class="text-dark">PhD Programs</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/giovani-ricercatori/marie-sklodowska-curie-fellowships/"><span class="text-dark">Marie Sk艂odowska-Curie Fellowships</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/ricerca/giovani-ricercatori/contratti-ricercatori-rtda/"><span class="text-dark">Fixed-term researchers RTDA</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/ricerca/human-resources-strategy-for-researchers/"><span class="text-dark">Human Resources Strategy for Researchers</span></a></b></li></ul></div></div></div></div></li><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle pe-lg-1" href="//www.unical.it/internazionale/"><span>International</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_301" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_301" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/internazionale/studiare-all-estero/"><span class="text-dark">Studying abroad</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/doppio-titolo/"><span class="text-dark">Dual - Lauree doppio titolo</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/erasmus/"><span class="text-dark">Erasmus+ Study</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/erasmus/programma-most/"><span class="text-dark">MoST program</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/erasmus/short-term-mobility/"><span class="text-dark">Erasmus+ Short Term Mobility</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/studiare-all-estero/tirocini-estero/"><span class="text-dark">Traineeships abroad</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/internazionale/intenational-students/"><span class="text-dark">International students</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/intenational-students/ue-unical-experience/"><span class="text-dark">UE UniCal Experience</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/intenational-students/unical-admission/"><span class="text-dark">UnicalAdmission - Masters Degree Extra UE</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/intenational-students/incoming-students-erasmus-plus/"><span class="text-dark">Erasmus+ Incoming students</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/intenational-students/incoming-students-overseas/"><span class="text-dark">Overseas program Incoming students</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/intenational-students/international-course-catalogue/"><span class="text-dark">International courses catalogue</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/internazionale/mobilita-docenti-staff/"><span class="text-dark">Professors, researchers and staff mobility</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/mobilita-docenti-staff/insegnare-formarsi-estero/"><span class="text-dark">Erasmus + teaching and training abroad</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/mobilita-docenti-staff/international-teachers-opportunities/"><span class="text-dark">International Teachers Opportunities</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/mobilita-docenti-staff/fulbright/"><span class="text-dark">FULBRIGHT Program</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/internazionale/mobilita-docenti-staff/euraxess/"><span class="text-dark">EURAXESS Program</span></a></li></ul></div></div><div class="col-lg-3"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/internazionale/eupeace/"><span class="text-dark">EUPeace</span></a></b></li></ul></div></div></div></div></li><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle pe-lg-1" href="//www.unical.it/innovazione-societa/"><span>Innovation and society</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_5" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_5" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/innovazione-societa/trasferimento-tecnologico/"><span class="text-dark">Technology Transfer</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/trasferimento-tecnologico/proprieta-intellettuale/"><span class="text-dark">Intellectual property</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/trasferimento-tecnologico/formazione-cultura-impresa/"><span class="text-dark">Training and entrepreneurial culture</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/trasferimento-tecnologico/creazione-imprese-innovative/"><span class="text-dark">Creation of innovative businesses</span></a></li></ul></div></div><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/innovazione-societa/cultura-e-territorio/"><span class="text-dark">Culture and Territory</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/cultura-e-territorio/public-engagement/"><span class="text-dark">Public Engagement</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/cultura-e-territorio/job-placement-per-le-aziende/"><span class="text-dark">Job Placement</span></a></li><li><a class="list-item py-0 sub" href="https://www.unical.it/campus/vivere-il-campus/biblioteche/"><span class="text-dark">Libraries</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/campus/vivere-il-campus/sistema-museale/"><span class="text-dark">Museums</span></a></li><li><a class="list-item py-0 sub" href="https://www.unical.it/campus/vivere-il-campus/teatri-e-cinema/"><span class="text-dark">Theater and cinema</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/cultura-e-territorio/sport/"><span class="text-dark">Sports</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/innovazione-societa/cultura-e-territorio/sostenibilita/"><span class="text-dark">Sustainability</span></a></li><li><a class="list-item py-0 sub" href="https://www.unical.it/campus/vivere-il-campus/centro-sanitario/"><span class="text-dark">Health</span></a></li></ul></div></div></div></div></li><li class="nav-item dropdown megamenu"><a class="nav-link dropdown_toggle pe-lg-1" href="//www.unical.it/organizzazione/"><span>Organization</span></a> <span aria-expanded="false" class="megamenu-dropdown-arrow m-lg-auto pb-lg-1" data-bs-toggle="dropdown" data-toggle="dropdown" id="item_1" role="navigation"><svg class="icon icon-xs float-xs-end"><use xlink:href="/static/svg/sprites.svg#it-expand"></use></svg></span><div aria-labelledby="item_1" class="dropdown-menu" role="region"><div class="row p-md-3 p-0"><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-lg-0" href="//www.unical.it/organizzazione/chi-siamo/"><span class="text-dark">About us</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/storia-missione/"><span class="text-dark">History and mission</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/organi/"><span class="text-dark">University bodies</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/linee-strategiche/"><span class="text-dark">Strategic policies</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/assicurazione-qualita/"><span class="text-dark">Quality Insurance</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/statuto-regolamenti/"><span class="text-dark">University Charter and Regulations</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/chi-siamo/portale-trasparenza/"><span class="text-dark">Transparent Administration</span></a></li></ul></div></div><div class="col-lg-4"><div class="link-list-wrapper"><ul class="link-list"><li><b><a class="list-item pb-2 pt-2 pt-lg-0" href="//www.unical.it/organizzazione/strutture/"><span class="text-dark">Facilities</span></a></b></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/strutture/dipartimenti/"><span class="text-dark">Departments</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/strutture/centri/"><span class="text-dark">Centers</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/strutture/centro-residenziale/"><span class="text-dark">Centro Residenziale</span></a></li><li><a class="list-item py-0 sub" href="//www.unical.it/organizzazione/strutture/direzioni-aree/"><span class="text-dark">Central Administration</span></a></li></ul></div></div></div></div></li></ul></div></div></nav></div></div></div></div></div></div><div class="main-body"><nav aria-label="breadcrumb" class="breadcrumb-container"><div class="container"><div class="col-12"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="/">Home</a> <span class="separator">/</span></li><li class="breadcrumb-item"><a href="/storage/">Open data</a> <span class="separator">/</span></li><li class="breadcrumb-item"><a href="/storage/teachers/">Teachers</a> <span class="separator">/</span></li><li aria-current="page" class="breadcrumb-item active"><a href="#">gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D</a></li></ol></div></div></nav><div class="container"><div class="col-12 py-5 bd-content"><div class="container"><div class="row"><div class="col-12"><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><script src="/static/js/vue-markdown.js"></script><div class="row"><div class="col-12 col-lg-8"><div id="id_1_head"><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else-if="Object.keys(item).length"><div class="row"><div class="col-2"><img :src="item.PhotoPath" class="w-100" style="border-radius: 50%" v-if="item.PhotoPath &amp;&amp; item.PhotoPath != ''"/><img class="w-100" src="/static/images/user.avif" style="height: fit-content;" v-else=""/></div><div class="col my-0 ms-2"><h2 class="lighter">[[ item.TeacherFirstName ]] [[ item.TeacherLastName ]]</h2><h3 class="lighter">[[ item.TeacherRoleDescription ]]</h3><p v-if="!item.TeacherSSDCod.includes('0000')">[[ item.TeacherSSDDescription ]] ([[ item.TeacherSSDCod ]])</p></div></div><hr v-if="Object.keys(item).length"/></div><div v-else=""><div class="alert alert-info" role="alert"><h4 class="alert-heading">Alert</h4><p>Resource not found</p><hr/><p class="mb-0">https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/</p></div></div></div><ul class="nav nav-tabs nav-tabs-icon-text" id="id_1_tabList" role="tablist" v-if="Object.keys(item).length"><li class="nav-item"><a aria-controls="profileTab" aria-selected="true" class="nav-link active" data-bs-toggle="tab" href="#profileTab" id="profileTab-tab" role="tab"><svg class="icon"><use href="/static/svg/sprites.svg#it-user"></use></svg>Profile</a></li><li class="nav-item"><a aria-controls="tab2b" aria-selected="false" class="nav-link" data-bs-toggle="tab" href="#tab2b" id="tab2b-tab" role="tab"><svg class="icon"><use href="/static/svg/sprites.svg#it-horn"></use></svg>Notice board</a></li><li class="nav-item"><a aria-controls="tab3b" aria-selected="false" class="nav-link" data-bs-toggle="tab" href="#tab3b" id="tab3b-tab" role="tab"><svg class="icon"><use href="/static/svg/sprites.svg#it-note"></use></svg>CV</a></li><li class="nav-item"><a aria-controls="tab4b" aria-selected="false" class="nav-link" data-bs-toggle="tab" href="#tab4b" id="tab4b-tab" role="tab"><svg class="icon"><use href="/static/svg/sprites.svg#it-folder"></use></svg>Teaching activity</a></li><li class="nav-item"><a aria-controls="tab5b" aria-selected="false" class="nav-link" data-bs-toggle="tab" href="#tab5b" id="tab5b-tab" role="tab"><svg class="icon"><use href="/static/svg/sprites.svg#it-tool"></use></svg>Research</a></li></ul><div class="tab-content" id="tabContent"><div aria-labelledby="profileTab-tab" class="tab-pane p-4 fade show active" id="profileTab" role="tabpanel"><div id="id_1"><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else-if="Object.keys(item).length"><div class="d-lg-none"><div class="background-light-grey px-2 py-3 mb-2 w-100 mt-4"><div class="row"><div class="col-2"><svg class="icon icon-muted"><use xlink:href="/static/svg/sprites.svg#it-info-circle"></use></svg></div><div class="col m-auto align-middle"><b>Contacts</b><ul class="mb-0 ps-0 list-unstyled"><li v-if="item.TeacherDepartmentName"><a :href="'//www.unical.it/storage/structures/' + item.TeacherDepartmentCod +'/'"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-pa"></use></svg>[[ item.TeacherDepartmentName]]</a></li><li v-if="item.TeacherOffice"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-map-marker"></use></svg>[[ item.TeacherOffice]]</li><li v-for="email in item.TeacherEmail"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-mail"></use></svg>[[ email]]</li><li v-for="phone in item.TeacherTelOffice"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-telephone"></use></svg>[[ phone]]</li><li v-for="website in item.TeacherWebSite"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-link"></use></svg>[[ website]]</li></ul></div></div></div></div><div class="d-lg-none" id="id_1_receptionMobile"><div class="background-light-grey px-2 py-3 mb-2 w-100 mt-4" v-if="item.ReceptionHours &amp;&amp; item.ReceptionHours.length &gt; 0"><div class="row"><div class="col-2"><svg class="icon icon-muted"><use xlink:href="/static/svg/sprites.svg#it-clock"></use></svg></div><div class="col m-auto align-middle"><b>[[ labels['ReceptionHours'] ]]</b> <span v-html="item.ReceptionHours"></span></div></div></div></div><ul v-if="item.TeacherFunctions &amp;&amp; item.TeacherFunctions.length &gt; 0"><li v-for="value in item.TeacherFunctions"><span style="white-space: pre-line;">[[ value.TeacherRole]]</span> : <a :href="'//www.unical.it/storage/structures/' + value.StructureId +'/'">[[ value.StructureName]]</a></li></ul><div class="row" v-if="item.ShortBio"><div class="col"><span v-html="item.ShortBio"></span></div></div></div></div></div><div aria-labelledby="tab2b-tab" class="tab-pane p-4 fade" id="tab2b" role="tabpanel"><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_8"><div v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row"><div class="col-12"><div class="card-wrapper card-space"><div class="card card-bg no-after"><div class="card-body pb-0"><div class="row form-group"><div class="input-group"><label for="id_1_8_search"></label><input class="form-control" id="id_1_8_search" name="id_1_8_search" type="text" v-model="selected_search" v-on:keyup.enter="id_1_8.search()"/><div class="input-group-append"><button @click="id_1_8.search()" class="btn btn-primary" id="search-button" type="button">Search</button></div></div></div></div></div></div></div></div><list-panel id="id_1_8" v-bind:data="items" v-if="items.results"></list-panel><div class="table-responsive"><table class="table table-sm table-hover table-striped"><thead><tr><th scope="col">[[ labels.Title ]]</th><th scope="col">[[ labels.TextType ]]</th><th scope="col">[[ labels.PublicationDate ]]</th></tr></thead><tbody><tr v-for="item in items.results"><td><a :data-bs-target="'#newsModal_' + item.ID" data-bs-toggle="modal" href="">[[ item.Title ]]</a><div :aria-labelledby="'newsModalTitle_' + item.ID" :id="'newsModal_' + item.ID" class="modal fade" role="dialog" tabindex="-1"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><div :id="'newsModalTitle_' + item.ID" class="modal-title h4">[[ item.Title ]]</div><button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"><svg class="icon"><use href="/static/svg/sprites.svg#it-close"></use></svg></button></div><div class="modal-body"><p>[[ item.TextType ]] - [[ new Date(item.PublicationDate).toLocaleString("en", {day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric'})]]</p></div><div class="modal-body" v-html="item.Text"></div><div class="modal-body" v-if="item.TextUrl"><a :href="item.TextUrl">[[ item.TextUrl ]]</a></div><div class="modal-footer"></div></div></div></div></td><td>[[ item.TextType ]]</td><td>[[ new Date(item.PublicationDate).toLocaleString("en", {day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric'})]]</td></tr></tbody></table></div><list-panel id="id_1_8" v-bind:data="items" v-if="items.results"></list-panel></div></div><div v-else="">No items here</div></div><script> function id_1_8_get_form_paramenters(keyword=null, value=null) { let dict ={}; if (keyword) dict[keyword] = value // search let search = document.getElementById('id_1_8_search') if (search && search.value) dict['search'] = search.value setItemInSession("id_1_8", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_8_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/news/"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_8_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/news/"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_8 = new Vue({ el: '#id_1_8', data() { return { parameters: id_1_8_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/news/', next_page: "", previous_page: "", is_loading: true, loader_source: '', search_dict: {}, selected_search: this.getItemFromSession("id_1_8", 'search'), } }, created() { }, beforeMount() { }, mounted() { this.parameters = id_1_8_encodeQueryData(this.getItemsFromSession("id_1_8")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_8_encodeQueryData(id_1_8_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_8_encodeQueryData(id_1_8_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, }, }) </script></div><div aria-labelledby="tab3b-tab" class="tab-pane p-4 fade" id="tab3b" role="tabpanel"><table class="table table-striped table-hover" v-if="item.CVPathIta || item.CVPathEn"><tbody><tr v-if="item.CVPathIta"><td><b>CV (it)</b></td><td><svg class="icon icon-xs"><use xlink:href="/static/svg/sprites.svg#it-file-pdf-ext"></use></svg><a :href="item.CVPathIta" target="_blank">Download</a></td></tr><tr v-if="item.CVPathEn"><td><b>CV (en)</b></td><td><svg class="icon icon-xs"><use xlink:href="/static/svg/sprites.svg#it-file-pdf-ext"></use></svg><a :href="item.CVPathEn" target="_blank">Download</a></td></tr></tbody></table><div class="accordion accordion-left-icon" id="id_1_collapse-cv-1-lft" v-if="item.TeacherCVShort"><div class="accordion-item"><div class="accordion-header" id="id_1_heading-cvshort-lft"><button aria-controls="id_1_collapse-cvshort-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_collapse-cvshort-lft" data-bs-toggle="collapse" type="button">Curriculum vitae (short)</button></div><div aria-labelledby="id_1_heading-cvshort-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_collapse-cv-1-lft" id="id_1_collapse-cvshort-lft" role="region"><div class="mt-3 accordion-body"><span v-html="item.TeacherCVShort" v-if="containsHTML(item.TeacherCVShort)"></span> <span style="white-space: pre-line;" v-else="">[[ item.TeacherCVShort ]]</span></div></div></div></div><div class="accordion accordion-left-icon" id="id_1_collapse-cv-2-lft" v-if="item.TeacherCVFull"><div class="accordion-item"><div class="accordion-header" id="id_1_heading-cvfull-lft"><button aria-controls="id_1_collapse-cvfull-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_collapse-cvfull-lft" data-bs-toggle="collapse" type="button">Curriculum vitae (full)</button></div><div aria-labelledby="id_1_heading-cvfull-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_collapse-cv-2-lft" id="id_1_collapse-cvfull-lft" role="region"><div class="mt-3 accordion-body"><span v-html="item.TeacherCVFull" v-if="containsHTML(item.TeacherCVFull)"></span> <span style="white-space: pre-line;" v-else="">[[ item.TeacherCVFull ]]</span></div></div></div></div></div><div aria-labelledby="tab4b-tab" class="tab-pane p-4 fade" id="tab4b" role="tabpanel"><div class="accordion accordion-left-icon" id="id_1_collapse-3-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_heading-activities-lft"><button aria-controls="id_1_collapse-activities-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_collapse-activities-lft" data-bs-toggle="collapse" type="button">Teachings</button></div><div aria-labelledby="id_1_heading-activities-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_collapse-3-lft" id="id_1_collapse-activities-lft" role="region"><div class="mt-3 accordion-body"><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_2"><div v-if="(initial_items &amp;&amp; initial_items.length) || parameters"><div class="row"><div class="col-12"><div class="card-wrapper card-space"><div class="card card-bg no-after"><div class="card-body"><div class="form-group mb-0"><div class="input-group"><label><b>Year</b></label><input class="form-control" id="id_1_2_year_input" name="id_1_2_year_input" placeholder="2024" style="margin-left: 80px" type="number" v-model="selected_year" v-on:keyup.enter="id_1_2.search()"/><div class="input-group-append"><button @click="id_1_2.search()" class="btn btn-primary" id="search-button" type="button">Search</button></div></div></div></div></div></div></div></div><list-panel id="id_1_2" v-bind:data="items" v-if="items.results"></list-panel><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="table-responsive"><table class="table table-sm table-hover table-striped"><thead><tr><th scope="col">[[ labels.StudyActivityName ]]</th><th scope="col">[[ labels.StudyActivityAA ]]</th><th scope="col">[[ labels.StudyActivityCdSName ]]</th></tr></thead><tbody><tr v-for="item in items.results"><td><a :href="'//www.unical.it/storage/cds/' + item.StudyActivityRegDidId + '/activities/' + item.StudyActivityID +'/'">[[ item.StudyActivityName ]] <span v-if="item.StudyActivityCompulsory == 1">*</span></a></td><td>[[ item.StudyActivityAA ]]</td><td><a :href="'//www.unical.it/storage/cds/' + item.StudyActivityRegDidId + '/'">[[ item.StudyActivityCdSName ]]</a></td></tr></tbody></table></div></div><list-panel id="id_1_2" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div><script> function id_1_2_get_form_paramenters() { let dict = {}; // year let year = document.getElementById('id_1_2_year_input') if (year && year.value) dict['year'] = year.value setItemInSession("id_1_2", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_2_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/studyactivities/?year=2024"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_2_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/studyactivities/?year=2024"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_2 = new Vue({ el: '#id_1_2', data() { return { parameters: id_1_2_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/studyactivities/?year=2024', next_page: "", previous_page: "", is_loading: true, loader_source: '', selected_year: this.getItemFromSession("id_1_2", 'year') || id_1_2_get_param('year'), } }, created() { }, beforeMount() { }, mounted() { this.parameters = id_1_2_encodeQueryData(this.getItemsFromSession("id_1_2")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_2_encodeQueryData(id_1_2_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_2_encodeQueryData(id_1_2_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, }, }) </script></div></div></div></div><div class="accordion accordion-left-icon" id="id_1_collapse-3-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_heading-materials-lft"><button aria-controls="id_1_collapse-materials-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_collapse-materials-lft" data-bs-toggle="collapse" type="button">Teaching Materials</button></div><div aria-labelledby="id_1_heading-materials-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_collapse-3-lft" id="id_1_collapse-materials-lft" role="region"><div class="mt-3 accordion-body"><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_7"><div v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row"><div class="col-12"><div class="card-wrapper card-space"><div class="card card-bg no-after"><div class="card-body pb-0"><div class="row form-group"><div class="input-group"><label for="id_1_7_search"></label><input class="form-control" id="id_1_7_search" name="id_1_7_search" type="text" v-model="selected_search" v-on:keyup.enter="id_1_7.search()"/><div class="input-group-append"><button @click="id_1_7.search()" class="btn btn-primary" id="search-button" type="button">Search</button></div></div></div></div></div></div></div></div><list-panel id="id_1_7" v-bind:data="items" v-if="items.results"></list-panel><div class="table-responsive"><table class="table table-sm table-hover table-striped"><thead><tr><th scope="col">[[ labels.Title ]]</th><th scope="col">[[ labels.PublicationDate ]]</th></tr></thead><tbody><tr v-for="item in items.results"><td><a :data-bs-target="'#matModal_' + item.ID" data-bs-toggle="modal" href="">[[ item.Title ]]</a><div :aria-labelledby="'matModalTitle_' + item.ID" :id="'matModal_' + item.ID" class="modal fade" role="dialog" tabindex="-1"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><div :id="'matModalTitle_' + item.ID" class="modal-title h4">[[ item.Title ]]</div><button aria-label="Close" class="btn-close" data-bs-dismiss="modal" type="button"><svg class="icon"><use href="/static/svg/sprites.svg#it-close"></use></svg></button></div><div class="modal-body"><p>[[ new Date(item.PublicationDate).toLocaleString("en", {day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric'})]]</p></div><div class="modal-body" v-html="item.Text"></div><div class="modal-body" v-if="item.TextUrl"><a :href="item.TextUrl">[[ item.TextUrl ]]</a></div><div class="modal-footer"></div></div></div></div></td><td>[[ new Date(item.PublicationDate).toLocaleString("en", {day: '2-digit', month: '2-digit', year: 'numeric', hour: 'numeric', minute: 'numeric'})]]</td></tr></tbody></table></div></div><list-panel id="id_1_7" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div><script> function id_1_7_get_form_paramenters(keyword=null, value=null) { let dict ={}; if (keyword) dict[keyword] = value // search let search = document.getElementById('id_1_7_search') if (search && search.value) dict['search'] = search.value setItemInSession("id_1_7", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_7_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/materials/"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_7_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/materials/"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_7 = new Vue({ el: '#id_1_7', data() { return { parameters: id_1_7_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/materials/', next_page: "", previous_page: "", is_loading: true, loader_source: '', search_dict: {}, selected_search: this.getItemFromSession("id_1_7", 'search'), } }, created() { }, beforeMount() { }, mounted() { this.parameters = id_1_7_encodeQueryData(this.getItemsFromSession("id_1_7")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_7_encodeQueryData(id_1_7_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_7_encodeQueryData(id_1_7_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, }, }) </script></div></div></div></div></div><div aria-labelledby="tab5b-tab" class="tab-pane p-4 fade" id="tab5b" role="tabpanel"><div class="table-responsive" id="id_1_researchFields" v-if="item.ORCID"><ul style="list-style: none"><li><a :href="'https://orcid.org/' + [[ item.ORCID ]]" target="_blank"><img src="/static/images/orcid.png" width="100"/></a></li></ul></div><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_1" v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><div class="accordion accordion-left-icon" id="id_1_1_collapse-container-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_1_heading-lft"><button aria-controls="id_1_1_collapse-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_1_collapse-lft" data-bs-toggle="collapse" type="button">Laboratories</button></div><div aria-labelledby="id_1_1_heading-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_1_collapse-container-lft" id="id_1_1_collapse-lft" role="region"><div class="mt-3 accordion-body"><div v-if="items || parameters"><div class="row"><div class="col-12"><div class="card-wrapper card-space"></div></div></div><list-panel id="id_1_1" v-bind:data="items" v-if="items.results"></list-panel><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row mb-3" v-for="item in items.results" v-if="item.LaboratoryName != '' &amp;&amp; item.LaboratoryName"><div class="col-12"><div class="card-wrapper pb-0"><div class="card no-after" style="border:1px solid #b71918"><div class="card-body p-3"><div class="row"><div class="col-12 col-lg-2 me-lg-3 mb-3 mb-lg-0" v-if="item.LaboratoryLogo"><img :src="item.LaboratoryLogo" class="w-100"/></div><div class="col"><h5><a :href="'//www.unical.it/storage/laboratories/' + item.LaboratoryId +'/'" class="no-color"><b>[[ item.LaboratoryName ]]</b></a></h5><div class="row"><div class="col-12"><span><b>[[ item.DepartmentName ]]</b></span></div><div class="col-12"><span>[[ labels['Area'] ]] &gt; <b>[[ item.Area ]]</b></span></div><div class="col-12"><span>Manager &gt; <b>[[ item.ScientificDirector ]]</b></span></div><div class="col-12" v-if="item.LaboratoryScopes.length"><span>[[ labels['LaboratoryScopes'] ]] &gt; <b v-for="(scope, index) in item.LaboratoryScopes">[[ scope.ScopeDescription ]] <span v-if="index &lt; (item.LaboratoryScopes.length - 1)">,聽</span></b></span></div><div class="col-12" v-if="item.InfrastructureName"><span>[[ labels['InfrastructureName'] ]] &gt; <b>[[ item.InfrastructureName ]]</b></span></div><div class="col-12" v-if="item.Interdepartmental != 'NO'"><span>[[ labels['Interdepartmental'] ]] &gt; <b>[[ item.Interdepartmental ]]</b></span></div></div></div></div></div></div></div></div></div></div><list-panel id="id_1_1" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div></div></div></div></div><script> function id_1_1_get_form_paramenters(keyword=null, value=null) { let dict = {} if (keyword) dict[keyword] = value // area let area = document.getElementById('id_1_1_area_input') if (area && area.value) dict['area'] = area.value // department let department = document.getElementById('id_1_1_department_input') if (department && department.value) dict['department'] = department.value // scope let scope = document.getElementById('id_1_1_scope_input') if (scope && scope.value) dict['scope'] = scope.value // infrastructure let infrastructure = document.getElementById('id_1_1_infrastructure_input') if (infrastructure && infrastructure.value) dict['infrastructure'] = infrastructure.value // erc1 let erc1 = document.getElementById('id_1_1_erc1_input') let erc1_selected = []; for (var option of erc1.options) { if (option.selected) { erc1_selected.push(option.value); } } let erc1_values = erc1_selected.join(",") if(erc1_selected) dict['erc1'] = erc1_selected setItemInSession("id_1_1", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_1_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/laboratories/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_1_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/laboratories/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_1 = new Vue({ el: '#id_1_1', data() { return { parameters: id_1_1_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/laboratories/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D', next_page: "", previous_page: "", is_loading: true, loader_source: '', search_dict: {}, departments: [], areas: [], scopes: [], infrastructures: [], erc1_list: [], is_loading_departments: true, is_loading_areas: true, is_loading_erc1: true, is_loading_scopes: true, is_loading_infrastructures: true, loader_source_departments: 'https://storage.portale.unical.it/api/ricerca/departments/?lang=en&page_size=100', loader_source_areas: 'https://storage.portale.unical.it/api/ricerca/laboratoriesareas/?lang=en', loader_source_erc1: 'https://storage.portale.unical.it/api/ricerca/erc1list/?lang=en', loader_source_scopes: 'https://storage.portale.unical.it/api/ricerca/laboratories-scopes/?lang=en', loader_source_infrastructures: 'https://storage.portale.unical.it/api/ricerca/infrastructures/?lang=en', selected_area: this.getItemFromSession("id_1_1", 'area'), selected_department: this.getItemFromSession("id_1_1", 'department'), selected_search: this.getItemFromSession("id_1_1", 'search'), selected_erc1: (this.getItemFromSession("id_1_1", 'erc1') || ""), selected_scope: this.getItemFromSession("id_1_1", 'scope'), selected_infrastructure: this.getItemFromSession("id_1_1", 'infrastructure') } }, created() { }, beforeMount() { }, mounted() { this.parameters = id_1_1_encodeQueryData(this.getItemsFromSession("id_1_1")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_1_encodeQueryData(id_1_1_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_1_encodeQueryData(id_1_1_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, }, }) </script><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_3" v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><div class="accordion accordion-left-icon" id="id_1_3_collapse-container-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_3_heading-lft"><button aria-controls="id_1_3_collapse-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_3_collapse-lft" data-bs-toggle="collapse" type="button">Publications</button></div><div aria-labelledby="id_1_3_heading-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_3_collapse-container-lft" id="id_1_3_collapse-lft" role="region"><div class="mt-3 accordion-body"><div v-if="items || parameters"><div class="row"><div class="col-12"><div class="card-wrapper card-space"><div class="card card-bg no-after"><div class="card-body"><div class="row form-group"><div class="input-group"><label for="id_1_3_search"></label><input class="form-control" id="id_1_3_search" name="id_1_3_search" type="text" v-model="selected_search" v-on:keyup.enter="id_1_3.search()"/><div class="input-group-append"><button @click="id_1_3.search()" class="btn btn-primary" id="search-button" type="button">Search</button></div></div></div><div class="form-group mb-0"><div class="row"><div class="col-12 col-lg-2"><div class="w-30 mt-5"><label>Year</label><div class="w-30 mt-5"><input id="id_1_3_year_input" name="id_1_3_year_input" type="number" v-if="selected_year != 9999" v-model="selected_year" v-on:keyup.enter="id_1_3.search()"/><input id="id_1_3_year_input" name="id_1_3_year_input" type="number" v-else="" v-on:keyup.enter="id_1_3.yearSearch()"/></div></div></div><div class="col-12 col-lg-3 offset-lg-1"><div class="w-30 mt-5"><div><div class="form-check"><input :checked="selected_year == 9999" id="id_1_3_print_checkbox" type="checkbox" v-on:change="id_1_3.switchPrintingPublications($event)"/><label for="id_1_3_print_checkbox">Only in print</label></div></div></div></div><div class="col-sm form-group mb-0"><loading-icon :loader_source="loader_source_types" v-if="is_loading_types"></loading-icon><div v-else=""><label for="id_1_3_type_input">Types</label><div class="w-30 mt-5"><select @change="id_1_3.search()" class="form-control" id="id_1_3_type_input" name="id_1_3_type_input" title="Choose an option"><option value="">- Choose an option -</option><option :selected="item.CommunityId == selected_types" :value="item.CommunityId" v-for="item in types_filter">[[ item.CommunityName ]]</option></select></div></div></div></div></div></div></div></div></div></div><list-panel id="id_1_3" v-bind:data="items" v-if="items.results"></list-panel><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row mb-3" v-for="item in items.results"><div class="col-12"><div class="card-wrapper pb-0"><div class="card no-after" style="border:1px solid #b71918"><div class="card-body p-3"><h5><a :href="'//www.unical.it/storage/publications/' + item.PublicationId +'/'" class="no-color"><b>[[ item.PublicationTitle ]]</b></a></h5><span>[[ item.PublicationContributors ]]</span><div class="row"><div class="col-12 col-md-auto"><span>[[ labels['PublicationYear'] ]] &gt; <b>[[ item.PublicationYear ]]</b></span></div><div class="col-12 col-md-auto" v-if="item.PublicationCommunity"><span>[[ labels['PublicationCommunity'] ]] &gt; <b>[[ item.PublicationCommunity ]]</b></span></div></div></div></div></div></div></div></div><list-panel id="id_1_3" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div></div></div></div></div><script> function id_1_3_get_form_paramenters(keyword=null, value=null) { let dict ={}; // search let search = document.getElementById('id_1_3_search') if (search && search.value) dict['search'] = search.value // year let year = document.getElementById('id_1_3_year_input') if (year && year.value) dict['year'] = year.value if (document.getElementById('id_1_3_print_checkbox').checked) dict['year'] = 9999 // types let type = document.getElementById('id_1_3_type_input') if (type && type.value) dict['type'] = type.value if (keyword) dict[keyword] = value setItemInSession("id_1_3", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_3_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/publications/"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_3_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/publications/"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_3 = new Vue({ el: '#id_1_3', data() { return { parameters: id_1_3_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/publications/', next_page: "", previous_page: "", is_loading: true, loader_source: '', selected_types: this.getItemFromSession("id_1_3", 'type'), selected_search: this.getItemFromSession("id_1_3", 'search'), initial_year: id_1_3_get_param('year'), selected_year: this.getItemFromSession("id_1_3", 'year') || id_1_3_get_param('year'), is_loading_types: true, loader_source_types: 'https://storage.portale.unical.it/api/ricerca/publicationscommunitytypes/?lang=en', types_filter: [] } }, created() { }, beforeMount() { }, mounted() { this.parameters = id_1_3_encodeQueryData(this.getItemsFromSession("id_1_3")) this.callTypes(); this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_3_encodeQueryData(id_1_3_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_3_encodeQueryData(id_1_3_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url if (!url.includes("year") && this.selected_year){ url = url + '&year=' + this.selected_year } axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, callTypes() { axios .get(this.loader_source_types) .then(response => { this.types_filter = response.data.results; this.is_loading_types = false }) }, yearSearch() { document.getElementById('id_1_3_print_checkbox').checked = false }, switchPrintingPublications(event) { if(event.target.checked) { document.getElementById('id_1_3_year_input').value = '' this.selected_year = 9999 this.search('year', '9999') }else{ this.selected_year = this.initial_year this.search() } }, }, }) </script><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_4" v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><div class="accordion accordion-left-icon" id="id_1_4_collapse-container-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_4_heading-lft"><button aria-controls="id_1_4_collapse-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_4_collapse-lft" data-bs-toggle="collapse" type="button">Research groups</button></div><div aria-labelledby="id_1_4_heading-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_4_collapse-container-lft" id="id_1_4_collapse-lft" role="region"><div class="mt-3 accordion-body"><div v-if="items || parameters"><div class="row"><div class="col-12"><div class="card-wrapper card-space"></div></div></div><list-panel id="id_1_4" v-bind:data="items" v-if="items.results"></list-panel><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row mb-3" v-for="(item, index) in items.results"><div class="col-12"><div class="card-wrapper pb-0"><div class="card no-after" style="border:1px solid #b71918"><div class="card-body p-3"><div class="accordion accordion-left-icon" id="researchGroupDivid_1_4-lft" style="border: none"><div class="accordion-item"><div :id="'headingResearchGroupid_1_4-lft'+index" class="accordion-header"><button :aria-controls="'collapseResearchGroupid_1_4-lft'+index" :data-bs-target="'#collapseResearchGroupid_1_4-lft'+index" aria-expanded="false" class="accordion-button" data-bs-toggle="collapse" style="border: none; padding: 0" type="button"><h5><a class="no-color"><b>[[ item.RGroupName ]]</b></a></h5></button></div><div :aria-labelledby="'headingResearchGroupid_1_4-lft'+index" :id="'collapseResearchGroupid_1_4-lft'+index" class="accordion-collapse collapse" data-bs-parent="#researchGroupDivid_1_4-lft" role="region"><div class="accordion-body"><div class="row"><div class="col-12 col-md-auto"><span v-html="item.RGroupDescription"></span></div></div><div class="row mt-2" v-if="item.Teachers &amp;&amp; item.Teachers.length &gt; 0"><div class="col-12 col-md-auto"><span>[[ labels['Teachers'] ]] &gt; <b v-for="(teacher, index) in item.Teachers"><a :href="'//www.unical.it/storage/teachers/' + teacher.TeacherID +'/'">[[ teacher.TeacherName ]]</a> <span v-if="index != item.Teachers.length -1">,聽</span></b></span></div></div></div></div></div></div></div></div></div></div></div></div><list-panel id="id_1_4" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div></div></div></div></div><script> function id_1_4_get_form_paramenters(keyword=null, value=null) { let dict = {} if (keyword) dict[keyword] = value // department let department = document.getElementById('id_1_4_department_input') if (department && department.value) dict['department'] = department.value // erc1 let erc1_container = document.getElementById('id_1_4_erc1_container') let erc1 = document.getElementById('id_1_4_erc1_input') let erc1_selected = []; if(erc1) for (var option of erc1.options) { if (option.selected) { erc1_selected.push(option.value); } } let erc1_values = erc1_selected.join(",") if(erc1_selected) dict['coderc1'] = erc1_selected setItemInSession("id_1_4", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_4_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/researchgroups/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_4_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/researchgroups/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_4 = new Vue({ el: '#id_1_4', data() { return { parameters: id_1_4_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/researchgroups/?teacher=gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D', next_page: "", previous_page: "", is_loading: true, loader_source: '', search_dict: {}, departments: [], is_loading_departments: true, is_loading_erc1: true, loader_source_departments: 'https://storage.portale.unical.it/api/ricerca/departments/?lang=en&page_size=100', loader_source_erc1: 'https://storage.portale.unical.it/api/ricerca/erc1list/?lang=en', selected_department: this.getItemFromSession("id_1_4", 'department'), selected_search: this.getItemFromSession("id_1_4", 'search'), selected_erc1: (this.getItemFromSession("id_1_4", 'coderc1') || ""), } }, created() { }, beforeMount() { }, mounted() { this.callDepartments(); this.callERC1List(); this.parameters = id_1_4_encodeQueryData(this.getItemsFromSession("id_1_4")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_4_encodeQueryData(id_1_4_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_4_encodeQueryData(id_1_4_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, callDepartments() { axios .get(this.loader_source_departments) .then(response => { this.departments = response.data.results; this.is_loading_departments = false }) }, callERC1List(params) { axios .get(this.loader_source_erc1) .then(response => { this.erc1_list = response.data.results; this.is_loading_erc1 = false }) }, }, }) </script><script> Vue.component('loading-icon', { props: { loader_source: { type: String, default: '' }, }, template: ` <div> <div class="progress progress-indeterminate my-3"> <span class="visually-hidden">Loading data</span> <div class="progress-bar" role="progressbar"></div> </div> </div> ` }); </script><div id="id_1_6" v-if="(initial_items &amp;&amp; initial_items.length) || initial_parameters"><div class="accordion accordion-left-icon" id="id_1_6_collapse-container-lft"><div class="accordion-item"><div class="accordion-header" id="id_1_6_heading-lft"><button aria-controls="id_1_6_collapse-lft" aria-expanded="false" class="accordion-button" data-bs-target="#id_1_6_collapse-lft" data-bs-toggle="collapse" type="button">Research lines</button></div><div aria-labelledby="id_1_6_heading-lft" class="accordion-collapse collapse" data-bs-parent="#id_1_6_collapse-container-lft" id="id_1_6_collapse-lft" role="region"><div class="mt-3 accordion-body"><div v-if="items || parameters"><div class="row"><div class="col-12"><div class="card-wrapper card-space"></div></div></div><list-panel id="id_1_6" v-bind:data="items" v-if="items.results"></list-panel><loading-icon :loader_source="loader_source" v-if="is_loading"></loading-icon><div v-else=""><div class="row mb-3" v-for="item in items.results"><div class="col-12"><div class="card-wrapper pb-0"><div class="card no-after" style="border:1px solid #b71918"><div class="card-body p-3"><h5><b>[[ item.RLineDescription ]]</b></h5><div class="row" v-if="item.RLineResults"><div class="col-12 col-md-auto"><span v-html="item.RLineResults"></span></div></div><div class="row mt-2" v-if="item.Teachers &amp;&amp; item.Teachers.length &gt; 0 || item.RYear || item.RLineErc2Name || item.RLineAster2Name"><div class="col-12 col-md-auto" v-if="item.RYear"><span>[[ labels['RYear'] ]] &gt; <b>[[ item.RYear ]]</b></span></div><div class="col-12 col-md-auto" v-if="item.Teachers.length &gt; 0"><span>[[ labels['Teachers'] ]] &gt; <b v-for="(teacher, index) in item.Teachers"><a :href="'//www.unical.it/storage/teachers/' + teacher.TeacherID +'/'" v-if="teacher.TeacherID">[[ teacher.TeacherName ]]</a> <span v-else="">[[ teacher.TeacherName ]]</span> <span v-if="index != item.Teachers.length -1">,聽</span></b></span></div><div class="col-12 col-md-auto" v-if="item.RLineErc2Name"><span>Ref. ERC &gt; <b>[[ item.RLineErc2Name ]]</b></span></div><div class="col-12 col-md-auto" v-if="item.RLineAster2Name"><span>Ref. ASTER &gt; <b>[[ item.RLineAster2Name ]]</b></span></div></div></div></div></div></div></div></div><list-panel id="id_1_6" v-bind:data="items" v-if="items.results"></list-panel></div><div v-else="">No items here</div></div></div></div></div></div><script> function id_1_6_get_form_paramenters(keyword=null, value=null) { let dict = {} if (keyword) dict[keyword] = value // search let search = document.getElementById('id_1_6_search') if (search && search.value) dict['search'] = search.value setItemInSession("id_1_6", dict) return dict } </script><script src="/static/js/unicms_ush_utils.js"></script><script> function id_1_6_encodeQueryData(data=[]) { const ret = ["lang=en"]; for (let d in data) ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d])); let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/researchlines/"; if (url.includes("?")) return '&' + ret.join('&') return '?' + ret.join('&'); } function id_1_6_get_param(name) { let url = "https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/researchlines/"; let params = (new URL(url)).searchParams; return params.get(name) || ''; } </script><script> Vue.component('list-panel', { props: { data: Array, id: String }, template: ` <div class="card-wrapper card-space" v-if="data.count != 1"> <div class="card card-bg no-after"> <div class="card-body py-1"> <div class="row"> <div class="col w-50"> <span style="color:#050b12;"> <b>[[ data.count || 0]] results</b> <span v-if="data.total_pages > 1"> in <b>[[ data.total_pages || 0 ]] pages</b> </span> </span> </div> <div class="col w-50" v-if="data.total_pages > 1"> <div class="float-end"> <span> <a class="" style="color:#050b12;" v-if="data.page_number > 1" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.previous_page)'"> <span class="visually-hidden"> page </span> &lt; previous </a> </span> <span class="me-2 ms-2" >[[ data.page_number ]] / <b>[[ data.total_pages ]]</b></span> <a class="" style="color:#050b12;" :onclick="[[ id ]] + '.CallURL(' + [[ id ]] + '.next_page)'" v-if="data.page_number < data.total_pages"> <span class="visually-hidden">page </span>next &gt; </a> </div> </div> </div> </div> </div> </div> ` }); var id_1_6 = new Vue({ el: '#id_1_6', data() { return { parameters: id_1_6_encodeQueryData(), initial_parameters: '', items: [], initial_items: [], labels: [], url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/researchlines/', next_page: "", previous_page: "", is_loading: true, loader_source: '', search_dict: {}, departments: [], is_loading_departments: true, is_loading_aster1: true, is_loading_erc1: true, loader_source_departments: 'https://storage.portale.unical.it/api/ricerca/departments/?lang=en&page_size=100', loader_source_aster1: 'https://storage.portale.unical.it/api/ricerca/aster1list/?lang=en', loader_source_erc1: 'https://storage.portale.unical.it/api/ricerca/erc1list/?lang=en', selected_department: this.getItemFromSession("id_1_6", 'department'), selected_search: this.getItemFromSession("id_1_6", 'search'), selected_aster1: (this.getItemFromSession("id_1_6", 'aster') || ""), selected_erc1: (this.getItemFromSession("id_1_6", 'ercs') || ""), exclude_base: this.getItemFromSession("id_1_6", 'exclude_base'), exclude_applied: this.getItemFromSession("id_1_6", 'exclude_applied'), } }, created() { }, beforeMount() { }, mounted() { this.callDepartments(); this.callAster1List(); this.callERC1List(); this.parameters = id_1_6_encodeQueryData(this.getItemsFromSession("id_1_6")) this.loader_source = this.url + this.parameters this.CallURL(this.url + this.parameters, true); }, methods: { getItemsFromSession(id) { let uid = window.location.href + "@" + id return JSON.parse(sessionStorage.getItem(uid)) }, getItemFromSession(id, item) { let uid = window.location.href + "@" + id; if(sessionStorage.getItem(uid)){ return JSON.parse(sessionStorage.getItem(uid))[item] } return null }, search(keyword=null, value=null) { if(this.initial_parameters) this.parameters = this.initial_parameters + id_1_6_encodeQueryData(id_1_6_get_form_paramenters(keyword, value)).replace('?','&'); else this.parameters = id_1_6_encodeQueryData(id_1_6_get_form_paramenters(keyword, value)); this.CallURL(this.url + this.parameters); }, CallURL(url, initial=false) { this.is_loading = true this.loader_source = url axios .get(url) .then(response => { if(initial) this.initial_items = response.data.results; this.items = response.data; this.next_page = response.data.next; this.previous_page = response.data.previous; this.labels = response.data.labels; this.is_loading = false; }) }, callDepartments() { axios .get(this.loader_source_departments) .then(response => { this.departments = response.data.results; this.is_loading_departments = false }) }, callAster1List(params) { axios .get(this.loader_source_aster1) .then(response => { this.aster1_list = response.data.results; this.is_loading_aster1 = false }) }, callERC1List(params) { axios .get(this.loader_source_erc1) .then(response => { this.erc1_list = response.data.results; this.is_loading_erc1 = false }) }, }, }) </script></div></div></div><div class="col-12 col-lg-3 offset-lg-1 d-none d-lg-block" id="id_1_datas"><a aria-label="Back to previous page" class="no-color" href="javascript:history.back()"><svg class="m-auto icon icon-sm"><use xlink:href="/static/svg/sprites.svg#it-arrow-left-circle"></use></svg><b>Back to previous page</b></a><div v-if="Object.keys(item).length"><div class="background-light-grey px-2 py-3 mb-2 w-100 mt-4"><div class="row"><div class="col-2"><svg class="icon icon-muted"><use xlink:href="/static/svg/sprites.svg#it-info-circle"></use></svg></div><div class="col m-auto align-middle"><b>Contacts</b><ul class="mb-0 ps-0 list-unstyled"><li v-if="item.TeacherDepartmentName"><a :href="'//www.unical.it/storage/structures/' + item.TeacherDepartmentCod +'/'"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-pa"></use></svg>[[ item.TeacherDepartmentName]]</a></li><li v-if="item.TeacherOffice"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-map-marker"></use></svg>[[ item.TeacherOffice]]</li><li v-for="email in item.TeacherEmail"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-mail"></use></svg>[[ email]]</li><li v-for="phone in item.TeacherTelOffice"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-telephone"></use></svg>[[ phone]]</li><li v-for="website in item.TeacherWebSite"><svg class="icon icon-muted icon-xs me-2"><use xlink:href="/static/svg/sprites.svg#it-link"></use></svg>[[ website]]</li></ul></div></div></div></div><div class="background-light-grey px-2 py-3 mb-2 w-100 mt-4" v-if="item.ReceptionHours &amp;&amp; item.ReceptionHours.length &gt; 0"><div class="row"><div class="col-2"><svg class="icon icon-muted"><use xlink:href="/static/svg/sprites.svg#it-clock"></use></svg></div><div class="col m-auto align-middle"><b>[[ labels['ReceptionHours'] ]]</b> <span v-html="item.ReceptionHours"></span></div></div></div></div></div><script> Vue.use(VueMarkdown); var id_1_head = new Vue({ el: '#id_1_head', data() { return { item: {}, labels: {}, is_loading: true, loader_source: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/' } }, }) var id_1_tabList = new Vue({ el: '#id_1_tabList', data() { return { item: {}, labels: {}, } }, }) var id_1_researchFields = new Vue({ el: '#id_1_researchFields', data() { return { item: {}, labels: {}, } }, }) var id_1_cv = new Vue({ el: '#tab3b', data() { return { item: {}, labels: {}, } }, methods: { containsHTML(s) { return /<\/?[a-z][\s\S]*>/i.test(s) }, } }) var id_1_datas = new Vue({ el: '#id_1_datas', data() { return { item: {}, labels: {}, } }, }) var id_1 = new Vue({ el: '#id_1', data() { return { item: {}, errors: {}, labels: {}, url: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/?lang=en', is_loading: true, loader_source: 'https://storage.portale.unical.it/api/ricerca/teachers/gAAAAABiSeo0-Hfn6seUAAyGk3wu9iyVPPclbk2yUMyCT7_FHsgBDmd3b-quzc-0-A5nJz0O_HtxqjVWhPPTlb5nwZGt0WK2yw%3D%3D/', fields_to_not_show: ['TeacherID', 'TeacherDepartmentID', 'TeacherLastName', 'TeacherFirstName', 'TeacherRole', 'TeacherRoleDescription', 'TeacherCVFull', 'TeacherCVShort', 'TeacherSSDCod', 'TeacherDepartmentCod', 'ProfileId', 'ProfileDescription', 'ProfileShortDescription', 'ReceptionHours', 'ReceptionHoursEn', 'CVPathIta', 'CVPathEn', 'ShortBio', 'ShortBioEn', 'PhotoPath'] } }, mounted() { this.CallURL(); }, methods: { containsHTML(s) { return /<\/?[a-z][\s\S]*>/i.test(s) }, CallURL() { axios .get(this.url) .then(response => { this.item = response.data.results; id_1_head.item = response.data.results; id_1_head.is_loading = false; id_1_tabList.item = response.data.results; id_1_researchFields.item = response.data.results; id_1_researchFields.labels = response.data.labels; id_1_cv.item = response.data.results; id_1_datas.item = response.data.results; this.labels = response.data.labels; id_1_datas.labels = response.data.labels; this.is_loading = false document.getElementsByClassName("breadcrumb-item active")[0].innerHTML = this.item.TeacherFirstName.concat(" ", this.item.TeacherLastName) document.title = this.item.TeacherFirstName.concat(" ", this.item.TeacherLastName) }) .catch(error => { if(error.response){ for (var key in error.response.data) { this.errors[key] = error.response.data[key] } } id_1_head.is_loading = false; this.is_loading = false document.getElementById("id_1_collapse-3-lft").style.display = "none"; }); } } }) </script></div></div></div></div></div></div><footer class="it-footer"><div class="container text-center text-lg-start"><ul class="list-inline social py-4 mt-2 mb-0"><li class="list-inline-item"><a class="p-2" href="https://it-it.facebook.com/unicalufficiale/" rel="noopener noreferrer" target="_blank" title="Facebook"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-facebook-square"></use></svg><span class="visually-hidden">Facebook</span></a></li><li class="list-inline-item"><a class="p-2" href="https://twitter.com/UniCalPortale?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" rel="noopener noreferrer" target="_blank" title="X"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-twitter"></use></svg><span class="visually-hidden">X</span></a></li><li class="list-inline-item"><a class="p-2" href="https://www.linkedin.com/school/universit%C3%A0-della-calabria/" rel="noopener noreferrer" target="_blank" title="Linkedin"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-linkedin-square"></use></svg><span class="visually-hidden">Linkedin</span></a></li><li class="list-inline-item"><a class="p-2" href="https://www.instagram.com/unical_official/" rel="noopener noreferrer" target="_blank" title="Instagram"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-instagram"></use></svg><span class="visually-hidden">Instagram</span></a></li><li class="list-inline-item"><a class="p-2" href="https://www.youtube.com/@campusunical" rel="noopener noreferrer" target="_blank" title="YouTube"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-youtube"></use></svg><span class="visually-hidden">Youtube</span></a></li><li class="list-inline-item"><a class="p-2" href="https://github.com/UniversitaDellaCalabria" rel="noopener noreferrer" target="_blank" title="Github"><svg class="icon icon-secondary align-top"><use xlink:href="/static/svg/sprites.svg#it-github"></use></svg><span class="visually-hidden">Github</span></a></li></ul></div><div class="it-footer-main"><div class="container"><section><div class="row" style="padding-top: 20px;"><div class="col-lg-3 col-sm-6 pb-2"><h4><span>UniCal for students</span></h4><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/campus/servizi/" title="Prospective students, Enrolled and Graduates">Prospective students, Enrolled and Graduates</a></li><li><a class="list-item" href="https://www.unical.it/didattica/offerta-formativa/" title="Educational offer">Educational offer</a></li><li><a class="list-item" href="https://www.unical.it/didattica/offerta-formativa/catalogo/" title="Study activities catalogue">Study activities catalogue</a></li><li><a class="list-item" href="https://www.unical.it/didattica/iscriversi-studiare-laurearsi/" title="Enroll, study and graduate">Enroll, study and graduate</a></li><li><a class="list-item" href="https://www.unical.it/didattica/diritto-allo-studio/" title="Right to study">Right to study</a></li><li><a class="list-item" href="https://www.unical.it/didattica/orientamento/" title="Orientation">Orientation</a></li><li><a class="list-item" href="https://www.unical.it/didattica/diritto-allo-studio/servizi-per-studenti-con-disabilita-e-dsa/" title="Students with disabilities/LDS">Students with disabilities/LDS</a></li><li><a class="list-item" href="https://www.unical.it/didattica/orientamento/counselling/" title="Psychological counseling">Psychological counseling</a></li><li><a class="list-item" href="http://careerservices.unical.it/" rel="noopener noreferrer" target="_blank" title="Career Service / Job Placement">Career Service / Job Placement</a></li><li><a class="list-item" href="https://www.unical.it/internazionale/studiare-all-estero/accordi-e-reti/accordi-internazionali/" title="International agreements and networks">International agreements and networks</a></li><li><a class="list-item" href="https://www.unical.it/didattica/offerta-formativa/formazione-insegnanti/" title="Teacher training courses">Teacher training courses</a></li><li><a class="list-item" href="https://www.unical.it/didattica/offerta-formativa/esami-di-stato/" title="State examinations">State examinations</a></li></ul></div></div><div class="col-lg-3 col-sm-6 pb-2"><h4><span>UniCal online</span></h4><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/front-office/" title="Online front-office">Online front-office</a></li><li><a class="list-item" href="https://ticket.unical.it/" rel="noopener noreferrer" target="_blank" title="Online ticket">Online ticket</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict" title="ITC Services">ITC Services</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-studenti/accesso-wifi-ateneo/" title="Wi-Fi Services">Wi-Fi Services</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-studenti/posta-elettronica-studenti/" title="Students webmail">Students webmail</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-per-il-personale/posta-elettronica/" title="Employees webmail">Employees webmail</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-studenti/credenziali-di-ateneo/" title="SPID / UniCal ID">SPID / UniCal ID</a></li><li><a class="list-item" href="https://www.unical.it/didattica/iscriversi-studiare-laurearsi/tasse-ed-esoneri/" title="Online Taxes / PagoPA">Online Taxes / PagoPA</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-studenti/esse3-web/" title="Exam reservations - ESSE3">Exam reservations - ESSE3</a></li><li><a class="list-item" href="https://www.unical.it/esse3pa" rel="noopener noreferrer" target="_blank" title="ESSE3PA">ESSE3PA</a></li><li><a class="list-item" href="https://24cfu.unical.it/elearning/" rel="noopener noreferrer" target="_blank" title="e-Learning platform">e-Learning platform</a></li><li><a class="list-item" href="https://www.unical.it/web-radio" title="Web Radio">Web Radio</a></li><li><a class="list-item" href="https://www.unical.it/unical-magazine/" title="Online Magazine">Online Magazine</a></li></ul></div></div><div class="col-lg-3 col-sm-6 pb-2"><h4><span>Living on Campus</span></h4><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/organizzazione/strutture/dipartimenti/" title="Departments">Departments</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/quartieri/" title="Campus residences">Campus residences</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/servizio-mensa/" title="Canteen services">Canteen services</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/biblioteche/" title="Libraries">Libraries</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/sistema-museale/" title="Museum hub">Museum hub</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/teatri-e-cinema/" title="Theaters and cinemas">Theaters and cinemas</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/centro-linguistico-di-ateneo/" title="Language Centre">Language Centre</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/centro-sanitario/" title="Health Center">Health Center</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/centro-sportivo/" title="Sports Center">Sports Center</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/centro-congressi/" title="Convention Center">Convention Center</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/polo-infanzia/" title="Infants Center">Infants Center</a></li><li><a class="list-item" href="https://www.unical.it/campus/vivere-il-campus/servizio-foresteria/" title="Accomodation - Socrates Residence">Accomodation - Socrates Residence</a></li><li><a class="list-item" href="https://www.unical.it/campus/visita-il-campus/territorio/" title="Territory info">Territory info</a></li></ul></div></div><div class="col-lg-3 col-sm-6 pb-2"><h4><span>Transparent UniCal</span></h4><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/organizzazione/strutture/direzioni-aree/" title="Organization">Organization</a></li><li><a class="list-item" href="https://www.unical.it/organizzazione/chi-siamo/portale-trasparenza/" title="Transparent administration">Transparent administration</a></li><li><a class="list-item" href="https://unical.portaleamministrazionetrasparente.it/contenuto6771_segnalazione-di-illeciti-whistleblowing_769.html" target="_blank" title="Whistleblowing">Whistleblowing</a></li><li><a class="list-item" href="https://www.unical.it/organizzazione/chi-siamo/linee-strategiche/" title="Strategic plan 2023/2025">Strategic plan 2023/2025</a></li><li><a class="list-item" href="https://www.unical.it/organizzazione/chi-siamo/organi/" title="Governing bodies">Governing bodies</a></li><li><a class="list-item" href="https://titulus-unical.cineca.it/albo/" rel="noopener noreferrer" target="_blank" title="Official register of the University">Official register of the University</a></li><li><a class="list-item" href="https://www.unical.it/attidinotifica" target="_blank" title="Notification documents">Notification documents</a></li><li><a class="list-item" href="https://www.unical.it/organizzazione/chi-siamo/assicurazione-qualita/" title="Quality Assurance System">Quality Assurance System</a></li><li><a class="list-item" href="https://www.unical.it/consigliera-di-fiducia/" title="Trusted Advisor of the University">Trusted Advisor of the University</a></li><li><a class="list-item" href="https://www.unical.it/organizzazione/chi-siamo/organi/altri-organi-e-organismi/commissione-etica/" title="Code of ethics and conduct">Code of ethics and conduct</a></li><li><a class="list-item" href="https://www.unical.it/innovazione-societa/trasferimento-tecnologico/creazione-imprese-innovative/spin-off/" title="Spinoff / Patent Showcase">Spinoff / Patent Showcase</a></li><li><a class="list-item" href="https://www.unical.it/5x1000" title="Fundraising, donations, 5x1000">Fundraising, donations, 5x1000</a></li></ul></div></div></div></section></div></div><div class="it-footer-main clearfix py-4 border-white border-top unical-secondary-footer"><div class="container"><section><div class="row"><div class="col-12 col-lg-9"><div class="row"><div class="col-lg-3 col-sm-6"><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/pec/" title="Certified email">Certified email</a></li><li><a class="list-item" href="https://www.unical.it/fatturazione-elettronica/" title="Electronic invoicing">Electronic invoicing</a></li><li><a class="list-item" href="https://www.unical.it/servizio-comunicazione" title="Communication area / Contacts">Communication area / Contacts</a></li><li><a class="list-item" href="https://www.unical.it/accessibilita/" title="Accessibility and performance">Accessibility and performance</a></li></ul></div></div><div class="col-lg-3 col-sm-6"><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/privacy/" title="Data protection / GDPR">Data protection / GDPR</a></li><li><a class="list-item" href="https://www.unical.it/cookie/" title="Cookies and consent methods">Cookies and consent methods</a></li><li><a class="list-item" href="https://www.unical.it/note-legali/" title="Legal notes">Legal notes</a></li><li><a class="list-item" href="https://www.unical.it/credits/" title="Credits">Credits</a></li></ul></div></div><div class="col-lg-3 col-sm-6"><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/media/medias/2021/phishing.pdf" title="Phishing: how to protect yourself">Phishing: how to protect yourself</a></li><li><a class="list-item" href="https://www.unical.it/statistiche-accessi-web" title="Web access statistics">Web access statistics</a></li><li><a class="list-item" href="https://www.unical.it/servizi-ict/servizi-digitali-per-il-personale/gestione-sito/" title="User Guide - UniCMS">User Guide - UniCMS</a></li><li><a class="list-item" href="https://www.unical.it/editorial-board/" title="Intranet area">Intranet area</a></li></ul></div></div><div class="col-lg-3 col-sm-6"><div class="link-list-wrapper"><ul class="footer-list link-list clearfix"><li><a class="list-item" href="https://www.unical.it/feed-rss/" title="RSS feeds">RSS feeds</a></li><li><a class="list-item" href="https://www.unical.it/sezione-alumni" title="Alumni">Alumni</a></li><li><a class="list-item" href="https://www.unical.it/identita-visiva-di-ateneo/" title="Identity / Logo section">Identity / Logo section</a></li><li><a class="list-item" href="https://www.unical.it/sitemap/" title="Sitemap">Sitemap</a></li></ul></div></div></div></div><div class="col-12 col-lg-3"><div class="mb-3"><img alt="University of Calabria" class="w-100 h-100" src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/images/logo_unical_white.svg"/></div><p class="mb-4">Via Pietro Bucci <br/> 87036 Rende CS <br/> <a class="text-white" href="/pec/" title="Certified email">Certified email</a> <br/> C.F. 80003950781 / P.I. 00419160783</p></div></div></section></div></div></footer><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js"></script><script src="https://cdn.jsdelivr.net/npm/bootstrap-italia@2.12.0/dist/js/bootstrap-italia.min.js"></script><script> bootstrap.loadFonts('/bootstrap-italia/dist/fonts'); </script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/passive_listeners.js"></script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-italia@1.3.1/src/unicms_template_italia/static/js/deferred_iframe_src.js"></script><script> window.onload = function() { let search_engine_input = document.getElementById("search-engine-input"); if (search_engine_input) search_engine_input.addEventListener("keypress", function(e) { if (e.keyCode == 13 && search_engine_input.value) { window.location = '/search/?search=' + search_engine_input.value; } }); }; </script><script> (function () { var s = document.createElement("script"), e = !document.body ? document.querySelector("head") : document.body; s.src = "https://acsbapp.com/apps/app/dist/js/app.js"; s.async = true; s.onload = function () { acsbJS.init({ statementLink: "", footerHtml: '<a href="https:www.accessiway.com/">AccessiWay. The Web Accessibility Solution</a>', hideMobile: false, hideTrigger: false, language: "it", position: "left", leadColor: "#0069fb", triggerColor: "#004fce", triggerRadius: "50%", triggerPositionX: "left", triggerPositionY: "bottom", triggerIcon: "people", triggerSize: "medium", triggerOffsetX: 20, triggerOffsetY: 20, mobile: { triggerSize: "medium", triggerPositionX: "left", triggerPositionY: "bottom", triggerOffsetX: 10, triggerOffsetY: 10, triggerRadius: "50%", }, }); }; e.appendChild(s); })(); </script><script src="https://cdn.jsdelivr.net/gh/UniversitaDellaCalabria/unicms-template-unical@1.8.4/src/unicms_template_unical/static/js/external_link_new_tab.js"></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10