vivo/productMods/templates/freemarker/lib/lib-home-page.ftl

196 lines
8.8 KiB
Text
Raw Normal View History

2013-04-30 14:46:22 -04:00
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<#-- Macros used to build the statistical information on the home page -->
<#-- Get the classgroups so they can be used to qualify searches -->
<#macro allClassGroupNames classGroups>
<#list classGroups as group>
<#-- Only display populated class groups -->
<#if (group.individualCount > 0)>
<li role="listitem"><a href="" title="${group.uri}">${group.displayName?capitalize}</a></li>
</#if>
</#list>
</#macro>
2013-05-02 12:34:18 -04:00
<#-- Renders the html for the faculty member section on the home page. -->
<#-- Works in conjunction with the homePageUtils.js file, which contains the ajax call. -->
<#macro facultyMbrHtml>
<section id="home-faculty-mbrs" class="home-sections" >
2013-05-31 11:56:18 -04:00
<h4>${i18n().faculty_capitalized}</h4>
<div id="tempSpacing">
2013-05-31 11:56:18 -04:00
<span>${i18n().loading_faculty}&nbsp;&nbsp;&nbsp;
<img src="${urls.images}/indicatorWhite.gif">
</span>
</div>
2013-05-02 12:34:18 -04:00
<div id="research-faculty-mbrs">
<!-- populated via an ajax call -->
<ul id="facultyThumbs">
</ul>
</div>
</section>
</#macro>
2013-04-30 14:46:22 -04:00
<#-- We need the faculty count in order to randomly select 4 faculty using a solr query -->
<#macro facultyMemberCount classGroups>
<#assign foundClassGroup = false />
<#list classGroups as group>
<#if (group.individualCount > 0) && group.displayName == "people" >
<#list group.classes as class>
<#if (class.name == "Faculty Member") >
<#assign foundClassGroup = true />
<#if (class.individualCount > 0) >
<script>var facultyMemberCount = ${class.individualCount?string?replace(",","")};</script>
<#else>
<script>var facultyMemberCount = 0;</script>
</#if>
</#if>
</#list>
</#if>
</#list>
<#if !foundClassGroup>
<script>var facultyMemberCount = 0;</script>
</#if>
</#macro>
<#-- builds the "stats" section of the home page, i.e., class group counts -->
<#macro allClassGroups classGroups>
<#-- Loop through classGroups first so we can account for situations when all class groups are empty -->
<#assign selected = 'class="selected" ' />
<#assign classGroupList>
2013-05-02 12:34:18 -04:00
<section id="home-stats" class="home-sections" >
2013-05-31 11:56:18 -04:00
<h4>${i18n().statistics}</h4>
2013-05-02 12:34:18 -04:00
<ul id="stats">
<#assign groupCount = 1>
<#list classGroups as group>
<#if (groupCount > 6) >
<#break/>
2013-04-30 14:46:22 -04:00
</#if>
2013-05-02 12:34:18 -04:00
<#-- Only display populated class groups -->
<#if (group.individualCount > 0)>
<#-- Catch the first populated class group. Will be used later as the default selected class group -->
<#if !firstPopulatedClassGroup??>
<#assign firstPopulatedClassGroup = group />
</#if>
<#if group.displayName != "equipment" && group.displayName != "courses" >
<li>
<a href="#">
<p class="stats-count">
<#if (group.individualCount > 10000) >
<#assign overTen = group.individualCount/1000>
${overTen?round}<span>k</span>
<#elseif (group.individualCount > 1000)>
<#assign underTen = group.individualCount/1000>
${underTen?string("0.#")}<span>k</span>
<#else>
${group.individualCount}<span>&nbsp;</span>
</#if>
</p>
<p class="stats-type">${group.displayName?capitalize}</p>
</a>
</li>
<#assign groupCount = groupCount + 1>
</#if>
</#if>
</#list>
</ul>
</section>
2013-04-30 14:46:22 -04:00
</#assign>
<#-- Display the class group browse only if we have at least one populated class group -->
<#if firstPopulatedClassGroup??>
${classGroupList}
<#else>
2013-05-31 11:56:18 -04:00
<h3 id="noContentMsg">${i18n().no_content_create_groups_classes}</h3>
2013-04-30 14:46:22 -04:00
<#if user.loggedIn>
<#if user.hasSiteAdminAccess>
2013-05-31 11:56:18 -04:00
<p>${i18n().you_can} <a href="${urls.siteAdmin}" title="${i18n().add_content_manage_site}">${i18n().add_content_manage_site}</a> ${i18n().from_site_admin_page}</p>
2013-04-30 14:46:22 -04:00
</#if>
<#else>
2013-05-31 11:56:18 -04:00
<p>${i18n().please} <a href="${urls.login}" title="${i18n().login_to_manage_site}">${i18n().log_in}</a> ${i18n().to_manage_content}</p>
2013-04-30 14:46:22 -04:00
</#if>
</#if>
</#macro>
<#-- builds the "research" box on the home page -->
<#macro researchClasses classGroups=vClassGroups>
<#assign foundClassGroup = false />
2013-05-02 12:34:18 -04:00
<section id="home-research" class="home-sections">
2013-05-31 11:56:18 -04:00
<h4>${i18n().research_capitalized}</h4>
2013-05-02 12:34:18 -04:00
<ul>
<#list classGroups as group>
<#if (group.individualCount > 0) && group.displayName == "research" >
<#assign foundClassGroup = true />
<#list group.classes as class>
<#if (class.name == "Academic Article" || class.name == "Book" || class.name == "Conference Paper" ||class.name == "Media Contribution" || class.name == "Report" || class.name == "Library Collection") && (class.individualCount > 0)>
<li role="listitem"><span>${class.individualCount!}</span>&nbsp;<a href='${urls.base}/individuallist?vclassId=${class.uri?replace("#","%23")!}'>${class.name}s</a></li>
</#if>
</#list>
2013-05-31 11:56:18 -04:00
<li><a href="${urls.base}/research" alt="${i18n().view_all_research}">${i18n().view_all}</a></li>
2013-04-30 14:46:22 -04:00
</#if>
</#list>
2013-05-02 12:34:18 -04:00
<#if !foundClassGroup>
2013-05-31 11:56:18 -04:00
<p><li>${i18n().no_research_content_found}</li></p>
2013-05-02 12:34:18 -04:00
</#if>
</ul>
</section>
</#macro>
<#-- Renders the html for the academic departments section on the home page. -->
<#-- Works in conjunction with the homePageUtils.js file -->
<#macro academicDeptsHtml>
<section id="home-academic-depts" class="home-sections">
2013-05-31 11:56:18 -04:00
<h4>${i18n().departments}</h4>
2013-05-02 12:34:18 -04:00
<div id="academic-depts">
</div>
</section>
2013-04-30 14:46:22 -04:00
</#macro>
<#-- builds the "academic departments" box on the home page -->
2013-05-02 12:34:18 -04:00
<#macro listAcademicDepartments>
2013-04-30 14:46:22 -04:00
<script>
var academicDepartments = [
<#if academicDeptDG?has_content>
<#list academicDeptDG as resultRow>
<#assign uri = resultRow["deptURI"] />
<#assign label = resultRow["name"] />
<#assign localName = uri?substring(uri?last_index_of("/")) />
{"uri": "${localName}", "name": "${label}"}<#if (resultRow_has_next)>,</#if>
</#list>
</#if>
];
var urlsBase = "${urls.base}";
</script>
</#macro>
2013-05-02 12:34:18 -04:00
<#-- renders the "geographic focus" section on the home page. works in -->
<#-- conjunction with the homePageMaps.js and latLongJson.js files, as well -->
<#-- as the leaflet javascript library. -->
<#macro geographicFocusHtml>
<section id="home-geo-focus" class="home-sections">
2013-05-31 11:56:18 -04:00
<h4>${i18n().geographic_focus}</h4>
2013-05-02 12:34:18 -04:00
<#-- map controls allow toggling between multiple map types: e.g., global, country, state/province. -->
<#-- VIVO default is for only a global display, though the javascript exists to support the other -->
<#-- types. See map documentation for additional information on how to implement additional types. -->
<#--
<div id="mapControls">
<a id="globalLink" class="selected" href="javascript:">Global Research</a>&nbsp;|&nbsp;
<a id="usLink" href="javascript:">US Research</a>&nbsp;|&nbsp;
<a id="stateLink" href="javascript:">State-wide Research</a>
</div>
-->
<div id="researcherTotal"></div>
<div id="timeIndicatorGeo">
2013-05-31 11:56:18 -04:00
<span>${i18n().loading_map_information}&nbsp;&nbsp;&nbsp;
2013-05-02 12:34:18 -04:00
<img src="${urls.images}/indicatorWhite.gif">
</span>
</div>
<div id="mapGlobal" class="mapArea"></div>
<#--
<div id="mapUS" class="mapArea"></div>
<div id="mapState" class="mapArea"></div>
-->
</section>
</#macro>