add tags filter in LibraryList & LibraryMap

This commit is contained in:
axolotle
2021-06-14 17:00:18 +02:00
parent fb7aa12bd9
commit 3c324e0a3c
3 changed files with 17 additions and 8 deletions
+5 -4
View File
@@ -18,10 +18,9 @@
</template>
<script>
// FIXME let events bubble
import { mapGetters } from 'vuex'
import { searchInNode } from '@/store/utils'
import { searchInNode, tagsInNode } from '@/store/utils'
import { NodeView } from '@/components/nodes'
@@ -33,14 +32,16 @@ export default {
},
computed: {
...mapGetters(['orderedTextsDepart', 'search']),
...mapGetters(['orderedTextsDepart', 'search', 'tags']),
filteredNodes () {
if (!this.orderedTextsDepart) return {}
const nodesGroups = {}
const search = this.search.toLowerCase()
Object.entries(this.orderedTextsDepart).forEach(([char, nodes]) => {
const filteredNodes = nodes.filter(node => searchInNode(search, node))
const filteredNodes = nodes
.filter(node => tagsInNode(this.tags, node.tags))
.filter(node => searchInNode(search, node))
if (filteredNodes.length) {
nodesGroups[char] = filteredNodes
}