NIHVIVO-592 Improvements to class group browse and bar graphs on home page.
This commit is contained in:
parent
6b6bd1194a
commit
81813bcb83
4 changed files with 114 additions and 84 deletions
|
@ -28,7 +28,7 @@ ${stylesheets.add("/css/browseClassGroups.css")}
|
|||
<#elseif classGroup.uri == group.uri>
|
||||
<#assign activeGroup = selected />
|
||||
</#if>
|
||||
<li role="listitem"><a data-uri="${group.uri}" ${activeGroup}href="${urls.base}/${currentPage}?classgroupUri=${group.uri?url}#browse">${group.publicName?capitalize} <span class="count-classes">(${group.individualCount})</span></a></li>
|
||||
<li role="listitem"><a data-uri="${group.uri}" ${activeGroup}href="${urls.base}/${currentPage}?classgroupUri=${group.uri?url}#browse" title="Browse ${group.publicName?capitalize}">${group.publicName?capitalize} <span class="count-classes">(${group.individualCount})</span></a></li>
|
||||
</#if>
|
||||
</#list>
|
||||
</#assign>
|
||||
|
@ -43,11 +43,11 @@ ${stylesheets.add("/css/browseClassGroups.css")}
|
|||
</ul>
|
||||
|
||||
<#-- If requesting the home page without any additional URL parameters, select the first populated class group-->
|
||||
<#assign defaultSelectedClassGroup = firstPopulatedClassGroup! />
|
||||
<#assign defaultSelectedClassGroup = firstPopulatedClassGroup />
|
||||
|
||||
<section id="browse-classes" role="navigation">
|
||||
<nav>
|
||||
<ul id="classgroup-list" class="vis" role="list">
|
||||
<ul id="classes-in-classgroup" class="vis" role="list">
|
||||
<#if classes??>
|
||||
<#-- We don't need to send parameters because the data we need is delivered as template variables -->
|
||||
<@classesInClassgroup />
|
||||
|
@ -66,6 +66,24 @@ ${stylesheets.add("/css/browseClassGroups.css")}
|
|||
</#if>
|
||||
</section> <!-- #browse-classes -->
|
||||
</section> <!-- #browse -->
|
||||
|
||||
<#----------------------------------------------------------------------------------
|
||||
requestedPage is currently provided by FreemarkerHttpServlet. Should this be moved
|
||||
to PageController? Maybe we should have Java provide the domain name directly
|
||||
instead of the full URL of the requested page? Chintan was also asking for a
|
||||
template variable with the domain name for an AJAX request with visualizations.
|
||||
------------------------------------------------------------------------------------>
|
||||
<#assign domainName = requestedPage?substring(0, requestedPage?index_of("/", 7)) />
|
||||
|
||||
<script type="text/javascript">
|
||||
var browseData = {
|
||||
baseUrl: '${domainName + urls.base}',
|
||||
dataServiceUrl: '${domainName + urls.base}/dataservice?getVClassesForVClassGroup=1&classgroupUri=',
|
||||
defaultBrowseClassGroupUri: '${firstPopulatedClassGroup.uri!}'
|
||||
};
|
||||
</script>
|
||||
|
||||
${scripts.add("/js/browseClassGroups.js")}
|
||||
<#else>
|
||||
<#-- Would be nice to update classgroups-checkForData.ftl with macro so it could be used here as well -->
|
||||
<#-- <#include "classgroups-checkForData.ftl"> -->
|
||||
|
@ -75,37 +93,21 @@ ${stylesheets.add("/css/browseClassGroups.css")}
|
|||
<p>Please <a href="${urls.login}" title="log in to manage this site">log in</a> to manage content.</p>
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#----------------------------------------------------------------------------------
|
||||
requestedPage is currently provided by FreemarkerHttpServlet. Should this be moved
|
||||
to PageController? Maybe we should have Java provide the domain name directly
|
||||
instead of the full URL of the requested page? Chintan was also asking for a
|
||||
template variable with the domain name for an AJAX request with visualizations.
|
||||
------------------------------------------------------------------------------------>
|
||||
<#assign domainName = requestedPage?substring(0, requestedPage?index_of("/", 7)) />
|
||||
|
||||
<script type="text/javascript">
|
||||
var browseData = {
|
||||
baseUrl: '${domainName + urls.base}',
|
||||
dataServiceUrl: '${domainName + urls.base}/dataservice?getLuceneIndividualsByVClass=1&vclassId=',
|
||||
defaultBrowseClassGroupUri: '${firstPopulatedClassGroup.uri}'
|
||||
};
|
||||
</script>
|
||||
|
||||
${scripts.add("/js/browseClassGroups.js")}
|
||||
</#macro>
|
||||
|
||||
|
||||
<#macro classesInClassgroup classes=classes classGroup=classGroup>
|
||||
<#list classes as class>
|
||||
<#if (class.individualCount > 0)>
|
||||
<li role="listitem"><a href="${urls.base}/individuallist?vclassId=${class.uri?url}">${class.name} <span class="count-individuals"> (${class.individualCount})</span></a></li>
|
||||
<li role="listitem"><a href="${urls.base}/individuallist?vclassId=${class.uri?url}" title="Browse all ${class.name} content">${class.name} <span class="count-individuals"> (${class.individualCount})</span></a></li>
|
||||
</#if>
|
||||
</#list>
|
||||
</#macro>
|
||||
|
||||
|
||||
<#macro pieChart classes=classes classGroup=classGroup>
|
||||
<section id="visual-graph" role="region">
|
||||
<table>
|
||||
<table class="graph-data">
|
||||
<#list classes?sort_by("individualCount") as class>
|
||||
<#assign countPercentage = (class.individualCount / classGroup.individualCount) * 100 />
|
||||
<#if (class.individualCount > 0 && countPercentage?round > 0)>
|
||||
|
@ -123,22 +125,11 @@ ${stylesheets.add("/css/browseClassGroups.css")}
|
|||
${scripts.add("/themes/wilma/js/jquery_plugins/raphael/raphael.js", "/themes/wilma/js/jquery_plugins/raphael/pie.js")}
|
||||
</#macro>
|
||||
|
||||
|
||||
<#macro visualGraph classes=classes classGroup=classGroup>
|
||||
<section id="visual-graph" class="barchart" role="region">
|
||||
<table class="graph-data">
|
||||
<#list classes as class>
|
||||
<#if (class.individualCount > 0)>
|
||||
<tr>
|
||||
<th data-uri="${class.uri}">${class.name} (${class.individualCount})</th>
|
||||
<td>${class.individualCount}</td>
|
||||
</tr>
|
||||
</#if>
|
||||
</#list>
|
||||
</table>
|
||||
|
||||
<section id="pieViz" role="region"></section>
|
||||
<#-- Will be populated dynamically via AJAX request -->
|
||||
</section>
|
||||
|
||||
<#-- ${scripts.add("/themes/wilma/js/jquery_plugins/raphael/raphael.js", "/themes/wilma/js/jquery_plugins/raphael/pie.js")} -->
|
||||
${scripts.add("/js/raphael/raphael.js", "/js/raphael/g.raphael.js", "/js/raphael/g.bar.js")}
|
||||
</#macro>
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<section id="browse-classes" role="navigation">
|
||||
<nav>
|
||||
<ul id="classgroup-list" role="list">
|
||||
<ul id="classes-in-classgroup" role="list">
|
||||
<#list classes as class>
|
||||
<#if (class.individualCount > 0)>
|
||||
<li role="listitem"><a href="${urls.base}/${currentPage}?classgroupUri=${classGroup.uri?url}&vclassUri=${class.uri?url}">${class.name} <span class="count-individuals"> (${class.individualCount})</span></a></li>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue