2019-05-14 23:02:24 +02:00
|
|
|
|
using Bit.App.Resources;
|
|
|
|
|
using Bit.Core.Abstractions;
|
|
|
|
|
using Bit.Core.Models.View;
|
|
|
|
|
using Bit.Core.Utilities;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace Bit.App.Pages
|
|
|
|
|
{
|
|
|
|
|
public class FoldersPageViewModel : BaseViewModel
|
|
|
|
|
{
|
|
|
|
|
private readonly IFolderService _folderService;
|
|
|
|
|
|
|
|
|
|
private bool _showNoData;
|
|
|
|
|
|
|
|
|
|
public FoldersPageViewModel()
|
|
|
|
|
{
|
|
|
|
|
_folderService = ServiceContainer.Resolve<IFolderService>("folderService");
|
|
|
|
|
|
|
|
|
|
PageTitle = AppResources.Folders;
|
|
|
|
|
Folders = new ExtendedObservableCollection<FolderView>();
|
|
|
|
|
}
|
2019-05-30 21:20:04 +02:00
|
|
|
|
|
2019-05-14 23:02:24 +02:00
|
|
|
|
public ExtendedObservableCollection<FolderView> Folders { get; set; }
|
|
|
|
|
|
|
|
|
|
public bool ShowNoData
|
|
|
|
|
{
|
|
|
|
|
get => _showNoData;
|
|
|
|
|
set => SetProperty(ref _showNoData, value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task InitAsync()
|
|
|
|
|
{
|
|
|
|
|
var folders = await _folderService.GetAllDecryptedAsync();
|
|
|
|
|
// Remove "No Folder"
|
2020-03-28 14:16:28 +01:00
|
|
|
|
if (folders?.Any() ?? false)
|
2019-05-14 23:02:24 +02:00
|
|
|
|
{
|
2019-05-30 21:20:04 +02:00
|
|
|
|
folders = folders.GetRange(0, folders.Count - 1);
|
2019-05-14 23:02:24 +02:00
|
|
|
|
}
|
|
|
|
|
Folders.ResetWithRange(folders ?? new List<FolderView>());
|
|
|
|
|
ShowNoData = Folders.Count == 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|