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/store/modules/Health/SystemStore.js b/src/store/modules/Health/SystemStore.js
new file mode 100644
index 0000000..9c4c477
--- /dev/null
+++ b/src/store/modules/Health/SystemStore.js
@@ -0,0 +1,39 @@
+import api from '@/store/api';
+
+const SystemStore = {
+  namespaced: true,
+  state: {
+    systems: []
+  },
+  getters: {
+    systems: state => state.systems
+  },
+  mutations: {
+    setSystemInfo: (state, data) => {
+      const system = {};
+      system.assetTag = data.AssetTag;
+      system.description = data.Description;
+      system.health = data.Status.Health;
+      system.id = data.Id;
+      system.indicatorLed = data.IndicatorLED;
+      system.model = data.Model;
+      system.partNumber = data.PartNumber;
+      system.powerState = data.PowerState;
+      system.serialNumber = data.SerialNumber;
+      system.healthRollup = data.Status.HealthRollup;
+      system.statusState = data.Status.State;
+      system.systemType = data.SystemType;
+      state.systems = [system];
+    }
+  },
+  actions: {
+    async getSystem({ commit }) {
+      return await api
+        .get('/redfish/v1/Systems/system')
+        .then(({ data }) => commit('setSystemInfo', data))
+        .catch(error => console.log(error));
+    }
+  }
+};
+
+export default SystemStore;