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
10 files changed
tree: df91c4974e2c0e42eb6966b7c10728a7918c4a95
  1. .github/
  2. docs/
  3. public/
  4. src/
  5. tests/
  6. .browserslistrc
  7. .env.openpower
  8. .eslintrc.js
  9. .gitignore
  10. .npmrc
  11. babel.config.js
  12. CONTRIBUTING.md
  13. format-code.sh
  14. jest.config.js
  15. LICENSE
  16. MAINTAINERS
  17. package-lock.json
  18. package.json
  19. postcss.config.js
  20. README.md
  21. vue.config.js
README.md

webui-vue

webui-vue is a web-based user interface for the OpenBMC firmware stack built on Vue.js.

Hold on... What happened to phosphor-webui?

phosphor-webui was built on AngularJS and AngularJS goes End of Life June 30, 2021, so this repository is hopefully its replacement. At this time, phosphor-webui still contains more features and you should consider using it.

When will this new Vue.js application reach feature parity with phosphor-webui?

The current plan is by the end of June 2020, with exception to the following pages:

  • Firmware
  • SNMP settings
  • KVM
  • Virtual media

Why will this application be better?

As mentioned, this application is built using Vue.js, a modern open-source Model-View-ViewModel JavaScript framework supported by an active community and strong documentation. It has been architected to allow organizations to easily update the theme to support their brand. This rewrite takes advantage of front-end development best practices and does not suffer from some of the anti-patterns that exist in phosphor-webui today.

How can I get involved?

Documentation

The documentation for coding standards and components is located in the docs directory. It is created using the VuePress static site generator. Information about how to write documentation can be found on the VuePress website.