LibraryItemPageを使用するように変更, 戻るアクションを実装

This commit is contained in:
r-ca committed 2024-01-25 14:28:36 +09:00
1 parent 04bd081d99
commit 0128cecfae
5 files changed
+47 -24

No files matched your search

@@ -21,7 +21,7 @@ public interface LacertaLibrary {
CompletableFuture<LibraryItemPage> getLibraryPage(String pageId, int limit, int offset);
// Get Folder List
CompletableFuture<ArrayList<ListItem>> getFolderList(String parentId);
CompletableFuture<LibraryItemPage> getFolderList(String parentId);
// Create Folder
CompletableFuture<String> createFolder(String parentId, String name);
@@ -128,13 +128,26 @@ public class LacertaLibraryImpl implements LacertaLibrary {
}
@Override
public CompletableFuture<ArrayList<ListItem>> getFolderList(String parentId) {
public CompletableFuture<LibraryItemPage> getFolderList(String targetDirId) {
return CompletableFuture.supplyAsync(() -> {
LibraryItemPage libraryItemPage = new LibraryItemPage();
List<FolderEntity> folderEntities;
if (parentId == null) { // When root folder
if (targetDirId == null) { // When root folder
folderEntities = database.folderDao().findRootFolders();
libraryItemPage.setParentId(null);
libraryItemPage.setPageId(targetDirId);
libraryItemPage.setPageTitle("ライブラリ");
} else {
folderEntities = database.folderDao().findByParentId(parentId);
folderEntities = database.folderDao().findByParentId(targetDirId);
FolderEntity folderEntity = database.folderDao().findById(targetDirId);
if (folderEntity == null) {
logger.warn("LacertaLibraryImpl", targetDirId + " is not found.");
return null;
}
libraryItemPage.setParentId(folderEntity.parentId);
libraryItemPage.setPageId(folderEntity.id);
libraryItemPage.setPageTitle(folderEntity.name);
}
ArrayList<ListItem> listItems = new ArrayList<>();
@@ -148,7 +161,10 @@ public class LacertaLibraryImpl implements LacertaLibrary {
listItems.add(listItem);
}
return listItems;
libraryItemPage.setListItems(listItems);
return libraryItemPage;
});
}