diff --git a/src/backend/model/database/sql/SearchManager.ts b/src/backend/model/database/sql/SearchManager.ts
index 89a3692c..d5f0f147 100644
--- a/src/backend/model/database/sql/SearchManager.ts
+++ b/src/backend/model/database/sql/SearchManager.ts
@@ -181,24 +181,26 @@ export class SearchManager implements ISearchManager {
result.resultOverflow = true;
}
- const dirQuery = this.filterDirectoryQuery(query);
- if (dirQuery !== null) {
- result.directories = await connection
- .getRepository(DirectoryEntity)
- .createQueryBuilder('directory')
- .where(this.buildWhereQuery(dirQuery, true))
- .limit(Config.Client.Search.maxDirectoryResult + 1)
- .getMany();
+ if (Config.Client.Search.listDirectories === true) {
+ const dirQuery = this.filterDirectoryQuery(query);
+ if (dirQuery !== null) {
+ result.directories = await connection
+ .getRepository(DirectoryEntity)
+ .createQueryBuilder('directory')
+ .where(this.buildWhereQuery(dirQuery, true))
+ .limit(Config.Client.Search.maxDirectoryResult + 1)
+ .getMany();
- // setting previews
- if (result.directories) {
- for (const item of result.directories) {
- await (ObjectManagers.getInstance().GalleryManager as ISQLGalleryManager)
- .fillPreviewForSubDir(connection, item as DirectoryEntity);
+ // setting previews
+ if (result.directories) {
+ for (const item of result.directories) {
+ await (ObjectManagers.getInstance().GalleryManager as ISQLGalleryManager)
+ .fillPreviewForSubDir(connection, item as DirectoryEntity);
+ }
+ }
+ if (result.directories.length > Config.Client.Search.maxDirectoryResult) {
+ result.resultOverflow = true;
}
- }
- if (result.directories.length > Config.Client.Search.maxDirectoryResult) {
- result.resultOverflow = true;
}
}
diff --git a/src/common/config/public/ClientConfig.ts b/src/common/config/public/ClientConfig.ts
index 07d32825..a61254fe 100644
--- a/src/common/config/public/ClientConfig.ts
+++ b/src/common/config/public/ClientConfig.ts
@@ -29,6 +29,8 @@ export class ClientSearchConfig {
AutoComplete: AutoCompleteConfig = new AutoCompleteConfig();
@ConfigProperty({type: 'unsignedInt'})
maxMediaResult: number = 10000;
+ @ConfigProperty({description: 'Search returns also with directories, not just media'})
+ listDirectories: boolean = false;
@ConfigProperty({type: 'unsignedInt'})
maxDirectoryResult: number = 200;
}
diff --git a/src/frontend/app/ui/settings/search/search.settings.component.html b/src/frontend/app/ui/settings/search/search.settings.component.html
index 4ae55e31..4202e699 100644
--- a/src/frontend/app/ui/settings/search/search.settings.component.html
+++ b/src/frontend/app/ui/settings/search/search.settings.component.html
@@ -44,6 +44,13 @@
required="true">
+
+
diff --git a/src/frontend/translate/messages.en.xlf b/src/frontend/translate/messages.en.xlf
index 0ceb9214..3d343e16 100644
--- a/src/frontend/translate/messages.en.xlf
+++ b/src/frontend/translate/messages.en.xlf
@@ -2772,6 +2772,18 @@
Maximum number of photos and videos that listed in one search result.
Maximum number of photos and videos that listed in one search result.
+
+ Insert
+ Insert
+
+
+ List directories"
+ List directories"
+
+
+ Search will also return with directories"
+ Search will also return with directories"
+