/**
* Generated from SearchTemplate.csp
* Do not edit.
*/
package org.civilian.samples.crm.web.template;
import org.civilian.samples.crm.text.Message;
import org.civilian.template.Template;
import org.civilian.template.mixin.LangMixin;
/**
* Generic SearchTemplate
* @param toolbar: if embedded in a module panel, the searchpanel has a toolbar to navigate to
* the detail view
*/
public class SearchTemplate extends Template
{
public SearchTemplate(boolean withToolbar)
{
this.withToolbar = withToolbar;
}
@Override protected void init()
{
super.init();
lang = new LangMixin(out);
}
@Override protected void print() throws Exception
{
out.println("<div ng-controller=\"SearchController\" class=\"row-fluid\">"); // line 12: <div ng-controller="SearchController" class="row-fluid">
out.increaseTab();
if (withToolbar) // line 13: @if (withToolbar)
{
out.println("<div class=\"btn-group btn-group-vertical pull-left\">"); // line 14: <div class="btn-group btn-group-vertical pull-left">
out.increaseTab();
out.println("<button ng-disabled=\"searchResult.empty()\" class=\"btn\" ng-click=\"openResult()\"><i class=\"icon-arrow-right\"></i></button>"); // line 15: <button ng-disabled="searchResult.empty()" class="btn" ng-click="openResult()"><i class="icon-arrow-right"></i></button>
out.println("<button ng-disabled=\"searchResult.empty()\" class=\"btn\"><i class=\"icon-download\"></i></button>"); // line 16: <button ng-disabled="searchResult.empty()" class="btn"><i class="icon-download"></i></button>
out.println("<button ng-disabled=\"searchResult.empty()\" class=\"btn\"><i class=\"icon-print\"></i></button>"); // line 17: <button ng-disabled="searchResult.empty()" class="btn"><i class="icon-print"></i></button>
out.decreaseTab();
out.println("</div>"); // line 18: </div>
out.println("<div class=\"margin-left\">"); // line 19: <div class="margin-left">
out.increaseTab();
printSearchPanel(); // line 20: @printSearchPanel();
out.decreaseTab();
out.println("</div>"); // line 21: </div>
}
else // line 22: @else
{
printSearchPanel(); // line 23: @printSearchPanel();
}
out.decreaseTab();
out.println("</div>"); // line 24: </div>
}
private void printSearchPanel()
{
out.println("<div ng-repeat=\"param in searchParams\" class=\"gap-bottom\">"); // line 30: <div ng-repeat="param in searchParams" class="gap-bottom">
out.increaseTab();
out.println("<select ng-options=\"f.value as f.text for f in searchFilters\" ng-model=\"param.filter\" class=\"span2\"></select>"); // line 31: <select ng-options="f.value as f.text for f in searchFilters" ng-model="param.filter" class="span2"></select>
out.println("<input type=\"text\" size=\"40\" ng-model=\"param.value\">"); // line 32: <input type="text" size="40" ng-model="param.value">
out.println("<button class=\"btn\" ng-click=\"removeSearchParam($index)\" ng-disabled=\"searchParams.length == 1\"><i class=\"icon-minus\"></i></button>"); // line 33: <button class="btn" ng-click="removeSearchParam($index)" ng-disabled="searchParams.length == 1"><i class="icon-minus"></i></button>
out.println("<button class=\"btn\" ng-click=\"addSearchParam()\" ng-show=\"$last\"><i class=\"icon-plus\"></i></button>"); // line 34: <button class="btn" ng-click="addSearchParam()" ng-show="$last"><i class="icon-plus"></i></button>
out.decreaseTab();
out.println("</div>"); // line 35: </div>
out.print("<button class=\"btn btn-primary\" ng-click=\"search()\">"); // line 36: <button class="btn btn-primary" ng-click="search()">
out.print(lang.msg(Message.Search)); // line 36: <%lang.msg(Message.Search)%>
out.println("</button>"); // line 36: </button>
out.print("<button class=\"btn\" ng-click=\"reset()\">"); // line 37: <button class="btn" ng-click="reset()">
out.print(lang.msg(Message.Reset)); // line 37: <%lang.msg(Message.Reset)%>
out.println("</button>"); // line 37: </button>
out.println("<p></p>"); // line 38: <p></p>
out.print("<span ng-hide=\"searchResult.empty()\">{{searchResult.items.length}} "); // line 39: <span ng-hide="searchResult.empty()">{{searchResult.items.length}}
out.print(lang.msg(Message.Hits)); // line 39: <%lang.msg(Message.Hits)%>
out.println("</span>"); // line 39: </span>
out.println("<p></p>"); // line 40: <p></p>
out.println("<table ng-hide=\"searchResult.empty()\" class=\"table table-bordered table-striped table-condensed table-hover table-result no-select\">"); // line 41: <table ng-hide="searchResult.empty()" class="table table-bordered table-striped table-condensed table-hover table-result no-select">
out.println("<tr class=\"result\">"); // line 42: <tr class="result">
out.increaseTab();
out.println("<th>#</th>"); // line 43: <th>#</th>
out.println("<th ng-repeat=\"col in searchResult.cols\">{{col}}</th>"); // line 44: <th ng-repeat="col in searchResult.cols">{{col}}</th>
out.decreaseTab();
out.println("</tr>"); // line 45: </tr>
out.println("<tr ng-repeat=\"row in searchResult.rows\" ng-dblclick=\"openResult()\" ng-class=\"{info: $index == searchResult.selected}\" ng-click=\"searchResult.setSelected($index)\">"); // line 46: <tr ng-repeat="row in searchResult.rows" ng-dblclick="openResult()" ng-class="{info: $index == searchResult.selected}" ng-click="searchResult.setSelected($index)">
out.increaseTab();
out.println("<td width=\"30px\">{{$index+1}}</td>"); // line 47: <td width="30px">{{$index+1}}</td>
out.println("<td ng-repeat=\"data in row.data\">{{data}}</td>"); // line 48: <td ng-repeat="data in row.data">{{data}}</td>
out.decreaseTab();
out.println("</tr>"); // line 49: </tr>
out.println("</table>"); // line 50: </table>
}
private boolean withToolbar;
private LangMixin lang;
}