Set table busy state on load

- Add busy prop to tables

Signed-off-by: Kenneth Fullbright <kennyneedsmilky@gmail.com>
Change-Id: I4416f12967c9a0ad6c8bb782c7d8de5c17fdd195
diff --git a/src/views/SecurityAndAccess/Certificates/Certificates.vue b/src/views/SecurityAndAccess/Certificates/Certificates.vue
index 9d20889..0113b80 100644
--- a/src/views/SecurityAndAccess/Certificates/Certificates.vue
+++ b/src/views/SecurityAndAccess/Certificates/Certificates.vue
@@ -57,6 +57,7 @@
           responsive="md"
           show-empty
           hover
+          :busy="isBusy"
           :fields="fields"
           :items="tableItems"
           :empty-text="$t('global.table.emptyMessage')"
@@ -133,6 +134,7 @@
   },
   data() {
     return {
+      isBusy: true,
       modalCertificate: null,
       fields: [
         {
@@ -214,9 +216,10 @@
   async created() {
     this.startLoader();
     await this.$store.dispatch('global/getBmcTime');
-    this.$store
-      .dispatch('certificates/getCertificates')
-      .finally(() => this.endLoader());
+    this.$store.dispatch('certificates/getCertificates').finally(() => {
+      this.endLoader();
+      this.isBusy = false;
+    });
   },
   methods: {
     onTableRowAction(event, rowItem) {
diff --git a/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue b/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue
index 6e23111..5ae3e3d 100644
--- a/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue
+++ b/src/views/SecurityAndAccess/Ldap/TableRoleGroups.vue
@@ -37,6 +37,7 @@
           hover
           no-sort-reset
           sort-icon-left
+          :busy="isBusy"
           :items="tableItems"
           :fields="fields"
           :empty-text="$t('global.table.emptyMessage')"
@@ -121,6 +122,7 @@
   mixins: [BVTableSelectableMixin, BVToastMixin, LoadingBarMixin],
   data() {
     return {
+      isBusy: true,
       activeRoleGroup: null,
       fields: [
         {
@@ -179,7 +181,9 @@
     },
   },
   created() {
-    this.$store.dispatch('userManagement/getAccountRoles');
+    this.$store.dispatch('userManagement/getAccountRoles').finally(() => {
+      this.isBusy = false;
+    });
   },
   methods: {
     onBatchAction() {
diff --git a/src/views/SecurityAndAccess/Sessions/Sessions.vue b/src/views/SecurityAndAccess/Sessions/Sessions.vue
index 9782e7f..07ee725 100644
--- a/src/views/SecurityAndAccess/Sessions/Sessions.vue
+++ b/src/views/SecurityAndAccess/Sessions/Sessions.vue
@@ -36,6 +36,7 @@
           hover
           show-empty
           sort-by="clientID"
+          :busy="isBusy"
           :fields="fields"
           :items="allConnections"
           :filter="searchFilter"
@@ -158,6 +159,7 @@
   },
   data() {
     return {
+      isBusy: true,
       fields: [
         {
           key: 'checkbox',
@@ -217,9 +219,10 @@
   },
   created() {
     this.startLoader();
-    this.$store
-      .dispatch('sessions/getSessionsData')
-      .finally(() => this.endLoader());
+    this.$store.dispatch('sessions/getSessionsData').finally(() => {
+      this.endLoader();
+      this.isBusy = false;
+    });
   },
   methods: {
     onFiltered(filteredItems) {
diff --git a/src/views/SecurityAndAccess/UserManagement/UserManagement.vue b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue
index 015fee9..c6c556c 100644
--- a/src/views/SecurityAndAccess/UserManagement/UserManagement.vue
+++ b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue
@@ -33,6 +33,7 @@
           show-empty
           no-select-on-click
           hover
+          :busy="isBusy"
           :fields="fields"
           :items="tableItems"
           :empty-text="$t('global.table.emptyMessage')"
@@ -155,6 +156,7 @@
   },
   data() {
     return {
+      isBusy: true,
       activeUser: null,
       fields: [
         {
@@ -237,9 +239,10 @@
   },
   created() {
     this.startLoader();
-    this.$store
-      .dispatch('userManagement/getUsers')
-      .finally(() => this.endLoader());
+    this.$store.dispatch('userManagement/getUsers').finally(() => {
+      this.endLoader();
+      this.isBusy = false;
+    });
     this.$store.dispatch('userManagement/getAccountSettings');
     this.$store.dispatch('userManagement/getAccountRoles');
   },