允许编辑
This commit is contained in:
@@ -25,6 +25,18 @@ namespace TodoList.ViewModels
|
||||
|
||||
[ObservableProperty]
|
||||
private TodoPriority newPriority = TodoPriority.Medium;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool isEditDialogOpen;
|
||||
|
||||
[ObservableProperty]
|
||||
private TodoItem editingTask;
|
||||
|
||||
[ObservableProperty]
|
||||
private string editContent;
|
||||
|
||||
[ObservableProperty]
|
||||
private TodoPriority editPriority = TodoPriority.Medium;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool isSettingsOpen;
|
||||
@@ -189,6 +201,39 @@ namespace TodoList.ViewModels
|
||||
Tasks.Remove(item);
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void OpenEditDialog(TodoItem item)
|
||||
{
|
||||
if (item == null) return;
|
||||
EditingTask = item;
|
||||
EditContent = item.Content;
|
||||
EditPriority = item.Priority;
|
||||
IsEditDialogOpen = true;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void CloseEditDialog()
|
||||
{
|
||||
IsEditDialogOpen = false;
|
||||
EditingTask = null;
|
||||
EditContent = string.Empty;
|
||||
EditPriority = TodoPriority.Medium;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task SaveEditAsync()
|
||||
{
|
||||
if (EditingTask == null || string.IsNullOrWhiteSpace(EditContent)) return;
|
||||
|
||||
EditingTask.Content = EditContent;
|
||||
EditingTask.Priority = EditPriority;
|
||||
EditingTask.SyncStatus = SyncStatus.Pending;
|
||||
|
||||
await _dataService.SaveTaskAsync(EditingTask);
|
||||
await LoadTasksAsync();
|
||||
CloseEditDialog();
|
||||
}
|
||||
|
||||
public async void Receive(TaskAddedMessage message)
|
||||
{
|
||||
await LoadTasksAsync();
|
||||
|
||||
Reference in New Issue
Block a user