diff --git a/lib/components/FilePicker/FilePicker.vue b/lib/components/FilePicker/FilePicker.vue index ad6facf50..0c4d1ae61 100644 --- a/lib/components/FilePicker/FilePicker.vue +++ b/lib/components/FilePicker/FilePicker.vue @@ -25,7 +25,7 @@

{{ viewHeadline }}

@@ -99,6 +99,13 @@ const props = withDefaults(defineProps<{ */ allowPickDirectory?: boolean + /** + * Can new Files/folders be created + * + * @default false + */ + noMenu?: boolean + /** * Is the navigation disabled */ @@ -136,6 +143,7 @@ const props = withDefaults(defineProps<{ path?: string }>(), { allowPickDirectory: false, + noMenu: false, disabledNavigation: false, filterFn: undefined, canPickFn: undefined, diff --git a/lib/filepicker-builder.ts b/lib/filepicker-builder.ts index 1c618b56f..cda3165c8 100644 --- a/lib/filepicker-builder.ts +++ b/lib/filepicker-builder.ts @@ -34,6 +34,7 @@ export class FilePicker { private multiSelect: IsMultiSelect private mimeTypeFilter: string[] private directoriesAllowed: boolean + private noMenu: boolean private buttons: IFilePickerButton[] | IFilePickerButtonFactory private path?: string private filter?: IFilePickerFilter @@ -46,6 +47,7 @@ export class FilePicker { multiSelect: IsMultiSelect, mimeTypeFilter: string[], directoriesAllowed: boolean, + noMenu: boolean, buttons: IFilePickerButton[] | IFilePickerButtonFactory, path?: string, filter?: IFilePickerFilter, @@ -57,6 +59,7 @@ export class FilePicker { this.multiSelect = multiSelect this.mimeTypeFilter = mimeTypeFilter this.directoriesAllowed = directoriesAllowed + this.noMenu = noMenu this.path = path this.filter = filter this.canPick = canPick @@ -75,6 +78,7 @@ export class FilePicker { const nodes = await spawnDialog(FilePickerVue, { allowPickDirectory: this.directoriesAllowed, + noMenu: this.noMenu, buttons: this.buttons, name: this.title, path: this.path, @@ -114,6 +118,7 @@ export class FilePickerBuilder { private multiSelect = false private mimeTypeFilter: string[] = [] private directoriesAllowed = false + private noMenu = false private path?: string private filter?: IFilePickerFilter private canPick?: IFilePickerCanPick @@ -254,6 +259,16 @@ export class FilePickerBuilder { return this } + /** + * Allow to create New folders + * + * @param noMenu True to hide menu + */ + public setNoMenu(noMenu = true) { + this.noMenu = noMenu + return this + } + /** * Set starting path of the FilePicker * @@ -301,6 +316,7 @@ export class FilePickerBuilder { this.multiSelect as IsMultiSelect, this.mimeTypeFilter, this.directoriesAllowed, + this.noMenu, this.buttons, this.path, this.filter,