From 5fa09a25c207d13ec1c9a8df92fc058f15a872e1 Mon Sep 17 00:00:00 2001 From: Yoshie Muranaka Date: Mon, 6 Jan 2020 07:36:16 -0800 Subject: Update local user layout and styles - 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 Signed-off-by: Yoshie Muranaka Signed-off-by: Derick Montague Change-Id: I301a65071c5cdbe16f10ce6a2a6bfa1b2516dc3d --- .../LocalUserManagement/LocalUserManagement.vue | 47 ++-- .../LocalUserManagement/ModalUser.vue | 269 ++++++++++++++++++--- .../LocalUserManagement/TableRoles.vue | 2 +- 3 files changed, 261 insertions(+), 57 deletions(-) (limited to 'src/views/AccessControl/LocalUserManagement') diff --git a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue index b016dcc6..0ca3428d 100644 --- a/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue +++ b/src/views/AccessControl/LocalUserManagement/LocalUserManagement.vue @@ -2,7 +2,7 @@ - + Account policy settings @@ -15,11 +15,11 @@ - - + @@ -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: 'LocalUsers', 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' + } + ] }; }, computed: { @@ -105,7 +115,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); + } +} diff --git a/src/views/AccessControl/LocalUserManagement/ModalUser.vue b/src/views/AccessControl/LocalUserManagement/ModalUser.vue index d84fb6d5..59e57062 100644 --- a/src/views/AccessControl/LocalUserManagement/ModalUser.vue +++ b/src/views/AccessControl/LocalUserManagement/ModalUser.vue @@ -1,9 +1,5 @@