Projekt

Obecné

Profil

Stáhnout (11.2 KB) Statistiky
| Větev: | Revize:
1
<html xmlns:th="http://www.thymeleaf.org"
2
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
3
      layout:decorator="~{/layouts/layout}">
4

    
5
    <head>
6
      <title>Editace</title>
7
    </head>
8

    
9
    <div layout:fragment="content">
10

    
11
      <select class="hidden" id="allParametersHiddenSelect">
12
        <option th:each="parameterType : ${allParameterTypes}" th:value="${parameterType.id}" th:text="${parameterType.name}"></option>
13
      </select>
14

    
15

    
16
      <select class="hidden" id="allFunctionsHiddenSelect">
17
        <option th:each="function : ${allFunctions}" th:value="${{function.id}}" th:text="${function.name}"></option>
18
      </select>
19

    
20

    
21
      <select class="hidden" id="allOperatorsHiddenSelect">
22
        <option th:each="operator : ${allOperators}" th:value="${{operator.id}}" th:text="${operator.name}"></option>
23
      </select>
24

    
25
      <div class="container">
26
        <h1>Editace sestavy - <span th:text="${title}"></span></h1>
27
        <a href="/" class="btn btn-success mb-2">Zpět</a>
28
      </div>
29

    
30

    
31
      <form th:object="${assembly}" th:action="${assembly.id} != null ? @{/assembly_edit(assemblyID=${assembly.id})} : @{/assembly_new}" method="post">
32
        <input type="hidden" th:field="*{id}" th:value="*{id}" />
33
        <div class="container box">
34
          <div class="col-md-12">
35
              <div class="form-group row">
36
                <label for="assemblyName" class="col-sm-2 col-form-label">Název sestavy:</label>
37
                <div class="col-sm-10">
38
                  <input type="text" class="form-control" name="assemblyName" id="assemblyName" th:field="*{name}" th:value="*{name}" required>
39
                </div>
40
              </div>
41
              <div class="form-group row">
42
                <label for="assemblySQLQuery" class="col-sm-2 col-form-label">SQL dotaz:</label>
43
                <div class="col-sm-10">
44
                  <textarea class="form-control" name="assemblySQLQuery" id="assemblySQLQuery" rows="6" th:field="*{SQLQuery}" th:text="*{SQLQuery}" required></textarea>
45
                </div>
46
              </div>
47
              <div class="form-group row">
48
                <label class="form-check-label col-sm-2" for="checkboxPublic">Veřejný:</label>
49
                <div class="col-sm-10">
50
                  <div class="form-check">
51
                    <input class="form-check-input" type="checkbox"  th:checked="*{isPublic} == 1" name="checkboxPublic" id="checkboxPublic">
52
                  </div>
53
                </div>
54
              </div>
55
          </div>
56
        </div>
57
        <div class="container box">
58
          <div class="col-md-12">
59
          <div class="box-header">
60
            <h3 class="box-title">Parametry</h3>
61
            <span class="btn btn-success" id="add-param-button"><i class="fas fa-plus"></i> Přidat parametr</span>
62
          </div>
63

    
64
          <div id="accordion" class="panel-wrapper">
65
            <div th:each="parameter, i : *{parameters}" class="panel-group parameter">
66
              <input type="hidden" th:field="*{parameters[__${i.index}__]}" th:value="*{parameters[__${i.index}__].id}" />
67
              <input type="hidden" class="parametr-order" th:field="*{parameters[__${i.index}__].parameterOrder}" th:value="*{parameters[__${i.index}__].parameterOrder}" />
68
              <div class="panel panel-default">
69
                <div class="panel-heading">
70
                  <span class="panel-title">
71
                    <a data-toggle="collapse" data-parent="#accordion" th:attr="href='#collapse' + ${i.index}">
72
                      <i class="fas fa-angle-right"></i> <span th:text="*{parameters[__${i.index}__].name}"></span>
73
                    </a>
74
                    <span class="align-right collapse-actions">
75
                      <span class="action-padding input-action-margin-collapse sort-icon">
76
                        <i class="fas fa-sort"></i>
77
                      </span>
78
                      <span class="action-padding action-button input-action-margin-collapse">
79
                        <span href=# class="action-link far fa-trash-alt" onclick="removePanel(this);"></span>
80
                      </span>
81
                    </span>
82
                  </span>
83
                </div>
84
                <div th:id="'collapse' + ${i.index}" class="panel-collapse collapse">
85
                  <div class="panel-body">
86
                    <div class="form-group row">
87
                      <label th:for="'parameterName' + ${i.index}" class="col-sm-2 col-form-label">Název:</label>
88
                      <div class="col-sm-10">
89
                        <input type="text" class="form-control" th:name="'parameterName' + ${i.index}" th:id="'parameterName' + ${i.index}" th:field="*{parameters[__${i.index}__].name}" th:value="*{parameters[__${i.index}__].name}" required>
90
                      </div>
91
                    </div>
92
                    <div class="form-group row">
93
                      <label th:for="'parameterSQLName' + ${i.index}" class="col-sm-2 col-form-label">V&nbsp;SQL:</label>
94
                      <div class="col-sm-10">
95
                        <input type="text" class="form-control" th:name="'parameterSQLName' + ${i.index}" th:id="'parameterSQLName' + ${i.index}" th:field="*{parameters[__${i.index}__].nameOfSelect}" th:value="*{parameters[__${i.index}__].nameOfSelect}" required>
96
                      </div>
97
                    </div>
98
                    <div class="form-group row">
99
                      <label for="exampleFormControlSelect1" class="col-sm-2">Typ:</label>
100
                      <div class="col-sm-10">
101
                        <select th:field="*{parameters[__${i.index}__].parameterType}" class="form-control type-select" id="exampleFormControlSelect1">
102
                          <option th:each="parameterType : ${allParameterTypes}" th:value="${parameterType.id}" th:text="${parameterType.name}"></option>
103
                        </select>
104
                      </div>
105
                    </div>
106

    
107
                    <div th:classappend="!(*{parameters[__${i.index}__].parameterType.name.equals('Výčet')}) ? 'hidden' : ''" class="enum_box">
108
                      Hodnoty:
109
                      <div class="enum_values col-md-8">
110
                        <div class="enum-wrapper">
111
                          <input type="hidden" class="enum-index" th:value="${i.index}">
112
                          <div th:each="parameterValue, j : *{parameters[__${i.index}__].parameterValues}" class="input-action-box input-border-bottom enum-row">
113
                            <input type="hidden" class="enum-parameter-index" th:value="${j.index}">
114
                            <input type="text" readonly class="form-control-plaintext" th:field="*{parameters[__${i.index}__].parameterValues[__${j.index}__].value}" th:value="*{parameters[__${i.index}__].parameterValues[__${j.index}__].value}">
115

    
116
                            <span class="action-padding input-action-margin sort-icon">
117
                              <i class="fas fa-sort"></i>
118
                            </span>
119
                            <span class="action-padding action-button input-action-margin">
120
                              <span class="action-link far fa-trash-alt" onclick="removeEnum(this)"></span>
121
                            </span>
122
                          </div>
123
                        </div>
124

    
125
                        <div class="form-group row form-add-item">
126
                          <div class="col-md-9">
127
                            <input type="text" class="form-control enum-add-input">
128
                          </div>
129
                          <span class="btn btn-primary mb-2 enum-add-button">Přidat</span>
130
                        </div>
131
                      </div>
132
                    </div>
133

    
134
                    <div th:name="'parameterLocations' + ${i.index}" class="form-group row">
135
                      <label for="exampleFormControlSelect1" class="col-sm-2">Umístění:</label>
136
                      <div class="col-sm-10">
137
                        <div th:each="location, j : ${allLocations}" class="form-check form-check-inline">
138
                          <input class="form-check-input" th:field="*{parameters[__${i.index}__].locations}" type="checkbox" th:value="${location.id}" >
139
                          <label class="form-check-label" th:for="${location.name}" th:text="${location.name}"></label>
140
                        </div>
141
                      </div>
142
                    </div>
143
                    <div class="form-group row">
144
                        <label for="exampleFormControlSelect1" class="col-sm-2">Funkce:</label>
145
                        <div class="col-sm-10">
146
                          <select th:field="*{parameters[__${i.index}__].functions}" class="mbSelect selectpicker" multiple data-live-search="true">
147
                            <option th:each="function : ${allFunctions}" th:value="${{function.id}}" th:text="${function.name}"></option>
148
                          </select>
149
                        </div>
150
                    </div>
151
                    <div class="form-group row">
152
                        <label for="exampleFormControlSelect1" class="col-sm-2">Operátory:</label>
153
                        <div class="col-sm-10">
154
                          <select th:field="*{parameters[__${i.index}__].operators}" class="mbSelect selectpicker" multiple data-live-search="true">
155
                            <option th:each="operator : ${allOperators}" th:value="${{operator.id}}" th:text="${operator.name}"></option>
156
                          </select>
157
                        </div>
158
                    </div>
159
                  </div>
160
                </div>
161
              </div>
162
            </div>
163
          </div>
164
        </div>
165
      </div>
166

    
167
        <div class="container box">
168
          <div class="col-md-4">
169
            <div class="box-header">
170
              <h3 class="box-title">Oprávnění</h3>
171
            </div>
172
            <div id ="permission-wrapper">
173
              <div th:each="roleWithAccess, i : ${assembly.roles}" class="input-action-box input-border-bottom permission-row">
174
                <input type="hidden" class="permission-role" th:field="${assembly.roles[__${i.index}__].id}" th:value="${roleWithAccess.id}">
175
                <input type="text" readonly class="form-control-plaintext permission-title" th:field="${assembly.roles[__${i.index}__].name}" th:value="${roleWithAccess.name}">
176
                <span class="action-padding action-button input-action-margin">
177
                  <span class="action-link far fa-trash-alt" onclick="removeRole(this);"></span>
178
                </span>
179
              </div>
180
            </div>
181

    
182
            <div class="form-group row form-add-item">
183
              <div class="col-md-9">
184
                <select class="form-control " id="permission-select" name="permission-select">
185
                  <option th:each="role : ${allRoles}" th:value="${role.id}" th:text="${role.name}"></option>
186
                </select>
187
              </div>
188
              <span class="btn btn-primary mb-2" id="permission-button">Přidat</span>
189
            </div>
190
          </div>
191
        </div>
192
        <div class="submit_center_button">
193
            <button type="submit" class="btn btn-success mb-2">Uložit</button>
194
        </div>
195
      </form>
196
    </div>
197

    
198
    <div layout:fragment="scripts">
199
      <script type="text/javascript" src="js/assemblyManageScripts.js"></script>
200
    </div>
201
</html>
(2-2/4)