|
181 | 181 | :label="t('libresign', 'Search rules')" |
182 | 182 | :placeholder="t('libresign', 'Search by scope, target, or value')" |
183 | 183 | @update:modelValue="onCrudSearchChange" /> |
184 | | - <div class="policy-workbench__filter-inline"> |
185 | | - <label class="policy-workbench__filter-option"> |
186 | | - <input type="radio" name="crudScope" :checked="crudScopeFilter === 'all'" @change="setCrudScopeFilter('all', true)" /> |
187 | | - <span>{{ t('libresign', 'All scopes') }}</span> |
188 | | - </label> |
189 | | - <label class="policy-workbench__filter-option"> |
190 | | - <input type="radio" name="crudScope" :checked="crudScopeFilter === 'system'" @change="setCrudScopeFilter('system', true)" /> |
191 | | - <span>{{ t('libresign', 'Instance') }}</span> |
192 | | - </label> |
193 | | - <label class="policy-workbench__filter-option"> |
194 | | - <input type="radio" name="crudScope" :checked="crudScopeFilter === 'group'" @change="setCrudScopeFilter('group', true)" /> |
195 | | - <span>{{ t('libresign', 'Group') }}</span> |
196 | | - </label> |
197 | | - <label class="policy-workbench__filter-option"> |
198 | | - <input type="radio" name="crudScope" :checked="crudScopeFilter === 'user'" @change="setCrudScopeFilter('user', true)" /> |
199 | | - <span>{{ t('libresign', 'User') }}</span> |
200 | | - </label> |
| 184 | + <div class="policy-workbench__scope-filter"> |
| 185 | + <p class="policy-workbench__scope-filter-label">{{ t('libresign', 'Filter table by scope') }}</p> |
| 186 | + <div class="policy-workbench__filter-inline"> |
| 187 | + <label class="policy-workbench__filter-option"> |
| 188 | + <input type="radio" name="crudScope" :checked="crudScopeFilter === 'all'" @change="setCrudScopeFilter('all', true)" /> |
| 189 | + <span>{{ t('libresign', 'All scopes') }}</span> |
| 190 | + </label> |
| 191 | + <label class="policy-workbench__filter-option"> |
| 192 | + <input type="radio" name="crudScope" :checked="crudScopeFilter === 'system'" @change="setCrudScopeFilter('system', true)" /> |
| 193 | + <span>{{ t('libresign', 'Instance') }}</span> |
| 194 | + </label> |
| 195 | + <label class="policy-workbench__filter-option"> |
| 196 | + <input type="radio" name="crudScope" :checked="crudScopeFilter === 'group'" @change="setCrudScopeFilter('group', true)" /> |
| 197 | + <span>{{ t('libresign', 'Group') }}</span> |
| 198 | + </label> |
| 199 | + <label class="policy-workbench__filter-option"> |
| 200 | + <input type="radio" name="crudScope" :checked="crudScopeFilter === 'user'" @change="setCrudScopeFilter('user', true)" /> |
| 201 | + <span>{{ t('libresign', 'User') }}</span> |
| 202 | + </label> |
| 203 | + </div> |
201 | 204 | </div> |
202 | 205 | <div v-if="state.viewMode === 'system-admin'" class="policy-workbench__crud-create"> |
203 | 206 | <NcButton variant="primary" size="small" :disabled="!hasCreatableScope" :title="createRuleDisabledReason || undefined" @click="requestCreateRule()"> |
@@ -1027,6 +1030,21 @@ onBeforeUnmount(() => { |
1027 | 1030 | color: var(--color-text-maxcontrast); |
1028 | 1031 | } |
1029 | 1032 |
|
| 1033 | + &__scope-filter { |
| 1034 | + display: flex; |
| 1035 | + flex-direction: column; |
| 1036 | + gap: 0.25rem; |
| 1037 | + } |
| 1038 | +
|
| 1039 | + &__scope-filter-label { |
| 1040 | + margin: 0; |
| 1041 | + font-size: 0.78rem; |
| 1042 | + font-weight: 600; |
| 1043 | + letter-spacing: 0.01em; |
| 1044 | + text-transform: uppercase; |
| 1045 | + color: var(--color-text-maxcontrast); |
| 1046 | + } |
| 1047 | +
|
1030 | 1048 | &__settings-grid { |
1031 | 1049 | margin-top: 1rem; |
1032 | 1050 | display: grid; |
|
0 commit comments