diff --git a/Salmon.Web/Components/CopyButton.razor b/Salmon.Web/Components/CopyButton.razor
new file mode 100644
index 0000000..62d3496
--- /dev/null
+++ b/Salmon.Web/Components/CopyButton.razor
@@ -0,0 +1,29 @@
+@inject IJSRuntime JSRuntime
+
+
+
+@code {
+ [Parameter]
+ public string Value { get; set; }
+
+ bool Clicked { get; set; } = false;
+
+ private async Task CopyTextToClipboard()
+ {
+ if (Value is null)
+ return;
+
+ await JSRuntime.InvokeVoidAsync("clipboardCopy.copyText", Value.ToString());
+ Clicked = true;
+ }
+}
diff --git a/Salmon.Web/Components/EventTable.razor b/Salmon.Web/Components/EventTable.razor
new file mode 100644
index 0000000..d99c572
--- /dev/null
+++ b/Salmon.Web/Components/EventTable.razor
@@ -0,0 +1,26 @@
+@if (Events is not null)
+{
+
+
+
+ | Date |
+ Type |
+
+
+
+ @if (Events is not null)
+ @foreach (var e in Events)
+ {
+
+ | @e.When |
+ @e.Type |
+
+ }
+
+
+}
+
+@code {
+ [Parameter]
+ public List? Events { get; set; } = null;
+}
diff --git a/Salmon.Web/Components/PrettyValueDisplay.razor b/Salmon.Web/Components/PrettyValueDisplay.razor
new file mode 100644
index 0000000..b1f77d4
--- /dev/null
+++ b/Salmon.Web/Components/PrettyValueDisplay.razor
@@ -0,0 +1,34 @@
+@using Salmon.Core.Cliff
+
+
+@if(Value is null)
+{
+ (null)
+}
+else
+{
+ if (Predicate is not null && Predicate == "parent")
+ {
+ @Value.ToString()
+ }
+ else if (Predicate is not null && Predicate == "Uri")
+ {
+ @Value.ToString()
+ }
+ else
+ {
+ @Value.ToString()
+ }
+
+
+}
+
+
+
+@code {
+ [Parameter]
+ public object? Value { get; set; }
+
+ [Parameter]
+ public string Predicate { get; set; }
+}
diff --git a/Salmon.Web/Components/TripletTable.razor b/Salmon.Web/Components/TripletTable.razor
new file mode 100644
index 0000000..e7755ca
--- /dev/null
+++ b/Salmon.Web/Components/TripletTable.razor
@@ -0,0 +1,34 @@
+@if(Triplets is not null)
+{
+
+
+
+ | Dernier changement |
+ Nom |
+ Valeur |
+
+
+
+ @if (Triplets is not null)
+ @foreach (var t in Triplets)
+ {
+
+ | @t.LastFlush |
+ @t.predicate |
+
+
+ |
+
+ }
+
+
+}
+
+
+
+@code {
+ [Parameter]
+ public List? Triplets { get; set; } = null;
+
+
+}
diff --git a/Salmon.Web/Pages/ElementPage.razor b/Salmon.Web/Pages/ElementPage.razor
index 88384c3..98d17ec 100644
--- a/Salmon.Web/Pages/ElementPage.razor
+++ b/Salmon.Web/Pages/ElementPage.razor
@@ -1,5 +1,4 @@
-
-@page "/Element/{Id}"
+@page "/Element/{Id}"
@inject Salmon.Core.Instance Salmon;
@@ -23,46 +22,13 @@ else
@ThisElement.LongName
Propriétés
-
-
-
- | Dernier changement |
- Nom |
- Valeur |
-
-
-
- @if (Triplets is not null)
- @foreach (var t in Triplets)
- {
-
- | @t.LastFlush |
- @t.predicate |
- @t.value |
-
- }
-
-
+
+
+ Enfants
+
Évènements
-
-
-
- | Date |
- Type |
-
-
-
- @if(Events is not null)
- @foreach (var e in Events)
- {
-
- | @e.When |
- @e.Type |
-
- }
-
-
+
}
@code {
@@ -71,8 +37,8 @@ else
string? Error = $"Chargement...";
Salmon.Core.Element? ThisElement = null;
- List? Triplets = null;
- List? Events = null;
+ List? Triplets { get; set; } = null;
+ List? Events { get; set; } = null;
@@ -108,6 +74,8 @@ else
events.Add(e);
Events = events;
+
+ StateHasChanged();
}
diff --git a/Salmon.Web/Pages/_Host.cshtml b/Salmon.Web/Pages/_Host.cshtml
index 3a7ac56..f476593 100644
--- a/Salmon.Web/Pages/_Host.cshtml
+++ b/Salmon.Web/Pages/_Host.cshtml
@@ -44,6 +44,17 @@
-
+