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
|
// Model creation
|
||||||
var model = new BriefeViewModel(this.id, index, generateMetaViewModel(meta));
|
var model = new BriefeViewModel(this.id, index, generateMetaViewModel(meta));
|
||||||
if (nextmeta != null) model.Next = (generateMetaViewModel(nextmeta), url + nextmeta.Autopsic);
|
if (nextmeta != null) model.MetaData.Next = (generateMetaViewModel(nextmeta), url + nextmeta.Autopsic);
|
||||||
if (prevmeta != null) model.Prev = (generateMetaViewModel(prevmeta), url + prevmeta.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 (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 (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);
|
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)
|
ParsedReceivers = HTMLHelpers.StringHelpers.GetEnumerationString(recivers)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -4,9 +4,15 @@ using HaDocument.Models;
|
|||||||
public class BriefeMetaViewModel
|
public class BriefeMetaViewModel
|
||||||
{
|
{
|
||||||
public Meta Meta { get; private set; }
|
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? ParsedSenders { get; set; }
|
||||||
public string? ParsedReceivers { get; set; }
|
public string? ParsedReceivers { get; set; }
|
||||||
|
|
||||||
|
public (BriefeMetaViewModel, string)? Next { get; set; }
|
||||||
|
public (BriefeMetaViewModel, string)? Prev { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public BriefeMetaViewModel(Meta meta)
|
public BriefeMetaViewModel(Meta meta)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ public class BriefeViewModel
|
|||||||
{
|
{
|
||||||
public string Id { get; private set; }
|
public string Id { get; private set; }
|
||||||
public string Index { 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? ParsedText { get; set; }
|
||||||
public string? ParsedLineCount { get; set; }
|
public string? ParsedLineCount { get; set; }
|
||||||
@@ -13,13 +13,10 @@ public class BriefeViewModel
|
|||||||
public List<string>? ParsedEdits { get; set; }
|
public List<string>? ParsedEdits { get; set; }
|
||||||
public List<string>? ParsedHands { 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)
|
public BriefeViewModel(string id, string index, BriefeMetaViewModel meta)
|
||||||
{
|
{
|
||||||
Id = id;
|
Id = id;
|
||||||
Index = index;
|
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 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>>)>;
|
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
|
public class LetterRules
|
||||||
{
|
{
|
||||||
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;
|
private static readonly string DEFAULTELEMENT = HaWeb.Settings.HTML.DEFAULTELEMENT;
|
||||||
|
|||||||
@@ -1,13 +1,8 @@
|
|||||||
@model BriefeViewModel;
|
@model BriefeViewModel;
|
||||||
|
|
||||||
@Model.Meta.Meta.Autopsic
|
<div class="ha-letterheader">
|
||||||
@Model.Meta.ParsedSenders
|
@await Html.PartialAsync("/Views/Shared/_LetterHead.cshtml", Model.MetaData)
|
||||||
@Model.Index
|
</div>
|
||||||
@Model.Id
|
|
||||||
|
|
||||||
@if (Model.Next != null) {
|
|
||||||
<a href="@Model.Next.Value.Item2">@Model.Next.Value.Item1.Meta.Autopsic</a>
|
|
||||||
}
|
|
||||||
|
|
||||||
@if (Model.ParsedText != null) {
|
@if (Model.ParsedText != null) {
|
||||||
@Html.Raw(@Model.ParsedText)
|
@Html.Raw(@Model.ParsedText)
|
||||||
@@ -20,20 +15,3 @@
|
|||||||
@if (Model.ParsedMarginals != null) {
|
@if (Model.ParsedMarginals != null) {
|
||||||
@Html.Raw(@Model.ParsedMarginals)
|
@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));
|
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 */
|
/* Classes from .NET */
|
||||||
|
|
||||||
.ha-title {
|
.ha-title {
|
||||||
|
|||||||
@@ -133,7 +133,7 @@
|
|||||||
@apply underline decoration-solid
|
@apply underline decoration-solid
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Classes for static pages */
|
/* Classes for static pages */
|
||||||
|
|
||||||
.ha-static {
|
.ha-static {
|
||||||
@apply w-full bg-slate-50 py-12 px-12 md:px-16 hyphenate font-serif
|
@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
|
@apply inline-block absolute text-right w-8 -left-10
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Classes for register pages */
|
/* Classes for register pages */
|
||||||
|
|
||||||
.ha-register {
|
.ha-register {
|
||||||
@apply w-full font-serif numeric-mediaeval
|
@apply w-full font-serif numeric-mediaeval
|
||||||
@@ -297,7 +297,19 @@
|
|||||||
@apply hover:text-gray-900 no-underline
|
@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 {
|
.ha-title {
|
||||||
@apply inline italic
|
@apply inline italic
|
||||||
}
|
}
|
||||||
@@ -338,7 +350,8 @@
|
|||||||
@apply relative -top-[0.5em] text-[80%]
|
@apply relative -top-[0.5em] text-[80%]
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Classes from Javascript */
|
/* Classes from Javascript */
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
@apply !text-hamannHighlight pointer-events-none
|
@apply !text-hamannHighlight pointer-events-none
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user