Difference between revisions of "Debug.rythm"
Jump to navigation
Jump to search
Line 62: | Line 62: | ||
@{ | @{ | ||
Map<String, Property> propertyMap=smwprops.getMap(); | Map<String, Property> propertyMap=smwprops.getMap(); | ||
− | Object languageCodeObj=smwprops.get(" | + | Object languageCodeObj=smwprops.get("_LCODE"); |
String languageCode="de"; | String languageCode="de"; | ||
if (languageCodeObj!=null) { | if (languageCodeObj!=null) { |
Revision as of 18:05, 2 November 2017
Links
Source
@// Rythm template for the WikiCMS approach
@import com.bitplan.smw.PropertyMap
@import com.bitplan.mediawiki.japi.api.DataItem
@import com.bitplan.mediawiki.japi.api.Property
@args() {
String content,
String lang,
String title,
PropertyMap smwprops;
}
@{
String server="http://wiki.bitplan.com";
}
@def String getProp(String prop) {
Map<String,String> specPropsMap=new HashMap<String,String>();
specPropsMap.put("_LCODE","Language Code");
specPropsMap.put("_LEDT","Last editor is");
specPropsMap.put("_NEWP","Is a new page");
specPropsMap.put("_CDAT","Creation_date");
specPropsMap.put("_MDAT","Modification_date");
if (specPropsMap.containsKey(prop)) {
return specPropsMap.get(prop);
}
return prop;
}
<!doctype html>
<html lang="@(lang)">
<head>
<!-- https://de.wikipedia.org/wiki/Bootstrap_(Framework) -->
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@(title)</title>
<!-- Einbinden des Bootstrap-Stylesheets -->
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- optional: Einbinden der jQuery-Bibliothek -->
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
<!-- optional: Einbinden der Bootstrap-JavaScript-Plugins -->
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"></script>
<style>
/** Language styles */
span.lang-de, span.lang-De {
padding-right: 25px;
background: url(@(server)/images/e/e7/Lang-De.gif) center right no-repeat;
}
span.lang-en, span.lang-En {
padding-right: 25px;
background: url(@(server)/images/7/78/Lang-En.gif) center right no-repeat;
}
</style>
</head>
<body>
<header>
@{
Map<String, Property> propertyMap=smwprops.getMap();
Object languageCodeObj=smwprops.get("_LCODE");
String languageCode="de";
if (languageCodeObj!=null) {
languageCode=languageCodeObj.toString();
}
}
</header>
<section class="container">
<h2>Language settings</h2>
Lang: @(lang)
languageCode: @(languageCode) @(languageCodeObj.getClass().getName())
<h2>SMW Properties</h2>
<!-- Tabelle mit abwechselnder Zellenhintergrundfarbe und Außenrahmen -->
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>#</th>
<th>#</th>
<th>Name</th>
<th>Label</th>
<th>Value</th>
<th>#Data Items</th>
</tr>
</thead>
<tbody>
@{int index=1;}
@for(String key:propertyMap.keySet()) {
@{
Property prop = propertyMap.get(key);
int size=0;
List<DataItem> dataitems = prop.getDataitem();
if (dataitems != null) {
size=dataitems.size();
}
}
<tr>
<td>@(index++)</td>
<td></td>
<td><a href='@(server)/index.php?title=Property:@(getProp(key))'>@(getProp(key))</a></td>
<td>@(key)</td>
<td>@(smwprops.get(key))</td>
<td>@(size)</td>
</tr>
@if (dataitems != null) {
@{int dindex=1;}
@for(DataItem dataitem:dataitems) {
<tr>
<td></td>
<td>@(dindex++)</td>
<td></td>
<td></td>
<td>@(dataitem.getItem())</td>
<td>@(dataitem.getType())</td>
</tr>
}
}
}
</tbody>
</table>
<article>@(content)</article>
</section>
</body>
</html>