Skip to content

Commit

Permalink
new folder button
Browse files Browse the repository at this point in the history
  • Loading branch information
brunopagno committed Dec 13, 2024
1 parent 9bfdd3b commit 4704c93
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ export class StorageFilesResourceService {
return this.httpClient.request<IUploadLink>(link.method, link.href, { body: link.payload });
}

createFolder(href:string, body:{ name:string, parent_id:ID }):Observable<IStorageFile> {
return this.httpClient.post<IStorageFile>(href, body);
}

reset():void {
this.store.reset();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,16 @@
</div>

<div class="spot-action-bar">
<div class="spot-action-bar--left">
<button
type="button"
class="button spot-action-bar--action"
(click)="createAndNavigateToFolder()"
>
<span class="spot-icon spot-icon_folder-add op-files-tab--icon op-files-tab--icon_forums"></span>
<span [textContent]="text.buttons.newFolder"></span>
</button>
</div>
<div class="spot-action-bar--right">
<button
type="button"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ export class LocationPickerModalComponent extends FilePickerBaseModalComponent {
submitEmptySelection: this.i18n.t('js.storages.file_links.selection_none'),
cancel: this.i18n.t('js.button_cancel'),
selectAll: this.i18n.t('js.storages.file_links.select_all'),
newFolder: this.i18n.t('js.storages.new_folder'),
},
tooltip: {
directory_not_writeable: this.i18n.t('js.storages.files.directory_not_writeable'),
Expand Down Expand Up @@ -170,4 +171,20 @@ export class LocationPickerModalComponent extends FilePickerBaseModalComponent {

return this.text.tooltip.file_not_selectable;
}

public createAndNavigateToFolder() {
// eslint-disable-next-line
const value = window.prompt(this.text.buttons.newFolder);
if (!value) { return; }

this.storageFilesResourceService.createFolder(
`${this.storage._links.self.href}/folders`,
{
name: value,
parent_id: this.currentDirectory.id,
},
).subscribe((newlyCreatedDirectory) => {
this.changeLevel(newlyCreatedDirectory);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@ export class StorageComponent extends UntilDestroyedMixin implements OnInit, OnD
const locals = {
projectFolderHref: this.projectStorage._links.projectFolder?.href,
projectFolderMode: this.projectStorage.projectFolderMode,
createFolderHref: `${this.projectStorage._links.storage.href}/folders`,
storage,
};

Expand Down
1 change: 1 addition & 0 deletions modules/storages/config/locales/js-en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ en:
open_storage: "Open %{storageType}"
select_location: "Select location"
choose_location: "Choose location"
new_folder: "New folder"

types:
nextcloud: "Nextcloud"
Expand Down

0 comments on commit 4704c93

Please sign in to comment.