more refactoring for multiple profile view support
This commit is contained in:
parent
0faa3630c2
commit
867370adb9
26 changed files with 542 additions and 184 deletions
|
@ -0,0 +1,161 @@
|
|||
# $This file is distributed under the terms of the license in /doc/license.txt$
|
||||
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix core: <http://vivoweb.org/ontology/core#> .
|
||||
@prefix vivoweb: <http://vivoweb.org/ontology#> .
|
||||
|
||||
|
||||
|
||||
#### queries for departmental pages ####
|
||||
|
||||
<http://vivoweb.org/ontology/core#AcademicDepartment> display:hasDataGetter display:getResearchAreaDataGetter .
|
||||
|
||||
display:getResearchAreaDataGetter
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
||||
display:saveToVar "researchAreaResults";
|
||||
display:query """
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
SELECT DISTINCT (str(?researchAreaLabel) AS ?raLabel) ?ra
|
||||
WHERE {
|
||||
?individualURI vivo:organizationForPosition ?posn .
|
||||
?posn vivo:positionForPerson ?person .
|
||||
?person vivo:hasResearchArea ?ra .
|
||||
?ra rdfs:label ?researchAreaLabel
|
||||
}
|
||||
ORDER BY ?raLabel
|
||||
""" .
|
||||
## This is a working example of another type of data getter that can be used. This one retrieves ##
|
||||
## the organizational memberships (vivo:hasMemberRole) of all the people in an academic department. ##
|
||||
## You can use this or adapt it to your needs; for example, to display clinical activities of people ##
|
||||
## in a department. The templates are available for this query and the appropriate freemarker code ##
|
||||
## is commented out in the individual.ftl and individual--foaf-organization.ftl templates. ##
|
||||
#<http://vivoweb.org/ontology/core#AcademicDepartment> display:hasDataGetter display:getMembershipsDataGetter .
|
||||
#
|
||||
#display:getMembershipsDataGetter
|
||||
# a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
||||
# display:saveToVar "membershipResults";
|
||||
# display:query """
|
||||
# PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
# PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
# SELECT DISTINCT (str(?organizationLabel) AS ?orgLabel) ?organization
|
||||
# WHERE {
|
||||
# ?individualURI vivo:organizationForPosition ?posn .
|
||||
# ?posn vivo:positionForPerson ?person .
|
||||
# ?person vivo:hasMemberRole ?mbrRole .
|
||||
# ?mbrRole vivo:roleContributesTo ?organization.
|
||||
# ?organization rdfs:label ?organizationLabel
|
||||
# }
|
||||
# ORDER BY ?organizationLabel
|
||||
# """ .
|
||||
|
||||
#### detail pages for department links ####
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n1697>
|
||||
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter>
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n4170> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate>
|
||||
"individual-dept-active-grants.ftl" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title>
|
||||
"Departmental Grants" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping>
|
||||
"/deptGrants" .
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n4170>
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
|
||||
"""
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||
SELECT DISTINCT (str (?actLabel) AS ?activityLabel) ?dt (str(?departmentLabel) AS ?deptLabel) ?activity
|
||||
WHERE {
|
||||
?individualURI vivo:organizationForPosition ?posn .
|
||||
?individualURI rdfs:label ?departmentLabel .
|
||||
?posn vivo:positionForPerson ?person .
|
||||
?person ?roleProperty ?role .
|
||||
?roleProperty rdfs:subPropertyOf vivo:hasResearcherRole .
|
||||
?role vivo:roleContributesTo ?activity .
|
||||
?activity rdfs:label ?actLabel .
|
||||
?activity vivo:dateTimeInterval ?dti .
|
||||
?dti vivo:end ?end.
|
||||
?end vivo:dateTime ?dt
|
||||
FILTER (?dt > afn:now())
|
||||
}
|
||||
ORDER BY ?activityLabel
|
||||
""" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#saveToVar>
|
||||
"deptGrants" .
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n5100>
|
||||
a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter>
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n3450> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate>
|
||||
"individual-dept-res-area-details.ftl" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title>
|
||||
"Departmental Research Areas" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping>
|
||||
"/deptResearchAreas" .
|
||||
|
||||
<http://vitro.mannlib.cornell.edu/ns/default#n3450>
|
||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
|
||||
"""
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
SELECT DISTINCT (str (?prsnLabel) AS ?personLabel) ?person (Str(?researchAreaLabel) AS ?raLabel) (str(?departmentLabel) AS ?deptLabel) ?raURI
|
||||
WHERE {
|
||||
?deptURI vivo:organizationForPosition ?posn .
|
||||
?deptURI rdfs:label ?departmentLabel .
|
||||
?posn vivo:positionForPerson ?person .
|
||||
?person rdfs:label ?prsnLabel .
|
||||
?person vivo:hasResearchArea ?raURI .
|
||||
?raURI rdfs:label ?researchAreaLabel
|
||||
|
||||
}
|
||||
ORDER BY ?personLabel
|
||||
""" ;
|
||||
<http://vitro.mannlib.cornell.edu/ontologies/display/1.1#saveToVar>
|
||||
"deptResearchAreas" .
|
||||
|
||||
|
||||
## This is another part of the departmental memberships working example. This data getter gets called ##
|
||||
## when a membership organization links is clicked on the academic department page. The template for ##
|
||||
## this data getter (individual-dept-membership-details.ftl) is included in the VIVO source code. ##
|
||||
#<http://vitro.mannlib.cornell.edu/ns/default#n1835>
|
||||
# a <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#Page> ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#hasDataGetter>
|
||||
# <http://vitro.mannlib.cornell.edu/ns/default#n5312> ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#requiresBodyTemplate>
|
||||
# "individual-dept-membership-details.ftl" ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#title>
|
||||
# "Departmental Memberships" ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#urlMapping>
|
||||
# "/deptMemberships" .
|
||||
|
||||
#<http://vitro.mannlib.cornell.edu/ns/default#n5312>
|
||||
# a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter> ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#query>
|
||||
# """PREFIX vivoc: <http://vivo.library.cornell.edu/ns/0.1#>
|
||||
# PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
# PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
||||
# SELECT DISTINCT (str (?prsnLabel) AS ?personLabel) (str (?departmentLabel) AS ?deptLabel) ?person #(str(?organizationLabel) AS ?orgLabel) ?orgURI
|
||||
# WHERE {
|
||||
# ?deptURI vivo:organizationForPosition ?posn .
|
||||
# ?deptURI rdfs:label ?departmentLabel .
|
||||
# ?posn vivo:positionForPerson ?person .
|
||||
# ?person rdfs:label ?prsnLabel .
|
||||
# ?person vivo:hasMemberRole ?role .
|
||||
# ?role vivo:roleContributesTo ?orgURI .
|
||||
# ?orgURI rdfs:label ?organizationLabel
|
||||
# }
|
||||
# ORDER BY ?personLabel
|
||||
# """ ;
|
||||
# <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#saveToVar>
|
||||
# "deptMemberships" .
|
||||
#
|
|
@ -3,7 +3,7 @@
|
|||
/* <------ INDIVIDUAL INTRO */
|
||||
#individual-intro {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 0px; /* margin-bottom: 20px; out for redesign*/
|
||||
margin-bottom: 0px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
|||
width: 166px;
|
||||
float: left;
|
||||
padding-right: 1.5em;
|
||||
margin-right: 12px; /* added for redesign */
|
||||
margin-right: 12px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
img.individual-photo {
|
||||
|
@ -21,17 +21,22 @@ img.individual-photo {
|
|||
margin-left: 0;
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px; /* changed for redesign, was 20px */
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
ul#phone-list {
|
||||
font-size:0.9em;
|
||||
}
|
||||
ul#individual-phone {
|
||||
clear: both;
|
||||
list-style-type: circle;
|
||||
margin-top:-8px;
|
||||
}
|
||||
#primary-email {
|
||||
margin-top: 0;
|
||||
}
|
||||
#primary-email li:last-child, /* added for redesign */
|
||||
#primary-email li:last-child,
|
||||
#additional-emails li:last-child {
|
||||
margin-bottom: 0; /* changed for redesign, was 18px */
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* <------ INDIVIDUAL INTRO - RIGHT SIDE CONTENT */
|
||||
|
@ -54,8 +59,8 @@ div#titleContainer {
|
|||
margin-top:6px;
|
||||
}
|
||||
#individual-info h2 {
|
||||
padding: 25px 0 10px 0; /* changed for redesign, was padding-bottom: 10px */
|
||||
clear:both; /* added for redesign */
|
||||
padding: 25px 0 10px 0;
|
||||
clear:both;
|
||||
}
|
||||
#individual-info h2#contactHeading {
|
||||
margin-bottom: 8px;
|
||||
|
@ -68,7 +73,7 @@ h3.primary-email {
|
|||
margin-top: -8px !important;
|
||||
}
|
||||
#individual-intro.person {
|
||||
margin-bottom: 0; /* changed for redesign, was 30px */
|
||||
margin-bottom: 0;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -113,29 +118,34 @@ span.iconControlsNotEditable {
|
|||
top:3px;
|
||||
}
|
||||
#overview {
|
||||
clear: both; /* changed for redesign, was left */
|
||||
clear: both;
|
||||
}
|
||||
/* <------ INDIVIDUAL VISUALIZATION */
|
||||
#visualization {
|
||||
padding: 0 0 0 0; /* changed for redesign, was 0 0 0 20px */
|
||||
background: #fff; /* added for redesign */
|
||||
width:174px; /* added for redesign */
|
||||
float:none; /* float:right; out for redesign */
|
||||
padding: 0 0 0 0;
|
||||
background: #fff;
|
||||
width:174px;
|
||||
float:none;
|
||||
}
|
||||
#visualization h3 {
|
||||
padding-top: 10px;
|
||||
margin-bottom: 0; /* changed for redesign, was 10px */
|
||||
margin-bottom: 0;
|
||||
}
|
||||
p#networks {
|
||||
margin-bottom:10px;
|
||||
}
|
||||
.collaboratorship-link-separator { /* added for redesign */
|
||||
.collaboratorship-link-separator {
|
||||
margin-top: 10px;
|
||||
border-top: 1px solid #DDE4E3;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.collaboratorship-link-separator-solid {
|
||||
margin-top: 10px;
|
||||
border-top: 1px solid #DDE4E3;
|
||||
padding-top: 10px;
|
||||
}
|
||||
.sparkline_text {
|
||||
font-size: .9em; /* changed for redesign, was .8em */
|
||||
font-size: .9em;
|
||||
text-align: left;
|
||||
line-height: 1.5em;
|
||||
width: 180px;
|
||||
|
@ -143,7 +153,7 @@ p#networks {
|
|||
span.collaboratorship-link a img{
|
||||
vertical-align:middle;
|
||||
}
|
||||
td#totalPubs { /* added for redesign */
|
||||
td#totalPubs {
|
||||
font-size: 1.35em;
|
||||
background: url(../../images/individual/pub-total-bkgrnd.png) top left no-repeat;
|
||||
text-align:center;
|
||||
|
@ -151,7 +161,7 @@ td#totalPubs { /* added for redesign */
|
|||
width:48px;
|
||||
height:48px;
|
||||
}
|
||||
td#tenYearCount { /* added for redesign */
|
||||
td#tenYearCount {
|
||||
font-size: .85em;
|
||||
padding-left:10px;
|
||||
vertical-align:middle;
|
||||
|
@ -166,37 +176,37 @@ div#pub_count_short_sparkline_vis {
|
|||
}
|
||||
/* <------ INDIVIDUAL TEMPORAL GRAPH */
|
||||
#temporal-graph {
|
||||
padding: 0 3px 8px 0; /* changed for redesign, was 0 3px 20px 0 */
|
||||
padding: 0 3px 8px 0;
|
||||
background-color: #fff;
|
||||
margin-top: -4px; /* added for redesign */
|
||||
margin-top: -4px;
|
||||
}
|
||||
#temporal-graph h3 img {
|
||||
padding-right: 10px;
|
||||
vertical-align: middle; /* changed for redesign, was text-top */
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* <------ INDIVIDUAL MAP O' SCIENCE */
|
||||
#map-of-science {
|
||||
padding: 0 3px 24px 0; /* changed for redesign, was 0 3px 20x 0 */
|
||||
padding: 0 3px 24px 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
#map-of-science h3 img {
|
||||
padding-right: 10px;
|
||||
vertical-align: middle; /* changed for redesign, was text-top */
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* <------ POSITIONS */
|
||||
ul#individual-personInPosition {
|
||||
list-style-type: circle;
|
||||
padding-left: 10px; /* changed for redesign, was 20px */
|
||||
margin: 10px 0 0 0; /* added for redesign */
|
||||
padding-left: 10px;
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
ul#individual-personInPosition li {
|
||||
line-height: 1em;
|
||||
padding-bottom:10px; /* changed for redesign, was 15px */
|
||||
padding-bottom:10px;
|
||||
}
|
||||
ul#individual-personInPosition li:last-child {
|
||||
padding-bottom: 3px; /* changed for redesign, was 15px */
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
/* <------ CONTACTS AND WEBPAGES */
|
||||
|
@ -235,8 +245,8 @@ div#contactPhoneDiv {
|
|||
ul#individual-hasResearchArea li {
|
||||
float: left;
|
||||
padding-right: 10px;
|
||||
margin-right: 10px; /* added for redesign */
|
||||
padding-left: 0; /* padding-left: 10px; out for redesign */
|
||||
margin-right: 10px;
|
||||
padding-left: 0;
|
||||
border-right: 1px solid #5e6363;
|
||||
}
|
||||
h2#researchAreas {
|
||||
|
@ -245,21 +255,22 @@ h2#researchAreas {
|
|||
/* <------ QR Code */
|
||||
span#qrCodeImage {
|
||||
position: absolute;
|
||||
top: 30px; /* changed for redesign, was -9em */
|
||||
left: -120px !important; /* added for redesign */
|
||||
width:180px; /* added for redesign */
|
||||
top: 30px;
|
||||
left: -120px !important;
|
||||
width:180px;
|
||||
border: solid 2px #ccc;
|
||||
background: #fff; /* changed for redesign, was #fff */
|
||||
text-align:middle; /* added for redesign */
|
||||
background: #fff;
|
||||
text-align:middle;
|
||||
overflow:visible;
|
||||
z-index:1000;
|
||||
}
|
||||
span#qrCodeImage img {
|
||||
padding: 1.7em 1.7em 0 1.7em; /* changed for redesign, was 1.7em 1.7 em 0 1.7 em */
|
||||
padding: 1.7em 1.7em 0 1.7em;
|
||||
}
|
||||
a.qrCloseLink {
|
||||
float: right;
|
||||
padding-right: 1em; /* added for redesign */
|
||||
margin-right: 0; /* margin-right: .5em out for redesign */
|
||||
padding-right: 1em;
|
||||
margin-right: 0;
|
||||
font-size: .8em;
|
||||
}
|
||||
/* MISCELLANEOUS------> */
|
||||
|
@ -270,8 +281,7 @@ span#quickViewLink {
|
|||
span#quickViewLink img {
|
||||
margin-top:35px;
|
||||
}
|
||||
|
||||
a#manageLabels { /* added for redesign but will work with existing templates */
|
||||
a#manageLabels {
|
||||
margin-left:20px;
|
||||
font-size:0.7em;
|
||||
}
|
||||
|
|
|
@ -70,21 +70,20 @@ h2#preferredTitle {
|
|||
/* <------ QR Code */
|
||||
span#qrCodeImage {
|
||||
position: absolute;
|
||||
top: 30px; /* changed for redesign, was -9em */
|
||||
left: 76% !important; /* added for redesign */
|
||||
width:180px; /* added for redesign */
|
||||
top: 30px;
|
||||
left: 76% !important;
|
||||
width:180px;
|
||||
border: solid 2px #ccc;
|
||||
background: #fff; /* changed for redesign, was #fff */
|
||||
text-align:middle; /* added for redesign */
|
||||
background: #fff;
|
||||
text-align:middle;
|
||||
overflow:visible;
|
||||
}
|
||||
span#qrCodeImage img {
|
||||
padding: 1.7em 1.7em 0 1.7em; /* changed for redesign, was 1.7em 1.7 em 0 1.7 em */
|
||||
padding: 1.7em 1.7em 0 1.7em;
|
||||
}
|
||||
/* <----- WEBPAGE CONTENT LEFT SIDE -----> */
|
||||
.edit-mainImage {
|
||||
position: absolute;
|
||||
/* background: rgba(255, 255, 255, 0.6); */
|
||||
padding: 0 0 0 0;
|
||||
top: 44px;
|
||||
left: 0;
|
||||
|
@ -93,7 +92,6 @@ span#qrCodeImage img {
|
|||
position: absolute;
|
||||
top: 44px;
|
||||
left: 26px;
|
||||
/* background: rgba(255, 255, 255, 0.6); */
|
||||
padding: 0 0 0 8px;
|
||||
}
|
||||
div#webpage-wrapper {
|
||||
|
@ -204,14 +202,14 @@ ul#individual-visualization li:last-child {
|
|||
/* <------ POSITIONS ------> */
|
||||
ul#individual-personInPosition {
|
||||
list-style-type: circle;
|
||||
padding-left: 10px; /* changed for redesign, was 20px */
|
||||
margin: 10px 0 0 0; /* added for redesign */
|
||||
padding-left: 10px;
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
ul#individual-hasResearchArea li {
|
||||
float: left;
|
||||
padding-right: 10px;
|
||||
margin-right: 10px; /* added for redesign */
|
||||
padding-left: 0; /* padding-left: 10px; out for redesign */
|
||||
margin-right: 10px;
|
||||
padding-left: 0;
|
||||
border-right: 1px solid #5e6363 ;
|
||||
white-space:nowrap !important;
|
||||
}
|
||||
|
@ -252,6 +250,6 @@ ul#individual-personInPosition li:last-child {
|
|||
padding-bottom: 0;
|
||||
}
|
||||
#individual-info h2 {
|
||||
padding: 25px 0 10px 0; /* changed for redesign, was padding-bottom: 10px */
|
||||
clear:both; /* added for redesign */
|
||||
padding: 25px 0 10px 0;
|
||||
clear:both;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ ul#individual-tools li {
|
|||
}
|
||||
ul#individual-phone {
|
||||
clear: both;
|
||||
list-style-type: circle;
|
||||
list-style: circle outside url(../../images/phoneIconSmall.gif);
|
||||
margin-left: 15px;
|
||||
}
|
||||
ul#individual-phone li {
|
||||
|
@ -24,14 +24,18 @@ ul#individual-phone li:last-child {
|
|||
margin-bottom: 10px;
|
||||
}
|
||||
ul#individual-phone li:first-child {
|
||||
margin-top: 10px;
|
||||
margin-top: -4px;
|
||||
}
|
||||
.icon-phone, .icon-email {
|
||||
padding-right: 2px;
|
||||
}
|
||||
#individual-intro.person ul.individual-urls {
|
||||
list-style-type: circle;
|
||||
margin: 0 0 0 15px;
|
||||
}
|
||||
#individual-intro ul.individual-urls {
|
||||
list-style-type: circle;
|
||||
margin-left: 15px;
|
||||
margin: 0 0 15px 15px;
|
||||
}
|
||||
#individual-intro ul.individual-urls li {
|
||||
font-size: .875em;
|
||||
|
@ -41,7 +45,7 @@ ul#individual-phone li:first-child {
|
|||
ul.individual-emails {
|
||||
clear: both;
|
||||
padding-left: 0;
|
||||
list-style-type: circle;
|
||||
list-style: circle outside url(../../images/emailIconSmall.gif);
|
||||
margin-left: 20px;
|
||||
}
|
||||
#additional-emails li:last-child {
|
||||
|
@ -49,13 +53,8 @@ ul.individual-emails {
|
|||
}
|
||||
ul.individual-emails li {
|
||||
font-size: .875em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
ul#individual-phone {
|
||||
list-style: url(../../images/phoneIconSmall.gif);
|
||||
}
|
||||
ul.individual-emails {
|
||||
list-style: url(../../images/emailIconSmall.gif);
|
||||
line-height: 1.2em;
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
ul#webpages{
|
||||
margin-bottom: 5px;
|
||||
|
@ -73,12 +72,15 @@ ul#additional-emails li {
|
|||
width: 78%;
|
||||
}
|
||||
#individual-intro .individual-overview {
|
||||
/* margin-bottom: 10px;
|
||||
margin-top: 10px; */
|
||||
margin: 0;
|
||||
display: inline;
|
||||
clear: both;
|
||||
float: left;
|
||||
float: none;
|
||||
}
|
||||
div#activeGrantsLink {
|
||||
float:right;
|
||||
clear:right;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
/* <------ INDIVIDUAL INTRO FOR PERSON*/
|
||||
#individual-intro.person {
|
||||
|
@ -96,10 +98,7 @@ ul#additional-emails li {
|
|||
float: none;
|
||||
}
|
||||
div#individual-tools-people {
|
||||
height: 20px;
|
||||
padding-bottom: 24px;
|
||||
clear: both;
|
||||
margin-bottom: 15px;
|
||||
float: right;
|
||||
}
|
||||
ul#individual-tools-people li {
|
||||
position: relative;
|
||||
|
@ -119,7 +118,7 @@ ul.individual-urls-people li {
|
|||
}
|
||||
/* <------ INDIVIDUAL CORE:OVERVIEW */
|
||||
#overview {
|
||||
clear: both;
|
||||
/* clear: both; */
|
||||
}
|
||||
.overview-value {
|
||||
display: inline;
|
||||
|
@ -185,7 +184,7 @@ p.view-all-coauthors {
|
|||
|
||||
/* <------ INDIVIDUAL MAP O' SCIENCE */
|
||||
#map-of-science {
|
||||
padding: 0 3px 20px 0;
|
||||
padding: 0 29px 20px 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
#map-of-science h3 {
|
||||
|
@ -210,15 +209,18 @@ ul#individual-personInPosition li:last-child {
|
|||
}
|
||||
|
||||
/* <------ RESEARCH AREA */
|
||||
ul#individual-hasResearchArea {
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
ul#individual-hasResearchArea li {
|
||||
float: left;
|
||||
padding-right: 10px;
|
||||
margin-right: 10px;
|
||||
border-right: 1px solid #5e6363;
|
||||
}
|
||||
ul#individual-facultyMemberships li {
|
||||
float: left;
|
||||
padding-right: 10px;
|
||||
margin-right: 10px;
|
||||
border-right: 1px solid #5e6363;
|
||||
}
|
||||
/* <------ QR Code */
|
||||
h5.qrCode {
|
||||
margin-top: 1em;
|
||||
|
@ -226,20 +228,24 @@ h5.qrCode {
|
|||
}
|
||||
span#qrCodeImage {
|
||||
position: absolute;
|
||||
top: -9em;
|
||||
left: 2em;
|
||||
border: solid 1px #ccc;
|
||||
background: white;
|
||||
top: 27px;
|
||||
left: 175px !important;
|
||||
width:180px;
|
||||
border: solid 2px #ccc;
|
||||
background: #fff;
|
||||
text-align:middle;
|
||||
overflow:visible;
|
||||
z-index:1000;
|
||||
}
|
||||
span#qrCodeImage img {
|
||||
padding: 1.7em 1.7em 0 1.7em;
|
||||
padding: 1.7em 1.7em 0 1.7em;
|
||||
}
|
||||
a.qrCloseLink {
|
||||
float: right;
|
||||
margin-right: .5em;
|
||||
float: right;
|
||||
padding-right: 1em;
|
||||
margin-right: 0;
|
||||
font-size: .8em;
|
||||
}
|
||||
/* MISCELLANEOUS------> */
|
||||
}/* MISCELLANEOUS------> */
|
||||
.listDateTime {
|
||||
padding: 0 0.4em;
|
||||
font-size: 0.8em;
|
||||
|
@ -254,10 +260,10 @@ a.manageLinks {
|
|||
/* individual-vivo.css merger ------> */
|
||||
#individual-info h2#overview {
|
||||
padding-bottom: 0;
|
||||
padding-top: 20px;
|
||||
/* padding-top: 20px; */
|
||||
}
|
||||
ul#individual-webpage li:first-child {
|
||||
padding: 0 0 0 0;
|
||||
padding: 0 0 5px 0;
|
||||
}
|
||||
ul.webpages-withThumbnails li:nth-child(2) {
|
||||
padding: 105px 0 0 15px;
|
||||
|
@ -268,7 +274,12 @@ ul.webpages-withThumbnails li {
|
|||
float:left;
|
||||
}
|
||||
h2#facultyResearchAreas {
|
||||
clear:both;
|
||||
clear:left;
|
||||
padding-bottom:3px;
|
||||
padding-top:25px
|
||||
}
|
||||
h2#facultyMemberships {
|
||||
clear:left;
|
||||
padding-bottom:3px;
|
||||
padding-top:25px
|
||||
}
|
||||
|
|
|
@ -44,9 +44,9 @@ span.incomplete-data-holder,
|
|||
width: 180px;
|
||||
}
|
||||
.collaboratorship-link-separator {
|
||||
margin-top: 20px;
|
||||
margin-top: 15px;
|
||||
border-top: 1px dotted #A6B1B0;
|
||||
padding-top: 20px;
|
||||
padding-top: 15px;
|
||||
}
|
||||
.sparkline_text, .grey-text {
|
||||
font-size: .9em;
|
||||
|
|
|
@ -4,6 +4,12 @@ $(document).ready(function(){
|
|||
|
||||
$.extend(this, individualLocalName);
|
||||
|
||||
// ensures proper layout when an organization has its webpage link displayed as a thumnail.
|
||||
if ( $('ul.webpages-withThumnails') ) {
|
||||
$('div.individual-overview').css("float","left");
|
||||
$('div#activeGrantsLink').css("margin-top","30px");
|
||||
$('section#individual-info').children('h2#overview').css("clear","both");
|
||||
}
|
||||
// "more"/"less" HTML truncator for showing more or less content in data property core:overview
|
||||
$('.overview-value').truncate({max_length: 500});
|
||||
|
||||
|
|
|
@ -3,13 +3,34 @@
|
|||
<#-- Individual profile page template for foaf:Organization individuals (extends individual.ftl in vivo)-->
|
||||
|
||||
<#-- Do not show the link for temporal visualization unless it's enabled -->
|
||||
|
||||
<#if temporalVisualizationEnabled>
|
||||
<#assign classSpecificExtension>
|
||||
<section id="right-hand-column" role="region">
|
||||
<#include "individual-visualizationTemporalGraph.ftl">
|
||||
<#include "individual-visualizationMapOfScience.ftl">
|
||||
</section> <!-- #visualization -->
|
||||
</section> <!-- #right-hand-column -->
|
||||
</#assign>
|
||||
</#if>
|
||||
|
||||
<#include "individual.ftl">
|
||||
<#if individual.mostSpecificTypes?seq_contains("Academic Department")>
|
||||
<#assign departmentalGrantsExtension>
|
||||
<div id="activeGrantsLink">
|
||||
<img src="${urls.base}/images/individual/arrow-green.gif">
|
||||
<a href="${urls.base}/deptGrants?individualURI=${individual.uri}">
|
||||
View all active grants
|
||||
</a>
|
||||
</div>
|
||||
</#assign>
|
||||
|
||||
<#assign departmentalResearchAreas>
|
||||
<#include "individual-dept-research-areas.ftl">
|
||||
</#assign>
|
||||
|
||||
<#assign departmentalMemberships>
|
||||
<#include "individual-dept-memberships.ftl">
|
||||
</#assign>
|
||||
</#if>
|
||||
|
||||
<#include "individual.ftl">
|
||||
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
<#if !labelCount??>
|
||||
<#assign labelCount = 0 >
|
||||
</#if>
|
||||
<#assign qrCodeIcon = "qr-code-icon.png">
|
||||
<#assign visRequestingTemplate = "foaf-person-2column">
|
||||
<section id="individual-intro" class="vcard person" role="region">
|
||||
<section id="share-contact" role="region">
|
||||
<#-- Image -->
|
||||
|
@ -58,12 +60,13 @@
|
|||
<@p.mostSpecificTypesPerson individual editable/>
|
||||
</#if>
|
||||
</#if>
|
||||
<span class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>">
|
||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>">
|
||||
<#include "individual-iconControls.ftl">
|
||||
</span>
|
||||
<#if editable && profilePageTypesEnabled >
|
||||
<div id="profileTypeContainer">
|
||||
<h2>Profile type</h2>
|
||||
<!-- The text in this h2 element is set via the wilma.css file -->
|
||||
<h2></h2>
|
||||
<select id="profilePageType">
|
||||
<option value="standard" <#if profileType == "standard" || profileType == "none">selected</#if> >Standard profile view</option>
|
||||
<option value="quickView" <#if profileType == "quickView">selected</#if> >Quick profile view</option>
|
||||
|
@ -84,7 +87,6 @@
|
|||
<#include "individual-researchAreas.ftl">
|
||||
|
||||
<!-- Contact and Webpages -->
|
||||
<!-- VIVO Cornell does not use the contacts properties, so that include has been removed. -->
|
||||
<div id="contactsWebpages">
|
||||
<div id="contactContainer" >
|
||||
<#include "individual-contactInfo-2column.ftl">
|
||||
|
@ -162,7 +164,6 @@ ${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/individual/indi
|
|||
|
||||
${headScripts.add('<script type="text/javascript" src="${urls.base}/js/tiny_mce/tiny_mce.js"></script>',
|
||||
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/qtip/jquery.qtip-1.0.0-rc3.min.js"></script>',
|
||||
'<script type="text/javascript" src="${urls.base}/js/amplify/amplify.store.min.js"></script>',
|
||||
'<script type="text/javascript" src="${urls.base}/js/json2.js"></script>',
|
||||
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.truncator.js"></script>')}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<#if !labelCount??>
|
||||
<#assign labelCount = 0 >
|
||||
</#if>
|
||||
|
||||
<#assign qrCodeIcon = "qr-code-icon.png">
|
||||
<#assign individualImage>
|
||||
<@p.image individual=individual
|
||||
propertyGroups=propertyGroups
|
||||
|
@ -76,12 +76,13 @@
|
|||
</section> <!-- end label-title -->
|
||||
<#include "individual-adminPanel.ftl">
|
||||
|
||||
<span class="<#if editable >iconControlsEditable<#else>iconControlsNotEditable</#if>">
|
||||
<span id="iconControlsRightSide" class="<#if editable >iconControlsEditable<#else>iconControlsNotEditable</#if>">
|
||||
<#include "individual-iconControls.ftl">
|
||||
</span>
|
||||
<#if editable && profilePageTypesEnabled >
|
||||
<div id="profileTypeContainer" <#if editable>style="margin-top:22px"</#if>>
|
||||
<h2>Profile type</h2>
|
||||
<!-- The text in this h2 element is set via the wilma.css file -->
|
||||
<h2></h2>
|
||||
<select id="profilePageType">
|
||||
<option value="standard" <#if profileType == "standard" || profileType == "none">selected</#if> >Standard profile view</option>
|
||||
<option value="quickView" <#if profileType == "quickView">selected</#if> >Quick profile view</option>
|
||||
|
|
|
@ -8,17 +8,25 @@
|
|||
<#assign individualProductExtension>
|
||||
<#-- Include for any class specific template additions -->
|
||||
${classSpecificExtension!}
|
||||
${departmentalGrantsExtension!}
|
||||
<!--PREINDIVIDUAL OVERVIEW.FTL-->
|
||||
<#include "individual-webpage.ftl">
|
||||
<#include "individual-overview.ftl">
|
||||
${departmentalResearchAreas!}
|
||||
${departmentalMemberships!}
|
||||
</section> <!-- #individual-info -->
|
||||
</section> <!-- #individual-intro -->
|
||||
<!--postindiviudal overiew tfl-->
|
||||
<!--postindividual overview ftl-->
|
||||
|
||||
</#assign>
|
||||
|
||||
<#include "individual-vitro.ftl">
|
||||
|
||||
<script>
|
||||
var individualLocalName = "${individual.localName}";
|
||||
</script>
|
||||
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/individual/individual-vivo.css" />')}
|
||||
|
||||
${headScripts.add('<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.truncator.js"></script>')}
|
||||
${headScripts.add('<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.truncator.js"></script>',
|
||||
'<script type="text/javascript" src="${urls.base}/js/json2.js"></script>')}
|
||||
|
||||
${scripts.add('<script type="text/javascript" src="${urls.base}/js/individual/individualUtils.js"></script>')}
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<#assign primaryEmail = propertyGroups.pullProperty("${core}primaryEmail")!>
|
||||
<#assign addlEmail = propertyGroups.pullProperty("${core}email")!>
|
||||
|
||||
<#if !editable && (phone?has_content || primaryEmail?has_content || addlEmail?has_content) >
|
||||
<ul style="font-size:0.9em;padding-bottom:4px"><li><strong>Contact Info</strong></li></ul>
|
||||
<#if phone?has_content || primaryEmail?has_content || addlEmail?has_content >
|
||||
<ul style="font-size:1em;padding-bottom:4px"><li><strong>Contact Info</strong></li></ul>
|
||||
</#if>
|
||||
|
||||
<#-- Primary Email -->
|
||||
|
@ -21,10 +21,10 @@
|
|||
<#if phone?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
|
||||
<@p.addLinkWithLabel phone editable />
|
||||
<#if phone.statements?has_content> <#-- if there are any statements -->
|
||||
<ul id="individual-phone" role="list">
|
||||
<ul id="individual-phone" role="list" <#if editable>style="list-style:none;margin-left:0;"</#if>>
|
||||
<#list phone.statements as statement>
|
||||
<li role="listitem">
|
||||
<#-- <img class ="icon-phone middle" src="${urls.images}/individual/phoneIcon.gif" alt="phone icon"/> -->${statement.value}
|
||||
<li role="listitem">
|
||||
${statement.value}
|
||||
<@p.editingLinks "${phone.localName}" statement editable />
|
||||
</li>
|
||||
</#list>
|
||||
|
@ -43,10 +43,9 @@
|
|||
<#if email?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
|
||||
<@p.addLinkWithLabel email editable label/>
|
||||
<#if email.statements?has_content> <#-- if there are any statements -->
|
||||
<ul id="${listId}" class="individual-emails" role="list">
|
||||
<ul id="${listId}" class="individual-emails" role="list" <#if editable>style="list-style:none;margin-left:0;"</#if>>
|
||||
<#list email.statements as statement>
|
||||
<li role="listitem">
|
||||
<#-- <img class ="icon-email middle" src="${urls.images}/individual/emailIcon.gif" alt="email icon"/> -->
|
||||
<a class="email" href="mailto:${statement.value}" title="email">${statement.value}</a>
|
||||
<@p.editingLinks "${email.localName}" statement editable />
|
||||
</li>
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#import "lib-datetime.ftl" as dt>
|
||||
|
||||
<#if deptGrants?has_content>
|
||||
<section id="pageList">
|
||||
<#list deptGrants as firstRow>
|
||||
<h2>Active Grants for ${firstRow["deptLabel"]}</h2>
|
||||
<#break>
|
||||
</#list>
|
||||
<table id="pageList" >
|
||||
<tr>
|
||||
<th>Grant Name</th>
|
||||
<th>Close Date</th>
|
||||
</tr>
|
||||
<#list deptGrants as resultRow>
|
||||
<tr>
|
||||
<td><a href="${urls.base}/individual${resultRow["activity"]?substring(resultRow["activity"]?last_index_of("/"))}">${resultRow["activityLabel"]}</a></td>
|
||||
<td>${dt.formatXsdDateTimeShort(resultRow["dt"], "yearMonthDayPrecision")}</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</table>
|
||||
<#else>
|
||||
There are currently no active grants for this department.
|
||||
</#if>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/menupage/pageList.css" />')}
|
||||
|
||||
${scripts.add('<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>')}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#if deptMemberships?has_content>
|
||||
<section id="pageList">
|
||||
<#list deptMemberships as firstRow>
|
||||
<div class="tab">
|
||||
<h2>${firstRow["orgLabel"]}</h2>
|
||||
<p>Here are the faculty in the ${firstRow["deptLabel"]} department who are members of this organization. <a href="${urls.base}/display${firstRow["orgURI"]?substring(firstRow["orgURI"]?last_index_of("/"))}" title="view all cornell faculty">View all the members of this organization.</a></p>
|
||||
</div>
|
||||
<#break>
|
||||
</#list>
|
||||
|
||||
<section id="deptGraduateFields">
|
||||
<ul role="list" class="deptDetailsList">
|
||||
<#list deptMemberships as resultRow>
|
||||
<li class="deptDetailsListItem">
|
||||
<a href="${urls.base}/individual${resultRow["person"]?substring(resultRow["person"]?last_index_of("/"))}">${resultRow["personLabel"]}</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
|
||||
</#if>
|
||||
|
||||
</section>
|
|
@ -0,0 +1,15 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#if membershipResults?has_content>
|
||||
<h2 id="facultyMemberships" class="mainPropGroup">Faculty Memberships</h2>
|
||||
<#assign numberRows = membershipResults?size/>
|
||||
<ul id="individual-facultyMemberships" role="list">
|
||||
<#list membershipResults as resultRow>
|
||||
<li class="raLink">
|
||||
<a class="raLink" href="${urls.base}/deptGradFields?deptURI=${individual.uri}&actURI=${resultRow["activity"]}">
|
||||
${resultRow["actLabel"]}
|
||||
</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
</#if>
|
|
@ -0,0 +1,24 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#if deptResearchAreas?has_content>
|
||||
<section id="pageList">
|
||||
<#list deptResearchAreas as firstRow>
|
||||
<div class="tab">
|
||||
<h2>${firstRow["raLabel"]}</h2>
|
||||
<p>Here are the faculty in the ${firstRow["deptLabel"]} department who have an interest in this research area. <a href="${urls.base}/display${firstRow["raURI"]?substring(firstRow["raURI"]?last_index_of("/"))}">View all Cornell faculty with an interest in this area.</a></p>
|
||||
</div>
|
||||
<#break>
|
||||
</#list>
|
||||
|
||||
<section id="deptResearchAreas">
|
||||
<ul role="list" class="deptDetailsList">
|
||||
<#list deptResearchAreas as resultRow>
|
||||
<li class="deptDetailsListItem">
|
||||
<a href="${urls.base}/individual${resultRow["person"]?substring(resultRow["person"]?last_index_of("/"))}">${resultRow["personLabel"]}</a>
|
||||
</li>
|
||||
</#list>
|
||||
</ul>
|
||||
|
||||
</section>
|
||||
</#if>
|
||||
|
||||
</section>
|
|
@ -0,0 +1,45 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
<#if researchAreaResults?has_content>
|
||||
<h2 id="facultyResearchAreas" class="mainPropGroup">
|
||||
Faculty Research Areas
|
||||
</h2>
|
||||
|
||||
<#assign numberRows = researchAreaResults?size/>
|
||||
<ul id="individual-hasResearchArea" role="list">
|
||||
<#assign totalLength = 0 >
|
||||
<#assign moreDisplayed = false>
|
||||
<#list researchAreaResults as resultRow>
|
||||
<#if ( totalLength > 380 ) && !moreDisplayed >
|
||||
<li id="raMoreContainer" style="border:none">(...<a id="raMore" href="javascript:">more</a>)</li>
|
||||
<li class="raLinkMore" style="display:none">
|
||||
<#assign moreDisplayed = true>
|
||||
<#elseif ( totalLength > 380 ) && moreDisplayed >
|
||||
<li class="raLinkMore" style="display:none">
|
||||
<#else>
|
||||
<li class="raLink">
|
||||
</#if>
|
||||
<a class="raLink" href="${urls.base}/deptResearchAreas?deptURI=${individual.uri}&raURI=${resultRow["ra"]}">
|
||||
${resultRow["raLabel"]}
|
||||
</a>
|
||||
</li>
|
||||
<#assign totalLength = totalLength + resultRow["raLabel"]?length >
|
||||
</#list>
|
||||
<#if ( totalLength > 380 ) ><li id="raLessContainer" style="display:none">(<a id="raLess" href="javascript:">less</a>)</li></#if>
|
||||
</ul>
|
||||
</#if>
|
||||
<script>
|
||||
$('a#raMore').click(function() {
|
||||
$('li.raLinkMore').each(function() {
|
||||
$(this).show();
|
||||
});
|
||||
$('li#raMoreContainer').hide();
|
||||
$('li#raLessContainer').show();
|
||||
});
|
||||
$('a#raLess').click(function() {
|
||||
$('li.raLinkMore').each(function() {
|
||||
$(this).hide();
|
||||
});
|
||||
$('li#raMoreContainer').show();
|
||||
$('li#raLessContainer').hide();
|
||||
});
|
||||
</script>
|
|
@ -1,10 +1,9 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#-- Icon controls displayed in upper-right corner -->
|
||||
<#-- CU directory link -->
|
||||
<#assign netid = individual.selfEditingId()!>
|
||||
|
||||
<img id="uriIcon" title="${individual.uri}" src="${urls.images}/individual/share-uri-icon.png" alt="share the uri" />
|
||||
<@qr.renderCode />
|
||||
<@qr.renderCode qrCodeIcon />
|
||||
|
||||
<#--
|
||||
|
||||
|
@ -12,6 +11,7 @@ Some contact information is displayed on the profile page by default; e.g., phon
|
|||
has an additional location for contact info, such as a university directory, a third "contact" icon is available that can be used
|
||||
to direct users to that directory. The <a> tag below shows an example using Cornell University's directory.
|
||||
|
||||
<#assign netid = individual.selfEditingId()!>
|
||||
<#if netid?has_content>
|
||||
<a href="http://www.cornell.edu/search/?tab=people&netid=${netid}" title="Cornell University directory entry for ${netid}" target="_blank">
|
||||
<img src="${urls.images}/individual/contact-info-icon.png" title="view additional contact information" alt="contact info" />
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#-- Template for property listing on individual profile page -->
|
||||
|
||||
<#list group.properties as property>
|
||||
<article class="property" role="article">
|
||||
<#-- Property display name -->
|
||||
<#if property.localName == "authorInAuthorship" && editable >
|
||||
<h3 id="${property.localName}">${property.name} <@p.addLink property editable /> <@p.verboseDisplay property />
|
||||
<a id="managePubLink" class="manageLinks" href="${urls.base}/managePublications?subjectUri=${subjectUri[1]!}" title="manage publications" <#if verbose>style="padding-top:10px"</#if> >
|
||||
manage publications
|
||||
</a>
|
||||
</h3>
|
||||
<#elseif property.localName == "hasResearcherRole" && editable >
|
||||
<h3 id="${property.localName}">${property.name} <@p.addLink property editable /> <@p.verboseDisplay property />
|
||||
<a id="manageGrantLink" class="manageLinks" href="${urls.base}/manageGrants?subjectUri=${subjectUri[1]!}" title="manage grants & projects" <#if verbose>style="padding-top:10px"</#if> >
|
||||
manage grants & projects
|
||||
</a>
|
||||
</h3>
|
||||
<#elseif property.localName == "organizationForPosition" && editable >
|
||||
<h3 id="${property.localName}">${property.name} <@p.addLink property editable /> <@p.verboseDisplay property />
|
||||
<a id="managePeopleLink" class="manageLinks" href="${urls.base}/managePeople?subjectUri=${subjectUri[1]!}" title="manage people" <#if verbose>style="padding-top:10px"</#if> >
|
||||
manage affiliated people
|
||||
</a>
|
||||
</h3>
|
||||
<#else>
|
||||
<h3 id="${property.localName}">${property.name} <@p.addLink property editable /> <@p.verboseDisplay property /> </h3>
|
||||
</#if>
|
||||
<#-- List the statements for each property -->
|
||||
<ul class="property-list" role="list" id="${property.localName}List">
|
||||
<#-- data property -->
|
||||
<#if property.type == "data">
|
||||
<@p.dataPropertyList property editable />
|
||||
<#-- object property -->
|
||||
<#else>
|
||||
<@p.objectProperty property editable />
|
||||
</#if>
|
||||
</ul>
|
||||
</article> <!-- end property -->
|
||||
</#list>
|
|
@ -25,7 +25,11 @@
|
|||
* setting the display to "full" will render a full-size QR code (<@renderCode display="full" />)
|
||||
* the size can be set using the width parameter (default is 125px)
|
||||
-->
|
||||
<#macro renderCode display="icon" width="125">
|
||||
<#--
|
||||
added the imageFile parameter because a different icon is used for the wilma theme (qr_icon.png)
|
||||
than is used for the 2 column and quick views (qr-code-icon.png).
|
||||
-->
|
||||
<#macro renderCode imageFile display="icon" width="125">
|
||||
<#if hasValidVCard()>
|
||||
<#local qrData = individual.qrData()>
|
||||
<#local qrCodeLinkedImage><a title="Export QR codes" href="${qrData.exportQrCodeUrl}" title="QR Code"><@qrCodeVCard qrCodeWidth=width /></a></#local>
|
||||
|
@ -34,10 +38,8 @@
|
|||
<h5 class="qrCode">vCard QR</h5>
|
||||
${qrCodeLinkedImage}
|
||||
<#elseif (display == "icon")>
|
||||
<#-- <li role="listitem"> -->
|
||||
<a id="qrIcon" title="vCard QR Code" href="${qrData.exportQrCodeUrl}" title="QR Code"><img src="${urls.images}/individual/qr-code-icon.png<#-- qr_icon.png -->" alt="qr icon" /></a>
|
||||
<a id="qrIcon" title="vCard QR Code" href="${qrData.exportQrCodeUrl}" title="QR Code"><img src="${urls.images}/individual/${imageFile!}" alt="qr icon" /></a>
|
||||
<span id="qrCodeImage" class="hidden">${qrCodeLinkedImage} <a class="qrCloseLink" href="#" title="QR Code">Close</a></span>
|
||||
<#-- </li> -->
|
||||
<#else>
|
||||
<p class="notice">You have passed an invalid value for the qrCode display parameter.</p>
|
||||
</#if>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
'<script type="text/javascript" src="${urls.base}/js/visualization/sparkline.js"></script>')}
|
||||
|
||||
<script type="text/javascript">
|
||||
var visualizationUrl = '${urls.base}/visualizationAjax?uri=${individual.uri?url}';
|
||||
var visualizationUrl = '${urls.base}/visualizationAjax?uri=${individual.uri?url}&template=${visRequestingTemplate!}';
|
||||
var infoIconSrc = '${urls.images}/iconInfo.png';
|
||||
</script>
|
||||
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#-- Default VIVO individual profile page template (extends individual.ftl in vitro) -->
|
||||
|
||||
<#include "individual-setup.ftl">
|
||||
<#import "lib-vivo-properties.ftl" as vp>
|
||||
|
||||
<#assign individualProductExtension>
|
||||
<#-- Include for any class specific template additions -->
|
||||
${classSpecificExtension!}
|
||||
${departmentalGrantsExtension!}
|
||||
<!--PREINDIVIDUAL OVERVIEW.FTL-->
|
||||
<#include "individual-webpage.ftl">
|
||||
<#include "individual-overview.ftl">
|
||||
${departmentalResearchAreas!}
|
||||
</section> <!-- #individual-info -->
|
||||
</section> <!-- #individual-intro -->
|
||||
<!--postindiviudal overiew tfl-->
|
||||
</#assign>
|
||||
|
||||
<#include "individual-vitro.ftl">
|
||||
|
||||
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/individual/individual-vivo.css" />')}
|
||||
|
||||
${headScripts.add('<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.truncator.js"></script>')}
|
||||
${scripts.add('<script type="text/javascript" src="${urls.base}/js/individual/individualUtils.js"></script>')}
|
|
@ -1,19 +1,19 @@
|
|||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||
|
||||
<#--
|
||||
|
||||
There are two templates for displaying publication information on foaf person pages.
|
||||
|
||||
- personPublicationSparklineContent.ftl
|
||||
- personPublicationCountNoSparkline.ftl
|
||||
- personPublicationSparklineContent.ftl, which shows the actual sparkline
|
||||
- personPublicationCountNoSparkline.ftl, which shows on counts and not the sparkline
|
||||
|
||||
The first is the template use with the Wilma theme and the individual--foaf-person.ftl
|
||||
template. The second is used with the individual--foaf-person-2column.ftl template.
|
||||
|
||||
Update the include statement below to use the correct "sparkline" template for your
|
||||
foaf person template.
|
||||
|
||||
-->
|
||||
<#if shouldVIVOrenderVis>
|
||||
<#include "personPublicationSparklineContent.ftl">
|
||||
<#-- Added requestingTemplate variable in release 1.6 to support multi-view option -->
|
||||
<#if requestingTemplate = "foaf-person-wilma" >
|
||||
<#include "personPublicationSparklineContent.ftl">
|
||||
<#else>
|
||||
<#include "personPublicationCountNoSparkline.ftl">
|
||||
</#if>
|
||||
</#if>
|
||||
|
|
|
@ -53,6 +53,7 @@ public class VisualizationFrameworkConstants {
|
|||
public static final String VIS_MODE_KEY = "vis_mode";
|
||||
public static final String RENDER_MODE_KEY = "render_mode";
|
||||
public static final String OUTPUT_FORMAT_KEY = "output";
|
||||
public static final String REQUESTING_TEMPLATE_KEY = "template"; /* tlw72 - added in 1.6 for multi-view support */
|
||||
|
||||
/*
|
||||
* These values represent possible render modes.
|
||||
|
|
|
@ -59,6 +59,13 @@ VisualizationRequestHandler {
|
|||
.getParameter(
|
||||
VisualizationFrameworkConstants.VIS_CONTAINER_KEY);
|
||||
|
||||
/* tlw72 -- Added in 1.6 for multi-view support. There are now two different "sparkline" templates */
|
||||
/* and the one that gets loaded depends on which foaf person template is being used by the app. The */
|
||||
/* personPublicationCountDynamicActivator.ftl template needs to know which is the requesting template. */
|
||||
String requestingTemplate = vitroRequest
|
||||
.getParameter(
|
||||
VisualizationFrameworkConstants.REQUESTING_TEMPLATE_KEY);
|
||||
|
||||
QueryRunner<Set<Activity>> queryManager = new PersonPublicationCountQueryRunner(
|
||||
personURI,
|
||||
dataset,
|
||||
|
@ -91,7 +98,7 @@ VisualizationRequestHandler {
|
|||
SparklineData sparklineData = visualizationCodeGenerator.getValueObjectContainer();
|
||||
|
||||
return prepareDynamicResponse(vitroRequest, sparklineData,
|
||||
shouldVIVOrenderVis);
|
||||
shouldVIVOrenderVis, requestingTemplate);
|
||||
|
||||
}
|
||||
|
||||
|
@ -273,13 +280,14 @@ VisualizationRequestHandler {
|
|||
* @return
|
||||
*/
|
||||
private TemplateResponseValues prepareDynamicResponse(VitroRequest vreq,
|
||||
SparklineData valueObjectContainer, boolean shouldVIVOrenderVis) {
|
||||
SparklineData valueObjectContainer, boolean shouldVIVOrenderVis, String requestingTemplate) {
|
||||
|
||||
String dynamicTemplate = "personPublicationCountDynamicActivator.ftl";
|
||||
|
||||
Map<String, Object> body = new HashMap<String, Object>();
|
||||
body.put("sparklineVO", valueObjectContainer);
|
||||
body.put("shouldVIVOrenderVis", shouldVIVOrenderVis);
|
||||
body.put("requestingTemplate", requestingTemplate); /* tlw72 -- Added in 1.6 for multi-view support.*/
|
||||
|
||||
return new TemplateResponseValues(dynamicTemplate, body);
|
||||
|
||||
|
|
|
@ -1276,6 +1276,9 @@ ul#individual-tools {
|
|||
h2#mainImage, #share-contact h2 {
|
||||
color: #5E6363;
|
||||
}
|
||||
h2#webpage {
|
||||
font-weight: bold;
|
||||
}
|
||||
/* INDIVIDUAL INTRO - LEFT SIDE CONTENT ------> */
|
||||
img.individual-photo {
|
||||
border: 7px solid #ebebeb;
|
||||
|
@ -1284,11 +1287,6 @@ img.individual-photo {
|
|||
padding-top: .8em;
|
||||
display: block;
|
||||
}
|
||||
div#individual-tools-people {
|
||||
border-bottom: 1px dotted #A6B1B0; /* #e8ece9; */
|
||||
color: #b2d15a;
|
||||
text-align:right;
|
||||
}
|
||||
ul#individual-tools-people li a {
|
||||
color: #b2d15a;
|
||||
}
|
||||
|
@ -1305,7 +1303,7 @@ ul#individual-tools li a {
|
|||
color: #5f6464;
|
||||
}
|
||||
ul.individual-urls {
|
||||
list-style: url(../../../images/individual/arrow-grey.gif);
|
||||
list-style: url(../../../images/individual/arrow-green.gif);
|
||||
}
|
||||
ul.individual-urls li {
|
||||
font-size: .875em;
|
||||
|
@ -1326,7 +1324,7 @@ ul.individual-urls-people li a {
|
|||
}
|
||||
#individual-info h1.fn {
|
||||
font-size: 1.375em;
|
||||
color: #2485ae;
|
||||
color: #595B5B;
|
||||
line-height: 1.3em;
|
||||
}
|
||||
h1.fn .display-title {
|
||||
|
@ -1359,17 +1357,17 @@ ul#individual-personInPosition li a {
|
|||
padding-top: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
ul#individual-hasResearchArea {
|
||||
padding-bottom: 24px;
|
||||
}
|
||||
ul#individual-hasResearchArea li {
|
||||
border-right: 1px solid #A6B1B0;
|
||||
}
|
||||
ul#individual-hasResearchArea li:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
ul#individual-hasResearchArea li a {
|
||||
color: #2485ae;
|
||||
ul#individual-facultyMemberships li {
|
||||
border-right: 1px solid #A6B1B0;
|
||||
}
|
||||
ul#individual-facultyMemberships li:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
/* INDIVIDUAL VISUALIZATION ------> */
|
||||
#right-hand-column h3 {
|
||||
|
@ -1488,7 +1486,9 @@ input[type="submit"] {
|
|||
.edit-individual {
|
||||
border-left: 1px dotted #B2D15A;
|
||||
}
|
||||
|
||||
div#profileTypeContainer h2:after {
|
||||
content:"Profile Type";
|
||||
}
|
||||
/* -------------------------------------------------> */
|
||||
/* SITE ADMIN DASHBOARD ----------------------------> */
|
||||
/* -------------------------------------------------> */
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
<#if !labelCount??>
|
||||
<#assign labelCount = 0 >
|
||||
</#if>
|
||||
<#assign visRequestingTemplate = "foaf-person-wilma">
|
||||
<section id="individual-intro" class="vcard person" role="region">
|
||||
|
||||
<section id="share-contact" role="region">
|
||||
|
@ -29,6 +30,12 @@
|
|||
|
||||
<div id="photo-wrapper">${individualImage}</div>
|
||||
<!-- Contact Info -->
|
||||
<div id="individual-tools-people">
|
||||
<span id="iconControlsLeftSide">
|
||||
<img id="uriIcon" title="${individual.uri}" src="${urls.images}/individual/uriIcon.gif" alt="uri icon"/>
|
||||
<@qr.renderCode "qr_icon.png" />
|
||||
</span>
|
||||
</div>
|
||||
<#include "individual-contactInfo.ftl">
|
||||
|
||||
<!-- Websites -->
|
||||
|
@ -37,10 +44,6 @@
|
|||
|
||||
<section id="individual-info" ${infoClass!} role="region">
|
||||
<section id="right-hand-column" role="region">
|
||||
<div id="individual-tools-people">
|
||||
<img id="uriIcon" title="${individual.uri}" src="${urls.images}/individual/share-uri-icon.png" alt="uri icon"/>
|
||||
<@qr.renderCode />
|
||||
</div>
|
||||
<#include "individual-visualizationFoafPerson.ftl">
|
||||
</section>
|
||||
<#include "individual-adminPanel.ftl">
|
||||
|
|
Loading…
Add table
Reference in a new issue