mirror of
https://github.com/bitwarden/mobile
synced 2025-12-12 14:23:26 +00:00
folders page
This commit is contained in:
47
src/App/Pages/Settings/FoldersPageViewModel.cs
Normal file
47
src/App/Pages/Settings/FoldersPageViewModel.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
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 IPlatformUtilsService _platformUtilsService;
|
||||
private readonly IFolderService _folderService;
|
||||
|
||||
private bool _showNoData;
|
||||
|
||||
public FoldersPageViewModel()
|
||||
{
|
||||
_platformUtilsService = ServiceContainer.Resolve<IPlatformUtilsService>("platformUtilsService");
|
||||
_folderService = ServiceContainer.Resolve<IFolderService>("folderService");
|
||||
|
||||
PageTitle = AppResources.Folders;
|
||||
Folders = new ExtendedObservableCollection<FolderView>();
|
||||
}
|
||||
|
||||
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"
|
||||
if(folders?.Any() ?? false)
|
||||
{
|
||||
folders.Remove(folders.Last());
|
||||
}
|
||||
Folders.ResetWithRange(folders ?? new List<FolderView>());
|
||||
ShowNoData = Folders.Count == 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user