diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-02-20 12:56:19 +0100 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-02-28 10:43:26 +0100 |
commit | a6735473974de149e886749c995e9d161649d0bc (patch) | |
tree | 3f789705291901bb22d09c26708642d4d66c598c /apps/files/src | |
parent | 87813cd647fad6f28b0c01dfd90d922fbf294199 (diff) | |
download | nextcloud-server-a6735473974de149e886749c995e9d161649d0bc.tar.gz nextcloud-server-a6735473974de149e886749c995e9d161649d0bc.zip |
fix(files): Ensure the filter instance is mounted
`reset` could be called before the filters are mounted,
in this case it is valid to update the presets, but we must not try to
access the vue instance (as it does not exist yet).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps/files/src')
-rw-r--r-- | apps/files/src/filters/HiddenFilesFilter.ts | 2 | ||||
-rw-r--r-- | apps/files/src/filters/TypeFilter.ts | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/apps/files/src/filters/HiddenFilesFilter.ts b/apps/files/src/filters/HiddenFilesFilter.ts index 51d90b2efb2..e48881d4ab7 100644 --- a/apps/files/src/filters/HiddenFilesFilter.ts +++ b/apps/files/src/filters/HiddenFilesFilter.ts @@ -15,7 +15,7 @@ class HiddenFilesFilter extends FileListFilter { constructor() { super('files:hidden', 0) - this.showHidden = loadState<UserConfig>('files', 'config', { show_hidden: false }).show_hidden + this.showHidden = loadState<Partial<UserConfig>>('files', 'config', { show_hidden: false }).show_hidden subscribe('files:config:updated', ({ key, value }) => { if (key === 'show_hidden') { diff --git a/apps/files/src/filters/TypeFilter.ts b/apps/files/src/filters/TypeFilter.ts index 3955805aa5e..94b109ea7a4 100644 --- a/apps/files/src/filters/TypeFilter.ts +++ b/apps/files/src/filters/TypeFilter.ts @@ -149,7 +149,12 @@ class TypeFilter extends FileListFilter { public setPresets(presets?: ITypePreset[]) { this.currentPresets = presets ?? [] - this.currentInstance!.$props.presets = presets + if (this.currentInstance !== undefined) { + // could be called before the instance was created + // (meaning the files list is not mounted yet) + this.currentInstance.$props.presets = presets + } + this.filterUpdated() const chips: IFileListFilterChip[] = [] |