@@ -25,26 +25,30 @@ function init() {
2525 appId : 'files' ,
2626 label : t ( 'files' , 'In folder' ) ,
2727 icon : imagePath ( 'files' , 'app.svg' ) ,
28- callback : ( ) => {
29- const filepicker = getFilePickerBuilder ( 'Pick plain text files' )
30- . addMimeTypeFilter ( 'httpd/unix-directory' )
31- . allowDirectories ( true )
32- . addButton ( {
33- label : 'Pick' ,
34- callback : ( nodes : Node [ ] ) => {
35- logger . info ( 'Folder picked' , { folder : nodes [ 0 ] } )
36- const folder = nodes [ 0 ]
37- emit ( 'nextcloud:unified-search:add-filter' , {
38- id : 'in-folder' ,
39- appId : 'files' ,
40- payload : folder ,
41- filterUpdateText : t ( 'files' , 'Search in folder: {folder}' , { folder : folder . basename } ) ,
42- filterParams : { path : folder . path } ,
43- } )
44- } ,
45- } )
46- . build ( )
47- filepicker . pick ( )
28+ callback : ( showFilePicker : boolean = true ) => {
29+ if ( showFilePicker ) {
30+ const filepicker = getFilePickerBuilder ( 'Pick plain text files' )
31+ . addMimeTypeFilter ( 'httpd/unix-directory' )
32+ . allowDirectories ( true )
33+ . addButton ( {
34+ label : 'Pick' ,
35+ callback : ( nodes : Node [ ] ) => {
36+ logger . info ( 'Folder picked' , { folder : nodes [ 0 ] } )
37+ const folder = nodes [ 0 ]
38+ emit ( 'nextcloud:unified-search:add-filter' , {
39+ id : 'in-folder' ,
40+ appId : 'files' ,
41+ payload : folder ,
42+ filterUpdateText : t ( 'files' , 'Search in folder: {folder}' , { folder : folder . basename } ) ,
43+ filterParams : { path : folder . path } ,
44+ } )
45+ } ,
46+ } )
47+ . build ( )
48+ filepicker . pick ( )
49+ } else {
50+ logger . debug ( 'Folder search callback was handled without showing the file picker, it might already be open' )
51+ }
4852 } ,
4953 } )
5054}
0 commit comments