From 38c60cee378b9c2ad42fc9dc79bc492b919a68f5 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Tue, 15 Aug 2023 15:49:14 +1000 Subject: Convert Razor pages to Blazor --- Pages/ViewMedia.razor | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Pages/ViewMedia.razor (limited to 'Pages/ViewMedia.razor') diff --git a/Pages/ViewMedia.razor b/Pages/ViewMedia.razor new file mode 100644 index 0000000..8436159 --- /dev/null +++ b/Pages/ViewMedia.razor @@ -0,0 +1,106 @@ +@page "/ViewMedia" +@inject IDbContextFactory dbFactory +@inject ITagService tagService + +@title + + + +
+ +
+ + +
+

Title: @(@media.ShortDescription ?? "None")

+

Description: @(media.LongDescription ?? "None")

+

Upload history

+
+ + + + + + + + + @foreach(var file in media.UploadedFiles) { + + + + + + + + } +
Created OnLast WriteUploaded OnFilenameOriginal Checksum
@(file.CreateTime?.ToString() ?? "N/A")@(file.LastWriteTime?.ToString() ?? "N/A")@file.UploadTime@file.Filename@file.OriginalChecksum
+
+ + +
+
+
+ +
+ +
+ + @if(media.IsIngest) { + + } else { + + } +
+
+
+
+
+
+ + +
+ + +
+
+ + + +@code { + [Parameter] + [SupplyParameterFromQuery(Name = "m")] + public Guid MediaId { get; set; } + + private Media media; + + private string title; + + private bool infoEditMode = false; + + private Dialog deleteDialog; + private TagSelectDialog tagDialog; + private MediaTagTable mediaTagTable; + + protected override void OnInitialized() { + using var db = dbFactory.CreateDbContext(); + media = db.Media.AsNoTracking().First(m => m.Guid == MediaId); + if(media is null) + throw new ArgumentException("Media not found!"); + + title = media.DisplayName ?? "Media View"; + } + + private void AddTags(TagDefinition[] tagDefs) { + Console.WriteLine($"Adding tags: {string.Join(", ", tagDefs.Select(td => td.Name))}"); + foreach(var tagDef in tagDefs) + tagService.AddTag(media, tagDef); + mediaTagTable.Refresh(); + } + + private void SetIngest(bool ingest) { + StateHasChanged(); + } +} -- cgit v1.3