@@ -56,6 +56,7 @@ export class FilePicker<IsMultiSelect extends boolean> {
5656 private path ?: string
5757 private filter ?: IFilePickerFilter
5858 private container ?: string
59+ private disabledNavigation : boolean
5960
6061 public constructor ( title : string ,
6162 multiSelect : IsMultiSelect ,
@@ -64,7 +65,9 @@ export class FilePicker<IsMultiSelect extends boolean> {
6465 buttons : IFilePickerButton [ ] | IFilePickerButtonFactory ,
6566 path ?: string ,
6667 filter ?: IFilePickerFilter ,
67- container ?: string ) {
68+ container ?: string ,
69+ disabledNavigation = false ,
70+ ) {
6871 this . title = title
6972 this . multiSelect = multiSelect
7073 this . mimeTypeFilter = mimeTypeFilter
@@ -73,6 +76,7 @@ export class FilePicker<IsMultiSelect extends boolean> {
7376 this . filter = filter
7477 this . buttons = buttons
7578 this . container = container
79+ this . disabledNavigation = disabledNavigation
7680 }
7781
7882 /**
@@ -93,6 +97,7 @@ export class FilePicker<IsMultiSelect extends boolean> {
9397 mimetypeFilter : this . mimeTypeFilter ,
9498 multiselect : this . multiSelect ,
9599 filterFn : this . filter ,
100+ disabledNavigation : this . disabledNavigation ,
96101 } , ( ...rest : unknown [ ] ) => {
97102 const [ nodes ] = rest as [ nodes : Node [ ] ]
98103 if ( ! Array . isArray ( nodes ) || nodes . length === 0 ) {
@@ -120,6 +125,7 @@ export class FilePickerBuilder<IsMultiSelect extends boolean> {
120125 private filter ?: IFilePickerFilter
121126 private buttons : IFilePickerButton [ ] | IFilePickerButtonFactory = [ ]
122127 private container ?: string
128+ private disabledNavigation = false
123129
124130 /**
125131 * Construct a new FilePicker
@@ -273,6 +279,16 @@ export class FilePickerBuilder<IsMultiSelect extends boolean> {
273279 return this
274280 }
275281
282+ /**
283+ * Allow to pick directories besides files
284+ *
285+ * @param allow True to allow picking directories
286+ */
287+ public disableNavigation ( ) {
288+ this . disabledNavigation = true
289+ return this
290+ }
291+
276292 /**
277293 * Construct the configured FilePicker
278294 */
@@ -285,6 +301,8 @@ export class FilePickerBuilder<IsMultiSelect extends boolean> {
285301 this . buttons ,
286302 this . path ,
287303 this . filter ,
304+ this . container ,
305+ this . disabledNavigation ,
288306 )
289307 }
290308
0 commit comments