diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person.ftl index cc5cc81f..0e22b4ba 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person.ftl @@ -131,6 +131,7 @@ + <#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")} diff --git a/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl b/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl index 69aff107..5385ca7c 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-visualizationFoafPerson.ftl @@ -18,7 +18,7 @@
<#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"> information icon @@ -29,9 +29,9 @@ ${scripts.add(googleJSAPI)} @@ -48,14 +48,14 @@ <#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">
diff --git a/productMods/templates/freemarker/body/partials/individual/individual-visualizationTemporalGraph.ftl b/productMods/templates/freemarker/body/partials/individual/individual-visualizationTemporalGraph.ftl index e6316e84..2846046b 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-visualizationTemporalGraph.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-visualizationTemporalGraph.ftl @@ -3,5 +3,5 @@ <#-- Temporal graph visualization -->
-

Temporal Graph

+

Temporal Graph

\ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java new file mode 100644 index 00000000..d3f32844 --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/IndividualTemplateModel.java @@ -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"); + } +}