1b440616cSSandeepa Singh<template> 2b440616cSSandeepa Singh <b-container fluid="xl"> 3b440616cSSandeepa Singh <page-title /> 4b440616cSSandeepa Singh <b-row> 5b440616cSSandeepa Singh <b-col xl="9" class="text-right"> 6b440616cSSandeepa Singh <b-button variant="link" @click="initModalSettings"> 7b440616cSSandeepa Singh <icon-settings /> 8b440616cSSandeepa Singh {{ $t('pageUserManagement.accountPolicySettings') }} 9b440616cSSandeepa Singh </b-button> 10b440616cSSandeepa Singh <b-button 11b440616cSSandeepa Singh variant="primary" 12b440616cSSandeepa Singh data-test-id="userManagement-button-addUser" 13b440616cSSandeepa Singh @click="initModalUser(null)" 14b440616cSSandeepa Singh > 15b440616cSSandeepa Singh <icon-add /> 16b440616cSSandeepa Singh {{ $t('pageUserManagement.addUser') }} 17b440616cSSandeepa Singh </b-button> 18b440616cSSandeepa Singh </b-col> 19b440616cSSandeepa Singh </b-row> 20b440616cSSandeepa Singh <b-row> 21b440616cSSandeepa Singh <b-col xl="9"> 22b440616cSSandeepa Singh <table-toolbar 23b440616cSSandeepa Singh ref="toolbar" 24b440616cSSandeepa Singh :selected-items-count="selectedRows.length" 25b440616cSSandeepa Singh :actions="tableToolbarActions" 26b440616cSSandeepa Singh @clear-selected="clearSelectedRows($refs.table)" 27b440616cSSandeepa Singh @batch-action="onBatchAction" 28b440616cSSandeepa Singh /> 29b440616cSSandeepa Singh <b-table 30b440616cSSandeepa Singh ref="table" 31b440616cSSandeepa Singh responsive="md" 32b440616cSSandeepa Singh selectable 33b440616cSSandeepa Singh show-empty 34b440616cSSandeepa Singh no-select-on-click 35b440616cSSandeepa Singh hover 3641057853SKenneth Fullbright :busy="isBusy" 37b440616cSSandeepa Singh :fields="fields" 38b440616cSSandeepa Singh :items="tableItems" 39b440616cSSandeepa Singh :empty-text="$t('global.table.emptyMessage')" 40b440616cSSandeepa Singh @row-selected="onRowSelected($event, tableItems.length)" 41b440616cSSandeepa Singh > 42b440616cSSandeepa Singh <!-- Checkbox column --> 43b440616cSSandeepa Singh <template #head(checkbox)> 44b440616cSSandeepa Singh <b-form-checkbox 45b440616cSSandeepa Singh v-model="tableHeaderCheckboxModel" 46b440616cSSandeepa Singh data-test-id="userManagement-checkbox-tableHeaderCheckbox" 47b440616cSSandeepa Singh :indeterminate="tableHeaderCheckboxIndeterminate" 48b440616cSSandeepa Singh @change="onChangeHeaderCheckbox($refs.table)" 49b440616cSSandeepa Singh > 50b440616cSSandeepa Singh <span class="sr-only">{{ $t('global.table.selectAll') }}</span> 51b440616cSSandeepa Singh </b-form-checkbox> 52b440616cSSandeepa Singh </template> 53b440616cSSandeepa Singh <template #cell(checkbox)="row"> 54b440616cSSandeepa Singh <b-form-checkbox 55b440616cSSandeepa Singh v-model="row.rowSelected" 56b440616cSSandeepa Singh data-test-id="userManagement-checkbox-toggleSelectRow" 57b440616cSSandeepa Singh @change="toggleSelectRow($refs.table, row.index)" 58b440616cSSandeepa Singh > 59b440616cSSandeepa Singh <span class="sr-only">{{ $t('global.table.selectItem') }}</span> 60b440616cSSandeepa Singh </b-form-checkbox> 61b440616cSSandeepa Singh </template> 62b440616cSSandeepa Singh 63b440616cSSandeepa Singh <!-- table actions column --> 64b440616cSSandeepa Singh <template #cell(actions)="{ item }"> 65b440616cSSandeepa Singh <table-row-action 66b440616cSSandeepa Singh v-for="(action, index) in item.actions" 67b440616cSSandeepa Singh :key="index" 68b440616cSSandeepa Singh :value="action.value" 69b440616cSSandeepa Singh :enabled="action.enabled" 70b440616cSSandeepa Singh :title="action.title" 71b440616cSSandeepa Singh @click-table-action="onTableRowAction($event, item)" 72b440616cSSandeepa Singh > 73b440616cSSandeepa Singh <template #icon> 74b440616cSSandeepa Singh <icon-edit 75b440616cSSandeepa Singh v-if="action.value === 'edit'" 76b440616cSSandeepa Singh :data-test-id="`userManagement-tableRowAction-edit-${index}`" 77b440616cSSandeepa Singh /> 78b440616cSSandeepa Singh <icon-trashcan 79b440616cSSandeepa Singh v-if="action.value === 'delete'" 80b440616cSSandeepa Singh :data-test-id="`userManagement-tableRowAction-delete-${index}`" 81b440616cSSandeepa Singh /> 82b440616cSSandeepa Singh </template> 83b440616cSSandeepa Singh </table-row-action> 84b440616cSSandeepa Singh </template> 85b440616cSSandeepa Singh </b-table> 86b440616cSSandeepa Singh </b-col> 87b440616cSSandeepa Singh </b-row> 88b440616cSSandeepa Singh <b-row> 89b440616cSSandeepa Singh <b-col xl="8"> 90b440616cSSandeepa Singh <b-button 91b440616cSSandeepa Singh v-b-toggle.collapse-role-table 92b440616cSSandeepa Singh data-test-id="userManagement-button-viewPrivilegeRoleDescriptions" 93b440616cSSandeepa Singh variant="link" 94b440616cSSandeepa Singh class="mt-3" 95b440616cSSandeepa Singh > 96b440616cSSandeepa Singh <icon-chevron /> 97b440616cSSandeepa Singh {{ $t('pageUserManagement.viewPrivilegeRoleDescriptions') }} 98b440616cSSandeepa Singh </b-button> 99b440616cSSandeepa Singh <b-collapse id="collapse-role-table" class="mt-3"> 100b440616cSSandeepa Singh <table-roles /> 101b440616cSSandeepa Singh </b-collapse> 102b440616cSSandeepa Singh </b-col> 103b440616cSSandeepa Singh </b-row> 104b440616cSSandeepa Singh <!-- Modals --> 1056ad19aacSkirankumarb07 <modal-settings :settings="setting" @ok="saveAccountSettings" /> 106b440616cSSandeepa Singh <modal-user 107b440616cSSandeepa Singh :user="activeUser" 108b440616cSSandeepa Singh :password-requirements="passwordRequirements" 109b440616cSSandeepa Singh @ok="saveUser" 110b440616cSSandeepa Singh @hidden="activeUser = null" 111b440616cSSandeepa Singh /> 112b440616cSSandeepa Singh </b-container> 113b440616cSSandeepa Singh</template> 114b440616cSSandeepa Singh 115b440616cSSandeepa Singh<script> 116b440616cSSandeepa Singhimport IconTrashcan from '@carbon/icons-vue/es/trash-can/20'; 117b440616cSSandeepa Singhimport IconEdit from '@carbon/icons-vue/es/edit/20'; 118b440616cSSandeepa Singhimport IconAdd from '@carbon/icons-vue/es/add--alt/20'; 119b440616cSSandeepa Singhimport IconSettings from '@carbon/icons-vue/es/settings/20'; 120b440616cSSandeepa Singhimport IconChevron from '@carbon/icons-vue/es/chevron--up/20'; 121b440616cSSandeepa Singh 122b440616cSSandeepa Singhimport ModalUser from './ModalUser'; 123b440616cSSandeepa Singhimport ModalSettings from './ModalSettings'; 124b440616cSSandeepa Singhimport PageTitle from '@/components/Global/PageTitle'; 125b440616cSSandeepa Singhimport TableRoles from './TableRoles'; 126b440616cSSandeepa Singhimport TableToolbar from '@/components/Global/TableToolbar'; 127b440616cSSandeepa Singhimport TableRowAction from '@/components/Global/TableRowAction'; 128b440616cSSandeepa Singh 129b440616cSSandeepa Singhimport BVTableSelectableMixin, { 130b440616cSSandeepa Singh selectedRows, 131b440616cSSandeepa Singh tableHeaderCheckboxModel, 132b440616cSSandeepa Singh tableHeaderCheckboxIndeterminate, 133b440616cSSandeepa Singh} from '@/components/Mixins/BVTableSelectableMixin'; 134b440616cSSandeepa Singhimport BVToastMixin from '@/components/Mixins/BVToastMixin'; 135b440616cSSandeepa Singhimport LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; 136de23ea23SSurya Vimport { useI18n } from 'vue-i18n'; 137de23ea23SSurya Vimport i18n from '@/i18n'; 138b440616cSSandeepa Singh 139b440616cSSandeepa Singhexport default { 140b440616cSSandeepa Singh name: 'UserManagement', 141b440616cSSandeepa Singh components: { 142b440616cSSandeepa Singh IconAdd, 143b440616cSSandeepa Singh IconChevron, 144b440616cSSandeepa Singh IconEdit, 145b440616cSSandeepa Singh IconSettings, 146b440616cSSandeepa Singh IconTrashcan, 147b440616cSSandeepa Singh ModalSettings, 148b440616cSSandeepa Singh ModalUser, 149b440616cSSandeepa Singh PageTitle, 150b440616cSSandeepa Singh TableRoles, 151b440616cSSandeepa Singh TableRowAction, 152b440616cSSandeepa Singh TableToolbar, 153b440616cSSandeepa Singh }, 154b440616cSSandeepa Singh mixins: [BVTableSelectableMixin, BVToastMixin, LoadingBarMixin], 155b440616cSSandeepa Singh beforeRouteLeave(to, from, next) { 156b440616cSSandeepa Singh this.hideLoader(); 157b440616cSSandeepa Singh next(); 158b440616cSSandeepa Singh }, 159b440616cSSandeepa Singh data() { 160b440616cSSandeepa Singh return { 161de23ea23SSurya V $t: useI18n().t, 16241057853SKenneth Fullbright isBusy: true, 163b440616cSSandeepa Singh activeUser: null, 1646ad19aacSkirankumarb07 setting: {}, 165b440616cSSandeepa Singh fields: [ 166b440616cSSandeepa Singh { 167b440616cSSandeepa Singh key: 'checkbox', 168b440616cSSandeepa Singh }, 169b440616cSSandeepa Singh { 170b440616cSSandeepa Singh key: 'username', 171de23ea23SSurya V label: i18n.global.t('pageUserManagement.table.username'), 172b440616cSSandeepa Singh }, 173b440616cSSandeepa Singh { 174b440616cSSandeepa Singh key: 'privilege', 175de23ea23SSurya V label: i18n.global.t('pageUserManagement.table.privilege'), 176b440616cSSandeepa Singh }, 177b440616cSSandeepa Singh { 178b440616cSSandeepa Singh key: 'status', 179de23ea23SSurya V label: i18n.global.t('pageUserManagement.table.status'), 180b440616cSSandeepa Singh }, 181b440616cSSandeepa Singh { 182b440616cSSandeepa Singh key: 'actions', 183b440616cSSandeepa Singh label: '', 184b440616cSSandeepa Singh tdClass: 'text-right text-nowrap', 185b440616cSSandeepa Singh }, 186b440616cSSandeepa Singh ], 187b440616cSSandeepa Singh tableToolbarActions: [ 188b440616cSSandeepa Singh { 189b440616cSSandeepa Singh value: 'delete', 190de23ea23SSurya V label: i18n.global.t('global.action.delete'), 191b440616cSSandeepa Singh }, 192b440616cSSandeepa Singh { 193b440616cSSandeepa Singh value: 'enable', 194de23ea23SSurya V label: i18n.global.t('global.action.enable'), 195b440616cSSandeepa Singh }, 196b440616cSSandeepa Singh { 197b440616cSSandeepa Singh value: 'disable', 198de23ea23SSurya V label: i18n.global.t('global.action.disable'), 199b440616cSSandeepa Singh }, 200b440616cSSandeepa Singh ], 201b440616cSSandeepa Singh selectedRows: selectedRows, 202b440616cSSandeepa Singh tableHeaderCheckboxModel: tableHeaderCheckboxModel, 203b440616cSSandeepa Singh tableHeaderCheckboxIndeterminate: tableHeaderCheckboxIndeterminate, 204b440616cSSandeepa Singh }; 205b440616cSSandeepa Singh }, 206b440616cSSandeepa Singh computed: { 207b440616cSSandeepa Singh allUsers() { 208b440616cSSandeepa Singh return this.$store.getters['userManagement/allUsers']; 209b440616cSSandeepa Singh }, 210b440616cSSandeepa Singh tableItems() { 211b440616cSSandeepa Singh // transform user data to table data 212b440616cSSandeepa Singh return this.allUsers.map((user) => { 213b440616cSSandeepa Singh return { 214b440616cSSandeepa Singh username: user.UserName, 215b440616cSSandeepa Singh privilege: user.RoleId, 216b440616cSSandeepa Singh status: user.Locked 217b440616cSSandeepa Singh ? 'Locked' 218b440616cSSandeepa Singh : user.Enabled 219b440616cSSandeepa Singh ? 'Enabled' 220b440616cSSandeepa Singh : 'Disabled', 221b440616cSSandeepa Singh actions: [ 222b440616cSSandeepa Singh { 223b440616cSSandeepa Singh value: 'edit', 2242897447bSSivaprabu Ganesan enabled: this.editEnable(user), 225de23ea23SSurya V title: i18n.global.t('pageUserManagement.editUser'), 226b440616cSSandeepa Singh }, 227b440616cSSandeepa Singh { 228b440616cSSandeepa Singh value: 'delete', 2292897447bSSivaprabu Ganesan enabled: 2302897447bSSivaprabu Ganesan user.UserName === this.$store.getters['global/username'] 2312897447bSSivaprabu Ganesan ? false 2322897447bSSivaprabu Ganesan : true && user.UserName === 'root' 2332897447bSSivaprabu Ganesan ? false 2342897447bSSivaprabu Ganesan : true, 235de23ea23SSurya V title: i18n.global.t('pageUserManagement.deleteUser'), 236b440616cSSandeepa Singh }, 237b440616cSSandeepa Singh ], 238b440616cSSandeepa Singh ...user, 239b440616cSSandeepa Singh }; 240b440616cSSandeepa Singh }); 241b440616cSSandeepa Singh }, 242b440616cSSandeepa Singh settings() { 243b440616cSSandeepa Singh return this.$store.getters['userManagement/accountSettings']; 244b440616cSSandeepa Singh }, 245b440616cSSandeepa Singh passwordRequirements() { 246b440616cSSandeepa Singh return this.$store.getters['userManagement/accountPasswordRequirements']; 247b440616cSSandeepa Singh }, 248b440616cSSandeepa Singh }, 249b440616cSSandeepa Singh created() { 250b440616cSSandeepa Singh this.startLoader(); 25141057853SKenneth Fullbright this.$store.dispatch('userManagement/getUsers').finally(() => { 25241057853SKenneth Fullbright this.endLoader(); 25341057853SKenneth Fullbright this.isBusy = false; 25441057853SKenneth Fullbright }); 255b440616cSSandeepa Singh this.$store.dispatch('userManagement/getAccountSettings'); 256b440616cSSandeepa Singh this.$store.dispatch('userManagement/getAccountRoles'); 257b440616cSSandeepa Singh }, 258b440616cSSandeepa Singh methods: { 2592897447bSSivaprabu Ganesan editEnable(user) { 2602897447bSSivaprabu Ganesan if ('root' === this.$store.getters['global/username']) { 2612897447bSSivaprabu Ganesan return true; 2622897447bSSivaprabu Ganesan } else { 2632897447bSSivaprabu Ganesan return user.UserName === 'root' ? false : true; 2642897447bSSivaprabu Ganesan } 2652897447bSSivaprabu Ganesan }, 266b440616cSSandeepa Singh initModalUser(user) { 267b440616cSSandeepa Singh this.activeUser = user; 268b440616cSSandeepa Singh this.$bvModal.show('modal-user'); 269b440616cSSandeepa Singh }, 270b440616cSSandeepa Singh initModalDelete(user) { 271b440616cSSandeepa Singh this.$bvModal 272b440616cSSandeepa Singh .msgBoxConfirm( 273de23ea23SSurya V i18n.global.t('pageUserManagement.modal.deleteConfirmMessage', { 274b440616cSSandeepa Singh user: user.username, 275b440616cSSandeepa Singh }), 276b440616cSSandeepa Singh { 277de23ea23SSurya V title: i18n.global.t('pageUserManagement.deleteUser'), 278de23ea23SSurya V okTitle: i18n.global.t('pageUserManagement.deleteUser'), 279de23ea23SSurya V cancelTitle: i18n.global.t('global.action.cancel'), 280d1ef18e6SPaul Fertser autoFocusButton: 'ok', 2818132399cSEd Tanous }, 282b440616cSSandeepa Singh ) 283b440616cSSandeepa Singh .then((deleteConfirmed) => { 284b440616cSSandeepa Singh if (deleteConfirmed) { 285b440616cSSandeepa Singh this.deleteUser(user); 286b440616cSSandeepa Singh } 287b440616cSSandeepa Singh }); 288b440616cSSandeepa Singh }, 289b440616cSSandeepa Singh initModalSettings() { 2906ad19aacSkirankumarb07 this.setting = this.settings; 291b440616cSSandeepa Singh this.$bvModal.show('modal-settings'); 292b440616cSSandeepa Singh }, 293b440616cSSandeepa Singh saveUser({ isNewUser, userData }) { 294b440616cSSandeepa Singh this.startLoader(); 295b440616cSSandeepa Singh if (isNewUser) { 296b440616cSSandeepa Singh this.$store 297b440616cSSandeepa Singh .dispatch('userManagement/createUser', userData) 298b440616cSSandeepa Singh .then((success) => this.successToast(success)) 299b440616cSSandeepa Singh .catch(({ message }) => this.errorToast(message)) 300b440616cSSandeepa Singh .finally(() => this.endLoader()); 301b440616cSSandeepa Singh } else { 302b440616cSSandeepa Singh this.$store 303b440616cSSandeepa Singh .dispatch('userManagement/updateUser', userData) 304b440616cSSandeepa Singh .then((success) => this.successToast(success)) 305b440616cSSandeepa Singh .catch(({ message }) => this.errorToast(message)) 306b440616cSSandeepa Singh .finally(() => this.endLoader()); 307b440616cSSandeepa Singh } 308b440616cSSandeepa Singh }, 309b440616cSSandeepa Singh deleteUser({ username }) { 310b440616cSSandeepa Singh this.startLoader(); 311b440616cSSandeepa Singh this.$store 312b440616cSSandeepa Singh .dispatch('userManagement/deleteUser', username) 313b440616cSSandeepa Singh .then((success) => this.successToast(success)) 314b440616cSSandeepa Singh .catch(({ message }) => this.errorToast(message)) 315b440616cSSandeepa Singh .finally(() => this.endLoader()); 316b440616cSSandeepa Singh }, 317b440616cSSandeepa Singh onBatchAction(action) { 318b440616cSSandeepa Singh switch (action) { 319b440616cSSandeepa Singh case 'delete': 320b440616cSSandeepa Singh this.$bvModal 321b440616cSSandeepa Singh .msgBoxConfirm( 322de23ea23SSurya V i18n.global.t( 323b440616cSSandeepa Singh 'pageUserManagement.modal.batchDeleteConfirmMessage', 3248132399cSEd Tanous this.selectedRows.length, 325b440616cSSandeepa Singh ), 326b440616cSSandeepa Singh { 327de23ea23SSurya V title: i18n.global.t( 328b440616cSSandeepa Singh 'pageUserManagement.deleteUser', 3298132399cSEd Tanous this.selectedRows.length, 330b440616cSSandeepa Singh ), 331de23ea23SSurya V okTitle: i18n.global.t( 332b440616cSSandeepa Singh 'pageUserManagement.deleteUser', 3338132399cSEd Tanous this.selectedRows.length, 334b440616cSSandeepa Singh ), 335de23ea23SSurya V cancelTitle: i18n.global.t('global.action.cancel'), 336d1ef18e6SPaul Fertser autoFocusButton: 'ok', 3378132399cSEd Tanous }, 338b440616cSSandeepa Singh ) 339b440616cSSandeepa Singh .then((deleteConfirmed) => { 340b440616cSSandeepa Singh if (deleteConfirmed) { 341b440616cSSandeepa Singh this.startLoader(); 342b440616cSSandeepa Singh this.$store 343b440616cSSandeepa Singh .dispatch('userManagement/deleteUsers', this.selectedRows) 344b440616cSSandeepa Singh .then((messages) => { 345b440616cSSandeepa Singh messages.forEach(({ type, message }) => { 346b440616cSSandeepa Singh if (type === 'success') this.successToast(message); 347b440616cSSandeepa Singh if (type === 'error') this.errorToast(message); 348b440616cSSandeepa Singh }); 349b440616cSSandeepa Singh }) 350b440616cSSandeepa Singh .finally(() => this.endLoader()); 351b440616cSSandeepa Singh } 352b440616cSSandeepa Singh }); 353b440616cSSandeepa Singh break; 354b440616cSSandeepa Singh case 'enable': 355b440616cSSandeepa Singh this.startLoader(); 356b440616cSSandeepa Singh this.$store 357b440616cSSandeepa Singh .dispatch('userManagement/enableUsers', this.selectedRows) 358b440616cSSandeepa Singh .then((messages) => { 359b440616cSSandeepa Singh messages.forEach(({ type, message }) => { 360b440616cSSandeepa Singh if (type === 'success') this.successToast(message); 361b440616cSSandeepa Singh if (type === 'error') this.errorToast(message); 362b440616cSSandeepa Singh }); 363b440616cSSandeepa Singh }) 364b440616cSSandeepa Singh .finally(() => this.endLoader()); 365b440616cSSandeepa Singh break; 366b440616cSSandeepa Singh case 'disable': 367b2acbcaaSFarah Rasheed this.$bvModal 368b2acbcaaSFarah Rasheed .msgBoxConfirm( 369*825059acSSurya Venkatesan i18n.global.t( 370b2acbcaaSFarah Rasheed 'pageUserManagement.modal.batchDisableConfirmMessage', 371b2acbcaaSFarah Rasheed this.selectedRows.length, 372b2acbcaaSFarah Rasheed ), 373b2acbcaaSFarah Rasheed { 374*825059acSSurya Venkatesan title: i18n.global.t( 375b2acbcaaSFarah Rasheed 'pageUserManagement.disableUser', 376b2acbcaaSFarah Rasheed this.selectedRows.length, 377b2acbcaaSFarah Rasheed ), 378*825059acSSurya Venkatesan okTitle: i18n.global.t( 379b2acbcaaSFarah Rasheed 'pageUserManagement.disableUser', 380b2acbcaaSFarah Rasheed this.selectedRows.length, 381b2acbcaaSFarah Rasheed ), 382*825059acSSurya Venkatesan cancelTitle: i18n.global.t('global.action.cancel'), 383b2acbcaaSFarah Rasheed autoFocusButton: 'ok', 384b2acbcaaSFarah Rasheed }, 385b2acbcaaSFarah Rasheed ) 386b2acbcaaSFarah Rasheed .then((disableConfirmed) => { 387b2acbcaaSFarah Rasheed if (disableConfirmed) { 388b440616cSSandeepa Singh this.startLoader(); 389b440616cSSandeepa Singh this.$store 390b440616cSSandeepa Singh .dispatch('userManagement/disableUsers', this.selectedRows) 391b440616cSSandeepa Singh .then((messages) => { 392b440616cSSandeepa Singh messages.forEach(({ type, message }) => { 393b440616cSSandeepa Singh if (type === 'success') this.successToast(message); 394b440616cSSandeepa Singh if (type === 'error') this.errorToast(message); 395b440616cSSandeepa Singh }); 396b440616cSSandeepa Singh }) 397b440616cSSandeepa Singh .finally(() => this.endLoader()); 398b2acbcaaSFarah Rasheed } 399b2acbcaaSFarah Rasheed }); 400b440616cSSandeepa Singh break; 401b440616cSSandeepa Singh } 402b440616cSSandeepa Singh }, 403b440616cSSandeepa Singh onTableRowAction(action, row) { 404b440616cSSandeepa Singh switch (action) { 405b440616cSSandeepa Singh case 'edit': 406b440616cSSandeepa Singh this.initModalUser(row); 407b440616cSSandeepa Singh break; 408b440616cSSandeepa Singh case 'delete': 409b440616cSSandeepa Singh this.initModalDelete(row); 410b440616cSSandeepa Singh break; 411b440616cSSandeepa Singh default: 412b440616cSSandeepa Singh break; 413b440616cSSandeepa Singh } 414b440616cSSandeepa Singh }, 415b440616cSSandeepa Singh saveAccountSettings(settings) { 416b440616cSSandeepa Singh this.startLoader(); 417b440616cSSandeepa Singh this.$store 418b440616cSSandeepa Singh .dispatch('userManagement/saveAccountSettings', settings) 419b440616cSSandeepa Singh .then((message) => this.successToast(message)) 420b440616cSSandeepa Singh .catch(({ message }) => this.errorToast(message)) 421b440616cSSandeepa Singh .finally(() => this.endLoader()); 422b440616cSSandeepa Singh }, 423b440616cSSandeepa Singh }, 424b440616cSSandeepa Singh}; 425b440616cSSandeepa Singh</script> 426b440616cSSandeepa Singh 427b440616cSSandeepa Singh<style lang="scss" scoped> 428b440616cSSandeepa Singh.btn.collapsed { 429b440616cSSandeepa Singh svg { 430b440616cSSandeepa Singh transform: rotate(180deg); 431b440616cSSandeepa Singh } 432b440616cSSandeepa Singh} 433b440616cSSandeepa Singh</style> 434