refactor(files): adjust filename filter to use events

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2025-06-24 15:00:23 +02:00
parent c9997f1e0b
commit 2521622709
No known key found for this signature in database
GPG key ID: 45FAE7268762B400
2 changed files with 18 additions and 2 deletions

View file

@ -4,17 +4,31 @@
*/
import type { IFileListFilterChip, INode } from '@nextcloud/files'
import { FileListFilter } from '@nextcloud/files'
import { subscribe } from '@nextcloud/event-bus'
import { FileListFilter, registerFileListFilter } from '@nextcloud/files'
/**
* Register the filename filter
*/
export function registerFilenameFilter() {
registerFileListFilter(new FilenameFilter())
}
/**
* Simple file list filter controlled by the Navigation search box
*/
export class FilenameFilter extends FileListFilter {
class FilenameFilter extends FileListFilter {
private searchQuery = ''
constructor() {
super('files:filename', 5)
subscribe('files:search:updated', ({ query, scope }) => {
if (scope === 'filter') {
this.updateQuery(query)
}
})
}
public filter(nodes: INode[]): INode[] {

View file

@ -33,6 +33,7 @@ import registerPreviewServiceWorker from './services/ServiceWorker.js'
import { initLivePhotos } from './services/LivePhotos'
import { isPublicShare } from '@nextcloud/sharing/public'
import { registerConvertActions } from './actions/convertAction.ts'
import { registerFilenameFilter } from './filters/FilenameFilter.ts'
// Register file actions
registerConvertActions()
@ -65,6 +66,7 @@ if (isPublicShare() === false) {
registerHiddenFilesFilter()
registerTypeFilter()
registerModifiedFilter()
registerFilenameFilter()
// Register preview service worker
registerPreviewServiceWorker()