diff --git a/src/views/Health/HardwareStatus/HardwareStatus.vue b/src/views/Health/HardwareStatus/HardwareStatus.vue
index 24f0295..0869e28 100644
--- a/src/views/Health/HardwareStatus/HardwareStatus.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatus.vue
@@ -57,27 +57,27 @@
   created() {
     this.startLoader();
     const systemTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::system::complete', () => resolve());
+      this.$root.$on('hardware-status-system-complete', () => resolve());
     });
     const bmcManagerTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::bmcManager::complete', () => resolve());
+      this.$root.$on('hardware-status-bmc-manager-complete', () => resolve());
     });
     const chassisTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::chassis::complete', () => resolve());
+      this.$root.$on('hardware-status-chassis-complete', () => resolve());
     });
     const dimmSlotTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::dimmSlot::complete', () => resolve());
+      this.$root.$on('hardware-status-dimm-slot-complete', () => resolve());
     });
     const fansTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::fans::complete', () => resolve());
+      this.$root.$on('hardware-status-fans-complete', () => resolve());
     });
     const powerSuppliesTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::powerSupplies::complete', () =>
+      this.$root.$on('hardware-status-power-supplies-complete', () =>
         resolve()
       );
     });
     const processorsTablePromise = new Promise((resolve) => {
-      this.$root.$on('hardwareStatus::processors::complete', () => resolve());
+      this.$root.$on('hardware-status-processors-complete', () => resolve());
     });
     // Combine all child component Promises to indicate
     // when page data load complete
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableBmcManager.vue b/src/views/Health/HardwareStatus/HardwareStatusTableBmcManager.vue
index 783cd64..25436c8 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableBmcManager.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableBmcManager.vue
@@ -194,7 +194,7 @@
   created() {
     this.$store.dispatch('bmc/getBmcInfo').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::bmcManager::complete');
+      this.$root.$emit('hardware-status-bmc-manager-complete');
     });
   },
 };
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableChassis.vue b/src/views/Health/HardwareStatus/HardwareStatusTableChassis.vue
index fbdadcd..e629006 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableChassis.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableChassis.vue
@@ -116,7 +116,7 @@
   created() {
     this.$store.dispatch('chassis/getChassisInfo').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::chassis::complete');
+      this.$root.$emit('hardware-status-chassis-complete');
     });
   },
 };
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableDimmSlot.vue b/src/views/Health/HardwareStatus/HardwareStatusTableDimmSlot.vue
index 2c90163..9e0c9f8 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableDimmSlot.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableDimmSlot.vue
@@ -3,8 +3,8 @@
     <b-row>
       <b-col sm="6" md="5" xl="4">
         <search
-          @changeSearch="onChangeSearchInput"
-          @clearSearch="onClearSearchInput"
+          @change-search="onChangeSearchInput"
+          @clear-search="onClearSearchInput"
         />
       </b-col>
       <b-col sm="6" md="3" xl="2">
@@ -137,7 +137,7 @@
   created() {
     this.$store.dispatch('memory/getDimms').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::dimmSlot::complete');
+      this.$root.$emit('hardware-status-dimm-slot-complete');
     });
   },
   methods: {
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableFans.vue b/src/views/Health/HardwareStatus/HardwareStatusTableFans.vue
index 6ade34b..4981d45 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableFans.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableFans.vue
@@ -3,8 +3,8 @@
     <b-row>
       <b-col sm="6" md="5" xl="4">
         <search
-          @changeSearch="onChangeSearchInput"
-          @clearSearch="onClearSearchInput"
+          @change-search="onChangeSearchInput"
+          @clear-search="onClearSearchInput"
         />
       </b-col>
       <b-col sm="6" md="3" xl="2">
@@ -136,7 +136,7 @@
   created() {
     this.$store.dispatch('fan/getFanInfo').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::fans::complete');
+      this.$root.$emit('hardware-status-fans-complete');
     });
   },
   methods: {
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue b/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
index 91c26a7..4137f1b 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTablePowerSupplies.vue
@@ -3,8 +3,8 @@
     <b-row>
       <b-col sm="6" md="5" xl="4">
         <search
-          @changeSearch="onChangeSearchInput"
-          @clearSearch="onClearSearchInput"
+          @change-search="onChangeSearchInput"
+          @clear-search="onClearSearchInput"
         />
       </b-col>
       <b-col sm="6" md="3" xl="2">
@@ -159,7 +159,7 @@
   created() {
     this.$store.dispatch('powerSupply/getPowerSupply').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::powerSupplies::complete');
+      this.$root.$emit('hardware-status-power-supplies-complete');
     });
   },
   methods: {
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue b/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
index fba4cc4..da15b7a 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
@@ -4,8 +4,8 @@
     <b-row>
       <b-col sm="6" md="5" xl="4">
         <search
-          @changeSearch="onChangeSearchInput"
-          @clearSearch="onClearSearchInput"
+          @change-search="onChangeSearchInput"
+          @clear-search="onClearSearchInput"
         />
       </b-col>
       <b-col sm="6" md="3" xl="2">
@@ -166,7 +166,7 @@
   created() {
     this.$store.dispatch('processors/getProcessorsInfo').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::processors::complete');
+      this.$root.$emit('hardware-status-processors-complete');
     });
   },
   methods: {
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableStystem.vue b/src/views/Health/HardwareStatus/HardwareStatusTableStystem.vue
index fc65fbf..e2ba49e 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableStystem.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableStystem.vue
@@ -128,7 +128,7 @@
   created() {
     this.$store.dispatch('system/getSystem').finally(() => {
       // Emit initial data fetch complete to parent component
-      this.$root.$emit('hardwareStatus::system::complete');
+      this.$root.$emit('hardware-status-system-complete');
     });
   },
 };
