diff options
Diffstat (limited to 'src/components/Mixins')
-rw-r--r-- | src/components/Mixins/TableFilterMixin.js | 23 |
1 files changed, 23 insertions, 0 deletions
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; |