Difference between revisions of "Debug.rythm"

From BITPlan Wiki
Jump to navigation Jump to search
Line 77: Line 77:
 
             <th>#</th>
 
             <th>#</th>
 
             <th>Name</th>
 
             <th>Name</th>
 +
            <th>Label</th>
 
             <th>Value</th>
 
             <th>Value</th>
 
             <th>#Data Items</th>
 
             <th>#Data Items</th>
Line 95: Line 96:
 
             <td>@(index++)</td>
 
             <td>@(index++)</td>
 
             <td><a href='@(server)/index.php?title=Property:@(getProp(key))'>@(getProp(key))</a></td>
 
             <td><a href='@(server)/index.php?title=Property:@(getProp(key))'>@(getProp(key))</a></td>
 +
            <td>@(key)</td>
 
             <td>@(smwprops.get(key))</td>
 
             <td>@(smwprops.get(key))</td>
 
             <td>@(size)</td>
 
             <td>@(size)</td>

Revision as of 09:41, 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("Language_code");
  String languageCode="de";
  if (languageCodeObj!=null) {
    languageCode=languageCodeObj.toString();
  }
}
    </header>
    <section class="container">
      <h2>SMW Properties</h2>
      <!-- Tabelle mit abwechselnder Zellenhintergrundfarbe und Außenrahmen -->
      <table class="table table-striped table-bordered">
        <thead>
          <tr>
            <th>#</th>
            <th>Name</th>
            <th>Label</th>
            <th>Value</th>
            <th>#Data Items</th>
          </tr>
        </thead>
        <tbody>
@{int index=0;}
        @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><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>
        }
        </tbody>
      </table>
      <article>@(content)</article>
    </section>
  </body>
</html>