mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 09:15:33 +00:00
Started to design MetaData for Letters
This commit is contained in:
@@ -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)
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
20
HaWeb/Views/Shared/_LetterHead.cshtml
Normal file
20
HaWeb/Views/Shared/_LetterHead.cshtml
Normal 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>
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user