1fc7792cd1
Rename ConfigManager to ConfigManager.Ui to match the Core/CLI/UI project structure, and split the monolithic test project into Core.Tests, Cli.Tests, and Ui.Tests to align with the source project organization.
61 lines
1.9 KiB
C#
61 lines
1.9 KiB
C#
using Avalonia.Controls;
|
|
using Avalonia.Interactivity;
|
|
using JdeScoping.ConfigManager.Core.Constants;
|
|
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
|
|
using MsBox.Avalonia;
|
|
using MsBox.Avalonia.Enums;
|
|
|
|
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
|
|
|
|
/// <summary>
|
|
/// Dialog for adding or editing a secret in the secure store.
|
|
/// </summary>
|
|
public partial class SecretEditDialog : Window
|
|
{
|
|
/// <summary>
|
|
/// Gets the view model for this dialog.
|
|
/// </summary>
|
|
public SecretEditDialogViewModel ViewModel => (SecretEditDialogViewModel)DataContext!;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="SecretEditDialog"/> class for creating a new secret.
|
|
/// </summary>
|
|
public SecretEditDialog()
|
|
{
|
|
InitializeComponent();
|
|
DataContext = new SecretEditDialogViewModel();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="SecretEditDialog"/> class for editing an existing secret.
|
|
/// </summary>
|
|
/// <param name="key">The secret key.</param>
|
|
/// <param name="value">The secret value.</param>
|
|
public SecretEditDialog(string key, string value)
|
|
{
|
|
InitializeComponent();
|
|
DataContext = new SecretEditDialogViewModel(key, value);
|
|
}
|
|
|
|
private async void SaveButton_Click(object? sender, RoutedEventArgs e)
|
|
{
|
|
if (!ViewModel.IsValid)
|
|
{
|
|
var box = MessageBoxManager.GetMessageBoxStandard(
|
|
SecureStoreStrings.ValidationErrorTitle,
|
|
ViewModel.ValidationError ?? SecureStoreStrings.DefaultValidationError,
|
|
ButtonEnum.Ok,
|
|
MsBox.Avalonia.Enums.Icon.Warning);
|
|
await box.ShowWindowDialogAsync(this);
|
|
return;
|
|
}
|
|
|
|
Close(true);
|
|
}
|
|
|
|
private void CancelButton_Click(object? sender, RoutedEventArgs e)
|
|
{
|
|
Close(false);
|
|
}
|
|
}
|