Updates for menu management and IndividualsForClasses (i.e. internal filters plus custom selection of classes for page) as well as use of data getters predicate in menu model instead of type of Page to get data getter for page.

This commit is contained in:
hjkhjk54 2011-06-24 17:05:34 +00:00
parent 85bf772de6
commit 843e09a451
24 changed files with 1553 additions and 342 deletions

View file

@ -0,0 +1,19 @@
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<#include "menupage-checkForData.ftl">
<#--Not including data check because vclasses don't appear to return entity counts on their own -->
<#if !noData>
<section id="menupage-intro" class="people" role="region">
<h2>${page.title}</h2>
</section>
<#include "menupage-individualsforclasses-browse.ftl">
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/menupage/menupage.css" />')}
<#include "menupage-scripts.ftl">
${scripts.add('<script type="text/javascript" src="${urls.base}/js/menupage/browseByVClasses.js"></script>')}
<#else>
<# ${noDataNotification} >
</#if>

View file

@ -0,0 +1,41 @@
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<#-- Template for browsing individuals in class groups for menupages -->
<#import "lib-string.ftl" as str>
<section id="browse-by" role="region">
<nav role="navigation">
<ul id="browse-classes">
<#list vClassGroup as vClass>
<#------------------------------------------------------------
Need to replace vClassCamel with full URL that allows function
to degrade gracefully in absence of JavaScript. Something
similar to what Brian had setup with widget-browse.ftl
------------------------------------------------------------->
<#assign vClassCamel = str.camelCase(vClass.name) />
<#-- Only display vClasses with individuals -->
<#if (vClass.entityCount > 0)>
<li id="${vClassCamel}"><a href="#${vClassCamel}" title="Browse all individuals in this class" data-uri="${vClass.URI}">${vClass.name} <span class="count-classes">(${vClass.entityCount})</span></a></li>
</#if>
</#list>
<#--Including restriction classes as hidden input, for now using just string uri---->
<input type="hidden" name="restrictClasses" id="restrictClasses" value="${restrictClasses}"/>
</ul>
<nav role="navigation">
<#assign alphabet = ["A", "B", "C", "D", "E", "F", "G" "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] />
<ul id="alpha-browse-individuals">
<li><a href="#" class="selected" data-alpha="all">All</a></li>
<#list alphabet as letter>
<li><a href="#" data-alpha="${letter?lower_case}" title="Browse all individuals whose name starts with ${letter}">${letter}</a></li>
</#list>
</ul>
</nav>
</nav>
<section id="individuals-in-class" role="region">
<ul role="list">
<#-- Will be populated dynamically via AJAX request -->
</ul>
</section>
</section>