Confirm dialog when deleting variable

Fix add variable button when creating profile
This commit is contained in:
Stefan Markovic
2023-09-25 13:05:28 +02:00
parent 8bba02907f
commit 267aeb57d8
3 changed files with 31 additions and 2 deletions

View File

@@ -440,6 +440,7 @@
Margin="-12,12,0,12"
HorizontalAlignment="Stretch"
ItemsSource="{x:Bind ViewModel.DefaultVariables.Variables, Mode=OneWay}"
SelectionChanged="ExistingVariablesListView_SelectionChanged"
SelectionMode="Multiple">
<ListView.ItemTemplate>

View File

@@ -10,6 +10,7 @@ using CommunityToolkit.WinUI.Controls;
using EnvironmentVariables.Models;
using EnvironmentVariables.ViewModels;
using Microsoft.UI.Xaml.Controls;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace EnvironmentVariables.Views
{
@@ -134,7 +135,7 @@ namespace EnvironmentVariables.Views
AddVariableFlyout.Hide();
}
private void Delete_Variable_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
private async void Delete_Variable_Click(object sender, Microsoft.UI.Xaml.RoutedEventArgs e)
{
MenuFlyoutItem menuItem = sender as MenuFlyoutItem;
var variableSet = menuItem.DataContext as ProfileVariablesSet;
@@ -142,7 +143,19 @@ namespace EnvironmentVariables.Views
if (variable != null)
{
ViewModel.DeleteVariable(variable, variableSet);
var resourceLoader = Helpers.ResourceLoaderInstance.ResourceLoader;
ContentDialog dialog = new ContentDialog();
dialog.XamlRoot = RootPage.XamlRoot;
dialog.Title = variable.Name;
dialog.PrimaryButtonText = resourceLoader.GetString("Yes");
dialog.CloseButtonText = resourceLoader.GetString("No");
dialog.DefaultButton = ContentDialogButton.Primary;
dialog.Content = new TextBlock() { Text = resourceLoader.GetString("Delete_Dialog_Description") };
dialog.PrimaryButtonClick += (s, args) =>
{
ViewModel.DeleteVariable(variable, variableSet);
};
var result = await dialog.ShowAsync();
}
}
@@ -167,5 +180,17 @@ namespace EnvironmentVariables.Views
ViewModel.LoadEnvironmentVariables();
ViewModel.IsStateModified = EnvironmentState.Unchanged;
}
private void ExistingVariablesListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ExistingVariablesListView.SelectedItems.Count == 0)
{
ConfirmAddVariableBtn.IsEnabled = false;
}
else
{
ConfirmAddVariableBtn.IsEnabled = true;
}
}
}
}

View File

@@ -230,4 +230,7 @@
<data name="StateNotUpToDateEnvironmentMessageReceivedMsg" xml:space="preserve">
<value>Variables have been modified. Reload to get the latest changes.</value>
</data>
<data name="Delete_Variable_Description" xml:space="preserve">
<value>Are you sure you want to delete this variable?</value>
</data>
</root>