1. Made changes re: how the sparklines are rendered in "Full Spark" mode.
2. Made style changes to the person level front end.
This commit is contained in:
parent
bc1b43e9de
commit
7a8cbde92a
2 changed files with 102 additions and 38 deletions
|
@ -43,6 +43,10 @@ public class VisualizationCodeGenerator {
|
||||||
|
|
||||||
private VisVOContainer valueObjectContainer;
|
private VisVOContainer valueObjectContainer;
|
||||||
|
|
||||||
|
private String contextPath;
|
||||||
|
|
||||||
|
private String individualURIParam;
|
||||||
|
|
||||||
public VisualizationCodeGenerator(String contextPath,
|
public VisualizationCodeGenerator(String contextPath,
|
||||||
String individualURIParam,
|
String individualURIParam,
|
||||||
String visMode,
|
String visMode,
|
||||||
|
@ -52,23 +56,24 @@ public class VisualizationCodeGenerator {
|
||||||
VisVOContainer valueObjectContainer,
|
VisVOContainer valueObjectContainer,
|
||||||
Log log) {
|
Log log) {
|
||||||
|
|
||||||
|
this.contextPath = contextPath;
|
||||||
|
this.individualURIParam = individualURIParam;
|
||||||
|
|
||||||
this.yearToPublicationCount = yearToPublicationCount;
|
this.yearToPublicationCount = yearToPublicationCount;
|
||||||
this.valueObjectContainer = valueObjectContainer;
|
this.valueObjectContainer = valueObjectContainer;
|
||||||
|
|
||||||
this.log = log;
|
this.log = log;
|
||||||
|
|
||||||
generateVisualizationCode(contextPath,
|
|
||||||
individualURIParam,
|
generateVisualizationCode(visMode,
|
||||||
visMode,
|
|
||||||
visContainer,
|
visContainer,
|
||||||
authorDocuments);
|
authorDocuments);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateVisualizationCode(String contextPath,
|
private void generateVisualizationCode(String visMode,
|
||||||
String individualURIParam,
|
String visContainer,
|
||||||
String visMode,
|
|
||||||
String visContainer,
|
|
||||||
List<BiboDocument> authorDocuments) {
|
List<BiboDocument> authorDocuments) {
|
||||||
|
|
||||||
valueObjectContainer.setSparklineContent(getMainVisualizationCode(authorDocuments,
|
valueObjectContainer.setSparklineContent(getMainVisualizationCode(authorDocuments,
|
||||||
|
@ -76,9 +81,7 @@ public class VisualizationCodeGenerator {
|
||||||
visContainer));
|
visContainer));
|
||||||
|
|
||||||
|
|
||||||
valueObjectContainer.setSparklineContext(getVisualizationContextCode(contextPath,
|
valueObjectContainer.setSparklineContext(getVisualizationContextCode(visMode));
|
||||||
individualURIParam,
|
|
||||||
visMode));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,6 +148,9 @@ public class VisualizationCodeGenerator {
|
||||||
" border-spacing: 0;" +
|
" border-spacing: 0;" +
|
||||||
" vertical-align: inherit;" +
|
" vertical-align: inherit;" +
|
||||||
"}" +
|
"}" +
|
||||||
|
".sparkline_wrapper_table table{" +
|
||||||
|
" vertical-align: bottom;" +
|
||||||
|
"}" +
|
||||||
"td.sparkline_number { text-align:right; padding-right:5px; }" +
|
"td.sparkline_number { text-align:right; padding-right:5px; }" +
|
||||||
"td.sparkline_text {text-align:left;}" +
|
"td.sparkline_text {text-align:left;}" +
|
||||||
/*"#sparkline_data_table {" +
|
/*"#sparkline_data_table {" +
|
||||||
|
@ -157,12 +163,12 @@ public class VisualizationCodeGenerator {
|
||||||
".sparkline_text {" +
|
".sparkline_text {" +
|
||||||
"margin-left:72px;" +
|
"margin-left:72px;" +
|
||||||
"position:absolute;" +
|
"position:absolute;" +
|
||||||
"}" +*/
|
"}" +
|
||||||
".sparkline_range {" +
|
".sparkline_range {" +
|
||||||
"color:#7BA69E;" +
|
"color:#7BA69E;" +
|
||||||
"font-size:0.9em;" +
|
"font-size:0.9em;" +
|
||||||
"font-style:italic;" +
|
"font-style:italic;" +
|
||||||
"}" +
|
"}" +*/
|
||||||
"</style>\n");
|
"</style>\n");
|
||||||
|
|
||||||
// .sparkline {display:inline; margin:0; padding:0; width:600px }
|
// .sparkline {display:inline; margin:0; padding:0; width:600px }
|
||||||
|
@ -353,6 +359,15 @@ public class VisualizationCodeGenerator {
|
||||||
int currentYear, int minPubYearConsidered, String visContainerID, StringBuilder visualizationCode,
|
int currentYear, int minPubYearConsidered, String visContainerID, StringBuilder visualizationCode,
|
||||||
int totalPublications, int renderedFullSparks,
|
int totalPublications, int renderedFullSparks,
|
||||||
String sparklineDisplayOptions) {
|
String sparklineDisplayOptions) {
|
||||||
|
|
||||||
|
String csvDownloadURL = "";
|
||||||
|
|
||||||
|
try {
|
||||||
|
csvDownloadURL = getCSVDownloadURL();
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
csvDownloadURL = "#";
|
||||||
|
}
|
||||||
|
|
||||||
visualizationCode.append("var fullSparklineView = new google.visualization.DataView(data);\n" +
|
visualizationCode.append("var fullSparklineView = new google.visualization.DataView(data);\n" +
|
||||||
"fullSparklineView.setColumns([1]);\n");
|
"fullSparklineView.setColumns([1]);\n");
|
||||||
|
|
||||||
|
@ -363,14 +378,17 @@ public class VisualizationCodeGenerator {
|
||||||
"full_spark.draw(fullSparklineView, " + sparklineDisplayOptions + ");\n");
|
"full_spark.draw(fullSparklineView, " + sparklineDisplayOptions + ");\n");
|
||||||
|
|
||||||
visualizationCode.append("$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_number').text('" + renderedFullSparks + "');");
|
visualizationCode.append("$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_number').text('" + renderedFullSparks + "');");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
visualizationCode.append("var allSparksText = ''" +
|
visualizationCode.append("var allSparksText = ''" +
|
||||||
"+ ' papers with year from '" +
|
"+ ' papers with year from '" +
|
||||||
"+ ' " + totalPublications + " '" +
|
"+ ' " + totalPublications + " '" +
|
||||||
"+ ' total " +
|
"+ ' total " +
|
||||||
"<span class=\"sparkline_range\">" +
|
"<span class=\"sparkline_range\">" +
|
||||||
"(" + minPubYearConsidered + " - " + currentYear + ")" +
|
"(" + minPubYearConsidered + " - " + currentYear + ")" +
|
||||||
"</span>'" +
|
"</span> '" +
|
||||||
"+ '';" +
|
"+ ' <a href='" + csvDownloadURL + "' class='inline_href'>(.CSV File)</a>';" +
|
||||||
"$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_text').html(allSparksText);");
|
"$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_text').html(allSparksText);");
|
||||||
|
|
||||||
visualizationCode.append("}\n ");
|
visualizationCode.append("}\n ");
|
||||||
|
@ -429,18 +447,18 @@ public class VisualizationCodeGenerator {
|
||||||
|
|
||||||
"}" +
|
"}" +
|
||||||
|
|
||||||
"drawVisualization('" + sparklineID + "_img');" +
|
"drawVisualization(sparklineImgTD);" +
|
||||||
"});" +
|
"});" +
|
||||||
"</script>\n";
|
"</script>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getVisualizationContextCode(String contextPath, String individualURI, String visMode) {
|
private String getVisualizationContextCode(String visMode) {
|
||||||
|
|
||||||
String visualizationContextCode = "";
|
String visualizationContextCode = "";
|
||||||
if (SHORT_SPARKLINE_MODE_URL_HANDLE.equalsIgnoreCase(visMode)) {
|
if (SHORT_SPARKLINE_MODE_URL_HANDLE.equalsIgnoreCase(visMode)) {
|
||||||
visualizationContextCode = generateShortVisContext(contextPath, individualURI);
|
visualizationContextCode = generateShortVisContext();
|
||||||
} else {
|
} else {
|
||||||
visualizationContextCode = generateFullVisContext(contextPath, individualURI);
|
visualizationContextCode = generateFullVisContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -455,8 +473,7 @@ public class VisualizationCodeGenerator {
|
||||||
return visualizationContextCode;
|
return visualizationContextCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String generateFullVisContext(String contextPath,
|
private String generateFullVisContext() {
|
||||||
String individualURI) {
|
|
||||||
|
|
||||||
StringBuilder divContextCode = new StringBuilder();
|
StringBuilder divContextCode = new StringBuilder();
|
||||||
|
|
||||||
|
@ -466,18 +483,8 @@ public class VisualizationCodeGenerator {
|
||||||
if (yearToPublicationCount.size() > 0) {
|
if (yearToPublicationCount.size() > 0) {
|
||||||
|
|
||||||
|
|
||||||
String downloadURL = contextPath
|
String downloadURL = getCSVDownloadURL();
|
||||||
+ "/admin/visQuery"
|
|
||||||
+ "?" + VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE
|
|
||||||
+ "=" + URLEncoder.encode(individualURI,
|
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString()
|
|
||||||
+ "&" + VisualizationFrameworkConstants.VIS_TYPE_URL_HANDLE
|
|
||||||
+ "=" + URLEncoder.encode(VisualizationController
|
|
||||||
.PERSON_PUBLICATION_COUNT_VIS_URL_VALUE,
|
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString()
|
|
||||||
+ "&" + VisualizationFrameworkConstants.RENDER_MODE_URL_HANDLE
|
|
||||||
+ "=" + URLEncoder.encode(VisualizationFrameworkConstants.DATA_RENDER_MODE_URL_VALUE,
|
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString();
|
|
||||||
downloadFileCode = "Download data as <a href='" + downloadURL + "'>.csv</a> file.<br />";
|
downloadFileCode = "Download data as <a href='" + downloadURL + "'>.csv</a> file.<br />";
|
||||||
|
|
||||||
valueObjectContainer.setDownloadDataLink(downloadURL);
|
valueObjectContainer.setDownloadDataLink(downloadURL);
|
||||||
|
@ -499,10 +506,35 @@ public class VisualizationCodeGenerator {
|
||||||
return divContextCode.toString();
|
return divContextCode.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getCSVDownloadURL()
|
||||||
|
throws UnsupportedEncodingException {
|
||||||
|
|
||||||
|
if (yearToPublicationCount.size() > 0) {
|
||||||
|
|
||||||
|
|
||||||
|
String downloadURL = contextPath
|
||||||
|
+ "/admin/visQuery"
|
||||||
|
+ "?" + VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE
|
||||||
|
+ "=" + URLEncoder.encode(individualURIParam,
|
||||||
|
VisualizationController.URL_ENCODING_SCHEME).toString()
|
||||||
|
+ "&" + VisualizationFrameworkConstants.VIS_TYPE_URL_HANDLE
|
||||||
|
+ "=" + URLEncoder.encode(VisualizationController
|
||||||
|
.PERSON_PUBLICATION_COUNT_VIS_URL_VALUE,
|
||||||
|
VisualizationController.URL_ENCODING_SCHEME).toString()
|
||||||
|
+ "&" + VisualizationFrameworkConstants.RENDER_MODE_URL_HANDLE
|
||||||
|
+ "=" + URLEncoder.encode(VisualizationFrameworkConstants.DATA_RENDER_MODE_URL_VALUE,
|
||||||
|
VisualizationController.URL_ENCODING_SCHEME).toString();
|
||||||
|
|
||||||
|
return downloadURL;
|
||||||
|
} else {
|
||||||
|
return "#";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private String generateShortVisContext(String contextPath,
|
private String generateShortVisContext() {
|
||||||
String individualURI) {
|
|
||||||
|
|
||||||
StringBuilder divContextCode = new StringBuilder();
|
StringBuilder divContextCode = new StringBuilder();
|
||||||
|
|
||||||
|
@ -529,7 +561,7 @@ public class VisualizationCodeGenerator {
|
||||||
+ "/admin/visQuery"
|
+ "/admin/visQuery"
|
||||||
+ "?"
|
+ "?"
|
||||||
+ VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE
|
+ VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE
|
||||||
+ "=" + URLEncoder.encode(individualURI,
|
+ "=" + URLEncoder.encode(individualURIParam,
|
||||||
VisualizationController.URL_ENCODING_SCHEME).toString()
|
VisualizationController.URL_ENCODING_SCHEME).toString()
|
||||||
+ "&"
|
+ "&"
|
||||||
+ VisualizationFrameworkConstants.VIS_TYPE_URL_HANDLE
|
+ VisualizationFrameworkConstants.VIS_TYPE_URL_HANDLE
|
||||||
|
@ -587,7 +619,6 @@ public class VisualizationCodeGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
dataTable.append("</tbody>\n" +
|
dataTable.append("</tbody>\n" +
|
||||||
"</tfoot>" +
|
|
||||||
// "<tfoot>" +
|
// "<tfoot>" +
|
||||||
// "<tr><td colspan='2'>*DNA - Data not available</td></tr>" +
|
// "<tr><td colspan='2'>*DNA - Data not available</td></tr>" +
|
||||||
// "</tfoot>\n" +
|
// "</tfoot>\n" +
|
||||||
|
|
|
@ -26,6 +26,33 @@
|
||||||
|
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
||||||
|
.sparkline_wrapper_table {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author_name {
|
||||||
|
color: #13968c;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.author_moniker {
|
||||||
|
color: #9C9C9C;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_headings {
|
||||||
|
color: #121b3c;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_headings a {
|
||||||
|
font-size:0.7em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.inline_href {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
#ego_profile {
|
#ego_profile {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
min-height: 100px;
|
min-height: 100px;
|
||||||
|
@ -74,7 +101,7 @@
|
||||||
<div id="ego_profile">
|
<div id="ego_profile">
|
||||||
|
|
||||||
<%-- Label --%>
|
<%-- Label --%>
|
||||||
<span id="ego_label" class="author_name"></span>
|
<h1><span id="ego_label" class="author_name"></span></h1>
|
||||||
|
|
||||||
<%-- Moniker--%>
|
<%-- Moniker--%>
|
||||||
<span id="ego_moniker" class="author_moniker"></span>
|
<span id="ego_moniker" class="author_moniker"></span>
|
||||||
|
@ -84,7 +111,13 @@
|
||||||
|
|
||||||
|
|
||||||
<%-- Sparkline --%>
|
<%-- Sparkline --%>
|
||||||
<div id="ego_sparkline">${sparkline.sparklineContent}</div>
|
<h2 class="sub_headings">General Statistics</h2>
|
||||||
|
<div id="ego_sparkline">
|
||||||
|
${sparkline.sparklineContent}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="sub_headings">Ego-Centric Co-Author Network <a href="${coAuthorshipDownloadFile}">(.GraphML File)</a></h2>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue