mirror of
https://github.com/frosch95/K8sFileBrowser.git
synced 2026-04-11 12:58:22 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f7471d47b |
@@ -9,7 +9,7 @@
|
|||||||
<Configurations>Debug;Release</Configurations>
|
<Configurations>Debug;Release</Configurations>
|
||||||
<Platforms>AnyCPU</Platforms>
|
<Platforms>AnyCPU</Platforms>
|
||||||
<ApplicationIcon>Assets/app.ico</ApplicationIcon>
|
<ApplicationIcon>Assets/app.ico</ApplicationIcon>
|
||||||
<Version>0.0.9</Version>
|
<Version>0.1.1</Version>
|
||||||
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ namespace K8sFileBrowser.ViewModels;
|
|||||||
|
|
||||||
public class MainWindowViewModel : ViewModelBase
|
public class MainWindowViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
|
||||||
[Reactive]
|
[Reactive]
|
||||||
public string? Version { get; set; } = null!;
|
public string? Version { get; set; } = null!;
|
||||||
|
|
||||||
[Reactive]
|
[Reactive]
|
||||||
public IEnumerable<ClusterContext> ClusterContexts { get; set; } = null!;
|
public IEnumerable<ClusterContext> ClusterContexts { get; set; } = null!;
|
||||||
|
|
||||||
@@ -58,11 +58,11 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
|
|
||||||
[Reactive]
|
[Reactive]
|
||||||
public Message Message { get; set; } = null!;
|
public Message Message { get; set; } = null!;
|
||||||
|
|
||||||
#endregion Properties
|
#endregion Properties
|
||||||
|
|
||||||
#region Commands
|
#region Commands
|
||||||
|
|
||||||
public ReactiveCommand<Unit, Unit> DownloadCommand { get; private set; } = null!;
|
public ReactiveCommand<Unit, Unit> DownloadCommand { get; private set; } = null!;
|
||||||
public ReactiveCommand<Unit, Unit> DownloadLogCommand { get; private set; } = null!;
|
public ReactiveCommand<Unit, Unit> DownloadLogCommand { get; private set; } = null!;
|
||||||
public ReactiveCommand<Unit, Unit> ParentCommand { get; private set; } = null!;
|
public ReactiveCommand<Unit, Unit> ParentCommand { get; private set; } = null!;
|
||||||
@@ -96,7 +96,7 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
#region Property Subscriptions
|
#region Property Subscriptions
|
||||||
|
|
||||||
private void InitiallyLoadContexts(IKubernetesService kubernetesService)
|
private void InitiallyLoadContexts(IKubernetesService kubernetesService)
|
||||||
{
|
{
|
||||||
// load the cluster contexts when the view model is created
|
// load the cluster contexts when the view model is created
|
||||||
@@ -115,7 +115,7 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
.FirstOrDefault(c => c.Name == kubernetesService.GetCurrentContext());
|
.FirstOrDefault(c => c.Name == kubernetesService.GetCurrentContext());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RegisterReadNamespaces(IKubernetesService kubernetesService)
|
private void RegisterReadNamespaces(IKubernetesService kubernetesService)
|
||||||
{
|
{
|
||||||
// read the cluster contexts
|
// read the cluster contexts
|
||||||
@@ -130,7 +130,7 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
Namespaces = ns;
|
Namespaces = ns;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RegisterReadPods()
|
private void RegisterReadPods()
|
||||||
{
|
{
|
||||||
// read the pods when the namespace changes
|
// read the pods when the namespace changes
|
||||||
@@ -146,7 +146,7 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
Pods = x;
|
Pods = x;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RegisterReadContainers()
|
private void RegisterReadContainers()
|
||||||
{
|
{
|
||||||
// read the file information when the path changes
|
// read the file information when the path changes
|
||||||
@@ -290,11 +290,11 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
OpenCommand.ThrownExceptions.ObserveOn(RxApp.MainThreadScheduler)
|
OpenCommand.ThrownExceptions.ObserveOn(RxApp.MainThreadScheduler)
|
||||||
.Subscribe(ShowErrorMessage);
|
.Subscribe(ShowErrorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Configure Commands
|
#endregion Configure Commands
|
||||||
|
|
||||||
#region Get Data
|
#region Get Data
|
||||||
|
|
||||||
private static async Task<IEnumerable<Pod>> PodsAsync(Namespace? ns, IKubernetesService kubernetesService)
|
private static async Task<IEnumerable<Pod>> PodsAsync(Namespace? ns, IKubernetesService kubernetesService)
|
||||||
{
|
{
|
||||||
if (ns == null)
|
if (ns == null)
|
||||||
@@ -346,67 +346,74 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
Parent = parent
|
Parent = parent
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Get Data
|
#endregion Get Data
|
||||||
|
|
||||||
#region Reset Data
|
#region Reset Data
|
||||||
|
|
||||||
private void ResetPath()
|
private void ResetPath()
|
||||||
{
|
{
|
||||||
FileInformation = new List<FileInformation>();
|
FileInformation = new List<FileInformation>();
|
||||||
SelectedPath = null;
|
SelectedPath = null;
|
||||||
SelectedContainer = null;
|
SelectedContainer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetContainers()
|
private void ResetContainers()
|
||||||
{
|
{
|
||||||
ResetPath();
|
ResetPath();
|
||||||
Containers = new List<Container>();
|
Containers = new List<Container>();
|
||||||
SelectedPod = null;
|
SelectedPod = null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetPods()
|
private void ResetPods()
|
||||||
{
|
{
|
||||||
ResetContainers();
|
ResetContainers();
|
||||||
SelectedNamespace = null;
|
SelectedNamespace = null;
|
||||||
Pods = new List<Pod>();
|
Pods = new List<Pod>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetNamespaces()
|
private void ResetNamespaces()
|
||||||
{
|
{
|
||||||
ResetPods();
|
ResetPods();
|
||||||
Namespaces = new List<Namespace>();
|
Namespaces = new List<Namespace>();
|
||||||
SelectedClusterContext = null;
|
SelectedClusterContext = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Reset Data
|
#endregion Reset Data
|
||||||
|
|
||||||
#region show messages
|
#region show messages
|
||||||
|
|
||||||
private void ShowWorkingMessage(string message)
|
private void ShowWorkingMessage(string message)
|
||||||
{
|
{
|
||||||
Message = new Message
|
RxApp.MainThreadScheduler.Schedule(Action);
|
||||||
|
return;
|
||||||
|
|
||||||
|
void Action()
|
||||||
{
|
{
|
||||||
IsVisible = true,
|
Message = new Message
|
||||||
Text = message,
|
{
|
||||||
IsError = false
|
IsVisible = true,
|
||||||
};
|
Text = message,
|
||||||
|
IsError = false
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowErrorMessage(string message)
|
private void ShowErrorMessage(string message)
|
||||||
{
|
{
|
||||||
|
RxApp.MainThreadScheduler.Schedule(Action);
|
||||||
|
return;
|
||||||
|
|
||||||
async void Action()
|
async void Action()
|
||||||
{
|
{
|
||||||
Message = new Message { IsVisible = true, Text = message, IsError = true };
|
Message = new Message { IsVisible = true, Text = message, IsError = true };
|
||||||
await Task.Delay(7000);
|
await Task.Delay(7000);
|
||||||
HideWorkingMessage();
|
HideWorkingMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
RxApp.MainThreadScheduler.Schedule(Action);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowErrorMessage(Exception exception)
|
private void ShowErrorMessage(Exception exception)
|
||||||
{
|
{
|
||||||
// ReSharper disable once TemplateIsNotCompileTimeConstantProblem
|
// ReSharper disable once TemplateIsNotCompileTimeConstantProblem
|
||||||
@@ -423,6 +430,6 @@ public class MainWindowViewModel : ViewModelBase
|
|||||||
IsError = false
|
IsError = false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion show messages
|
#endregion show messages
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user