2022-04-26 17:21:17 +02:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using Bit.App.Resources;
|
2019-07-22 16:52:19 +02:00
|
|
|
|
using Xamarin.Forms;
|
2019-06-12 03:31:51 +02:00
|
|
|
|
|
|
|
|
|
namespace Bit.App.Pages
|
2019-05-14 23:25:58 +02:00
|
|
|
|
{
|
|
|
|
|
public partial class FolderAddEditPage : BaseContentPage
|
|
|
|
|
{
|
|
|
|
|
private FolderAddEditPageViewModel _vm;
|
|
|
|
|
|
|
|
|
|
public FolderAddEditPage(
|
|
|
|
|
string folderId = null)
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
_vm = BindingContext as FolderAddEditPageViewModel;
|
|
|
|
|
_vm.Page = this;
|
|
|
|
|
_vm.FolderId = folderId;
|
|
|
|
|
_vm.Init();
|
|
|
|
|
SetActivityIndicator();
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!_vm.EditMode || Device.RuntimePlatform == Device.iOS)
|
2019-05-14 23:25:58 +02:00
|
|
|
|
{
|
|
|
|
|
ToolbarItems.Remove(_deleteItem);
|
|
|
|
|
}
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (_vm.EditMode && Device.RuntimePlatform == Device.iOS)
|
2019-07-22 16:52:19 +02:00
|
|
|
|
{
|
|
|
|
|
ToolbarItems.Add(_moreItem);
|
|
|
|
|
}
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (Device.RuntimePlatform == Device.Android)
|
2019-06-12 03:31:51 +02:00
|
|
|
|
{
|
|
|
|
|
ToolbarItems.RemoveAt(0);
|
|
|
|
|
}
|
2019-05-14 23:25:58 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override async void OnAppearing()
|
|
|
|
|
{
|
|
|
|
|
base.OnAppearing();
|
|
|
|
|
await LoadOnAppearedAsync(_scrollView, true, async () =>
|
|
|
|
|
{
|
|
|
|
|
await _vm.LoadAsync();
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!_vm.EditMode)
|
2019-05-14 23:25:58 +02:00
|
|
|
|
{
|
|
|
|
|
RequestFocus(_nameEntry);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void Save_Clicked(object sender, System.EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (DoOnce())
|
2019-05-14 23:25:58 +02:00
|
|
|
|
{
|
|
|
|
|
await _vm.SubmitAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void Delete_Clicked(object sender, System.EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (DoOnce())
|
2019-05-14 23:25:58 +02:00
|
|
|
|
{
|
|
|
|
|
await _vm.DeleteAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-06-12 03:31:51 +02:00
|
|
|
|
|
|
|
|
|
private async void Close_Clicked(object sender, System.EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (DoOnce())
|
2019-06-12 03:31:51 +02:00
|
|
|
|
{
|
|
|
|
|
await Navigation.PopModalAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-07-22 16:52:19 +02:00
|
|
|
|
|
|
|
|
|
private async void More_Clicked(object sender, System.EventArgs e)
|
|
|
|
|
{
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (!DoOnce())
|
2019-07-22 16:52:19 +02:00
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var options = new List<string> { };
|
|
|
|
|
var selection = await DisplayActionSheet(AppResources.Options, AppResources.Cancel,
|
|
|
|
|
_vm.EditMode ? AppResources.Delete : null, options.ToArray());
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (selection == AppResources.Delete)
|
2019-07-22 16:52:19 +02:00
|
|
|
|
{
|
|
|
|
|
await _vm.DeleteAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-05-14 23:25:58 +02:00
|
|
|
|
}
|
|
|
|
|
}
|