diff options
author | Sandeepa Singh <sandeepa.singh@ibm.com> | 2021-07-06 13:59:10 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2021-08-10 22:20:42 +0300 |
commit | 7affc529b7fba41193c4d48764707e9961cdd22d (patch) | |
tree | d198c2026a40faf07d622492297aed488b17fccb /src/views/Health/Sensors/Sensors.vue | |
parent | 828dda9b187684902710bb11621eca27bf0c6eec (diff) | |
download | webui-vue-7affc529b7fba41193c4d48764707e9961cdd22d.tar.xz |
IA update: Update health section
This is the second update to information architecture changes and
has the following changes:
- Health section is updated to hardware status section
- Hardware status page is updated to inventory and LEDs page
- Route for sensors page has been updated
Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com>
Change-Id: Ia1ba3a15a243a00f59a2ec646132436eb355a999
Diffstat (limited to 'src/views/Health/Sensors/Sensors.vue')
-rw-r--r-- | src/views/Health/Sensors/Sensors.vue | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/src/views/Health/Sensors/Sensors.vue b/src/views/Health/Sensors/Sensors.vue deleted file mode 100644 index c69532a6..00000000 --- a/src/views/Health/Sensors/Sensors.vue +++ /dev/null @@ -1,253 +0,0 @@ -<template> - <b-container fluid="xl"> - <page-title /> - <b-row class="align-items-end"> - <b-col sm="6" md="5" xl="4"> - <search - :placeholder="$t('pageSensors.searchForSensors')" - data-test-id="sensors-input-searchForSensors" - @change-search="onChangeSearchInput" - @clear-search="onClearSearchInput" - /> - </b-col> - <b-col sm="3" md="3" xl="2"> - <table-cell-count - :filtered-items-count="filteredRows" - :total-number-of-cells="allSensors.length" - ></table-cell-count> - </b-col> - <b-col sm="3" md="4" xl="6" class="text-right"> - <table-filter :filters="tableFilters" @filter-change="onFilterChange" /> - </b-col> - </b-row> - <b-row> - <b-col xl="12"> - <table-toolbar - ref="toolbar" - :selected-items-count="selectedRows.length" - @clear-selected="clearSelectedRows($refs.table)" - > - <template #toolbar-buttons> - <table-toolbar-export - :data="selectedRows" - :file-name="exportFileNameByDate()" - /> - </template> - </table-toolbar> - <b-table - ref="table" - responsive="md" - selectable - no-select-on-click - sort-icon-left - hover - no-sort-reset - sticky-header="75vh" - sort-by="status" - show-empty - :no-border-collapse="true" - :items="filteredSensors" - :fields="fields" - :sort-desc="true" - :sort-compare="sortCompare" - :filter="searchFilter" - :empty-text="$t('global.table.emptyMessage')" - :empty-filtered-text="$t('global.table.emptySearchMessage')" - @filtered="onFiltered" - @row-selected="onRowSelected($event, filteredSensors.length)" - > - <!-- Checkbox column --> - <template #head(checkbox)> - <b-form-checkbox - v-model="tableHeaderCheckboxModel" - :indeterminate="tableHeaderCheckboxIndeterminate" - @change="onChangeHeaderCheckbox($refs.table)" - > - <span class="sr-only">{{ $t('global.table.selectAll') }}</span> - </b-form-checkbox> - </template> - <template #cell(checkbox)="row"> - <b-form-checkbox - v-model="row.rowSelected" - @change="toggleSelectRow($refs.table, row.index)" - > - <span class="sr-only">{{ $t('global.table.selectItem') }}</span> - </b-form-checkbox> - </template> - - <template #cell(status)="{ value }"> - <status-icon :status="statusIcon(value)" /> {{ value }} - </template> - <template #cell(currentValue)="data"> - {{ data.value }} {{ data.item.units }} - </template> - <template #cell(lowerCaution)="data"> - {{ data.value }} {{ data.item.units }} - </template> - <template #cell(upperCaution)="data"> - {{ data.value }} {{ data.item.units }} - </template> - <template #cell(lowerCritical)="data"> - {{ data.value }} {{ data.item.units }} - </template> - <template #cell(upperCritical)="data"> - {{ data.value }} {{ data.item.units }} - </template> - </b-table> - </b-col> - </b-row> - </b-container> -</template> - -<script> -import PageTitle from '@/components/Global/PageTitle'; -import Search from '@/components/Global/Search'; -import StatusIcon from '@/components/Global/StatusIcon'; -import TableFilter from '@/components/Global/TableFilter'; -import TableToolbar from '@/components/Global/TableToolbar'; -import TableToolbarExport from '@/components/Global/TableToolbarExport'; -import TableCellCount from '@/components/Global/TableCellCount'; - -import BVTableSelectableMixin, { - selectedRows, - tableHeaderCheckboxModel, - tableHeaderCheckboxIndeterminate, -} from '@/components/Mixins/BVTableSelectableMixin'; -import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; -import TableFilterMixin from '@/components/Mixins/TableFilterMixin'; -import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin'; -import TableSortMixin from '@/components/Mixins/TableSortMixin'; -import SearchFilterMixin, { - searchFilter, -} from '@/components/Mixins/SearchFilterMixin'; - -export default { - name: 'Sensors', - components: { - PageTitle, - Search, - StatusIcon, - TableCellCount, - TableFilter, - TableToolbar, - TableToolbarExport, - }, - mixins: [ - TableFilterMixin, - BVTableSelectableMixin, - LoadingBarMixin, - TableDataFormatterMixin, - TableSortMixin, - SearchFilterMixin, - ], - beforeRouteLeave(to, from, next) { - this.hideLoader(); - next(); - }, - data() { - return { - fields: [ - { - key: 'checkbox', - sortable: false, - label: '', - }, - { - key: 'name', - sortable: true, - label: this.$t('pageSensors.table.name'), - }, - { - key: 'status', - sortable: true, - label: this.$t('pageSensors.table.status'), - tdClass: 'text-nowrap', - }, - { - key: 'lowerCritical', - formatter: this.tableFormatter, - label: this.$t('pageSensors.table.lowerCritical'), - }, - { - key: 'lowerCaution', - formatter: this.tableFormatter, - label: this.$t('pageSensors.table.lowerWarning'), - }, - - { - key: 'currentValue', - formatter: this.tableFormatter, - label: this.$t('pageSensors.table.currentValue'), - }, - { - key: 'upperCaution', - formatter: this.tableFormatter, - label: this.$t('pageSensors.table.upperWarning'), - }, - { - key: 'upperCritical', - formatter: this.tableFormatter, - label: this.$t('pageSensors.table.upperCritical'), - }, - ], - tableFilters: [ - { - key: 'status', - label: this.$t('pageSensors.table.status'), - values: ['OK', 'Warning', 'Critical'], - }, - ], - activeFilters: [], - searchFilter: searchFilter, - searchTotalFilteredRows: 0, - selectedRows: selectedRows, - tableHeaderCheckboxModel: tableHeaderCheckboxModel, - tableHeaderCheckboxIndeterminate: tableHeaderCheckboxIndeterminate, - }; - }, - computed: { - allSensors() { - return this.$store.getters['sensors/sensors']; - }, - filteredRows() { - return this.searchFilter - ? this.searchTotalFilteredRows - : this.filteredSensors.length; - }, - filteredSensors() { - return this.getFilteredTableData(this.allSensors, this.activeFilters); - }, - }, - created() { - this.startLoader(); - this.$store - .dispatch('sensors/getAllSensors') - .finally(() => this.endLoader()); - }, - methods: { - sortCompare(a, b, key) { - if (key === 'status') { - return this.sortStatus(a, b, key); - } - }, - onFilterChange({ activeFilters }) { - this.activeFilters = activeFilters; - }, - onFiltered(filteredItems) { - this.searchTotalFilteredRows = filteredItems.length; - }, - onChangeSearchInput(event) { - this.searchFilter = event; - }, - exportFileNameByDate() { - // Create export file name based on date - let date = new Date(); - date = - date.toISOString().slice(0, 10) + - '_' + - date.toString().split(':').join('-').split(' ')[4]; - return this.$t('pageSensors.exportFilePrefix') + date; - }, - }, -}; -</script> |