NIHVIVO-2018 Move visualization url-building out of templates into template models. Create vivo-specific IndividualTemplateModel for this purpose.
This commit is contained in:
parent
51e424e993
commit
55e86daf91
4 changed files with 80 additions and 8 deletions
|
@ -131,6 +131,7 @@
|
|||
</section>
|
||||
|
||||
</section>
|
||||
|
||||
<#assign nameForOtherGroup = "other"> <#-- used by both individual-propertyGroupMenu.ftl and individual-properties.ftl -->
|
||||
|
||||
<#-- Property group menu -->
|
||||
|
@ -139,7 +140,6 @@
|
|||
<#-- Ontology properties -->
|
||||
<#include "individual-properties.ftl">
|
||||
|
||||
|
||||
${stylesheets.add("/css/individual/individual.css")}
|
||||
${stylesheets.add("/css/individual/individual-vivo.css")}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<section id="visualization" role="region">
|
||||
<#if isAuthor>
|
||||
<#assign coAuthorIcon = "${urls.images}/visualization/co_author_icon.png">
|
||||
<#assign coAuthorURL = "${urls.base}${standardVisualizationURLRoot}?vis=person_level&uri=${individual.uri}&vis_mode=coauthor">
|
||||
<#assign coAuthorVisUrl = individual.coAuthorVisUrl>
|
||||
<#assign googleJSAPI = "https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22visualization%22%2C%22version%22%3A%221%22%2C%22packages%22%3A%5B%22imagesparkline%22%5D%7D%5D%7D">
|
||||
|
||||
<img class="infoIcon" src="${urls.images}/iconInfo.png" alt="information icon" title="The publication information may be incomplete" />
|
||||
|
@ -29,9 +29,9 @@
|
|||
|
||||
<div id="coauthorship_link_container" class="collaboratorship-link-container">
|
||||
<div class="collaboratorship-icon">
|
||||
<a href="${coAuthorURL}"><img src="${coAuthorIcon}" alt="Co-author Network icon" width="30px" height="30px" /></a>
|
||||
<a href="${coAuthorVisUrl}"><img src="${coAuthorIcon}" alt="Co-author network icon" width="30px" height="30px" /></a>
|
||||
</div>
|
||||
<div class="collaboratorship-link"><a href="${coAuthorURL}">Co-Author Network</a></div>
|
||||
<div class="collaboratorship-link"><a href="${coAuthorVisUrl}">Co-Author Network</a></div>
|
||||
</div>
|
||||
|
||||
${scripts.add(googleJSAPI)}
|
||||
|
@ -48,14 +48,14 @@
|
|||
</#if>
|
||||
|
||||
<#if isInvestigator>
|
||||
<#assign coInvestigatorURL = "${urls.base}${standardVisualizationURLRoot}?vis=person_level&uri=${individual.uri}&vis_mode=copi">
|
||||
<#assign coInvestigatorVisUrl = individual.coInvestigatorVisUrl>
|
||||
<#assign coInvestigatorIcon = "${urls.images}/visualization/co_investigator_icon.png">
|
||||
|
||||
<div id="coinvestigator_link_container" class="collaboratorship-link-container">
|
||||
<div class="collaboratorship-icon">
|
||||
<a href="${coInvestigatorURL}"><img src="${coInvestigatorIcon}" alt="Co-investigator Network icon" width="30px" height="30px" /></a>
|
||||
<a href="${coInvestigatorVisUrl}"><img src="${coInvestigatorIcon}" alt="Co-investigator network icon" width="30px" height="30px" /></a>
|
||||
</div>
|
||||
<div class="collaboratorship-link"><a href="${coInvestigatorURL}">Co-Investigator Network</a></div>
|
||||
<div class="collaboratorship-link"><a href="${coInvestigatorVisUrl}">Co-Investigator Network</a></div>
|
||||
</div>
|
||||
</#if>
|
||||
</section>
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
<#-- Temporal graph visualization -->
|
||||
|
||||
<section id="temporal-graph" role="region">
|
||||
<h3><img src="${urls.images}/visualization/temporal_vis_icon.jpg" width="25px" height="25px" /><a href="${urls.base}/visualization?vis=entity_comparison&uri=${individual.uri}">Temporal Graph</a></h3>
|
||||
<h3><img src="${urls.images}/visualization/temporal_vis_icon.jpg" width="25px" height="25px" /><a href="${individual.temporalGraphUrl}">Temporal Graph</a></h3>
|
||||
</section>
|
|
@ -0,0 +1,72 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
|
||||
package edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.Route;
|
||||
|
||||
public class IndividualTemplateModel extends BaseIndividualTemplateModel {
|
||||
|
||||
private static final Log log = LogFactory.getLog(IndividualTemplateModel.class);
|
||||
|
||||
public IndividualTemplateModel(Individual individual, VitroRequest vreq) {
|
||||
super(individual, vreq);
|
||||
}
|
||||
|
||||
private String getBaseVisUrl() {
|
||||
return getUrl(Route.VISUALIZATION.path(), "uri", getUri());
|
||||
}
|
||||
|
||||
private String getVisUrl(ParamMap params) {
|
||||
String baseVisUrl = getBaseVisUrl();
|
||||
return UrlBuilder.addParams(baseVisUrl, params);
|
||||
}
|
||||
|
||||
private String getVisUrl(String...params) {
|
||||
return getVisUrl(new ParamMap(params));
|
||||
}
|
||||
|
||||
private String getPersonVisUrl(ParamMap params) {
|
||||
if (!isPerson()) {
|
||||
return null;
|
||||
}
|
||||
ParamMap paramMap = new ParamMap("vis", "person_level");
|
||||
paramMap.put(params);
|
||||
return getVisUrl(paramMap);
|
||||
}
|
||||
|
||||
|
||||
/* Access methods for templates */
|
||||
|
||||
public boolean isPerson() {
|
||||
return isVClass("http://xmlns.com/foaf/0.1/Person");
|
||||
}
|
||||
|
||||
public boolean isOrganization() {
|
||||
return isVClass("http://xmlns.com/foaf/0.1/Organization");
|
||||
}
|
||||
|
||||
public String getCoAuthorVisUrl() {
|
||||
return getPersonVisUrl(new ParamMap("vis_mode", "coauthor"));
|
||||
}
|
||||
|
||||
public String getCoInvestigatorVisUrl() {
|
||||
return getPersonVisUrl(new ParamMap("vis_mode", "copi"));
|
||||
}
|
||||
|
||||
public String getTemporalGraphUrl() {
|
||||
if (!isOrganization()) {
|
||||
return null;
|
||||
}
|
||||
return getVisUrl("vis", "entity_comparison");
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue