From 7a8cbde92a10f9d8a7ed7f07dddf8733e17317d2 Mon Sep 17 00:00:00 2001 From: cdtank Date: Thu, 8 Jul 2010 17:25:16 +0000 Subject: [PATCH] 1. Made changes re: how the sparklines are rendered in "Full Spark" mode. 2. Made style changes to the person level front end. --- .../VisualizationCodeGenerator.java | 103 ++++++++++++------ .../templates/visualization/person_level.jsp | 37 ++++++- 2 files changed, 102 insertions(+), 38 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationCodeGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationCodeGenerator.java index 6e40c3eb7..409a2ef01 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationCodeGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/visualization/personpubcount/VisualizationCodeGenerator.java @@ -43,6 +43,10 @@ public class VisualizationCodeGenerator { private VisVOContainer valueObjectContainer; + private String contextPath; + + private String individualURIParam; + public VisualizationCodeGenerator(String contextPath, String individualURIParam, String visMode, @@ -52,23 +56,24 @@ public class VisualizationCodeGenerator { VisVOContainer valueObjectContainer, Log log) { + this.contextPath = contextPath; + this.individualURIParam = individualURIParam; + this.yearToPublicationCount = yearToPublicationCount; this.valueObjectContainer = valueObjectContainer; + this.log = log; - generateVisualizationCode(contextPath, - individualURIParam, - visMode, + + generateVisualizationCode(visMode, visContainer, authorDocuments); } - private void generateVisualizationCode(String contextPath, - String individualURIParam, - String visMode, - String visContainer, + private void generateVisualizationCode(String visMode, + String visContainer, List authorDocuments) { valueObjectContainer.setSparklineContent(getMainVisualizationCode(authorDocuments, @@ -76,9 +81,7 @@ public class VisualizationCodeGenerator { visContainer)); - valueObjectContainer.setSparklineContext(getVisualizationContextCode(contextPath, - individualURIParam, - visMode)); + valueObjectContainer.setSparklineContext(getVisualizationContextCode(visMode)); } @@ -145,6 +148,9 @@ public class VisualizationCodeGenerator { " border-spacing: 0;" + " vertical-align: inherit;" + "}" + + ".sparkline_wrapper_table table{" + + " vertical-align: bottom;" + + "}" + "td.sparkline_number { text-align:right; padding-right:5px; }" + "td.sparkline_text {text-align:left;}" + /*"#sparkline_data_table {" + @@ -157,12 +163,12 @@ public class VisualizationCodeGenerator { ".sparkline_text {" + "margin-left:72px;" + "position:absolute;" + - "}" +*/ + "}" + ".sparkline_range {" + "color:#7BA69E;" + "font-size:0.9em;" + "font-style:italic;" + - "}" + + "}" +*/ "\n"); // .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 totalPublications, int renderedFullSparks, String sparklineDisplayOptions) { + + String csvDownloadURL = ""; + + try { + csvDownloadURL = getCSVDownloadURL(); + } catch (UnsupportedEncodingException e) { + csvDownloadURL = "#"; + } + visualizationCode.append("var fullSparklineView = new google.visualization.DataView(data);\n" + "fullSparklineView.setColumns([1]);\n"); @@ -363,14 +378,17 @@ public class VisualizationCodeGenerator { "full_spark.draw(fullSparklineView, " + sparklineDisplayOptions + ");\n"); visualizationCode.append("$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_number').text('" + renderedFullSparks + "');"); + + + visualizationCode.append("var allSparksText = ''" + "+ ' papers with year from '" + "+ ' " + totalPublications + " '" + "+ ' total " + "" + "(" + minPubYearConsidered + " - " + currentYear + ")" + - "'" + - "+ '';" + + " '" + + "+ ' (.CSV File)';" + "$('#" + visDivNames.get("FULL_SPARK") + " td.sparkline_text').html(allSparksText);"); visualizationCode.append("}\n "); @@ -429,18 +447,18 @@ public class VisualizationCodeGenerator { "}" + - "drawVisualization('" + sparklineID + "_img');" + + "drawVisualization(sparklineImgTD);" + "});" + "\n"; } - private String getVisualizationContextCode(String contextPath, String individualURI, String visMode) { + private String getVisualizationContextCode(String visMode) { String visualizationContextCode = ""; if (SHORT_SPARKLINE_MODE_URL_HANDLE.equalsIgnoreCase(visMode)) { - visualizationContextCode = generateShortVisContext(contextPath, individualURI); + visualizationContextCode = generateShortVisContext(); } else { - visualizationContextCode = generateFullVisContext(contextPath, individualURI); + visualizationContextCode = generateFullVisContext(); } @@ -455,8 +473,7 @@ public class VisualizationCodeGenerator { return visualizationContextCode; } - private String generateFullVisContext(String contextPath, - String individualURI) { + private String generateFullVisContext() { StringBuilder divContextCode = new StringBuilder(); @@ -466,18 +483,8 @@ public class VisualizationCodeGenerator { if (yearToPublicationCount.size() > 0) { - String downloadURL = contextPath - + "/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(); + String downloadURL = getCSVDownloadURL(); + downloadFileCode = "Download data as .csv file.
"; valueObjectContainer.setDownloadDataLink(downloadURL); @@ -499,10 +506,35 @@ public class VisualizationCodeGenerator { 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, - String individualURI) { + private String generateShortVisContext() { StringBuilder divContextCode = new StringBuilder(); @@ -529,7 +561,7 @@ public class VisualizationCodeGenerator { + "/admin/visQuery" + "?" + VisualizationFrameworkConstants.INDIVIDUAL_URI_URL_HANDLE - + "=" + URLEncoder.encode(individualURI, + + "=" + URLEncoder.encode(individualURIParam, VisualizationController.URL_ENCODING_SCHEME).toString() + "&" + VisualizationFrameworkConstants.VIS_TYPE_URL_HANDLE @@ -587,7 +619,6 @@ public class VisualizationCodeGenerator { } dataTable.append("\n" + - "" + // "" + // "*DNA - Data not available" + // "\n" + diff --git a/webapp/web/templates/visualization/person_level.jsp b/webapp/web/templates/visualization/person_level.jsp index 216f89944..6b7d99161 100644 --- a/webapp/web/templates/visualization/person_level.jsp +++ b/webapp/web/templates/visualization/person_level.jsp @@ -26,6 +26,33 @@