
erezza.website.0.2.source-code.GlobalMenuRenderlet.scala Maven / Gradle / Ivy
The newest version!
package org.apache.clerezza.site
import javax.ws.rs.core.MediaType
import org.apache.clerezza.platform.typerendering._
import org.apache.clerezza.commons.rdf.IRI
import org.apache.clerezza.rdf.utils.GraphNode
import org.apache.clerezza.rdf.ontologies._
import org.apache.clerezza.rdf.core._
import org.apache.clerezza.rdf.utils._
import org.apache.clerezza.rdf.scala.utils.Preamble._
import org.apache.clerezza.platform.typerendering.scala._
import org.apache.clerezza.rdf.ontologies.DC
/**
* A Renderlet for the menu
*/
class GlobalMenuRenderlet extends SRenderlet {
val getRdfType = RDFS.Resource
override def getModePattern = "menu"
override def renderedPage(arguments: XmlResult.Arguments) = {
new XmlResult(arguments) {
def menuLink(href: String, label: String) =
if ((res*).endsWith(href) || (res*).endsWith(href + "index")) {
{ label }
} else {
{ label }
}
override def content = {
def menu(s: Any) = new IRI("http://clerezza.org/2009/11/global-menu#" + s)
def rdfs(s: Any) = new IRI("http://www.w3.org/2000/01/rdf-schema#" + s)
def platform(s: Any) = new IRI("http://clerezza.org/2009/08/platform#" + s)
def dct(s: Any) = new IRI("http://purl.org/dc/terms/" + s)
resultDocModifier.addScriptReference("/style/scripts/login.js");
{
ifx((res / menu("globalMenu")).length > 0) {
for (menuItem <- res / menu("globalMenu")!!)
yield -
{
if ((menuItem / menu("path")).length > 0) {
{ (menuItem / rdfs("label")*) }
} else {
{ (menuItem / rdfs("label")*) }
}
}
{
ifx((menuItem / menu("children")).length > 0) {
}
}
}
}
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy