mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 17:25:32 +00:00
Bugfixes fith the scolling bar, two senders and receivers
This commit is contained in:
@@ -58,9 +58,9 @@ public class Briefecontroller : Controller {
|
|||||||
// Model creation
|
// Model creation
|
||||||
var hasMarginals = false;
|
var hasMarginals = false;
|
||||||
if (marginals != null && marginals.Any()) hasMarginals = true;
|
if (marginals != null && marginals.Any()) hasMarginals = true;
|
||||||
var model = new BriefeViewModel(id, index, generateMetaViewModel(lib, meta, hasMarginals));
|
var model = new BriefeViewModel(id, index, GenerateMetaViewModel(lib, meta));
|
||||||
if (nextmeta != null) model.MetaData.Next = (generateMetaViewModel(lib, nextmeta, false), url + nextmeta.Autopsic);
|
if (nextmeta != null) model.MetaData.Next = (GenerateMetaViewModel(lib, nextmeta), url + nextmeta.Autopsic);
|
||||||
if (prevmeta != null) model.MetaData.Prev = (generateMetaViewModel(lib, prevmeta, false), url + prevmeta.Autopsic);
|
if (prevmeta != null) model.MetaData.Prev = (GenerateMetaViewModel(lib, prevmeta), url + prevmeta.Autopsic);
|
||||||
if (hands != null && hands.Any()) model.ParsedHands = HaWeb.HTMLHelpers.LetterHelpers.CreateHands(lib, hands);
|
if (hands != null && hands.Any()) model.ParsedHands = HaWeb.HTMLHelpers.LetterHelpers.CreateHands(lib, hands);
|
||||||
if (editreasons != null && editreasons.Any()) model.ParsedEdits = HaWeb.HTMLHelpers.LetterHelpers.CreateEdits(lib, _readerService, editreasons);
|
if (editreasons != null && editreasons.Any()) model.ParsedEdits = HaWeb.HTMLHelpers.LetterHelpers.CreateEdits(lib, _readerService, editreasons);
|
||||||
model.DefaultCategory = lib.Apps.ContainsKey("-1") ? lib.Apps["-1"].Category : null;
|
model.DefaultCategory = lib.Apps.ContainsKey("-1") ? lib.Apps["-1"].Category : null;
|
||||||
@@ -119,14 +119,38 @@ public class Briefecontroller : Controller {
|
|||||||
return Redirect("/Error404");
|
return Redirect("/Error404");
|
||||||
}
|
}
|
||||||
|
|
||||||
private BriefeMetaViewModel generateMetaViewModel(ILibrary lib, Meta meta, bool hasMarginals) {
|
internal static BriefeMetaViewModel GenerateMetaViewModel(ILibrary lib, Meta meta) {
|
||||||
|
var hasMarginals = lib.MarginalsByLetter.Contains(meta.Index) ? true : false;
|
||||||
var senders = meta.Senders.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
var senders = meta.Senders.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
||||||
var recivers = meta.Receivers.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
var recivers = meta.Receivers.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
||||||
var zhstring = meta.ZH != null ? HaWeb.HTMLHelpers.LetterHelpers.CreateZHString(meta) : null;
|
var zhstring = meta.ZH != null ? HaWeb.HTMLHelpers.LetterHelpers.CreateZHString(meta) : null;
|
||||||
return new BriefeMetaViewModel(meta, hasMarginals) {
|
return new BriefeMetaViewModel(meta, hasMarginals) {
|
||||||
ParsedZHString = zhstring,
|
ParsedZHString = zhstring,
|
||||||
ParsedSenders = HTMLHelpers.StringHelpers.GetEnumerationString(senders),
|
SenderReceiver = generateSendersRecievers(senders, recivers)
|
||||||
ParsedReceivers = HTMLHelpers.StringHelpers.GetEnumerationString(recivers)
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static List<(string Sender, string Receiver)> generateSendersRecievers(IEnumerable<string>? senders, IEnumerable<string>? receivers) {
|
||||||
|
var res = new List<(string Sender, string Receiver)>();
|
||||||
|
if (senders != null && receivers != null) {
|
||||||
|
if (senders.Any(x => receivers.Contains(x))) {
|
||||||
|
var s = senders.ToList();
|
||||||
|
var r = receivers.ToList();
|
||||||
|
for (var i = 0; i < r.Count || i < s.Count; i++) {
|
||||||
|
res.Add((
|
||||||
|
s[i],
|
||||||
|
r[i]
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
res.Add((
|
||||||
|
HTMLHelpers.StringHelpers.GetEnumerationString(senders),
|
||||||
|
HTMLHelpers.StringHelpers.GetEnumerationString(receivers)
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -96,18 +96,6 @@ public class IndexController : Controller {
|
|||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static BriefeMetaViewModel GenerateMetaViewModel(ILibrary lib, Meta meta) {
|
|
||||||
var hasMarginals = lib.MarginalsByLetter.Contains(meta.Index) ? true : false;
|
|
||||||
var senders = meta.Senders.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
|
||||||
var recivers = meta.Receivers.Select(x => lib.Persons[x].Name) ?? new List<string>();
|
|
||||||
var zhstring = meta.ZH != null ? HaWeb.HTMLHelpers.LetterHelpers.CreateZHString(meta) : null;
|
|
||||||
return new BriefeMetaViewModel(meta, hasMarginals) {
|
|
||||||
ParsedZHString = zhstring,
|
|
||||||
ParsedSenders = HTMLHelpers.StringHelpers.GetEnumerationString(senders),
|
|
||||||
ParsedReceivers = HTMLHelpers.StringHelpers.GetEnumerationString(recivers)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static List<(int StartYear, int EndYear)>? Paginate(List<IGrouping<int, Meta>>? letters, int lettersForPage) {
|
internal static List<(int StartYear, int EndYear)>? Paginate(List<IGrouping<int, Meta>>? letters, int lettersForPage) {
|
||||||
if (letters == null || !letters.Any()) return null;
|
if (letters == null || !letters.Any()) return null;
|
||||||
List<(int StartYear, int EndYear)>? res = null;
|
List<(int StartYear, int EndYear)>? res = null;
|
||||||
@@ -146,7 +134,7 @@ public class IndexController : Controller {
|
|||||||
letters = metasbyyear
|
letters = metasbyyear
|
||||||
.Where(x => x.Key >= pages[page].StartYear && x.Key <= pages[page].EndYear)
|
.Where(x => x.Key >= pages[page].StartYear && x.Key <= pages[page].EndYear)
|
||||||
.Select(x => (x.Key, x
|
.Select(x => (x.Key, x
|
||||||
.Select(y => GenerateMetaViewModel(lib, y))
|
.Select(y => Briefecontroller.GenerateMetaViewModel(lib, y))
|
||||||
.OrderBy(x => x.Meta.Sort)
|
.OrderBy(x => x.Meta.Sort)
|
||||||
.ThenBy(x => x.Meta.Order)
|
.ThenBy(x => x.Meta.Order)
|
||||||
.ToList()))
|
.ToList()))
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class SucheController : Controller {
|
|||||||
letters = metasbyyear
|
letters = metasbyyear
|
||||||
.Where(x => x.Key >= pages[page].StartYear && x.Key <= pages[page].EndYear)
|
.Where(x => x.Key >= pages[page].StartYear && x.Key <= pages[page].EndYear)
|
||||||
.Select(x => (x.Key, x
|
.Select(x => (x.Key, x
|
||||||
.Select(y => IndexController.GenerateMetaViewModel(lib, y))
|
.Select(y => Briefecontroller.GenerateMetaViewModel(lib, y))
|
||||||
.OrderBy(x => x.Meta.Sort)
|
.OrderBy(x => x.Meta.Sort)
|
||||||
.ThenBy(x => x.Meta.Order)
|
.ThenBy(x => x.Meta.Order)
|
||||||
.ToList()))
|
.ToList()))
|
||||||
|
|||||||
@@ -6,30 +6,20 @@ public class BriefeMetaViewModel {
|
|||||||
public bool HasMarginals { get; private set; }
|
public bool HasMarginals { get; private set; }
|
||||||
public bool HasText { get; set; } = true;
|
public bool HasText { get; set; } = true;
|
||||||
|
|
||||||
private string? _ParsedSenders;
|
private List<(string Sender, string Receiver)>? _SenderReceiver;
|
||||||
private string? _ParsedReceivers;
|
|
||||||
private string? _ParsedZHString;
|
private string? _ParsedZHString;
|
||||||
private string? _Startline;
|
private string? _Startline;
|
||||||
private string? _Startpage;
|
private string? _Startpage;
|
||||||
|
|
||||||
public string? ParsedSenders {
|
public List<(string Sender, string Receiver)>? SenderReceiver {
|
||||||
get => _ParsedSenders;
|
get => _SenderReceiver;
|
||||||
set {
|
set {
|
||||||
if (value != null)
|
if (value != null)
|
||||||
_ParsedSenders = HttpUtility.HtmlEncode(value);
|
value.ForEach(x => {
|
||||||
else
|
HttpUtility.HtmlEncode(x.Sender);
|
||||||
_ParsedSenders = value;
|
HttpUtility.HtmlEncode(x.Receiver);
|
||||||
}
|
});
|
||||||
}
|
_SenderReceiver = value;
|
||||||
|
|
||||||
public string? ParsedReceivers {
|
|
||||||
get => _ParsedReceivers;
|
|
||||||
set {
|
|
||||||
if (value != null)
|
|
||||||
_ParsedReceivers = HttpUtility.HtmlEncode(value);
|
|
||||||
else
|
|
||||||
_ParsedReceivers = value;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -82,11 +82,7 @@ Vor dem internen release:
|
|||||||
A TODO Jahreszahlen auf der Startseite
|
A TODO Jahreszahlen auf der Startseite
|
||||||
B TODO Suchergebnisse beschränken
|
B TODO Suchergebnisse beschränken
|
||||||
B TODO Mobile Menüs bei der Seitennavigation (Jahrszahlen, Buchstabenindex usw)
|
B TODO Mobile Menüs bei der Seitennavigation (Jahrszahlen, Buchstabenindex usw)
|
||||||
A TODO Fehlerseiten bei nicht gefundenen Seiten
|
|
||||||
C TODO Traditions durchsuchen
|
C TODO Traditions durchsuchen
|
||||||
A TODO Briefe, in welchen Sender / Empfänger jeweils doppelt / getauscht sind 876
|
|
||||||
A TODO SEO Description & Titel
|
|
||||||
A TODO fixed width briefe kommentar bisschen nach links 306, 309
|
|
||||||
|
|
||||||
Liste für Janina/Luca:
|
Liste für Janina/Luca:
|
||||||
tabellen ok, ausser 939
|
tabellen ok, ausser 939
|
||||||
@@ -95,5 +91,4 @@ KOmmentare verschobem 202 Anhang
|
|||||||
458 leeren lettertext löschen
|
458 leeren lettertext löschen
|
||||||
935 leeren lettertext löschen
|
935 leeren lettertext löschen
|
||||||
|
|
||||||
doppel- empfänder sender 876
|
|
||||||
Evtl finetuning von note
|
Evtl finetuning von note
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@if (!String.IsNullOrWhiteSpace(Model.Letter.ParsedReceivers)) {
|
@if (Model.Letter.SenderReceiver != null && Model.Letter.SenderReceiver.Any()) {
|
||||||
<div class="ha-metadata">
|
<div class="ha-metadata">
|
||||||
<div class="ha-metadataupperrow">
|
<div class="ha-metadataupperrow">
|
||||||
<div class="ha-metadatadate">
|
<div class="ha-metadatadate">
|
||||||
@@ -19,19 +19,20 @@
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
<div class="ha-metadatapersons">
|
<div class="ha-metadatapersons">
|
||||||
|
@foreach(var pair in Model.Letter.SenderReceiver) {
|
||||||
@if (Model.Letter.Meta.isDraft == HaDocument.Models.OptionalBool.True) {
|
@if (Model.Letter.Meta.isDraft == HaDocument.Models.OptionalBool.True) {
|
||||||
<span>@Html.Raw(Model.Letter.ParsedSenders)</span>
|
<span>@Html.Raw(pair.Sender)</span>
|
||||||
<div class="ha-tooltip">
|
<div class="ha-tooltip">
|
||||||
↛
|
↛
|
||||||
<div class="ha-tooltiptext" style="bottom: 100%;">
|
<div class="ha-tooltiptext" style="bottom: 100%;">
|
||||||
Entwurf
|
Entwurf
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<span>@Html.Raw(pair.Receiver)</span><br>
|
||||||
<span>@Html.Raw(Model.Letter.ParsedReceivers)</span>
|
}
|
||||||
}
|
else {
|
||||||
else {
|
<span>@Html.Raw(pair.Sender) → @Html.Raw(pair.Receiver)</span><br>
|
||||||
<span>@Html.Raw(Model.Letter.ParsedSenders) → @Html.Raw(Model.Letter.ParsedReceivers)</span>
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -172,7 +172,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ha-text .ha-marginalbox {
|
.ha-text .ha-marginalbox {
|
||||||
@apply hidden select-none hover:select-auto hyphenate pl-1 md:inline-block absolute left-full ml-6 desktop:ml-16 mt-1 w-[16rem] desktop:w-[28rem] text-sm leading-tight rounded-sm font-sans
|
@apply hidden select-none hover:select-auto hyphenate pl-1 md:inline-block absolute left-full ml-6 desktop:ml-10 mt-1 w-[16rem] desktop:w-[28rem] text-sm leading-tight rounded-sm font-sans
|
||||||
}
|
}
|
||||||
|
|
||||||
.ha-text .ha-marginalbox .ha-marginallist {
|
.ha-text .ha-marginalbox .ha-marginallist {
|
||||||
@@ -289,6 +289,10 @@
|
|||||||
.ha-minwidth .ha-aligncenter {
|
.ha-minwidth .ha-aligncenter {
|
||||||
@apply absolute left-1/3 whitespace-nowrap -translate-x-1/2
|
@apply absolute left-1/3 whitespace-nowrap -translate-x-1/2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ha-minwidth .ha-marginalbox {
|
||||||
|
@apply !ml-1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ha-lettertext .ha-marginalbox:before {
|
.ha-lettertext .ha-marginalbox:before {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
|||||||
@layer components {
|
@layer components {
|
||||||
/* COLORS */
|
/* COLORS */
|
||||||
body {
|
body {
|
||||||
@apply text-black dark:text-white dark:bg-gray-800 dark:bg-none overflow-x-hidden md:overflow-x-auto
|
@apply text-black dark:text-white dark:bg-gray-800 dark:bg-none overflow-x-hidden md:overflow-x-auto md:overflow-y-scroll
|
||||||
}
|
}
|
||||||
|
|
||||||
.ha-added,
|
.ha-added,
|
||||||
|
|||||||
Reference in New Issue
Block a user