Add Hardware status page and system table

Adds ability to see system information in table format with a row
expansion details view. Modified tables styles to add table borders.

Created global mixin for table data formatting:
- Show '--' for undefined or empty string values
- Map Redfish health status options to status-icon values

Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I5b45c37997647f5a265c1e84eb53f0b51699ee20
diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue
index 8103558..09c1eb8 100644
--- a/src/components/AppNavigation/AppNavigation.vue
+++ b/src/components/AppNavigation/AppNavigation.vue
@@ -18,7 +18,7 @@
               <b-nav-item to="/health/event-logs">
                 {{ $t('appNavigation.eventLogs') }}
               </b-nav-item>
-              <b-nav-item href="javascript:void(0)">
+              <b-nav-item to="/health/hardware-status">
                 {{ $t('appNavigation.hardwareStatus') }}
               </b-nav-item>
               <b-nav-item to="/health/sensors">
diff --git a/src/components/Mixins/TableDataFormatter.js b/src/components/Mixins/TableDataFormatter.js
new file mode 100644
index 0000000..5dbe40a
--- /dev/null
+++ b/src/components/Mixins/TableDataFormatter.js
@@ -0,0 +1,25 @@
+const TableDataFormatter = {
+  methods: {
+    tableFormatter(value) {
+      if (value === undefined || value === '') {
+        return '--';
+      } else {
+        return value;
+      }
+    },
+    statusIcon(status) {
+      switch (status) {
+        case 'OK':
+          return 'success';
+        case 'Warning':
+          return 'warning';
+        case 'Critical':
+          return 'danger';
+        default:
+          return '';
+      }
+    }
+  }
+};
+
+export default TableDataFormatter;