From 20e203999313411c5c2dc57c16737fae68ecbe25 Mon Sep 17 00:00:00 2001 From: Darren Hoehna Date: Tue, 11 Jul 2023 12:35:45 -0700 Subject: [PATCH] Adding more details to the repo review screen. (#1245) Co-authored-by: Darren Hoehna --- .../DevHome.SetupFlow/Models/CloneRepoTask.cs | 27 ++++++- .../ViewModels/RepoConfigReviewViewModel.cs | 5 +- .../Views/RepoConfigReviewView.xaml | 77 ++++++++++++++++++- 3 files changed, 102 insertions(+), 7 deletions(-) diff --git a/tools/SetupFlow/DevHome.SetupFlow/Models/CloneRepoTask.cs b/tools/SetupFlow/DevHome.SetupFlow/Models/CloneRepoTask.cs index 3300830760..15595825dd 100644 --- a/tools/SetupFlow/DevHome.SetupFlow/Models/CloneRepoTask.cs +++ b/tools/SetupFlow/DevHome.SetupFlow/Models/CloneRepoTask.cs @@ -7,6 +7,8 @@ using System.Globalization; using System.IO; using System.Threading.Tasks; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; using DevHome.Common.Services; using DevHome.Common.TelemetryEvents; using DevHome.Common.TelemetryEvents.SetupFlow; @@ -23,7 +25,7 @@ namespace DevHome.SetupFlow.Models; /// Object to hold all information needed to clone a repository. /// 1:1 CloningInformation to repository. /// -public class CloneRepoTask : ISetupTask +public partial class CloneRepoTask : ObservableObject, ISetupTask { /// /// Absolute path the user wants to clone their repository to. @@ -71,6 +73,29 @@ public bool WasCloningSuccessful get; private set; } + [ObservableProperty] + private bool _isRepoNameTrimmed; + + [RelayCommand] + public void RepoNameTrimmed() + { + IsRepoNameTrimmed = true; + } + + [ObservableProperty] + private bool _isClonePathTrimmed; + + [RelayCommand] + public void ClonePathTrimmed() + { + IsClonePathTrimmed = true; + } + + /// + /// Gets the repository in a [organization]\[reponame] style + /// + public string RepositoryOwnerAndName => Path.Join(RepositoryToClone.OwningAccountName ?? string.Empty, RepositoryToClone.DisplayName); + private TaskMessages _taskMessage; public TaskMessages GetLoadingMessages() => _taskMessage; diff --git a/tools/SetupFlow/DevHome.SetupFlow/ViewModels/RepoConfigReviewViewModel.cs b/tools/SetupFlow/DevHome.SetupFlow/ViewModels/RepoConfigReviewViewModel.cs index 47744c80c0..eaa36069e0 100644 --- a/tools/SetupFlow/DevHome.SetupFlow/ViewModels/RepoConfigReviewViewModel.cs +++ b/tools/SetupFlow/DevHome.SetupFlow/ViewModels/RepoConfigReviewViewModel.cs @@ -3,6 +3,7 @@ using System.Collections.ObjectModel; using System.Linq; +using DevHome.SetupFlow.Models; using DevHome.SetupFlow.Services; using DevHome.SetupFlow.TaskGroups; @@ -13,8 +14,8 @@ public partial class RepoConfigReviewViewModel : ReviewTabViewModelBase private readonly ISetupFlowStringResource _stringResource; private readonly RepoConfigTaskGroup _repoTaskGroup; - public ReadOnlyObservableCollection RepositoriesToClone => - new (new ObservableCollection(_repoTaskGroup.CloneTasks.Select(x => x.CloneLocation.FullName))); + public ReadOnlyObservableCollection RepositoriesToClone => + new (new ObservableCollection(_repoTaskGroup.CloneTasks)); public override bool HasItems => RepositoriesToClone.Any(); diff --git a/tools/SetupFlow/DevHome.SetupFlow/Views/RepoConfigReviewView.xaml b/tools/SetupFlow/DevHome.SetupFlow/Views/RepoConfigReviewView.xaml index c799596ac0..5ac0ce1a99 100644 --- a/tools/SetupFlow/DevHome.SetupFlow/Views/RepoConfigReviewView.xaml +++ b/tools/SetupFlow/DevHome.SetupFlow/Views/RepoConfigReviewView.xaml @@ -9,10 +9,22 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ctControls="using:CommunityToolkit.Labs.WinUI" xmlns:converters="using:CommunityToolkit.WinUI.UI.Converters" + xmlns:ic="using:Microsoft.Xaml.Interactions.Core" + xmlns:i="using:Microsoft.Xaml.Interactivity" + xmlns:models="using:DevHome.SetupFlow.Models" mc:Ignorable="d"> + + + @@ -24,10 +36,67 @@ - - - + SelectionMode="None" + ItemContainerStyle="{ThemeResource ListViewItemStretchStyle}"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +