diff --git a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
index 65b48c2..01f4a44 100644
--- a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
@@ -40,11 +40,10 @@
 <script>
 import PageSection from '@/components/Global/PageSection';
 import BVToastMixin from '@/components/Mixins/BVToastMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
 
 export default {
   components: { PageSection },
-  mixins: [BVToastMixin, TableDataFormatterMixin],
+  mixins: [BVToastMixin],
   computed: {
     systems() {
       let systemData = this.$store.getters['system/systems'][0];
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
index df435c8..683e481 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
@@ -74,11 +74,11 @@
 import TableRowExpandMixin, {
   expandRowLabel,
 } from '@/components/Mixins/TableRowExpandMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   components: { IconChevron, PageSection },
-  mixins: [BVToastMixin, TableRowExpandMixin, TableDataFormatterMixin],
+  mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin],
   data() {
     return {
       fields: [
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
index 428f522..ad73f59 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
@@ -52,38 +52,38 @@
               <dl>
                 <!-- Name -->
                 <dt>{{ $t('pageInventory.table.name') }}:</dt>
-                <dd>{{ tableFormatter(item.name) }}</dd>
+                <dd>{{ dataFormatter(item.name) }}</dd>
                 <!-- Part number -->
                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.partNumber) }}</dd>
+                <dd>{{ dataFormatter(item.partNumber) }}</dd>
                 <!-- Serial number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
                 <!-- Spare part number -->
                 <dt>{{ $t('pageInventory.table.sparePartNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.sparePartNumber) }}</dd>
+                <dd>{{ dataFormatter(item.sparePartNumber) }}</dd>
                 <!-- Model -->
                 <dt>{{ $t('pageInventory.table.model') }}:</dt>
-                <dd>{{ tableFormatter(item.model) }}</dd>
+                <dd>{{ dataFormatter(item.model) }}</dd>
                 <!-- UUID -->
                 <dt>{{ $t('pageInventory.table.uuid') }}:</dt>
-                <dd>{{ tableFormatter(item.uuid) }}</dd>
+                <dd>{{ dataFormatter(item.uuid) }}</dd>
                 <!-- Service entry point UUID -->
                 <dt>{{ $t('pageInventory.table.serviceEntryPointUuid') }}:</dt>
-                <dd>{{ tableFormatter(item.serviceEntryPointUuid) }}</dd>
+                <dd>{{ dataFormatter(item.serviceEntryPointUuid) }}</dd>
               </dl>
             </b-col>
             <b-col class="mt-2" sm="6" xl="6">
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
                 <!-- Power state -->
                 <dt>{{ $t('pageInventory.table.power') }}:</dt>
-                <dd>{{ tableFormatter(item.powerState) }}</dd>
+                <dd>{{ dataFormatter(item.powerState) }}</dd>
                 <!-- Health rollup -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+                <dd>{{ dataFormatter(item.healthRollup) }}</dd>
                 <!-- BMC date and time -->
                 <dt>{{ $t('pageInventory.table.bmcDateTime') }}:</dt>
                 <dd>
@@ -105,13 +105,13 @@
               <dl>
                 <!-- Manufacturer -->
                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt>
-                <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+                <dd>{{ dataFormatter(item.manufacturer) }}</dd>
                 <!-- Description -->
                 <dt>{{ $t('pageInventory.table.description') }}:</dt>
-                <dd>{{ tableFormatter(item.description) }}</dd>
+                <dd>{{ dataFormatter(item.description) }}</dd>
                 <!-- Manager type -->
                 <dt>{{ $t('pageInventory.table.managerType') }}:</dt>
-                <dd>{{ tableFormatter(item.managerType) }}</dd>
+                <dd>{{ dataFormatter(item.managerType) }}</dd>
               </dl>
             </b-col>
             <b-col class="mt-2" sm="6" xl="6">
@@ -127,15 +127,15 @@
               <dl class="ml-4">
                 <dt>{{ $t('pageInventory.table.connectTypesSupported') }}:</dt>
                 <dd>
-                  {{ tableFormatterArray(item.graphicalConsoleConnectTypes) }}
+                  {{ dataFormatterArray(item.graphicalConsoleConnectTypes) }}
                 </dd>
                 <dt>{{ $t('pageInventory.table.maxConcurrentSessions') }}:</dt>
                 <dd>
-                  {{ tableFormatter(item.graphicalConsoleMaxSessions) }}
+                  {{ dataFormatter(item.graphicalConsoleMaxSessions) }}
                 </dd>
                 <dt>{{ $t('pageInventory.table.serviceEnabled') }}:</dt>
                 <dd>
-                  {{ tableFormatter(item.graphicalConsoleEnabled) }}
+                  {{ dataFormatter(item.graphicalConsoleEnabled) }}
                 </dd>
               </dl>
               <!-- Serial console -->
@@ -145,12 +145,12 @@
               <dl class="ml-4">
                 <dt>{{ $t('pageInventory.table.connectTypesSupported') }}:</dt>
                 <dd>
-                  {{ tableFormatterArray(item.serialConsoleConnectTypes) }}
+                  {{ dataFormatterArray(item.serialConsoleConnectTypes) }}
                 </dd>
                 <dt>{{ $t('pageInventory.table.maxConcurrentSessions') }}:</dt>
-                <dd>{{ tableFormatter(item.serialConsoleMaxSessions) }}</dd>
+                <dd>{{ dataFormatter(item.serialConsoleMaxSessions) }}</dd>
                 <dt>{{ $t('pageInventory.table.serviceEnabled') }}:</dt>
-                <dd>{{ tableFormatter(item.serialConsoleEnabled) }}</dd>
+                <dd>{{ dataFormatter(item.serialConsoleEnabled) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -168,11 +168,11 @@
 import TableRowExpandMixin, {
   expandRowLabel,
 } from '@/components/Mixins/TableRowExpandMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   components: { IconChevron, PageSection, StatusIcon },
-  mixins: [BVToastMixin, TableRowExpandMixin, TableDataFormatterMixin],
+  mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin],
   data() {
     return {
       fields: [
@@ -184,22 +184,22 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'locationNumber',
           label: this.$t('pageInventory.table.locationNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'identifyLed',
           label: this.$t('pageInventory.table.identifyLed'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
       ],
       expandRowLabel: expandRowLabel,
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
index 0d53502..3f63c06 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
@@ -50,22 +50,22 @@
               <dl>
                 <!-- Name -->
                 <dt>{{ $t('pageInventory.table.name') }}:</dt>
-                <dd>{{ tableFormatter(item.name) }}</dd>
+                <dd>{{ dataFormatter(item.name) }}</dd>
                 <!-- Part number -->
                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.partNumber) }}</dd>
+                <dd>{{ dataFormatter(item.partNumber) }}</dd>
                 <!-- Serial Number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
                 <!-- Model -->
                 <dt>{{ $t('pageInventory.table.model') }}:</dt>
                 <dd class="mb-2">
-                  {{ tableFormatter(item.model) }}
+                  {{ dataFormatter(item.model) }}
                 </dd>
                 <!-- Asset tag -->
                 <dt>{{ $t('pageInventory.table.assetTag') }}:</dt>
                 <dd class="mb-2">
-                  {{ tableFormatter(item.assetTag) }}
+                  {{ dataFormatter(item.assetTag) }}
                 </dd>
               </dl>
             </b-col>
@@ -73,13 +73,13 @@
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
                 <!-- Power state -->
                 <dt>{{ $t('pageInventory.table.power') }}:</dt>
-                <dd>{{ tableFormatter(item.power) }}</dd>
+                <dd>{{ dataFormatter(item.power) }}</dd>
                 <!-- Health rollup -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+                <dd>{{ dataFormatter(item.healthRollup) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -89,20 +89,20 @@
               <dl>
                 <!-- Manufacturer -->
                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt>
-                <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+                <dd>{{ dataFormatter(item.manufacturer) }}</dd>
                 <!-- Chassis Type -->
                 <dt>{{ $t('pageInventory.table.chassisType') }}:</dt>
-                <dd>{{ tableFormatter(item.chassisType) }}</dd>
+                <dd>{{ dataFormatter(item.chassisType) }}</dd>
               </dl>
             </b-col>
             <b-col class="mt-2" sm="6" xl="6">
               <dl>
                 <!-- Min power -->
                 <dt>{{ $t('pageInventory.table.minPowerWatts') }}:</dt>
-                <dd>{{ tableFormatter(item.minPowerWatts) }}</dd>
+                <dd>{{ dataFormatter(item.minPowerWatts) }}</dd>
                 <!-- Max power -->
                 <dt>{{ $t('pageInventory.table.maxPowerWatts') }}:</dt>
-                <dd>{{ tableFormatter(item.maxPowerWatts) }}</dd>
+                <dd>{{ dataFormatter(item.maxPowerWatts) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -121,11 +121,11 @@
 import TableRowExpandMixin, {
   expandRowLabel,
 } from '@/components/Mixins/TableRowExpandMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   components: { IconChevron, PageSection, StatusIcon },
-  mixins: [BVToastMixin, TableRowExpandMixin, TableDataFormatterMixin],
+  mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin],
   data() {
     return {
       fields: [
@@ -137,23 +137,23 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           tdClass: 'text-nowrap',
         },
         {
           key: 'locationNumber',
           label: this.$t('pageInventory.table.locationNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'identifyLed',
           label: this.$t('pageInventory.table.identifyLed'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
       ],
       expandRowLabel: expandRowLabel,
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
index ed370b5..5d8db83 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
@@ -57,7 +57,7 @@
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -74,7 +74,7 @@
 import StatusIcon from '@/components/Global/StatusIcon';
 import TableCellCount from '@/components/Global/TableCellCount';
 
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import Search from '@/components/Global/Search';
 import SearchFilterMixin, {
@@ -88,7 +88,7 @@
   components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount },
   mixins: [
     TableRowExpandMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     SearchFilterMixin,
   ],
@@ -104,26 +104,26 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
           tdClass: 'text-nowrap',
         },
         {
           key: 'partNumber',
           label: this.$t('pageInventory.table.partNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'serialNumber',
           label: this.$t('pageInventory.table.serialNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
       ],
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableFans.vue b/src/views/HardwareStatus/Inventory/InventoryTableFans.vue
index 8f1003f..ff56804 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableFans.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableFans.vue
@@ -57,34 +57,34 @@
               <dl>
                 <!-- Name -->
                 <dt>{{ $t('pageInventory.table.name') }}:</dt>
-                <dd>{{ tableFormatter(item.name) }}</dd>
+                <dd>{{ dataFormatter(item.name) }}</dd>
               </dl>
               <dl>
                 <!-- Serial number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
               </dl>
               <dl>
                 <!-- Part number -->
                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.partNumber) }}</dd>
+                <dd>{{ dataFormatter(item.partNumber) }}</dd>
               </dl>
               <dl>
                 <!-- Fan speed -->
                 <dt>{{ $t('pageInventory.table.fanSpeed') }}:</dt>
-                <dd>{{ tableFormatter(item.speed) }}</dd>
+                <dd>{{ dataFormatter(item.speed) }}</dd>
               </dl>
             </b-col>
             <b-col sm="6" xl="4">
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
               </dl>
               <dl>
                 <!-- Health Rollup state -->
                 <dt>{{ $t('pageInventory.table.statusHealthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+                <dd>{{ dataFormatter(item.healthRollup) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -100,7 +100,7 @@
 import TableCellCount from '@/components/Global/TableCellCount';
 
 import StatusIcon from '@/components/Global/StatusIcon';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import Search from '@/components/Global/Search';
 import SearchFilterMixin, {
@@ -114,7 +114,7 @@
   components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount },
   mixins: [
     TableRowExpandMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     SearchFilterMixin,
   ],
@@ -130,26 +130,26 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
           tdClass: 'text-nowrap',
         },
         {
           key: 'partNumber',
           label: this.$t('pageInventory.table.partNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'serialNumber',
           label: this.$t('pageInventory.table.serialNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
       ],
       searchFilter: searchFilter,
diff --git a/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue b/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue
index 1ef5aa7..ba0896b 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue
@@ -57,35 +57,35 @@
               <dl>
                 <!-- Name -->
                 <dt>{{ $t('pageInventory.table.name') }}:</dt>
-                <dd>{{ tableFormatter(item.name) }}</dd>
+                <dd>{{ dataFormatter(item.name) }}</dd>
                 <!-- Part number -->
                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.partNumber) }}</dd>
+                <dd>{{ dataFormatter(item.partNumber) }}</dd>
                 <!-- Serial number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
                 <!-- Spare part number -->
                 <dt>{{ $t('pageInventory.table.sparePartNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.sparePartNumber) }}</dd>
+                <dd>{{ dataFormatter(item.sparePartNumber) }}</dd>
                 <!-- Model -->
                 <dt>{{ $t('pageInventory.table.model') }}:</dt>
-                <dd>{{ tableFormatter(item.model) }}</dd>
+                <dd>{{ dataFormatter(item.model) }}</dd>
               </dl>
             </b-col>
             <b-col sm="6" xl="4">
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
                 <!-- Status Health rollup state -->
                 <dt>{{ $t('pageInventory.table.statusHealthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.statusHealth) }}</dd>
+                <dd>{{ dataFormatter(item.statusHealth) }}</dd>
                 <!-- Efficiency percent -->
                 <dt>{{ $t('pageInventory.table.efficiencyPercent') }}:</dt>
-                <dd>{{ tableFormatter(item.efficiencyPercent) }}</dd>
+                <dd>{{ dataFormatter(item.efficiencyPercent) }}</dd>
                 <!-- Power input watts -->
                 <dt>{{ $t('pageInventory.table.powerInputWatts') }}:</dt>
-                <dd>{{ tableFormatter(item.powerInputWatts) }}</dd>
+                <dd>{{ dataFormatter(item.powerInputWatts) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -95,14 +95,14 @@
               <dl>
                 <!-- Manufacturer -->
                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt>
-                <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+                <dd>{{ dataFormatter(item.manufacturer) }}</dd>
               </dl>
             </b-col>
             <b-col sm="6" xl="4">
               <dl>
                 <!-- Firmware version -->
                 <dt>{{ $t('pageInventory.table.firmwareVersion') }}:</dt>
-                <dd>{{ tableFormatter(item.firmwareVersion) }}</dd>
+                <dd>{{ dataFormatter(item.firmwareVersion) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -118,7 +118,7 @@
 
 import StatusIcon from '@/components/Global/StatusIcon';
 import TableCellCount from '@/components/Global/TableCellCount';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import Search from '@/components/Global/Search';
 import SearchFilterMixin, {
@@ -132,7 +132,7 @@
   components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount },
   mixins: [
     TableRowExpandMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     SearchFilterMixin,
   ],
@@ -148,26 +148,26 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
           tdClass: 'text-nowrap',
         },
         {
           key: 'locationNumber',
           label: this.$t('pageInventory.table.locationNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'identifyLed',
           label: this.$t('pageInventory.table.identifyLed'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
       ],
       searchFilter: searchFilter,
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
index 85f1272..fbe5837 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
@@ -72,32 +72,32 @@
               <dl>
                 <!-- Name -->
                 <dt>{{ $t('pageInventory.table.name') }}:</dt>
-                <dd>{{ tableFormatter(item.name) }}</dd>
+                <dd>{{ dataFormatter(item.name) }}</dd>
                 <!-- Part Number -->
                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.partNumber) }}</dd>
+                <dd>{{ dataFormatter(item.partNumber) }}</dd>
                 <!-- Serial Number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
                 <!-- Spare Part Number -->
                 <dt>{{ $t('pageInventory.table.sparePartNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.sparePartNumber) }}</dd>
+                <dd>{{ dataFormatter(item.sparePartNumber) }}</dd>
                 <!-- Model -->
                 <dt>{{ $t('pageInventory.table.model') }}:</dt>
-                <dd>{{ tableFormatter(item.model) }}</dd>
+                <dd>{{ dataFormatter(item.model) }}</dd>
                 <!-- Asset Tag -->
                 <dt>{{ $t('pageInventory.table.assetTag') }}:</dt>
-                <dd>{{ tableFormatter(item.assetTag) }}</dd>
+                <dd>{{ dataFormatter(item.assetTag) }}</dd>
               </dl>
             </b-col>
             <b-col class="mt-2" sm="6" xl="6">
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
                 <!-- Health Rollup -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+                <dd>{{ dataFormatter(item.healthRollup) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -107,35 +107,35 @@
               <dl>
                 <!-- Manufacturer -->
                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt>
-                <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+                <dd>{{ dataFormatter(item.manufacturer) }}</dd>
                 <!-- Processor Type -->
                 <dt>{{ $t('pageInventory.table.processorType') }}:</dt>
-                <dd>{{ tableFormatter(item.processorType) }}</dd>
+                <dd>{{ dataFormatter(item.processorType) }}</dd>
                 <!-- Processor Architecture -->
                 <dt>{{ $t('pageInventory.table.processorArchitecture') }}:</dt>
-                <dd>{{ tableFormatter(item.processorArchitecture) }}</dd>
+                <dd>{{ dataFormatter(item.processorArchitecture) }}</dd>
                 <!-- Instruction Set -->
                 <dt>{{ $t('pageInventory.table.instructionSet') }}:</dt>
-                <dd>{{ tableFormatter(item.instructionSet) }}</dd>
+                <dd>{{ dataFormatter(item.instructionSet) }}</dd>
                 <!-- Version -->
                 <dt>{{ $t('pageInventory.table.version') }}:</dt>
-                <dd>{{ tableFormatter(item.version) }}</dd>
+                <dd>{{ dataFormatter(item.version) }}</dd>
               </dl>
             </b-col>
             <b-col class="mt-1" sm="6" xl="6">
               <dl>
                 <!-- Min Speed MHz -->
                 <dt>{{ $t('pageInventory.table.minSpeedMHz') }}:</dt>
-                <dd>{{ tableFormatter(item.minSpeedMHz) }}</dd>
+                <dd>{{ dataFormatter(item.minSpeedMHz) }}</dd>
                 <!-- Max Speed MHz -->
                 <dt>{{ $t('pageInventory.table.maxSpeedMHz') }}:</dt>
-                <dd>{{ tableFormatter(item.maxSpeedMHz) }}</dd>
+                <dd>{{ dataFormatter(item.maxSpeedMHz) }}</dd>
                 <!-- Total Cores -->
                 <dt>{{ $t('pageInventory.table.totalCores') }}:</dt>
-                <dd>{{ tableFormatter(item.totalCores) }}</dd>
+                <dd>{{ dataFormatter(item.totalCores) }}</dd>
                 <!-- Total Threads -->
                 <dt>{{ $t('pageInventory.table.totalThreads') }}:</dt>
-                <dd>{{ tableFormatter(item.totalThreads) }}</dd>
+                <dd>{{ dataFormatter(item.totalThreads) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -152,7 +152,7 @@
 import TableCellCount from '@/components/Global/TableCellCount';
 import BVToastMixin from '@/components/Mixins/BVToastMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import Search from '@/components/Global/Search';
 import SearchFilterMixin, {
   searchFilter,
@@ -166,7 +166,7 @@
   mixins: [
     BVToastMixin,
     TableRowExpandMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     SearchFilterMixin,
   ],
@@ -182,26 +182,26 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
           tdClass: 'text-nowrap',
         },
         {
           key: 'locationNumber',
           label: this.$t('pageInventory.table.locationNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: true,
         },
         {
           key: 'identifyLed',
           label: this.$t('pageInventory.table.identifyLed'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           sortable: false,
         },
       ],
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
index c6f425d..d803023 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
@@ -50,14 +50,14 @@
               <dl>
                 <!-- Serial number -->
                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
-                <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+                <dd>{{ dataFormatter(item.serialNumber) }}</dd>
                 <!-- Model -->
                 <dt>{{ $t('pageInventory.table.model') }}:</dt>
-                <dd>{{ tableFormatter(item.model) }}</dd>
+                <dd>{{ dataFormatter(item.model) }}</dd>
                 <!-- Asset tag -->
                 <dt>{{ $t('pageInventory.table.assetTag') }}:</dt>
                 <dd class="mb-2">
-                  {{ tableFormatter(item.assetTag) }}
+                  {{ dataFormatter(item.assetTag) }}
                 </dd>
               </dl>
             </b-col>
@@ -65,13 +65,13 @@
               <dl>
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.statusState) }}</dd>
+                <dd>{{ dataFormatter(item.statusState) }}</dd>
                 <!-- Power state -->
                 <dt>{{ $t('pageInventory.table.power') }}:</dt>
-                <dd>{{ tableFormatter(item.powerState) }}</dd>
+                <dd>{{ dataFormatter(item.powerState) }}</dd>
                 <!-- Health rollup -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+                <dd>{{ dataFormatter(item.healthRollup) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -81,19 +81,19 @@
               <dl>
                 <!-- Manufacturer -->
                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt>
-                <dd>{{ tableFormatter(item.assetTag) }}</dd>
+                <dd>{{ dataFormatter(item.assetTag) }}</dd>
                 <!-- Description -->
                 <dt>{{ $t('pageInventory.table.description') }}:</dt>
-                <dd>{{ tableFormatter(item.description) }}</dd>
+                <dd>{{ dataFormatter(item.description) }}</dd>
                 <!-- Sub Model -->
                 <dt>{{ $t('pageInventory.table.subModel') }}:</dt>
                 <dd>
-                  {{ tableFormatter(item.subModel) }}
+                  {{ dataFormatter(item.subModel) }}
                 </dd>
                 <!-- System Type -->
                 <dt>{{ $t('pageInventory.table.systemType') }}:</dt>
                 <dd>
-                  {{ tableFormatter(item.systemType) }}
+                  {{ dataFormatter(item.systemType) }}
                 </dd>
               </dl>
             </b-col>
@@ -105,13 +105,13 @@
               <dl class="ml-4">
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.memorySummaryState) }}</dd>
+                <dd>{{ dataFormatter(item.memorySummaryState) }}</dd>
                 <!-- Health -->
                 <dt>{{ $t('pageInventory.table.health') }}:</dt>
-                <dd>{{ tableFormatter(item.memorySummaryHealth) }}</dd>
+                <dd>{{ dataFormatter(item.memorySummaryHealth) }}</dd>
                 <!-- Health Roll  -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.memorySummaryHealthRoll) }}</dd>
+                <dd>{{ dataFormatter(item.memorySummaryHealthRoll) }}</dd>
               </dl>
               <!-- Processor Summary -->
               <p class="mt-1 mb-2 h6 float-none m-0">
@@ -120,16 +120,16 @@
               <dl class="ml-4">
                 <!-- Status state -->
                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt>
-                <dd>{{ tableFormatter(item.processorSummaryState) }}</dd>
+                <dd>{{ dataFormatter(item.processorSummaryState) }}</dd>
                 <!-- Health -->
                 <dt>{{ $t('pageInventory.table.health') }}:</dt>
-                <dd>{{ tableFormatter(item.processorSummaryHealth) }}</dd>
+                <dd>{{ dataFormatter(item.processorSummaryHealth) }}</dd>
                 <!-- Health Rollup -->
                 <dt>{{ $t('pageInventory.table.healthRollup') }}:</dt>
-                <dd>{{ tableFormatter(item.processorSummaryHealthRoll) }}</dd>
+                <dd>{{ dataFormatter(item.processorSummaryHealthRoll) }}</dd>
                 <!-- Count -->
                 <dt>{{ $t('pageInventory.table.count') }}:</dt>
-                <dd>{{ tableFormatter(item.processorSummaryCount) }}</dd>
+                <dd>{{ dataFormatter(item.processorSummaryCount) }}</dd>
               </dl>
             </b-col>
           </b-row>
@@ -149,11 +149,11 @@
 import TableRowExpandMixin, {
   expandRowLabel,
 } from '@/components/Mixins/TableRowExpandMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   components: { IconChevron, PageSection, StatusIcon },
-  mixins: [BVToastMixin, TableRowExpandMixin, TableDataFormatterMixin],
+  mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin],
   data() {
     return {
       fields: [
@@ -165,29 +165,29 @@
         {
           key: 'id',
           label: this.$t('pageInventory.table.id'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'hardwareType',
           label: this.$t('pageInventory.table.hardwareType'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           tdClass: 'text-nowrap',
         },
         {
           key: 'health',
           label: this.$t('pageInventory.table.health'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           tdClass: 'text-nowrap',
         },
         {
           key: 'locationNumber',
           label: this.$t('pageInventory.table.locationNumber'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
         {
           key: 'locationIndicatorActive',
           label: this.$t('pageInventory.table.identifyLed'),
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
         },
       ],
       expandRowLabel: expandRowLabel,
diff --git a/src/views/HardwareStatus/Sensors/Sensors.vue b/src/views/HardwareStatus/Sensors/Sensors.vue
index c69532a..15cecff 100644
--- a/src/views/HardwareStatus/Sensors/Sensors.vue
+++ b/src/views/HardwareStatus/Sensors/Sensors.vue
@@ -115,7 +115,7 @@
 } from '@/components/Mixins/BVTableSelectableMixin';
 import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
 import TableFilterMixin from '@/components/Mixins/TableFilterMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import SearchFilterMixin, {
   searchFilter,
@@ -136,7 +136,7 @@
     TableFilterMixin,
     BVTableSelectableMixin,
     LoadingBarMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     SearchFilterMixin,
   ],
@@ -165,28 +165,28 @@
         },
         {
           key: 'lowerCritical',
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           label: this.$t('pageSensors.table.lowerCritical'),
         },
         {
           key: 'lowerCaution',
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           label: this.$t('pageSensors.table.lowerWarning'),
         },
 
         {
           key: 'currentValue',
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           label: this.$t('pageSensors.table.currentValue'),
         },
         {
           key: 'upperCaution',
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           label: this.$t('pageSensors.table.upperWarning'),
         },
         {
           key: 'upperCritical',
-          formatter: this.tableFormatter,
+          formatter: this.dataFormatter,
           label: this.$t('pageSensors.table.upperCritical'),
         },
       ],
diff --git a/src/views/Logs/EventLogs/EventLogs.vue b/src/views/Logs/EventLogs/EventLogs.vue
index a841f3e..fb5458f 100644
--- a/src/views/Logs/EventLogs/EventLogs.vue
+++ b/src/views/Logs/EventLogs/EventLogs.vue
@@ -126,12 +126,12 @@
                   <dl>
                     <!-- Name -->
                     <dt>{{ $t('pageEventLogs.table.name') }}:</dt>
-                    <dd>{{ tableFormatter(item.name) }}</dd>
+                    <dd>{{ dataFormatter(item.name) }}</dd>
                   </dl>
                   <dl>
                     <!-- Type -->
                     <dt>{{ $t('pageEventLogs.table.type') }}:</dt>
-                    <dd>{{ tableFormatter(item.type) }}</dd>
+                    <dd>{{ dataFormatter(item.type) }}</dd>
                   </dl>
                 </b-col>
                 <b-col>
@@ -269,7 +269,7 @@
   tableHeaderCheckboxIndeterminate,
 } from '@/components/Mixins/BVTableSelectableMixin';
 import BVToastMixin from '@/components/Mixins/BVToastMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import TableRowExpandMixin, {
   expandRowLabel,
@@ -301,7 +301,7 @@
     BVToastMixin,
     LoadingBarMixin,
     TableFilterMixin,
-    TableDataFormatterMixin,
+    DataFormatterMixin,
     TableSortMixin,
     TableRowExpandMixin,
     SearchFilterMixin,
diff --git a/src/views/Logs/PostCodeLogs/PostCodeLogs.vue b/src/views/Logs/PostCodeLogs/PostCodeLogs.vue
index 87fd965..6ef575e 100644
--- a/src/views/Logs/PostCodeLogs/PostCodeLogs.vue
+++ b/src/views/Logs/PostCodeLogs/PostCodeLogs.vue
@@ -170,7 +170,6 @@
   tableHeaderCheckboxIndeterminate,
 } from '@/components/Mixins/BVTableSelectableMixin';
 import BVToastMixin from '@/components/Mixins/BVToastMixin';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
 import TableSortMixin from '@/components/Mixins/TableSortMixin';
 import TableRowExpandMixin, {
   expandRowLabel,
@@ -197,7 +196,6 @@
     BVToastMixin,
     LoadingBarMixin,
     TableFilterMixin,
-    TableDataFormatterMixin,
     TableSortMixin,
     TableRowExpandMixin,
     SearchFilterMixin,
diff --git a/src/views/Overview/OverviewDumps.vue b/src/views/Overview/OverviewDumps.vue
index 6fe5996..35ab567 100644
--- a/src/views/Overview/OverviewDumps.vue
+++ b/src/views/Overview/OverviewDumps.vue
@@ -11,7 +11,7 @@
       <b-col sm="6">
         <dl>
           <dt>{{ $t('pageOverview.total') }}</dt>
-          <dd class="h3">{{ tableFormatter(dumps.length) }}</dd>
+          <dd class="h3">{{ dataFormatter(dumps.length) }}</dd>
         </dl>
       </b-col>
     </b-row>
@@ -20,14 +20,14 @@
 
 <script>
 import OverviewCard from './OverviewCard';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   name: 'Dumps',
   components: {
     OverviewCard,
   },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   computed: {
     dumps() {
       return this.$store.getters['dumps/bmcDumps'];
diff --git a/src/views/Overview/OverviewEvents.vue b/src/views/Overview/OverviewEvents.vue
index 84eadd1..b73c0b4 100644
--- a/src/views/Overview/OverviewEvents.vue
+++ b/src/views/Overview/OverviewEvents.vue
@@ -12,7 +12,7 @@
         <dl>
           <dt>{{ $t('pageOverview.criticalEvents') }}</dt>
           <dd class="h3">
-            {{ tableFormatter(criticalEvents.length) }}
+            {{ dataFormatter(criticalEvents.length) }}
             <status-icon status="danger" />
           </dd>
         </dl>
@@ -21,7 +21,7 @@
         <dl>
           <dt>{{ $t('pageOverview.warningEvents') }}</dt>
           <dd class="h3">
-            {{ tableFormatter(warningEvents.length) }}
+            {{ dataFormatter(warningEvents.length) }}
             <status-icon status="warning" />
           </dd>
         </dl>
@@ -33,12 +33,12 @@
 <script>
 import OverviewCard from './OverviewCard';
 import StatusIcon from '@/components/Global/StatusIcon';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   name: 'Events',
   components: { OverviewCard, StatusIcon },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   computed: {
     eventLogData() {
       return this.$store.getters['eventLog/allEvents'];
diff --git a/src/views/Overview/OverviewFirmware.vue b/src/views/Overview/OverviewFirmware.vue
index ec9dfff..f1f9ce5 100644
--- a/src/views/Overview/OverviewFirmware.vue
+++ b/src/views/Overview/OverviewFirmware.vue
@@ -7,9 +7,9 @@
       <b-col>
         <dl>
           <dt>{{ $t('pageOverview.runningVersion') }}</dt>
-          <dd>{{ tableFormatter(runningVersion) }}</dd>
+          <dd>{{ dataFormatter(runningVersion) }}</dd>
           <dt>{{ $t('pageOverview.backupVersion') }}</dt>
-          <dd>{{ tableFormatter(backupVersion) }}</dd>
+          <dd>{{ dataFormatter(backupVersion) }}</dd>
         </dl>
       </b-col>
     </b-row>
@@ -18,14 +18,14 @@
 
 <script>
 import OverviewCard from './OverviewCard';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 
 export default {
   name: 'Firmware',
   components: {
     OverviewCard,
   },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   computed: {
     backupBmcFirmware() {
       return this.$store.getters['firmware/backupBmcFirmware'];
diff --git a/src/views/Overview/OverviewNetwork.vue b/src/views/Overview/OverviewNetwork.vue
index fbb81c6..1c1001e 100644
--- a/src/views/Overview/OverviewNetwork.vue
+++ b/src/views/Overview/OverviewNetwork.vue
@@ -7,14 +7,14 @@
       <b-col sm="6">
         <dl>
           <dt>{{ $t('pageOverview.hostname') }}</dt>
-          <dd>{{ tableFormatter(hostname) }}</dd>
+          <dd>{{ dataFormatter(hostname) }}</dd>
         </dl>
       </b-col>
       <b-col sm="6">
         <dl>
           <dt>{{ $t('pageOverview.linkStatus') }}</dt>
           <dd>
-            {{ tableFormatter(linkStatus) }}
+            {{ dataFormatter(linkStatus) }}
           </dd>
         </dl>
       </b-col>
@@ -24,7 +24,7 @@
         <dl>
           <dt>{{ $t('pageOverview.ipv4') }}</dt>
           <dd>
-            {{ tableFormatter(ipStaticAddress) }}
+            {{ dataFormatter(ipStaticAddress) }}
           </dd>
         </dl>
       </b-col>
@@ -32,7 +32,7 @@
         <dl>
           <dt>{{ $t('pageOverview.dhcp') }}</dt>
           <dd>
-            {{ tableFormatter(ipDhcpAddress) }}
+            {{ dataFormatter(ipDhcpAddress) }}
           </dd>
         </dl>
       </b-col>
@@ -42,7 +42,7 @@
 
 <script>
 import OverviewCard from './OverviewCard';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import { mapState } from 'vuex';
 
 export default {
@@ -50,7 +50,7 @@
   components: {
     OverviewCard,
   },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   data() {
     return {
       ipDhcpAddress: '',
diff --git a/src/views/Overview/OverviewPower.vue b/src/views/Overview/OverviewPower.vue
index a8a630a..a3bd194 100644
--- a/src/views/Overview/OverviewPower.vue
+++ b/src/views/Overview/OverviewPower.vue
@@ -21,9 +21,9 @@
       <b-col>
         <dl>
           <dt>{{ $t('pageOverview.idlePower') }}</dt>
-          <dd>{{ tableFormatter(idlePower) }}</dd>
+          <dd>{{ dataFormatter(idlePower) }}</dd>
           <dt>{{ $t('pageOverview.powerMode') }}</dt>
-          <dd>{{ tableFormatter(powerMode) }}</dd>
+          <dd>{{ dataFormatter(powerMode) }}</dd>
         </dl>
       </b-col>
     </b-row>
@@ -32,7 +32,7 @@
 
 <script>
 import OverviewCard from './OverviewCard';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import { mapGetters } from 'vuex';
 
 export default {
@@ -40,7 +40,7 @@
   components: {
     OverviewCard,
   },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   computed: {
     ...mapGetters({
       powerCapValue: 'powerControl/powerCapValue',
diff --git a/src/views/Overview/OverviewServer.vue b/src/views/Overview/OverviewServer.vue
index 6d1d430..d066d39 100644
--- a/src/views/Overview/OverviewServer.vue
+++ b/src/views/Overview/OverviewServer.vue
@@ -7,9 +7,9 @@
       <b-col lg="6">
         <dl>
           <dt>{{ $t('pageOverview.model') }}</dt>
-          <dd>{{ tableFormatter(serverModel) }}</dd>
+          <dd>{{ dataFormatter(serverModel) }}</dd>
           <dt>{{ $t('pageOverview.serialNumber') }}</dt>
-          <dd>{{ tableFormatter(serverSerialNumber) }}</dd>
+          <dd>{{ dataFormatter(serverSerialNumber) }}</dd>
         </dl>
       </b-col>
     </b-row>
@@ -18,7 +18,7 @@
 
 <script>
 import OverviewCard from './OverviewCard';
-import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
+import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
 import { mapState } from 'vuex';
 
 export default {
@@ -26,7 +26,7 @@
   components: {
     OverviewCard,
   },
-  mixins: [TableDataFormatterMixin],
+  mixins: [DataFormatterMixin],
   computed: {
     ...mapState({
       server: (state) => state.system.systems[0],
