AdminDelegating.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <template>
  2. <NcSettingsSection :name="t('settings', 'Administration privileges')"
  3. :description="t('settings', 'Here you can decide which group can access certain sections of the administration settings.')"
  4. :doc-url="authorizedSettingsDocLink">
  5. <div class="setting-list">
  6. <div v-for="setting in availableSettings" :key="setting.class">
  7. <label :for="setting.id">{{ setting.sectionName }}</label>
  8. <GroupSelect :available-groups="availableGroups" :authorized-groups="authorizedGroups" :setting="setting" />
  9. </div>
  10. </div>
  11. </NcSettingsSection>
  12. </template>
  13. <script>
  14. import GroupSelect from './AdminDelegation/GroupSelect.vue'
  15. import NcSettingsSection from '@nextcloud/vue/dist/Components/NcSettingsSection.js'
  16. import { loadState } from '@nextcloud/initial-state'
  17. export default {
  18. name: 'AdminDelegating',
  19. components: {
  20. GroupSelect,
  21. NcSettingsSection,
  22. },
  23. data() {
  24. return {
  25. availableSettings: loadState('settings', 'available-settings'),
  26. availableGroups: loadState('settings', 'available-groups'),
  27. authorizedGroups: loadState('settings', 'authorized-groups'),
  28. authorizedSettingsDocLink: loadState('settings', 'authorized-settings-doc-link'),
  29. }
  30. },
  31. }
  32. </script>
  33. <style lang="scss" scoped>
  34. label {
  35. display: block;
  36. font-size: 16px;
  37. margin: 12px 0;
  38. color: var(--color-text-light);
  39. }
  40. </style>