diff --git a/src/modules/EnvironmentVariables/EnvironmentVariables/EnvironmentVariablesXAML/Views/MainPage.xaml b/src/modules/EnvironmentVariables/EnvironmentVariables/EnvironmentVariablesXAML/Views/MainPage.xaml index 6f506839ae..a4d7082e2d 100644 --- a/src/modules/EnvironmentVariables/EnvironmentVariables/EnvironmentVariablesXAML/Views/MainPage.xaml +++ b/src/modules/EnvironmentVariables/EnvironmentVariables/EnvironmentVariablesXAML/Views/MainPage.xaml @@ -68,20 +68,18 @@ - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + Add + + List of applied variables + + + Applied variables + Variables diff --git a/src/modules/EnvironmentVariables/EnvironmentVariables/ViewModels/MainViewModel.cs b/src/modules/EnvironmentVariables/EnvironmentVariables/ViewModels/MainViewModel.cs index da9feeeae6..92afd6077d 100644 --- a/src/modules/EnvironmentVariables/EnvironmentVariables/ViewModels/MainViewModel.cs +++ b/src/modules/EnvironmentVariables/EnvironmentVariables/ViewModels/MainViewModel.cs @@ -3,8 +3,10 @@ // See the LICENSE file in the project root for more information. using System; +using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; +using System.Linq; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using EnvironmentVariables.Helpers; @@ -24,6 +26,9 @@ namespace EnvironmentVariables.ViewModels public ProfileVariablesSet AppliedProfile { get; set; } + [ObservableProperty] + private ObservableCollection _appliedVariables = new ObservableCollection(); + public MainViewModel() { } @@ -56,6 +61,24 @@ namespace EnvironmentVariables.ViewModels { DefaultVariables.Variables.Add(variable); } + + PopulateAppliedVariables(); + } + + private void PopulateAppliedVariables() + { + var variables = new List(); + if (AppliedProfile != null) + { + variables = variables.Concat(AppliedProfile.Variables).ToList(); + } + + variables = variables.Concat(UserDefaultSet.Variables).Concat(SystemDefaultSet.Variables).ToList(); + variables = variables.GroupBy(x => x.Name).Select(y => y.First()).ToList(); + foreach (var variable in variables) + { + AppliedVariables.Add(variable); + } } internal void EditVariable(Variable original, Variable edited)