diff --git a/src/components/Mixins/BVToastMixin.js b/src/components/Mixins/BVToastMixin.js
index a04ef43..4ee757f 100644
--- a/src/components/Mixins/BVToastMixin.js
+++ b/src/components/Mixins/BVToastMixin.js
@@ -12,14 +12,14 @@
       const titleWithIcon = this.$createElement(
         'strong',
         { class: 'toast-icon' },
-        [statusIcon, title]
+        [statusIcon, title],
       );
       return titleWithIcon;
     },
     $_BVToastMixin_createBody(messageBody) {
       if (Array.isArray(messageBody)) {
         return messageBody.map((message) =>
-          this.$createElement('p', { class: 'mb-0' }, message)
+          this.$createElement('p', { class: 'mb-0' }, message),
         );
       } else {
         return [this.$createElement('p', { class: 'mb-0' }, messageBody)];
@@ -40,7 +40,7 @@
             },
           },
         },
-        this.$t('global.action.refresh')
+        this.$t('global.action.refresh'),
       );
     },
     $_BVToastMixin_initToast(body, title, variant) {
@@ -59,7 +59,7 @@
         title: t = this.$t('global.status.success'),
         timestamp,
         refreshAction,
-      } = {}
+      } = {},
     ) {
       const body = this.$_BVToastMixin_createBody(message);
       const title = this.$_BVToastMixin_createTitle(t, 'success');
@@ -73,7 +73,7 @@
         title: t = this.$t('global.status.error'),
         timestamp,
         refreshAction,
-      } = {}
+      } = {},
     ) {
       const body = this.$_BVToastMixin_createBody(message);
       const title = this.$_BVToastMixin_createTitle(t, 'danger');
@@ -87,7 +87,7 @@
         title: t = this.$t('global.status.warning'),
         timestamp,
         refreshAction,
-      } = {}
+      } = {},
     ) {
       const body = this.$_BVToastMixin_createBody(message);
       const title = this.$_BVToastMixin_createTitle(t, 'warning');
@@ -101,7 +101,7 @@
         title: t = this.$t('global.status.informational'),
         timestamp,
         refreshAction,
-      } = {}
+      } = {},
     ) {
       const body = this.$_BVToastMixin_createBody(message);
       const title = this.$_BVToastMixin_createTitle(t, 'info');
diff --git a/src/components/Mixins/TableFilterMixin.js b/src/components/Mixins/TableFilterMixin.js
index ffc8b44..b0c4987 100644
--- a/src/components/Mixins/TableFilterMixin.js
+++ b/src/components/Mixins/TableFilterMixin.js
@@ -30,7 +30,7 @@
       tableData = [],
       startDate,
       endDate,
-      propertyKey = 'date'
+      propertyKey = 'date',
     ) {
       if (!startDate && !endDate) return tableData;
       let startDateInMs = startDate ? startDate.getTime() : 0;
