This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using LehrerApp.Desktop.Services;
|
||||
|
||||
namespace LehrerApp.Desktop.ViewModels.Students;
|
||||
|
||||
public partial class SelectContactDialogViewModel : ObservableObject
|
||||
{
|
||||
[ObservableProperty] private LetterContactChoice? _selectedContact;
|
||||
|
||||
public IReadOnlyList<LetterContactChoice> Contacts { get; }
|
||||
public string AddressPreview => LetterPlaceholderBuilder.FormatAddress(SelectedContact?.Model);
|
||||
public bool HasAddressPreview => !string.IsNullOrWhiteSpace(AddressPreview);
|
||||
|
||||
public SelectContactDialogViewModel(IReadOnlyList<LetterContactChoice> contacts, LetterContactChoice? current)
|
||||
{
|
||||
Contacts = contacts;
|
||||
SelectedContact = current ?? contacts.FirstOrDefault();
|
||||
}
|
||||
|
||||
partial void OnSelectedContactChanged(LetterContactChoice? value)
|
||||
{
|
||||
OnPropertyChanged(nameof(AddressPreview));
|
||||
OnPropertyChanged(nameof(HasAddressPreview));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user