Finish delete container process
This commit is contained in:
parent
c53d7b8ce3
commit
b8b23abffc
2 changed files with 112 additions and 30 deletions
|
|
@ -73,13 +73,22 @@ else
|
|||
|
||||
<CreateContainer IsOpen="showCreateContainerForm" OnClose="this.OnCloseCreateContainer"
|
||||
OnCreated="this.OnContainerCreated" />
|
||||
<DeleteContainer Active="this.showDeleteContainerForm" OnClose="this.OnCloseDeleteContainer"
|
||||
BookmarkContainerId="this.bookmarkContainerToDelete?.BookmarkContainerId ?? 0"
|
||||
ContainerTitle="@(this.bookmarkContainerToDelete?.Title ?? "")"
|
||||
OnDeleted="this.OnContainerDeleted" />
|
||||
}
|
||||
|
||||
@code
|
||||
{
|
||||
private IList<BookmarkContainerDto>? bookmarkContainers;
|
||||
private BookmarkContainerDto? selectedBookmarkContainer;
|
||||
|
||||
private bool showCreateContainerForm = false;
|
||||
|
||||
private bool showDeleteContainerForm = false;
|
||||
private BookmarkContainerDto? bookmarkContainerToDelete;
|
||||
|
||||
private bool showCreateGroupForm = false;
|
||||
private bool showCreateBookmarkForm = false;
|
||||
|
||||
|
|
@ -95,14 +104,9 @@ else
|
|||
.GetFromJsonAsync<IList<BookmarkContainerDto>>(
|
||||
"Bookmarks/GetAllBookmarkContainers");
|
||||
|
||||
if (this.bookmarkContainers == null || !this.bookmarkContainers.Any()) {
|
||||
HttpResponseMessage response = await Http
|
||||
.PostAsJsonAsync("Bookmarks/CreateBookmarkContainer", "Default");
|
||||
|
||||
BookmarkContainerDto? container = await response
|
||||
.RequestMessage
|
||||
!.Content
|
||||
!.ReadFromJsonAsync<BookmarkContainerDto?>();
|
||||
if (this.bookmarkContainers == null || !this.bookmarkContainers.Any())
|
||||
{
|
||||
await this.CreateDefaultContainer();
|
||||
}
|
||||
|
||||
await this.OnContainerSelected(await this.GetSelectedContainerId());
|
||||
|
|
@ -112,6 +116,20 @@ else
|
|||
}
|
||||
}
|
||||
|
||||
protected async Task CreateDefaultContainer()
|
||||
{
|
||||
HttpResponseMessage response = await Http
|
||||
.PostAsJsonAsync("Bookmarks/CreateBookmarkContainer", "Default");
|
||||
|
||||
BookmarkContainerDto? container = await response
|
||||
.RequestMessage
|
||||
!.Content
|
||||
!.ReadFromJsonAsync<BookmarkContainerDto?>();
|
||||
|
||||
if (container != null)
|
||||
await this.OnContainerSelected(container.BookmarkContainerId);
|
||||
}
|
||||
|
||||
protected async Task OnContainerSelected(int bookmarkContainerId)
|
||||
{
|
||||
try
|
||||
|
|
@ -132,29 +150,11 @@ else
|
|||
}
|
||||
}
|
||||
|
||||
protected async Task OnDeleteContainerClicked(int bookmarkContainerId)
|
||||
protected void OnDeleteContainerClicked(int bookmarkContainerId)
|
||||
{
|
||||
try
|
||||
{
|
||||
HttpResponseMessage result = await Http
|
||||
.DeleteAsync($"Bookmarks/DeleteBookmarkContainer/{bookmarkContainerId}");
|
||||
|
||||
if (result.StatusCode == System.Net.HttpStatusCode.OK)
|
||||
{
|
||||
if (await this.GetSelectedContainerId() == bookmarkContainerId)
|
||||
await this.OnContainerSelected(
|
||||
this.bookmarkContainers?.First().BookmarkContainerId
|
||||
?? bookmarkContainerId);
|
||||
|
||||
this.bookmarkContainers = this.bookmarkContainers
|
||||
?.Where(bc => bc.BookmarkContainerId != bookmarkContainerId)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
catch (AccessTokenNotAvailableException e)
|
||||
{
|
||||
e.Redirect();
|
||||
}
|
||||
this.bookmarkContainerToDelete = this.bookmarkContainers
|
||||
?.First(bc => bc.BookmarkContainerId == bookmarkContainerId);
|
||||
this.showDeleteContainerForm = true;
|
||||
}
|
||||
|
||||
protected void OnCreateContainerClicked()
|
||||
|
|
@ -177,6 +177,25 @@ else
|
|||
await OnContainerSelected(newContainer.BookmarkContainerId);
|
||||
}
|
||||
|
||||
protected void OnCloseDeleteContainer()
|
||||
{
|
||||
this.showDeleteContainerForm = false;
|
||||
}
|
||||
|
||||
protected async Task OnContainerDeleted(int bookmarkContainerId)
|
||||
{
|
||||
if (!this.bookmarkContainers?.Any(bc => bc.BookmarkContainerId != bookmarkContainerId) ?? false)
|
||||
await this.CreateDefaultContainer();
|
||||
|
||||
if (await this.GetSelectedContainerId() == bookmarkContainerId)
|
||||
await this.OnContainerSelected(
|
||||
this.bookmarkContainers?.First().BookmarkContainerId ?? bookmarkContainerId);
|
||||
|
||||
this.bookmarkContainers = this.bookmarkContainers
|
||||
?.Where(bc => bc.BookmarkContainerId != bookmarkContainerId)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
// Save the currently selected container in LocalStorage so that the same container remains
|
||||
// selected between new tabs
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue