1. Refactored code to use a utility method instead of having the same method being defined in each of the vis request handlers.
2. Adding a "person level" vis package to handle combination of sparkline & co-authorship vis page. 3. Testing out the concept of accessing fields of a class form jsp page.
This commit is contained in:
parent
d87ffcc3be
commit
0e8e1dc9e2
16 changed files with 848 additions and 152 deletions
|
@ -1,97 +1,3 @@
|
|||
<%--
|
||||
|
||||
<p>
|
||||
Number of Publications with NO parseable "Publication Year" => 6
|
||||
<br />
|
||||
{2004=2, 2005=2, 2006=8, DNA=6}
|
||||
</p>
|
||||
|
||||
<style type="text/css">
|
||||
.sparkline_style table{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
vertical-align: inherit;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
function drawVisualization() {
|
||||
var data = new google.visualization.DataTable();
|
||||
data.addColumn('string', 'Year');
|
||||
data.addColumn('number', 'Publications');
|
||||
data.addRows(7);
|
||||
data.setValue(0, 0, '2004');
|
||||
data.setValue(0, 1, 2);
|
||||
data.setValue(1, 0, '2005');
|
||||
data.setValue(1, 1, 2);
|
||||
data.setValue(2, 0, '2006');
|
||||
data.setValue(2, 1, 8);
|
||||
data.setValue(3, 0, '2007');
|
||||
data.setValue(3, 1, 0);
|
||||
data.setValue(4, 0, '2008');
|
||||
data.setValue(4, 1, 0);
|
||||
data.setValue(5, 0, '2009');
|
||||
data.setValue(5, 1, 0);
|
||||
data.setValue(6, 0, '2010');
|
||||
data.setValue(6, 1, 0);
|
||||
var fullSparklineView = new google.visualization.DataView(data);
|
||||
var shortSparklineView = new google.visualization.DataView(data);
|
||||
shortSparklineView.setColumns([1]);
|
||||
fullSparklineView.setColumns([1]);
|
||||
shortSparklineView.setRows(data.getFilteredRows([{
|
||||
column: 0,
|
||||
minValue: '2001',
|
||||
maxValue: '2010'}]));
|
||||
var full_spark = new google.visualization.ImageSparkLine(document.getElementById('pub_count_full_sparkline_viz'));
|
||||
full_spark.draw(fullSparklineView, {
|
||||
width: 63,
|
||||
height: 21,
|
||||
showAxisLines: false,
|
||||
showValueLabels: false,
|
||||
labelPosition: 'none'
|
||||
});
|
||||
var short_spark = new google.visualization.ImageSparkLine(document.getElementById('pub_count_short_sparkline_viz'));
|
||||
short_spark.draw(shortSparklineView, {
|
||||
width: 63,
|
||||
height: 21,
|
||||
showAxisLines: false,
|
||||
showValueLabels: false,
|
||||
labelPosition: 'none'
|
||||
});
|
||||
var shortSparkRows = shortSparklineView.getViewRows();
|
||||
var renderedShortSparks = 0;
|
||||
$.each(shortSparkRows, function(index, value) {
|
||||
renderedShortSparks += data.getValue(value, 1);
|
||||
});
|
||||
var shortSparksText = '<p>' + renderedShortSparks + ' Papers with year from ' + ' 18 ' + ' total' + '</p>';
|
||||
$(shortSparksText).prependTo('#pub_count_short_sparkline_viz');
|
||||
var allSparksText = '<p><b>Full Timeline</b> ' + 12 + ' Papers with year from ' + ' 18 ' + ' total' + '</p>';
|
||||
$(allSparksText).prependTo('#pub_count_full_sparkline_viz');
|
||||
}
|
||||
$(document).ready(function() {
|
||||
if ($('#pub_count_short_sparkline_viz').length == 0) {
|
||||
$('<div/>', {
|
||||
'id': 'pub_count_short_sparkline_viz',
|
||||
'class': 'sparkline_style'
|
||||
|
||||
}).appendTo('#ajax_recipient');
|
||||
}
|
||||
if ($('#pub_count_full_sparkline_viz').length == 0) {
|
||||
$('<div/>', {
|
||||
'id': 'pub_count_full_sparkline_viz',
|
||||
'class': 'sparkline_style'
|
||||
}).appendTo('#ajax_recipient');
|
||||
}
|
||||
drawVisualization();
|
||||
});
|
||||
</script>
|
||||
|
||||
--%>
|
||||
|
||||
${requestScope.visContentCode}
|
||||
|
||||
${requestScope.visContextCode}
|
||||
|
|
|
@ -79,9 +79,9 @@ var contextPath = "${contextPath}";
|
|||
cursor:pointer;
|
||||
height:36px;
|
||||
margin-left:24%;
|
||||
margin-top:-18%;
|
||||
/*margin-top:-18%;*/
|
||||
position:absolute;
|
||||
width:380px;
|
||||
width:471px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
277
webapp/web/templates/visualization/person_level.jsp
Normal file
277
webapp/web/templates/visualization/person_level.jsp
Normal file
|
@ -0,0 +1,277 @@
|
|||
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
|
||||
<c:set var="portalBean" value="${requestScope.portalBean}" />
|
||||
<c:set var="portalBean" value="${requestScope.portalBean}" />
|
||||
<c:set var="themeDir">
|
||||
<c:out value="${portalBean.themeDir}" />
|
||||
</c:set>
|
||||
<c:set var="contextPath">
|
||||
<c:out value="${pageContext.request.contextPath}" />
|
||||
</c:set>
|
||||
|
||||
<c:url var="egoCoAuthorshipDataURL" value="/admin/visQuery">
|
||||
<c:param name="vis" value="coauthorship" />
|
||||
<c:param name="render_mode" value="data" />
|
||||
<c:param name="uri" value="${requestScope.egoURIParam}" />
|
||||
<c:param name="labelField" value="name" />
|
||||
</c:url>
|
||||
|
||||
|
||||
<c:url var="egoSparklineVisURL" value="/admin/visQuery">
|
||||
<c:param name="render_mode" value="dynamic"/>
|
||||
<c:param name="container" value="ego_sparkline"/>
|
||||
<c:param name="vis" value="person_pub_count"/>
|
||||
<c:param name="vis_mode" value="full"/>
|
||||
<c:param name="uri" value="${requestScope.egoURIParam}"/>
|
||||
</c:url>
|
||||
|
||||
<c:url var="jquery" value="/js/jquery.js" />
|
||||
<c:url var="adobeFlashDetector" value="/js/visualization/coauthorship/AC_OETags.js" />
|
||||
<c:url var="coAuthorShipJavaScript" value="/js/visualization/coauthorship/co_authorship.js" />
|
||||
<c:url var="googleVisualizationAPI" value="http://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%22areachart%22%2C%22imagesparkline%22%5D%7D%5D%7D"/>
|
||||
<c:url var="style" value="/${themeDir}css/visualization/coauthorship/style.css" />
|
||||
<c:url var="noImage" value="/${themeDir}site_icons/visualization/coauthorship/no_image.png" />
|
||||
<c:url var="swfLink" value="/${themeDir}site_icons/visualization/coauthorship/CoAuthor.swf" />
|
||||
|
||||
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
|
||||
|
||||
<title>Co-Authorship Visualization</title>
|
||||
|
||||
<script type="text/javascript" src="${adobeFlashDetector}"></script>
|
||||
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
// -----------------------------------------------------------------------------
|
||||
// Globals
|
||||
// Major version of Flash required
|
||||
var requiredMajorVersion = 10;
|
||||
// Minor version of Flash required
|
||||
var requiredMinorVersion = 0;
|
||||
// Minor version of Flash required
|
||||
var requiredRevision = 0;
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
var swfLink = "${swfLink}";
|
||||
var egoCoAuthorshipDataURL = "${egoCoAuthorshipDataURL}";
|
||||
var contextPath = "${contextPath}";
|
||||
|
||||
|
||||
// -->
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="${jquery}"></script>
|
||||
<script type="text/javascript" src="${googleVisualizationAPI}"></script>
|
||||
<link href="${style}" rel="stylesheet" type="text/css" />
|
||||
|
||||
<script type="text/javascript" src="${coAuthorShipJavaScript}"></script>
|
||||
|
||||
<style type="text/css">
|
||||
#ego_sparkline {
|
||||
cursor:pointer;
|
||||
height:36px;
|
||||
margin-left:24%;
|
||||
/*margin-top:-18%;*/
|
||||
position:absolute;
|
||||
width:471px;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<div id="body">
|
||||
|
||||
|
||||
<%-- Label --%>
|
||||
<div class="datatypePropertyValue">
|
||||
<div class="statementWrap">
|
||||
<span id="ego_label"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- Moniker--%>
|
||||
<div class="datatypeProperties">
|
||||
<div class="datatypePropertyValue">
|
||||
<div class="statementWrap">
|
||||
<span id="ego_moniker" class="moniker"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- Image --%>
|
||||
<div class="datatypeProperties">
|
||||
<div class="datatypePropertyValue">
|
||||
<div id="ego_profile-image" class="statementWrap thumbnail">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- Sparkline --%>
|
||||
<div class="datatypeProperties">
|
||||
<div class="datatypePropertyValue">
|
||||
<div id="ego_sparkline">
|
||||
|
||||
${requestScope.egoURIParam}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="topShadow"></div>
|
||||
<div id="bodyPannel" style="height: 900px;"><br class="spacer" />
|
||||
<div id="visPanel" style="float: left; width: 610px;">
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
<!--
|
||||
|
||||
renderCoAuthorshipVisualization();
|
||||
|
||||
//-->
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</div>
|
||||
<div id="dataPanel" style="float: left; width: 150px;"><br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<div id="newsLetter" style="visibility: hidden">
|
||||
<span class="nltop"></span>
|
||||
<div class="middle" id="nodeData">
|
||||
<div id="profileImage"></div>
|
||||
<div class="bold"><strong><span id="authorName"> </span></strong></div>
|
||||
<div class="italicize"><span id="profileMoniker"></span></div>
|
||||
<div class="works"><span class="numbers" style="width: 40px;"
|
||||
id="works">6</span> <span class="title">Works</span></div>
|
||||
<div class="works"><span class="numbers" style="width: 40px;"
|
||||
id="coAuthors">78</span> <span>Co-author(s)</span></div>
|
||||
<br />
|
||||
<div id="firstPublication"><span></span> <span>First
|
||||
Publication</span></div>
|
||||
<div id="lastPublication"><span></span> Last Publication</div>
|
||||
<br />
|
||||
<div><a href="#" id="profileUrl">VIVO profile</a></div>
|
||||
<br />
|
||||
<div><a href="#" id="coAuthorshipVisUrl">Co-author network of <span id="coAuthorName"></span></a></div>
|
||||
</div>
|
||||
<br class="spacer"> <span class="nlbottom"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
Download co-authorship newtwork as <a href="/vivo1/admin/visQuery?uri=http%3A%2F%2Fvivo.library.cornell.edu%2Fns%2F0.1%23individual5748&vis=person_pub_count&render_mode=data">.graphml</a> file.
|
||||
|
||||
<div id="bottomShadow"></div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<br class="spacer" />
|
||||
|
||||
<table id="publications_data_table">
|
||||
<caption>Publications per year</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Year</th>
|
||||
<th>Publications</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2004</td>
|
||||
<td>4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2005</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Unknown</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Download data as <a href="/vivo1/admin/visQuery?uri=http%3A%2F%2Fvivo.library.cornell.edu%2Fns%2F0.1%23individual5748&vis=person_pub_count&render_mode=data">.csv</a> file.
|
||||
|
||||
<table id="coauthorships_data_table">
|
||||
<caption>Co - Authorhips</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Publications</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2004</td>
|
||||
<td>4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2005</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Unknown</td>
|
||||
<td>1</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
processProfileInformation("ego_label",
|
||||
"ego_moniker",
|
||||
"ego_profile-image",
|
||||
jQuery.parseJSON(getWellFormedURLs("${requestScope.egoURIParam}", "profile_info")));
|
||||
|
||||
renderSparklineVisualization("${egoSparklineVisURL}");
|
||||
|
||||
|
||||
var obj = jQuery.parseJSON('{"name":"John"}');
|
||||
//console.log(obj)
|
||||
|
||||
var obj = jQuery.parseJSON('{"imageOffset2":["sup"],"A":["2001","2002","2003","2090","Unknown"],"B":["2001","2002","2003","2090","Unknown"],"C":["2001","2002","2003","2090","Unknown"],"imageOffset":["2090","2002","2003","2001"]}');
|
||||
//console.log(obj)
|
||||
|
||||
$.each(obj, function(i, item){
|
||||
//console.log("i - " + i + " item - " + item);
|
||||
$.each(item, function(index, vals) {
|
||||
//console.log(index + " - val - " + vals);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,3 +1,5 @@
|
|||
<%@ page import="edu.cornell.mannlib.vitro.webapp.visualization.personpubcount.VisVOContainer" %>
|
||||
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue