diff options
author | Yoshie Muranaka <yoshiemuranaka@gmail.com> | 2020-01-06 18:36:16 +0300 |
---|---|---|
committer | Yoshie Muranaka <yoshiemuranaka@gmail.com> | 2020-01-31 01:33:12 +0300 |
commit | 4b0fc1dbb3f60a485d3ba7ec27d7654a8ea0d382 (patch) | |
tree | 0b2c344755c9c0c58681b95c4d452d661267fbda /src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue | |
parent | 6109113cc9e7e481b6f37b25c329ac64fcb7dbfc (diff) | |
download | webui-vue-4b0fc1dbb3f60a485d3ba7ec27d7654a8ea0d382.tar.xz |
Update local user layout and styles
Resubmitting after reverted–original commit here
https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28790
- Add BVConfig plugin to modify boostrap component
defaults
- Add vuelidate
- Add package and basic validations to user form
- Add all user form validations
- Add checks for edit user
- Create VuelidateMixin for shared methods
- Update Login to use Vuelidate
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: Ib50ee4d1fb5f14637c9460e77f0682869a86ac8a
Diffstat (limited to 'src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue')
-rw-r--r-- | src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue | 51 |
1 files changed, 32 insertions, 19 deletions
diff --git a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue index 6ca43f32..b81dba67 100644 --- a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue +++ b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue @@ -2,8 +2,8 @@ <b-container class="ml-0"> <PageTitle /> <b-row> - <b-col lg="10"> - <b-button @click="initModalSettings" variant="link"> + <b-col lg="10" class="text-right"> + <b-button variant="link" @click="initModalSettings"> Account policy settings <icon-settings /> </b-button> @@ -15,11 +15,11 @@ </b-row> <b-row> <b-col lg="10"> - <b-table bordered show-empty head-variant="dark" :items="tableItems"> - <template v-slot:head(actions)="data"></template> + <b-table show-empty :fields="fields" :items="tableItems"> <template v-slot:cell(actions)="data"> <b-button aria-label="Edit user" + title="Edit user" variant="link" :disabled="!data.value.edit" @click="initModalUser(data.item)" @@ -28,6 +28,7 @@ </b-button> <b-button aria-label="Delete user" + title="Delete user" variant="link" :disabled="!data.value.delete" @click="initModalDelete(data.item)" @@ -42,6 +43,7 @@ <b-col lg="8"> <b-button v-b-toggle.collapse-role-table variant="link" class="mt-3"> View privilege role descriptions + <icon-chevron /> </b-button> <b-collapse id="collapse-role-table" class="mt-3"> <table-roles /> @@ -49,12 +51,8 @@ </b-col> </b-row> <!-- Modals --> - <modal-settings v-bind:settings="settings"></modal-settings> - <modal-user - v-bind:user="activeUser" - @ok="saveUser" - @hidden="clearActiveUser" - ></modal-user> + <modal-settings :settings="settings"></modal-settings> + <modal-user :user="activeUser" @ok="saveUser"></modal-user> </b-container> </template> @@ -63,6 +61,7 @@ import IconTrashcan from '@carbon/icons-vue/es/trash-can/20'; import IconEdit from '@carbon/icons-vue/es/edit/20'; import IconAdd from '@carbon/icons-vue/es/add--alt/20'; import IconSettings from '@carbon/icons-vue/es/settings/20'; +import IconChevron from '@carbon/icons-vue/es/chevron--up/20'; import TableRoles from './TableRoles'; import ModalUser from './ModalUser'; @@ -73,6 +72,7 @@ export default { name: 'local-users', components: { IconAdd, + IconChevron, IconEdit, IconSettings, IconTrashcan, @@ -84,7 +84,17 @@ export default { data() { return { activeUser: null, - settings: null + settings: null, + fields: [ + 'username', + 'privilege', + 'status', + { + key: 'actions', + label: '', + tdClass: 'table-cell__actions' + } + ] }; }, created() { @@ -108,7 +118,8 @@ export default { actions: { edit: true, delete: user.UserName === 'root' ? false : true - } + }, + ...user }; }); } @@ -143,18 +154,15 @@ export default { // fetch settings then show modal } }, - saveUser({ newUser, form }) { - if (newUser) { - this.$store.dispatch('localUsers/createUser', form); + saveUser({ isNewUser, userData }) { + if (isNewUser) { + this.$store.dispatch('localUsers/createUser', userData); } else { - this.$store.dispatch('localUsers/updateUser', form); + this.$store.dispatch('localUsers/updateUser', userData); } }, deleteUser({ username }) { this.$store.dispatch('localUsers/deleteUser', username); - }, - clearActiveUser() { - this.activeUser = null; } } }; @@ -164,4 +172,9 @@ export default { h1 { margin-bottom: 2rem; } +.btn.collapsed { + svg { + transform: rotate(180deg); + } +} </style> |