| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using CommunityToolkit.Mvvm.ComponentModel;
- using CommunityToolkit.Mvvm.Input;
- namespace InABox.Avalonia.Components.TimeSelector;
- public partial class TimeSelectorViewModel : BasePopupViewModel<TimeSpan?>
- {
- [ObservableProperty]
- private TimeSpan _timeDisplay;
- [ObservableProperty]
- private TimeSpan? _time;
- [ObservableProperty]
- private Func<TimeSpan?>? _getTime;
- partial void OnTimeChanged(TimeSpan? value)
- {
- TimeDisplay = value ?? default;
- }
- [RelayCommand]
- private void Cancel()
- {
- Close(null);
- }
- [RelayCommand]
- private void Clear()
- {
- Close(TimeSpan.MinValue);
- }
- [RelayCommand]
- private void Now()
- {
- Close(DateTime.Now.TimeOfDay);
- }
- [RelayCommand]
- private void Select()
- {
- Close(GetTime is null ? Time : GetTime());
- }
- }
|