Add loading bar to LDAP page

Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I19f34986e05298a42f1739632a5786d03371e47c
diff --git a/src/views/AccessControl/Ldap/Ldap.vue b/src/views/AccessControl/Ldap/Ldap.vue
index 3ae4784..fee697b 100644
--- a/src/views/AccessControl/Ldap/Ldap.vue
+++ b/src/views/AccessControl/Ldap/Ldap.vue
@@ -216,8 +216,9 @@
 import { find } from 'lodash';
 import { requiredIf } from 'vuelidate/lib/validators';
 
-import BVToastMixin from '@/components/Mixins/BVToastMixin.js';
-import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js';
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
+import VuelidateMixin from '@/components/Mixins/VuelidateMixin';
+import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
 import PageTitle from '@/components/Global/PageTitle';
 import PageSection from '@/components/Global/PageSection';
 import InfoTooltip from '@/components/Global/InfoTooltip';
@@ -233,7 +234,7 @@
     PageSection,
     TableRoleGroups
   },
-  mixins: [BVToastMixin, VuelidateMixin],
+  mixins: [BVToastMixin, VuelidateMixin, LoadingBarMixin],
   data() {
     return {
       form: {
@@ -322,10 +323,17 @@
     }
   },
   created() {
-    this.$store.dispatch('ldap/getAccountSettings');
+    this.startLoader();
+    this.$store
+      .dispatch('ldap/getAccountSettings')
+      .finally(() => this.endLoader());
     this.$store.dispatch('sslCertificates/getCertificates');
     this.setFormValues();
   },
+  beforeRouteLeave(to, from, next) {
+    this.hideLoader();
+    next();
+  },
   methods: {
     setFormValues(serviceType) {
       if (!serviceType) {
@@ -366,6 +374,7 @@
         userIdAttribute: this.form.userIdAttribute,
         groupIdAttribute: this.form.groupIdAttribute
       };
+      this.startLoader();
       this.$store
         .dispatch('ldap/saveAccountSettings', data)
         .then(success => {
@@ -375,6 +384,7 @@
         .catch(({ message }) => this.errorToast(message))
         .finally(() => {
           this.form.bindPassword = '';
+          this.endLoader();
         });
     },
     onChangeServiceType(isActiveDirectoryEnabled) {