1 |
|
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"><head>
|
|
1 |
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
|
|
2 |
<head>
|
2 |
3 |
<meta charset="utf-8">
|
3 |
4 |
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
4 |
5 |
<meta name="description" content="">
|
... | ... | |
14 |
15 |
<link href="css/fontawesome.min.css" rel="stylesheet">
|
15 |
16 |
<link href="css/style.css" rel="stylesheet">
|
16 |
17 |
|
17 |
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
|
18 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
|
|
19 |
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
|
|
20 |
crossorigin="anonymous"></script>
|
18 |
21 |
<script type="text/javascript" src="js/jquery.js"></script>
|
19 |
22 |
<script type="text/javascript" src="js/bootstrap.min.js"></script>
|
20 |
23 |
<script type="text/javascript" src="js/bootstrap-select.min.js"></script>
|
... | ... | |
30 |
33 |
</div>
|
31 |
34 |
|
32 |
35 |
<form th:object="${configuration}" method="post" th:action="@{/configuration(configurationID=${configuration.id})}">
|
33 |
|
<input type="hidden" th:field="*{assembly.id}" th:value="${configuration.assembly?.getId()}" />
|
|
36 |
<input type="hidden" th:field="*{assembly.id}" th:value="${configuration.assembly?.getId()}"/>
|
34 |
37 |
<div class="container box">
|
35 |
38 |
<div class="col-md-12">
|
36 |
39 |
<div class="col-md-12 form-group row">
|
37 |
40 |
<label for="exampleFormControlSelect1" class="name-input-label">Titulek tabulky:</label>
|
38 |
|
<input type="text" class="form-control name-input" th:field="*{tableName}" th:value="${configuration?.tableName}">
|
|
41 |
<input type="text" class="form-control name-input" th:field="*{tableName}"
|
|
42 |
th:value="${configuration?.tableName}">
|
39 |
43 |
</div>
|
40 |
44 |
|
41 |
45 |
<span>Parametry:</span>
|
... | ... | |
51 |
55 |
<tbody>
|
52 |
56 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}">
|
53 |
57 |
<td>
|
54 |
|
<span class="select-text-padding" th:text="${parameterInConfiguration.parameter.name}"></span>
|
|
58 |
<span class="select-text-padding"
|
|
59 |
th:text="${parameterInConfiguration.parameter.name}"></span>
|
55 |
60 |
</td>
|
56 |
61 |
<td>
|
57 |
62 |
<optional th:each="location : ${parameterInConfiguration.parameter.locations}">
|
58 |
|
<span th:if="${location.name.equals('Sloupec')}" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}" class="select-action-padding select-action-button select-input-action-margin-collapse">
|
|
63 |
<span th:if="${location.name.equals('Sloupec')}"
|
|
64 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}"
|
|
65 |
class="select-action-padding select-action-button select-input-action-margin-collapse">
|
59 |
66 |
<i class="fas fa-align-justify"></i>
|
60 |
67 |
</span>
|
61 |
|
<span th:if="${location.name.equals('Řádek')}" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}" class="select-action-padding select-action-button select-input-action-margin-collapse">
|
|
68 |
<span th:if="${location.name.equals('Řádek')}"
|
|
69 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}"
|
|
70 |
class="select-action-padding select-action-button select-input-action-margin-collapse">
|
62 |
71 |
<i class="fas fa-align-justify transform"></i>
|
63 |
72 |
</span>
|
64 |
|
<span th:if="${location.name.equals('Hodnota')}" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}" class="select-action-padding select-action-button select-input-action-margin-collapse">
|
|
73 |
<span th:if="${location.name.equals('Hodnota')}"
|
|
74 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.name}"
|
|
75 |
class="select-action-padding select-action-button select-input-action-margin-collapse">
|
65 |
76 |
<i class="fas fa-heading"></i>
|
66 |
77 |
</span>
|
67 |
78 |
</optional>
|
68 |
79 |
</td>
|
69 |
80 |
<td class="s">
|
70 |
81 |
<div class="col select-filter">
|
71 |
|
<select class="form-control" style="{width:60px;}" id="exampleFormControlSelect1" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].operator.name}">
|
72 |
|
<option th:value="zadny" selected value> -- Zvolte operátor -- </option>
|
73 |
|
<option th:each="operator : ${parameterInConfiguration.parameter.operators}" th:text="${operator.name}" th:value="${operator.name}"></option>
|
|
82 |
<select class="form-control" style="{width:60px;}" id="exampleFormControlSelect1"
|
|
83 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].operator.name}">
|
|
84 |
<option th:value="zadny" selected value> -- Zvolte operátor --</option>
|
|
85 |
<option th:each="operator : ${parameterInConfiguration.parameter.operators}"
|
|
86 |
th:text="${operator.name}" th:value="${operator.name}"></option>
|
74 |
87 |
</select>
|
75 |
|
<input type="text" class="form-control select-filter-input" id="name" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].operatorValue}">
|
|
88 |
<input type="text" class="form-control select-filter-input" id="name"
|
|
89 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].operatorValue}">
|
76 |
90 |
</div>
|
77 |
91 |
</td>
|
78 |
92 |
</tr>
|
... | ... | |
94 |
108 |
</tr>
|
95 |
109 |
</thead>
|
96 |
110 |
<tbody>
|
97 |
|
<tr>
|
|
111 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Řádek')}">
|
98 |
112 |
<td>
|
99 |
|
<span>Fakulta</span>
|
|
113 |
<span th:text="${parameterInConfiguration.parameter.name}"></span>
|
100 |
114 |
</td>
|
101 |
115 |
<td>
|
102 |
|
<input type="text" class="form-control select-filter-input" id="name">
|
103 |
|
</td>
|
104 |
|
<td>
|
105 |
|
<span><i class="fas fa-sort"></i></span>
|
106 |
|
</td>
|
107 |
|
</tr>
|
108 |
|
<tr>
|
109 |
|
<td>
|
110 |
|
<span>Typ studia</span>
|
111 |
|
</td>
|
112 |
|
<td>
|
113 |
|
<input type="text" class="form-control select-filter-input" id="name">
|
|
116 |
<input th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].columnName}"
|
|
117 |
type="text" class="form-control select-filter-input" id="name">
|
114 |
118 |
</td>
|
115 |
119 |
<td>
|
116 |
120 |
<span><i class="fas fa-sort"></i></span>
|
... | ... | |
134 |
138 |
</tr>
|
135 |
139 |
</thead>
|
136 |
140 |
<tbody>
|
137 |
|
<tr>
|
|
141 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Sloupec')}">
|
138 |
142 |
<td>
|
139 |
|
<span>Ročník</span>
|
|
143 |
<span th:text="${parameterInConfiguration.parameter.name}"></span>
|
140 |
144 |
</td>
|
141 |
145 |
<td>
|
142 |
|
<input type="text" class="form-control select-filter-input" id="name">
|
|
146 |
<input th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].columnName}"
|
|
147 |
type="text" class="form-control select-filter-input" id="name">
|
143 |
148 |
</td>
|
144 |
149 |
<td>
|
145 |
150 |
<span><i class="fas fa-sort"></i></span>
|
... | ... | |
158 |
163 |
<thead>
|
159 |
164 |
<tr>
|
160 |
165 |
<th class="col-1-p"></th>
|
161 |
|
<th class="col-2-p">Vlastní název</th>
|
|
166 |
<th class="col-2-p">Funkce</th>
|
162 |
167 |
</tr>
|
163 |
168 |
</thead>
|
164 |
169 |
<tbody>
|
165 |
|
<tr>
|
|
170 |
<tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Hodnota')}">
|
166 |
171 |
<td>
|
167 |
|
<span>Počet</span>
|
|
172 |
<span th:text="${parameterInConfiguration.parameter.name}"></span>
|
168 |
173 |
</td>
|
169 |
174 |
<td>
|
170 |
|
<select class="form-control" style="{width:60px;}" id="exampleFormControlSelect1">
|
171 |
|
<option>SUM</option>
|
172 |
|
<option>AVG</option>
|
173 |
|
<option>MIN</option>
|
174 |
|
<option>MAX</option>
|
|
175 |
<select class="form-control" style="{width:60px;}"
|
|
176 |
id="exampleFormControlSelect1"
|
|
177 |
th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].functions}"
|
|
178 |
multiple>
|
|
179 |
<option th:each="function : ${parameterInConfiguration.parameter.functions}"
|
|
180 |
th:text="${function.name}" th:value="${{function.id}}"></option>
|
175 |
181 |
</select>
|
176 |
182 |
</td>
|
177 |
183 |
|
... | ... | |
185 |
191 |
<div class="col-md-12 form-group row template-input">
|
186 |
192 |
<label for="exampleFormControlSelect1" class="template-input-label">Vlastní název šablony:</label>
|
187 |
193 |
<div class="">
|
188 |
|
<input type="text" required="required" class="form-control select-filter-input" id="name" th:field="${configuration.name}">
|
|
194 |
<input type="text" required="required" class="form-control select-filter-input" id="name"
|
|
195 |
th:field="${configuration.name}">
|
189 |
196 |
</div>
|
190 |
197 |
|
191 |
198 |
<button type="submit" class="btn btn-success mb-2 template-input-submit">Uložit šablonu</button>
|
... | ... | |
193 |
200 |
|
194 |
201 |
|
195 |
202 |
<div class="buttons-wrap">
|
196 |
|
<button type="submit" class="btn btn-secondary mb-2 " name="generate-table">Vygenerovat tabulku</button>
|
|
203 |
<button type="submit" class="btn btn-secondary mb-2 " name="generate-table">Vygenerovat tabulku
|
|
204 |
</button>
|
197 |
205 |
<button type="submit" class="btn btn-secondary mb-2 " name="export-xls">Export do XLS</button>
|
198 |
206 |
<button type="submit" class="btn btn-secondary mb-2 " name="export-pdf">Export do PDF</button>
|
199 |
207 |
</div>
|
... | ... | |
202 |
210 |
</form>
|
203 |
211 |
|
204 |
212 |
|
205 |
|
|
206 |
|
|
207 |
213 |
<div th:if="${contingencyTableRows}" class="container box">
|
208 |
214 |
<div class="col-md-12">
|
209 |
215 |
|
... | ... | |
211 |
217 |
<table class="tg table">
|
212 |
218 |
|
213 |
219 |
|
214 |
|
<tr th:each="contingencyTableRow : ${contingencyTableRows}">
|
215 |
|
<div class="tg-align" th:if="${contingencyTableRow.isHeader()}">
|
216 |
|
<th class="tg-align" th:each="contingencyTableRowCell : ${contingencyTableRow.getCells()}">
|
217 |
|
<span th:text="${contingencyTableRowCell.getValue()}"></span>
|
218 |
|
</th>
|
219 |
|
</div>
|
220 |
|
<div th:unless="${contingencyTableRow.isHeader()}">
|
221 |
|
<td class="tg-align" th:each="contingencyTableRowCell : ${contingencyTableRow.getCells()}">
|
222 |
|
<span th:text="${contingencyTableRowCell.getValue()}"></span>
|
223 |
|
</td>
|
224 |
|
</div>
|
225 |
|
</tr>
|
226 |
|
|
|
220 |
<tr th:each="contingencyTableRow : ${contingencyTableRows}">
|
|
221 |
<div class="tg-align" th:if="${contingencyTableRow.isHeader()}">
|
|
222 |
<th class="tg-align" th:each="contingencyTableRowCell : ${contingencyTableRow.getCells()}">
|
|
223 |
<span th:text="${contingencyTableRowCell.getValue()}"></span>
|
|
224 |
</th>
|
|
225 |
</div>
|
|
226 |
<div th:unless="${contingencyTableRow.isHeader()}">
|
|
227 |
<td class="tg-align" th:each="contingencyTableRowCell : ${contingencyTableRow.getCells()}">
|
|
228 |
<span th:text="${contingencyTableRowCell.getValue()}"></span>
|
|
229 |
</td>
|
|
230 |
</div>
|
|
231 |
</tr>
|
227 |
232 |
|
228 |
233 |
|
229 |
234 |
</table>
|
re #7881 loading and editing parameters in configuration in their locations, ability to set user name of parameter