From 82cca545587fa8803fe35092614922bc1af3a48e Mon Sep 17 00:00:00 2001 From: Yoshie Muranaka Date: Tue, 7 Apr 2020 10:20:37 -0700 Subject: Create TableFilter component Global TableFilter component and TableFilterMixin can be used with any table. The TableFilterMixin will return filtered data with items that match any of the filter tags. When the table search component is built, it should use the BoostrapVue Table :filter prop. - Filter by status added to Sensors table Signed-off-by: Yoshie Muranaka Change-Id: I57ebab1686b2d267383cb0e1be252627bf42c98c --- src/components/Mixins/TableFilterMixin.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/components/Mixins/TableFilterMixin.js (limited to 'src/components/Mixins') diff --git a/src/components/Mixins/TableFilterMixin.js b/src/components/Mixins/TableFilterMixin.js new file mode 100644 index 00000000..25c7497a --- /dev/null +++ b/src/components/Mixins/TableFilterMixin.js @@ -0,0 +1,23 @@ +import { includes } from 'lodash'; + +const TableFilterMixin = { + methods: { + getFilteredTableData(tableData = [], filters = []) { + if (filters.length === 0) return tableData; + // will return all items that match + // any of the filter tags (not all) + return tableData.filter(row => { + let returnRow = false; + for (const filter of filters) { + if (includes(row, filter)) { + returnRow = true; + break; + } + } + return returnRow; + }); + } + } +}; + +export default TableFilterMixin; -- cgit v1.2.3