Started to design MetaData for Letters

This commit is contained in:
schnulller
2022-05-20 01:38:10 +02:00
parent d054cf07e1
commit bf3112cacd
8 changed files with 71 additions and 37 deletions

View File

@@ -54,8 +54,8 @@ public class Briefecontroller : Controller
// Model creation
var model = new BriefeViewModel(this.id, index, generateMetaViewModel(meta));
if (nextmeta != null) model.Next = (generateMetaViewModel(nextmeta), url + nextmeta.Autopsic);
if (prevmeta != null) model.Prev = (generateMetaViewModel(prevmeta), url + prevmeta.Autopsic);
if (nextmeta != null) model.MetaData.Next = (generateMetaViewModel(nextmeta), url + nextmeta.Autopsic);
if (prevmeta != null) model.MetaData.Prev = (generateMetaViewModel(prevmeta), url + prevmeta.Autopsic);
if (hands != null && hands.Any()) model.ParsedHands = HaWeb.HTMLHelpers.BriefeHelpers.CreateHands(_lib, hands);
if (editreasons != null && editreasons.Any()) model.ParsedEdits = HaWeb.HTMLHelpers.BriefeHelpers.CreateEdits(_lib, _readerService, editreasons);
if (tradition != null && !String.IsNullOrWhiteSpace(tradition.Element)) model.ParsedTradition = HaWeb.HTMLHelpers.BriefeHelpers.CreateTraditions(_lib, _readerService, marginals, tradition);
@@ -82,5 +82,4 @@ public class Briefecontroller : Controller
ParsedReceivers = HTMLHelpers.StringHelpers.GetEnumerationString(recivers)
};
}
}

View File

@@ -4,9 +4,15 @@ using HaDocument.Models;
public class BriefeMetaViewModel
{
public Meta Meta { get; private set; }
public bool ShowSurroundingLetterLinks { get; private set; }
public bool ShowPDFButton { get; private set; }
public string? ParsedSenders { get; set; }
public string? ParsedReceivers { get; set; }
public (BriefeMetaViewModel, string)? Next { get; set; }
public (BriefeMetaViewModel, string)? Prev { get; set; }
public BriefeMetaViewModel(Meta meta)
{

View File

@@ -4,7 +4,7 @@ public class BriefeViewModel
{
public string Id { get; private set; }
public string Index { get; private set; }
public BriefeMetaViewModel Meta { get; private set; }
public BriefeMetaViewModel MetaData { get; private set; }
public string? ParsedText { get; set; }
public string? ParsedLineCount { get; set; }
@@ -13,13 +13,10 @@ public class BriefeViewModel
public List<string>? ParsedEdits { get; set; }
public List<string>? ParsedHands { get; set; }
public (BriefeMetaViewModel, string)? Next { get; set; }
public (BriefeMetaViewModel, string)? Prev { get; set; }
public BriefeViewModel(string id, string index, BriefeMetaViewModel meta)
{
Id = id;
Index = index;
Meta = meta;
MetaData = meta;
}
}

View File

@@ -5,6 +5,7 @@ using TagFuncList = List<(Func<HaXMLReader.EvArgs.Tag, HaWeb.HTMLParser.XMLHelpe
using TextFuncList = List<(Func<HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Text, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>>)>;
using WhitespaceFuncList = List<(Func<HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>, bool>, Action<System.Text.StringBuilder, HaXMLReader.EvArgs.Whitespace, HaWeb.HTMLParser.XMLHelper<HaWeb.Settings.ParsingState.LetterState>>)>;
// TODO: stringbuilder als Rückgabeparameter des XMHelpers ist eigentlich auch Part vom State
public class LetterRules
{
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;

View File

@@ -1,13 +1,8 @@
@model BriefeViewModel;
@Model.Meta.Meta.Autopsic
@Model.Meta.ParsedSenders
@Model.Index
@Model.Id
@if (Model.Next != null) {
<a href="@Model.Next.Value.Item2">@Model.Next.Value.Item1.Meta.Autopsic</a>
}
<div class="ha-letterheader">
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", Model.MetaData)
</div>
@if (Model.ParsedText != null) {
@Html.Raw(@Model.ParsedText)
@@ -20,20 +15,3 @@
@if (Model.ParsedMarginals != null) {
@Html.Raw(@Model.ParsedMarginals)
}
@if (Model.ParsedTradition != null) {
@Html.Raw(@Model.ParsedTradition)
}
@if (Model.ParsedEdits != null) {
@foreach (var edit in Model.ParsedEdits) {
@Html.Raw(edit)
}
}
@if (Model.ParsedHands != null)
{
@foreach (var hand in Model.ParsedHands) {
@Html.Raw(hand)
}
}

View File

@@ -0,0 +1,20 @@
@model BriefeMetaViewModel
<div class="ha-letterhead">
<div class="ha-letternumber">
@Model.Meta.Autopsic
</div>
<div class="ha-metadata">
<div class="ha-metadatarows">
<div class="ha-metadatatop">
@Model.Meta.Date
</div>
<div class="metadatabottom">
@Model.ParsedSenders -> @Model.ParsedReceivers
</div>
</div>
</div>
<div class="ha-lettermetalinks">
</div>
</div>

View File

@@ -1016,6 +1016,26 @@ body {
color: rgb(17 24 39 / var(--tw-text-opacity));
}
/* Classes for Letter View */
.ha-letterheader {
--tw-bg-opacity: 1;
background-color: rgb(248 250 252 / var(--tw-bg-opacity));
padding-left: 2.25rem;
padding-right: 2.25rem;
padding-top: 2.25rem;
}
@media (min-width: 1024px) {
.ha-letterheader {
padding-left: 4rem;
padding-right: 4rem;
padding-top: 3rem;
}
}
/* Classes for MetaData View */
/* Classes from .NET */
.ha-title {

View File

@@ -133,7 +133,7 @@
@apply underline decoration-solid
}
/* Classes for static pages */
/* Classes for static pages */
.ha-static {
@apply w-full bg-slate-50 py-12 px-12 md:px-16 hyphenate font-serif
@@ -191,7 +191,7 @@
@apply inline-block absolute text-right w-8 -left-10
}
/* Classes for register pages */
/* Classes for register pages */
.ha-register {
@apply w-full font-serif numeric-mediaeval
@@ -297,7 +297,19 @@
@apply hover:text-gray-900 no-underline
}
/* Classes from .NET */
/* Classes for Letter View */
.ha-letterheader {
@apply bg-slate-50 pt-9 md:pt-12 px-9 md:px-16
}
/* Classes for MetaData View */
/* Classes from .NET */
.ha-title {
@apply inline italic
}
@@ -338,7 +350,8 @@
@apply relative -top-[0.5em] text-[80%]
}
/* Classes from Javascript */
/* Classes from Javascript */
.active {
@apply !text-hamannHighlight pointer-events-none
}