Skip to content

Commit 797b918

Browse files
authored
Merge pull request #652 from Vignesh-SF3580/fix-30828
Fixed Delete Button Visibility When Creating a New Project
2 parents 7ebedeb + ecc336a commit 797b918

File tree

3 files changed

+33
-6
lines changed

3 files changed

+33
-6
lines changed

10.0/Apps/DeveloperBalance/PageModels/ProjectDetailPageModel.cs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,19 @@ public partial class ProjectDetailPageModel : ObservableObject, IQueryAttributab
5252
new IconData { Icon = FluentUI.bot_24_regular, Description = "Bot Icon" }
5353
};
5454

55-
public bool HasCompletedTasks
55+
private bool _canDelete;
56+
57+
public bool CanDelete
58+
{
59+
get => _canDelete;
60+
set
61+
{
62+
_canDelete = value;
63+
DeleteCommand.NotifyCanExecuteChanged();
64+
}
65+
}
66+
67+
public bool HasCompletedTasks
5668
=> _project?.Tasks.Any(t => t.IsCompleted) ?? false;
5769

5870
public ProjectDetailPageModel(ProjectRepository projectRepository, TaskRepository taskRepository, CategoryRepository categoryRepository, TagRepository tagRepository, ModalErrorHandler errorHandler)
@@ -145,7 +157,8 @@ private async Task LoadData(int id)
145157
finally
146158
{
147159
IsBusy = false;
148-
OnPropertyChanged(nameof(HasCompletedTasks));
160+
CanDelete = !_project.IsNullOrNew();
161+
OnPropertyChanged(nameof(HasCompletedTasks));
149162
}
150163
}
151164

@@ -216,7 +229,7 @@ await Shell.Current.GoToAsync($"task",
216229
});
217230
}
218231

219-
[RelayCommand]
232+
[RelayCommand(CanExecute = nameof(CanDelete))]
220233
private async Task Delete()
221234
{
222235
if (_project.IsNullOrNew())

10.0/Apps/DeveloperBalance/Pages/ProjectDetailPage.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656

5757
<ContentPage.ToolbarItems>
5858
<ToolbarItem
59+
Text="Delete"
5960
Command="{Binding DeleteCommand}"
6061
Order="Primary"
6162
Priority="0"

9.0/Apps/DeveloperBalance/PageModels/ProjectDetailPageModel.cs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,19 @@ public partial class ProjectDetailPageModel : ObservableObject, IQueryAttributab
5656
new IconData { Icon = FluentUI.bot_24_regular, Description = "Bot Icon" }
5757
};
5858

59-
public bool HasCompletedTasks
59+
private bool _canDelete;
60+
61+
public bool CanDelete
62+
{
63+
get => _canDelete;
64+
set
65+
{
66+
_canDelete = value;
67+
DeleteCommand.NotifyCanExecuteChanged();
68+
}
69+
}
70+
71+
public bool HasCompletedTasks
6072
=> _project?.Tasks.Any(t => t.IsCompleted) ?? false;
6173

6274
public ProjectDetailPageModel(ProjectRepository projectRepository, TaskRepository taskRepository, CategoryRepository categoryRepository, TagRepository tagRepository, ModalErrorHandler errorHandler)
@@ -153,7 +165,8 @@ private async Task LoadData(int id)
153165
finally
154166
{
155167
IsBusy = false;
156-
OnPropertyChanged(nameof(HasCompletedTasks));
168+
CanDelete = !_project.IsNullOrNew();
169+
OnPropertyChanged(nameof(HasCompletedTasks));
157170
}
158171
}
159172

@@ -221,7 +234,7 @@ await Shell.Current.GoToAsync($"task",
221234
});
222235
}
223236

224-
[RelayCommand]
237+
[RelayCommand(CanExecute = nameof(CanDelete))]
225238
private async Task Delete()
226239
{
227240
if (_project.IsNullOrNew())

0 commit comments

Comments
 (0)