File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ declare module '@nextcloud/event-bus' {
1313 'files:favorites:removed' : Node
1414 'files:favorites:added' : Node
1515
16+ 'files:filters:changed' : undefined
17+
1618 'files:node:created' : Node
1719 'files:node:deleted' : Node
1820 'files:node:updated' : Node
Original file line number Diff line number Diff line change 33 * SPDX-License-Identifier: AGPL-3.0-or-later
44 */
55import type { FilterUpdateChipsEvent , IFileListFilter , IFileListFilterChip } from '@nextcloud/files'
6- import { subscribe } from '@nextcloud/event-bus'
6+ import { emit , subscribe } from '@nextcloud/event-bus'
77import { getFileListFilters } from '@nextcloud/files'
88import { defineStore } from 'pinia'
99import { computed , ref } from 'vue'
@@ -20,7 +20,6 @@ function isFileListFilterWithUi(value: IFileListFilter): value is Required<IFile
2020export const useFiltersStore = defineStore ( 'filters' , ( ) => {
2121 const chips = ref < Record < string , IFileListFilterChip [ ] > > ( { } )
2222 const filters = ref < IFileListFilter [ ] > ( [ ] )
23- const filtersChanged = ref ( false )
2423
2524 /**
2625 * Currently active filter chips
@@ -77,7 +76,7 @@ export const useFiltersStore = defineStore('filters', () => {
7776 * @private
7877 */
7978 function onFilterUpdate ( ) {
80- filtersChanged . value = true
79+ emit ( 'files:filters:changed' )
8180 }
8281
8382 /**
@@ -122,7 +121,6 @@ export const useFiltersStore = defineStore('filters', () => {
122121 chips,
123122 filters,
124123 filtersWithUI,
125- filtersChanged,
126124
127125 // getters / computed
128126 activeChips,
Original file line number Diff line number Diff line change @@ -432,10 +432,6 @@ export default defineComponent({
432432 && this .currentFolder && (this .currentFolder .permissions & Permission .SHARE ) !== 0
433433 },
434434
435- filtersChanged() {
436- return this .filtersStore .filtersChanged
437- },
438-
439435 showCustomEmptyView() {
440436 return ! this .loading && this .isEmptyDir && this .currentView ?.emptyView !== undefined
441437 },
@@ -516,13 +512,6 @@ export default defineComponent({
516512 // Also refresh the filtered content
517513 this .filterDirContent ()
518514 },
519-
520- filtersChanged() {
521- if (this .filtersChanged ) {
522- this .filterDirContent ()
523- this .filtersStore .filtersChanged = false
524- }
525- },
526515 },
527516
528517 async mounted() {
@@ -532,6 +521,9 @@ export default defineComponent({
532521 // reload on settings change
533522 subscribe (' files:config:updated' , this .fetchContent )
534523
524+ // filter content if filter were changed
525+ subscribe (' files:filters:changed' , this .filterDirContent )
526+
535527 // Finally, fetch the current directory contents
536528 await this .fetchContent ()
537529 if (this .fileId ) {
You can’t perform that action at this time.
0 commit comments