graphdb-workbench 2.6.0-TR6 → 2.6.0-TR7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/11.e99d653419379ecf1b23.bundle.js +1 -0
- package/dist/131.e1a244126c43896cd7fe.bundle.js +1 -1
- package/dist/17.f3951ee36cae3c2e59e2.bundle.js +1 -1
- package/dist/242.b5be51c553871ce3d83a.bundle.js +1 -0
- package/dist/257.1e51f84ae10ed1a8a23b.bundle.js +1 -1
- package/dist/259.2c88332b7f1b47935a47.bundle.js +1 -1
- package/dist/260.d745422c537bdd9647bb.bundle.js +1 -1
- package/dist/261.7efff7f93f61f061f5ca.bundle.js +1 -1
- package/dist/27.e6c49ef111cabef46fd7.bundle.js +1 -1
- package/dist/28.9b2e80653eb69e4525ef.bundle.js +1 -1
- package/dist/289.7afbd014836c2b589df6.bundle.js +1 -1
- package/dist/40.cef0c3d8ef5a88d4a6e8.bundle.js +1 -1
- package/dist/50.6f8fd26290d2e6983c3d.bundle.js +1 -0
- package/dist/51.36a5ca508d953a43df6d.bundle.js +1 -0
- package/dist/{6.6c12bf8442e6b3a8966a.bundle.js → 6.9557b6506bf958c26a2a.bundle.js} +1 -1
- package/dist/63.79ceab2871c4bf87e565.bundle.js +1 -1
- package/dist/{84.42f64ebc8b4f42b8f8fa.bundle.js → 84.833096ee7ee9d0b926e2.bundle.js} +1 -1
- package/dist/85.172aa928154b446a004e.bundle.js +1 -0
- package/dist/{bundle.f5d7fe3b9943ad592f50.bundle.js → bundle.e8a8019cba24aec4c600.bundle.js} +3 -3
- package/dist/css/aclmanagement.css +116 -10
- package/dist/css/lib/ontotext-yasgui-web-component.css +30 -15
- package/dist/i18n/locale-en.json +2 -1
- package/dist/i18n/locale-fr.json +2 -1
- package/dist/index.html +3 -3
- package/dist/js/angular/core/directives/autocomplete/templates/autocomplete.html +1 -1
- package/dist/js/angular/core/directives/operations-statuses-monitor/templates/operations-statuses-monitor.html +1 -1
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/directives/yasgui-component/templates/yasgui-component.html +1 -1
- package/dist/js/angular/security/templates/user.html +1 -1
- package/dist/license-checker.json +4 -4
- package/dist/pages/aclmanagement.html +247 -179
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +1 -1
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +8 -8
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/guides.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +1 -1
- package/dist/pages/monitor/backup-and-restore.html +1 -1
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +1 -1
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +1 -1
- package/dist/pages/repository.html +5 -2
- package/dist/pages/similarity-indexes.html +1 -1
- package/dist/pages/sparql-editor.html +1 -1
- package/dist/pages/sparql-template-create.html +1 -1
- package/dist/pages/webapi.html +2 -2
- package/dist/res/swagger/index.html +27 -27
- package/package.json +2 -2
- package/dist/11.4f52f63081204e1877cf.bundle.js +0 -1
- package/dist/242.5176ae2d94fe71686b8d.bundle.js +0 -1
- package/dist/50.62ed3e49a6ece0e7a5c4.bundle.js +0 -1
- package/dist/51.96629fd69e2da9eb537d.bundle.js +0 -1
- package/dist/85.362d91965241e83d901d.bundle.js +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<link href="css/aclmanagement.css?v=2.6.0-
|
|
1
|
+
<link href="css/aclmanagement.css?v=2.6.0-TR7" rel="stylesheet"/>
|
|
2
|
+
<link href="css/autocomplete-select.css?v=2.6.0-TR7" rel="stylesheet"/>
|
|
2
3
|
|
|
3
4
|
<div class="acl-management-view">
|
|
4
5
|
<h1 id="acl-management-view-title">
|
|
@@ -12,8 +13,15 @@
|
|
|
12
13
|
|
|
13
14
|
<div core-errors></div>
|
|
14
15
|
|
|
15
|
-
<div class="acl-management-container">
|
|
16
|
+
<div class="acl-management-container" ng-if="getActiveRepository()">
|
|
16
17
|
<div class="acl-management-container">
|
|
18
|
+
<div class="pull-right">
|
|
19
|
+
<button ng-click="addRule(activeTabScope, 0)" ng-disabled="editedRuleIndex !== undefined"
|
|
20
|
+
class="btn btn-primary add-first-rule-btn"
|
|
21
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
22
|
+
<em class="icon-plus"></em> Create rule
|
|
23
|
+
</button>
|
|
24
|
+
</div>
|
|
17
25
|
<ul class="nav nav-tabs acl-tabs">
|
|
18
26
|
<li class="resource-tab nav-item">
|
|
19
27
|
<span class="nav-link" ng-click="switchTab(ACL_SCOPE.STATEMENT)" ng-class="activeTabScope === ACL_SCOPE.STATEMENT ? 'active':''">{{'acl_management.rulestable.tab.statement' | translate}} <span class="dirty-scope" ng-if="dirtyScope.has(ACL_SCOPE.STATEMENT)">*</span></span>
|
|
@@ -63,16 +71,6 @@
|
|
|
63
71
|
</th>
|
|
64
72
|
<th scope="col" class="actions-column"></th>
|
|
65
73
|
</tr>
|
|
66
|
-
<tr>
|
|
67
|
-
<th scope="colgroup" colspan="11" class="toolbar">
|
|
68
|
-
<div ng-if="editedRuleIndex === undefined" class="pull-right">
|
|
69
|
-
<button ng-click="addRule(activeTabScope, 0)" class="btn btn-link add-rule-btn"
|
|
70
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
71
|
-
<em class="icon-plus"></em>
|
|
72
|
-
</button>
|
|
73
|
-
</div>
|
|
74
|
-
</th>
|
|
75
|
-
</tr>
|
|
76
74
|
</thead>
|
|
77
75
|
<tbody>
|
|
78
76
|
<tr ng-if="!rulesModel.size(activeTabScope)">
|
|
@@ -81,9 +79,9 @@
|
|
|
81
79
|
</td>
|
|
82
80
|
</tr>
|
|
83
81
|
<tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
|
|
84
|
-
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row"
|
|
82
|
+
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
|
|
85
83
|
ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
|
|
86
|
-
<td class="index-cell">{{$index}}</td>
|
|
84
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
87
85
|
<td class="reorder-cell">
|
|
88
86
|
<span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
|
|
89
87
|
<button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
|
|
@@ -97,19 +95,29 @@
|
|
|
97
95
|
</button>
|
|
98
96
|
</span>
|
|
99
97
|
</td>
|
|
100
|
-
<td class="policy-cell data">
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
<td class="
|
|
98
|
+
<td class="policy-cell data">
|
|
99
|
+
<span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
|
|
100
|
+
<em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
|
|
101
|
+
{{rule.policy}}
|
|
102
|
+
</span>
|
|
103
|
+
</td>
|
|
104
|
+
<td class="role-cell data">
|
|
105
|
+
<span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
|
|
106
|
+
{{rule.roleWithoutCustomPrefix}}
|
|
107
|
+
</span>
|
|
108
|
+
</td>
|
|
109
|
+
<td class="operation-cell data">
|
|
110
|
+
<span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
|
|
111
|
+
<em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
|
|
112
|
+
{{rule.operation}}
|
|
113
|
+
</span>
|
|
114
|
+
</td>
|
|
115
|
+
<td class="subject-cell data" ng-class="{'wildcard-cell': rule.subject === '*'}">{{rule.subject}}</td>
|
|
116
|
+
<td class="predicate-cell data" ng-class="{'wildcard-cell': rule.predicate === '*'}">{{rule.predicate}}</td>
|
|
117
|
+
<td class="object-cell data" ng-class="{'wildcard-cell': rule.object === '*'}">{{rule.object}}</td>
|
|
118
|
+
<td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">{{rule.context}}</td>
|
|
107
119
|
<td class="actions-cell">
|
|
108
120
|
<div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
|
|
109
|
-
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn"
|
|
110
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
111
|
-
<em class="icon-trash"></em>
|
|
112
|
-
</button>
|
|
113
121
|
<button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
|
|
114
122
|
gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
|
|
115
123
|
<em class="icon-edit"></em>
|
|
@@ -118,33 +126,44 @@
|
|
|
118
126
|
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
119
127
|
<em class="icon-plus"></em>
|
|
120
128
|
</button>
|
|
129
|
+
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
|
|
130
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
131
|
+
<em class="icon-trash"></em>
|
|
132
|
+
</button>
|
|
121
133
|
</div>
|
|
122
134
|
</td>
|
|
123
135
|
</tr>
|
|
124
|
-
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row"
|
|
136
|
+
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
|
|
125
137
|
ng-class="{'selected table-info': $index === editedRuleIndex}">
|
|
126
|
-
<td>{{$index}}</td>
|
|
138
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
127
139
|
<td class="reorder-cell"></td>
|
|
128
140
|
<td class="data policy-cell">
|
|
129
|
-
<select ng-model="rule.policy" class="form-control form-control-sm">
|
|
141
|
+
<select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
130
142
|
<option selected>allow</option>
|
|
131
143
|
<option>deny</option>
|
|
132
144
|
</select>
|
|
133
145
|
</td>
|
|
134
146
|
<td class="data role-cell">
|
|
135
|
-
<
|
|
136
|
-
|
|
137
|
-
|
|
147
|
+
<textarea type="text" name="role" required
|
|
148
|
+
ng-model="rule.role"
|
|
149
|
+
ng-change="setDirty(activeTabScope)"
|
|
150
|
+
uppercased uppercase-placeholder="false"
|
|
151
|
+
custom-role-prefix auto-grow
|
|
152
|
+
autocomplete="off"
|
|
153
|
+
class="form-control form-control-sm textarea-edit"
|
|
154
|
+
placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
|
|
155
|
+
</textarea>
|
|
138
156
|
<em></em>
|
|
139
157
|
</td>
|
|
140
158
|
<td class="data operation-cell">
|
|
141
|
-
<select ng-model="rule.operation" class="form-control form-control-sm">
|
|
142
|
-
<option selected
|
|
159
|
+
<select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
160
|
+
<option selected>*</option>
|
|
161
|
+
<option>read</option>
|
|
143
162
|
<option>write</option>
|
|
144
163
|
</select>
|
|
145
164
|
</td>
|
|
146
165
|
<td class="data subject-cell">
|
|
147
|
-
<autocomplete ng-model="rule.subject" name="subject" required
|
|
166
|
+
<autocomplete ng-model="rule.subject" on-model-change="setDirty(activeTabScope)" name="subject" required
|
|
148
167
|
multiline="true"
|
|
149
168
|
autoexpand="true"
|
|
150
169
|
defaultresults="DEFAULT_URI_VALUES"
|
|
@@ -155,7 +174,7 @@
|
|
|
155
174
|
<em></em>
|
|
156
175
|
</td>
|
|
157
176
|
<td class="data predicate-cell">
|
|
158
|
-
<autocomplete ng-model="rule.predicate" name="predicate" required
|
|
177
|
+
<autocomplete ng-model="rule.predicate" on-model-change="setDirty(activeTabScope)" name="predicate" required
|
|
159
178
|
multiline="true"
|
|
160
179
|
autoexpand="true"
|
|
161
180
|
defaultresults="DEFAULT_URI_VALUES"
|
|
@@ -166,7 +185,7 @@
|
|
|
166
185
|
<em></em>
|
|
167
186
|
</td>
|
|
168
187
|
<td class="data object-cell">
|
|
169
|
-
<autocomplete ng-model="rule.object" name="object" required
|
|
188
|
+
<autocomplete ng-model="rule.object" on-model-change="setDirty(activeTabScope)" name="object" required
|
|
170
189
|
multiline="true"
|
|
171
190
|
autoexpand="true"
|
|
172
191
|
defaultresults="DEFAULT_URI_VALUES"
|
|
@@ -177,30 +196,32 @@
|
|
|
177
196
|
<em></em>
|
|
178
197
|
</td>
|
|
179
198
|
<td class="data context-cell">
|
|
180
|
-
<autocomplete ng-model="rule.context" name="context" required
|
|
199
|
+
<autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context" required
|
|
181
200
|
multiline="true"
|
|
182
201
|
autoexpand="true"
|
|
183
202
|
defaultresults="DEFAULT_CONTEXT_VALUES"
|
|
184
|
-
style-class="form-control form-control-sm
|
|
203
|
+
style-class="form-control form-control-sm"
|
|
185
204
|
namespaces="namespaces"
|
|
186
205
|
autocomplete-status-loader="getAutocompletePromise"
|
|
187
206
|
placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
|
|
188
207
|
<em></em>
|
|
189
208
|
</td>
|
|
190
209
|
<td class="actions-cell">
|
|
191
|
-
<
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
210
|
+
<div class="crud-actions-group">
|
|
211
|
+
<button ng-click="cancelEditing(activeTabScope, $index)"
|
|
212
|
+
class="btn btn-link cancel-rule-editing-btn"
|
|
213
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
|
|
214
|
+
<em class="icon-close"></em>
|
|
215
|
+
</button>
|
|
216
|
+
<button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
|
|
217
|
+
class="btn btn-link save-rule-btn"
|
|
218
|
+
ng-disabled="!ruleData.$valid"
|
|
219
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
|
|
220
|
+
<em class="icon-check"></em>
|
|
221
|
+
</button>
|
|
222
|
+
<em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
|
|
223
|
+
gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
|
|
224
|
+
</div>
|
|
204
225
|
</td>
|
|
205
226
|
</tr>
|
|
206
227
|
<tr ng-repeat-end ng-if="0"></tr>
|
|
@@ -226,18 +247,9 @@
|
|
|
226
247
|
<th scope="col" class="context-column">
|
|
227
248
|
{{'acl_management.rulestable.column.context' | translate}}
|
|
228
249
|
</th>
|
|
250
|
+
<th scope="col" class="empty-column"></th>
|
|
229
251
|
<th scope="col" class="actions-column"></th>
|
|
230
252
|
</tr>
|
|
231
|
-
<tr>
|
|
232
|
-
<th scope="colgroup" colspan="6" class="toolbar">
|
|
233
|
-
<div ng-if="editedRuleIndex === undefined" class="pull-right">
|
|
234
|
-
<button ng-click="addRule(activeTabScope, 0)" class="btn btn-link add-rule-btn"
|
|
235
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
236
|
-
<em class="icon-plus"></em>
|
|
237
|
-
</button>
|
|
238
|
-
</div>
|
|
239
|
-
</th>
|
|
240
|
-
</tr>
|
|
241
253
|
</thead>
|
|
242
254
|
<tbody>
|
|
243
255
|
<tr ng-if="!rulesModel.size(activeTabScope)">
|
|
@@ -246,9 +258,9 @@
|
|
|
246
258
|
</td>
|
|
247
259
|
</tr>
|
|
248
260
|
<tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
|
|
249
|
-
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row"
|
|
261
|
+
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
|
|
250
262
|
ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
|
|
251
|
-
<td class="index-cell">{{$index}}</td>
|
|
263
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
252
264
|
<td class="reorder-cell">
|
|
253
265
|
<span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
|
|
254
266
|
<button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
|
|
@@ -262,15 +274,23 @@
|
|
|
262
274
|
</button>
|
|
263
275
|
</span>
|
|
264
276
|
</td>
|
|
265
|
-
<td class="policy-cell data">
|
|
266
|
-
|
|
267
|
-
|
|
277
|
+
<td class="policy-cell data">
|
|
278
|
+
<span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
|
|
279
|
+
<em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
|
|
280
|
+
{{rule.policy}}
|
|
281
|
+
</span>
|
|
282
|
+
</td>
|
|
283
|
+
<td class="role-cell data">
|
|
284
|
+
<span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
|
|
285
|
+
<em></em>{{rule.roleWithoutCustomPrefix}}
|
|
286
|
+
</span>
|
|
287
|
+
</td>
|
|
288
|
+
<td class="context-cell data" ng-class="{'wildcard-cell': rule.context === '*', 'context-cell-special': !rule.context.startsWith('<') && rule.context !== '*'}">
|
|
289
|
+
{{rule.context}}
|
|
290
|
+
</td>
|
|
291
|
+
<td class="empty-cell"></td>
|
|
268
292
|
<td class="actions-cell">
|
|
269
293
|
<div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
|
|
270
|
-
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn"
|
|
271
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
272
|
-
<em class="icon-trash"></em>
|
|
273
|
-
</button>
|
|
274
294
|
<button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
|
|
275
295
|
gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
|
|
276
296
|
<em class="icon-edit"></em>
|
|
@@ -279,27 +299,37 @@
|
|
|
279
299
|
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
280
300
|
<em class="icon-plus"></em>
|
|
281
301
|
</button>
|
|
302
|
+
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
|
|
303
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
304
|
+
<em class="icon-trash"></em>
|
|
305
|
+
</button>
|
|
282
306
|
</div>
|
|
283
307
|
</td>
|
|
284
308
|
</tr>
|
|
285
|
-
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row"
|
|
309
|
+
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
|
|
286
310
|
ng-class="{'selected table-info': $index === editedRuleIndex}">
|
|
287
|
-
<td>{{$index}}</td>
|
|
311
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
288
312
|
<td class="reorder-cell"></td>
|
|
289
313
|
<td class="data policy-cell">
|
|
290
|
-
<select ng-model="rule.policy" class="form-control form-control-sm">
|
|
314
|
+
<select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
291
315
|
<option selected>allow</option>
|
|
292
316
|
<option>deny</option>
|
|
293
317
|
</select>
|
|
294
318
|
</td>
|
|
295
319
|
<td class="data role-cell">
|
|
296
|
-
<
|
|
297
|
-
|
|
298
|
-
|
|
320
|
+
<textarea type="text" name="role" required
|
|
321
|
+
ng-model="rule.role"
|
|
322
|
+
ng-change="setDirty(activeTabScope)"
|
|
323
|
+
uppercased uppercase-placeholder="false"
|
|
324
|
+
custom-role-prefix auto-grow
|
|
325
|
+
autocomplete="off" class="form-control form-control-sm textarea-edit"
|
|
326
|
+
rows="1"
|
|
327
|
+
placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
|
|
328
|
+
</textarea>
|
|
299
329
|
<em></em>
|
|
300
330
|
</td>
|
|
301
331
|
<td class="data context-cell">
|
|
302
|
-
<autocomplete ng-model="rule.context" name="context" required
|
|
332
|
+
<autocomplete ng-model="rule.context" on-model-change="setDirty(activeTabScope)" name="context" required
|
|
303
333
|
multiline="true"
|
|
304
334
|
autoexpand="true"
|
|
305
335
|
defaultresults="DEFAULT_CONTEXT_VALUES"
|
|
@@ -309,20 +339,23 @@
|
|
|
309
339
|
placeholder="{{'acl_management.rulestable.field_placeholders.context' | translate}}"></autocomplete>
|
|
310
340
|
<em></em>
|
|
311
341
|
</td>
|
|
342
|
+
<td class="empty-cell"></td>
|
|
312
343
|
<td class="actions-cell">
|
|
313
|
-
<
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
344
|
+
<div class="crud-actions-group">
|
|
345
|
+
<button ng-click="cancelEditing(activeTabScope, $index)"
|
|
346
|
+
class="btn btn-link cancel-rule-editing-btn"
|
|
347
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
|
|
348
|
+
<em class="icon-close"></em>
|
|
349
|
+
</button>
|
|
350
|
+
<button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
|
|
351
|
+
class="btn btn-link save-rule-btn"
|
|
352
|
+
ng-disabled="!ruleData.$valid"
|
|
353
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
|
|
354
|
+
<em class="icon-check"></em>
|
|
355
|
+
</button>
|
|
356
|
+
<em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
|
|
357
|
+
gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
|
|
358
|
+
</div>
|
|
326
359
|
</td>
|
|
327
360
|
</tr>
|
|
328
361
|
<tr ng-repeat-end ng-if="0"></tr>
|
|
@@ -351,18 +384,9 @@
|
|
|
351
384
|
<th scope="col" class="plugin-column">
|
|
352
385
|
{{'acl_management.rulestable.column.plugin' | translate}}
|
|
353
386
|
</th>
|
|
387
|
+
<th scope="col" class="empty-column"></th>
|
|
354
388
|
<th scope="col" class="actions-column"></th>
|
|
355
389
|
</tr>
|
|
356
|
-
<tr>
|
|
357
|
-
<th scope="colgroup" colspan="7" class="toolbar">
|
|
358
|
-
<div ng-if="editedRuleIndex === undefined" class="pull-right">
|
|
359
|
-
<button ng-click="addRule(activeTabScope, 0)" class="btn btn-link add-rule-btn"
|
|
360
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
361
|
-
<em class="icon-plus"></em>
|
|
362
|
-
</button>
|
|
363
|
-
</div>
|
|
364
|
-
</th>
|
|
365
|
-
</tr>
|
|
366
390
|
</thead>
|
|
367
391
|
<tbody>
|
|
368
392
|
<tr ng-if="!rulesModel.size(activeTabScope)">
|
|
@@ -371,9 +395,9 @@
|
|
|
371
395
|
</td>
|
|
372
396
|
</tr>
|
|
373
397
|
<tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
|
|
374
|
-
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row"
|
|
398
|
+
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
|
|
375
399
|
ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
|
|
376
|
-
<td class="index-cell">{{$index}}</td>
|
|
400
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
377
401
|
<td class="reorder-cell">
|
|
378
402
|
<span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
|
|
379
403
|
<button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
|
|
@@ -387,16 +411,29 @@
|
|
|
387
411
|
</button>
|
|
388
412
|
</span>
|
|
389
413
|
</td>
|
|
390
|
-
<td class="policy-cell data">
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
414
|
+
<td class="policy-cell data">
|
|
415
|
+
<span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
|
|
416
|
+
<em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
|
|
417
|
+
{{rule.policy}}
|
|
418
|
+
</span>
|
|
419
|
+
</td>
|
|
420
|
+
<td class="role-cell data">
|
|
421
|
+
<span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
|
|
422
|
+
{{rule.roleWithoutCustomPrefix}}
|
|
423
|
+
</span>
|
|
424
|
+
</td>
|
|
425
|
+
<td class="operation-cell data">
|
|
426
|
+
<span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
|
|
427
|
+
<em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
|
|
428
|
+
{{rule.operation}}
|
|
429
|
+
</span>
|
|
430
|
+
</td>
|
|
431
|
+
<td class="plugin-cell data" ng-class="{'wildcard-cell': rule.plugin === '*'}">
|
|
432
|
+
{{rule.plugin}}
|
|
433
|
+
</td>
|
|
434
|
+
<td class="empty-cell"></td>
|
|
394
435
|
<td class="actions-cell">
|
|
395
436
|
<div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
|
|
396
|
-
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn"
|
|
397
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
398
|
-
<em class="icon-trash"></em>
|
|
399
|
-
</button>
|
|
400
437
|
<button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
|
|
401
438
|
gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
|
|
402
439
|
<em class="icon-edit"></em>
|
|
@@ -405,55 +442,70 @@
|
|
|
405
442
|
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
406
443
|
<em class="icon-plus"></em>
|
|
407
444
|
</button>
|
|
445
|
+
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
|
|
446
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
447
|
+
<em class="icon-trash"></em>
|
|
448
|
+
</button>
|
|
408
449
|
</div>
|
|
409
450
|
</td>
|
|
410
451
|
</tr>
|
|
411
|
-
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row"
|
|
452
|
+
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
|
|
412
453
|
ng-class="{'selected table-info': $index === editedRuleIndex}">
|
|
413
|
-
<td>{{$index}}</td>
|
|
454
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
414
455
|
<td class="reorder-cell"></td>
|
|
415
456
|
<td class="data policy-cell">
|
|
416
|
-
<select ng-model="rule.policy" class="form-control form-control-sm">
|
|
457
|
+
<select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
417
458
|
<option selected>allow</option>
|
|
418
459
|
<option>deny</option>
|
|
419
460
|
</select>
|
|
420
461
|
</td>
|
|
421
462
|
<td class="data role-cell">
|
|
422
|
-
<
|
|
423
|
-
|
|
424
|
-
|
|
463
|
+
<textarea type="text" name="role" required
|
|
464
|
+
ng-model="rule.role"
|
|
465
|
+
ng-change="setDirty(activeTabScope)"
|
|
466
|
+
uppercased uppercase-placeholder="false"
|
|
467
|
+
custom-role-prefix auto-grow
|
|
468
|
+
autocomplete="off"
|
|
469
|
+
class="form-control form-control-sm textarea-edit"
|
|
470
|
+
placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
|
|
471
|
+
</textarea>
|
|
425
472
|
<em></em>
|
|
426
473
|
</td>
|
|
427
474
|
<td class="data operation-cell">
|
|
428
|
-
<select ng-model="rule.operation" class="form-control form-control-sm">
|
|
429
|
-
<option selected
|
|
475
|
+
<select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
476
|
+
<option selected>*</option>
|
|
477
|
+
<option>read</option>
|
|
430
478
|
<option>write</option>
|
|
431
479
|
</select>
|
|
432
480
|
</td>
|
|
433
481
|
<td class="data plugin-cell">
|
|
434
|
-
<
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
482
|
+
<textarea type="text" name="plugin" required
|
|
483
|
+
ng-model="rule.plugin"
|
|
484
|
+
ng-change="setDirty(activeTabScope)"
|
|
485
|
+
auto-grow
|
|
486
|
+
autocomplete="off"
|
|
487
|
+
class="form-control form-control-sm textarea-edit"
|
|
488
|
+
placeholder="{{'acl_management.rulestable.field_placeholders.plugin' | translate}}">
|
|
489
|
+
</textarea>
|
|
441
490
|
<em></em>
|
|
442
491
|
</td>
|
|
492
|
+
<td class="empty-cell"></td>
|
|
443
493
|
<td class="actions-cell">
|
|
444
|
-
<
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
494
|
+
<div class="crud-actions-group">
|
|
495
|
+
<button ng-click="cancelEditing(activeTabScope, $index)"
|
|
496
|
+
class="btn btn-link cancel-rule-editing-btn"
|
|
497
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
|
|
498
|
+
<em class="icon-close"></em>
|
|
499
|
+
</button>
|
|
500
|
+
<button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
|
|
501
|
+
class="btn btn-link save-rule-btn"
|
|
502
|
+
ng-disabled="!ruleData.$valid"
|
|
503
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
|
|
504
|
+
<em class="icon-check"></em>
|
|
505
|
+
</button>
|
|
506
|
+
<em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
|
|
507
|
+
gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
|
|
508
|
+
</div>
|
|
457
509
|
</td>
|
|
458
510
|
</tr>
|
|
459
511
|
<tr ng-repeat-end ng-if="0"></tr>
|
|
@@ -479,29 +531,20 @@
|
|
|
479
531
|
<th scope="col" class="operation-column">
|
|
480
532
|
{{'acl_management.rulestable.column.operation' | translate}}
|
|
481
533
|
</th>
|
|
534
|
+
<th scope="col" class="empty-column"></th>
|
|
482
535
|
<th scope="col" class="actions-column"></th>
|
|
483
536
|
</tr>
|
|
484
|
-
<tr>
|
|
485
|
-
<th scope="colgroup" colspan="6" class="toolbar">
|
|
486
|
-
<div ng-if="editedRuleIndex === undefined" class="pull-right">
|
|
487
|
-
<button ng-click="addRule(activeTabScope, 0)" class="btn btn-link add-rule-btn"
|
|
488
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
489
|
-
<em class="icon-plus"></em>
|
|
490
|
-
</button>
|
|
491
|
-
</div>
|
|
492
|
-
</th>
|
|
493
|
-
</tr>
|
|
494
537
|
</thead>
|
|
495
538
|
<tbody>
|
|
496
539
|
<tr ng-if="!rulesModel.size(activeTabScope)">
|
|
497
|
-
<td colspan="
|
|
540
|
+
<td colspan="7" class="no-data">
|
|
498
541
|
{{'acl_management.rulestable.messages.no_data' | translate}}
|
|
499
542
|
</td>
|
|
500
543
|
</tr>
|
|
501
544
|
<tr ng-repeat-start="rule in rulesModel.getRulesByScope(activeTabScope) track by $index" ng-if="0"></tr>
|
|
502
|
-
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row"
|
|
545
|
+
<tr ng-if="$index !== editedRuleIndex" class="acl-rule preview-rule-row" capture-height="$index"
|
|
503
546
|
ng-class="{'selected': $index === selectedRule || $index === editedRuleIndex}">
|
|
504
|
-
<td class="index-cell">{{$index}}</td>
|
|
547
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
505
548
|
<td class="reorder-cell">
|
|
506
549
|
<span ng-if="editedRuleIndex === undefined" class="reorder-actions-group">
|
|
507
550
|
<button ng-click="moveUp(activeTabScope, $index)" ng-if="$index > 0" class="btn btn-link move-up-btn"
|
|
@@ -515,15 +558,26 @@
|
|
|
515
558
|
</button>
|
|
516
559
|
</span>
|
|
517
560
|
</td>
|
|
518
|
-
<td class="policy-cell data">
|
|
519
|
-
|
|
520
|
-
|
|
561
|
+
<td class="policy-cell data">
|
|
562
|
+
<span class="acl-tag" ng-class="{'acl-tag-allow': rule.policy === 'allow','acl-tag-deny': rule.policy === 'deny'}">
|
|
563
|
+
<em ng-class="{'icon-tick': rule.policy === 'allow','fa fa-ban': rule.policy === 'deny'}"></em>
|
|
564
|
+
{{rule.policy}}
|
|
565
|
+
</span>
|
|
566
|
+
</td>
|
|
567
|
+
<td class="role-cell data">
|
|
568
|
+
<span class="acl-tag" ng-class="rule.roleWithoutCustomPrefix[0] === '!' ? 'acl-tag-role-negated' : 'acl-tag-role'">
|
|
569
|
+
{{rule.roleWithoutCustomPrefix}}
|
|
570
|
+
</span>
|
|
571
|
+
</td>
|
|
572
|
+
<td class="operation-cell data">
|
|
573
|
+
<span class="acl-tag" ng-class="{'wildcard-cell': rule.operation === '*', 'acl-tag-read': rule.operation === 'read','acl-tag-write': rule.operation === 'write'}">
|
|
574
|
+
<em ng-class="{'icon-eye': rule.operation === 'read', 'icon-edit': rule.operation === 'write'}"></em>
|
|
575
|
+
{{rule.operation}}
|
|
576
|
+
</span>
|
|
577
|
+
</td>
|
|
578
|
+
<td class="empty-cell"></td>
|
|
521
579
|
<td class="actions-cell">
|
|
522
580
|
<div ng-if="editedRuleIndex === undefined" class="crud-actions-group">
|
|
523
|
-
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn"
|
|
524
|
-
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
525
|
-
<em class="icon-trash"></em>
|
|
526
|
-
</button>
|
|
527
581
|
<button ng-click="editRule(activeTabScope, $index)" class="btn btn-link edit-rule-btn"
|
|
528
582
|
gdb-tooltip="{{'acl_management.rulestable.actions.edit_rule' | translate}}">
|
|
529
583
|
<em class="icon-edit"></em>
|
|
@@ -532,45 +586,59 @@
|
|
|
532
586
|
gdb-tooltip="{{'acl_management.rulestable.actions.add_rule' | translate}}">
|
|
533
587
|
<em class="icon-plus"></em>
|
|
534
588
|
</button>
|
|
589
|
+
<button ng-click="deleteRule(activeTabScope, $index)" class="btn btn-link delete-rule-btn secondary"
|
|
590
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.delete_rule' | translate}}">
|
|
591
|
+
<em class="icon-trash"></em>
|
|
592
|
+
</button>
|
|
535
593
|
</div>
|
|
536
594
|
</td>
|
|
537
595
|
</tr>
|
|
538
|
-
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row"
|
|
596
|
+
<tr ng-if="$index === editedRuleIndex" class="acl-rule edit-rule-row" style="{{getRowHeight}}"
|
|
539
597
|
ng-class="{'selected table-info': $index === editedRuleIndex}">
|
|
540
|
-
<td>{{$index}}</td>
|
|
598
|
+
<td class="index-cell">{{$index + 1}}</td>
|
|
541
599
|
<td class="reorder-cell"></td>
|
|
542
600
|
<td class="data policy-cell">
|
|
543
|
-
<select ng-model="rule.policy" class="form-control form-control-sm">
|
|
601
|
+
<select ng-model="rule.policy" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
544
602
|
<option selected>allow</option>
|
|
545
603
|
<option>deny</option>
|
|
546
604
|
</select>
|
|
547
605
|
</td>
|
|
548
606
|
<td class="data role-cell">
|
|
549
|
-
<
|
|
550
|
-
|
|
551
|
-
|
|
607
|
+
<textarea type="text" name="role" required
|
|
608
|
+
ng-model="rule.role"
|
|
609
|
+
ng-change="setDirty(activeTabScope)"
|
|
610
|
+
uppercased uppercase-placeholder="false"
|
|
611
|
+
custom-role-prefix auto-grow
|
|
612
|
+
autocomplete="off"
|
|
613
|
+
class="form-control form-control-sm textarea-edit"
|
|
614
|
+
placeholder="{{'acl_management.rulestable.field_placeholders.role' | translate}}">
|
|
615
|
+
</textarea>
|
|
552
616
|
<em></em>
|
|
553
617
|
</td>
|
|
554
618
|
<td class="data operation-cell">
|
|
555
|
-
<select ng-model="rule.operation" class="form-control form-control-sm">
|
|
556
|
-
<option selected
|
|
619
|
+
<select ng-model="rule.operation" ng-change="setDirty(activeTabScope)" class="form-control form-control-sm select-rule">
|
|
620
|
+
<option selected>*</option>
|
|
621
|
+
<option>read</option>
|
|
557
622
|
<option>write</option>
|
|
558
623
|
</select>
|
|
559
624
|
</td>
|
|
625
|
+
<td class="empty-cell"></td>
|
|
560
626
|
<td class="actions-cell">
|
|
561
|
-
<
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
627
|
+
<div class="crud-actions-group">
|
|
628
|
+
<button ng-click="cancelEditing(activeTabScope, $index)"
|
|
629
|
+
class="btn btn-link cancel-rule-editing-btn"
|
|
630
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.cancel_rule_editing' | translate}}">
|
|
631
|
+
<em class="icon-close"></em>
|
|
632
|
+
</button>
|
|
633
|
+
<button ng-if="ruleData.$valid" ng-click="saveRule(activeTabScope)"
|
|
634
|
+
class="btn btn-link save-rule-btn"
|
|
635
|
+
ng-disabled="!ruleData.$valid"
|
|
636
|
+
gdb-tooltip="{{'acl_management.rulestable.actions.apply_rule' | translate}}">
|
|
637
|
+
<em class="icon-check"></em>
|
|
638
|
+
</button>
|
|
639
|
+
<em ng-if="!ruleData.$valid" class="icon-check icon-lg save-rule-disabled-btn"
|
|
640
|
+
gdb-tooltip="{{'acl_management.rulestable.messages.invalid_form' | translate}}"></em>
|
|
641
|
+
</div>
|
|
574
642
|
</td>
|
|
575
643
|
</tr>
|
|
576
644
|
<tr ng-repeat-end ng-if="0"></tr>
|