mirror of
				https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
				synced 2025-10-31 02:05:33 +00:00 
			
		
		
		
	Added more responisiveness to Letter View; TODO: copy letterrules to traditionrules
This commit is contained in:
		| @@ -72,6 +72,11 @@ public static class CSSClasses { | ||||
|     public const string FIRSTPAGECLASS = "ha-firstpage"; | ||||
|     public const string EMPTYLINECLASS = "ha-emptyline"; | ||||
|  | ||||
|     // Marker | ||||
|     public const string EDITMARKERCLASS = "ha-editmarker"; | ||||
|     public const string COMMENTMARKERCLASS = "ha-commentmarker"; | ||||
|     public const string HANDMARKERCLASS = "ha-handmarker"; | ||||
|  | ||||
|     // TODO Classes used in Razor Pages: | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -64,6 +64,11 @@ public class LetterRules | ||||
|     private static readonly string MARGINALCLASS = HaWeb.Settings.CSSClasses.MARGINALCLASS; | ||||
|     private static readonly string LETTERCLASS = HaWeb.Settings.CSSClasses.LETTERCLASS; | ||||
|  | ||||
|     // Marker-Classes | ||||
|     private static readonly string EDITMARKERCLASS = HaWeb.Settings.CSSClasses.EDITMARKERCLASS; | ||||
|     private static readonly string COMMENTMARKERCLASS = HaWeb.Settings.CSSClasses.COMMENTMARKERCLASS; | ||||
|     private static readonly string HANDMARKERCLASS = HaWeb.Settings.CSSClasses.HANDMARKERCLASS; | ||||
|  | ||||
|     // Parsing Rules for Letters | ||||
|     // General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons) | ||||
|     public static readonly TagFuncList OTagRules = new TagFuncList() { | ||||
| @@ -101,12 +106,20 @@ public class LetterRules | ||||
|         ( ( x, _) => x.Name == "subsection", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, LETTERCLASS)) ), | ||||
|         ( ( x, _) => x.Name == "letterTradition", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TRADITIONCLASS)) ), | ||||
|         ( ( x, _) => x.Name == "marginal", (sb, tag, reader) => { | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS)); | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINALCLASS, "m-" + tag["index"])); | ||||
|             reader.State.active_skipwhitespace = !reader.State.active_skipwhitespace; | ||||
|         }), | ||||
|         ( ( x, _) => x.Name == "hand", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS)) ), | ||||
|         ( ( x, _) => x.Name == "tabs", (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABLECLASS)) ), | ||||
|         ( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABCLASS + tag["value"]))) | ||||
|         ( ( x, _) => x.Name == "tab" && !String.IsNullOrWhiteSpace(x["value"]), (sb, tag, _) => sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, TABCLASS + tag["value"]))), | ||||
|         ( ( x, _) => x.Name == "edit" && !String.IsNullOrWhiteSpace(x["ref"]), (sb, tag, _) => { | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, EDITMARKERCLASS, "ea-" + tag["ref"])); | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); | ||||
|         }), | ||||
|         ( ( x, _) => x.Name == "hand", (sb, tag, _) => { | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDMARKERCLASS, "ha-" + tag["ref"])); | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); | ||||
|             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, HANDCLASS)); | ||||
|         }) | ||||
|     }; | ||||
|  | ||||
|     public static readonly TagFuncList CTagRules = new TagFuncList() { | ||||
| @@ -221,6 +234,9 @@ public class LetterRules | ||||
|                     sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); | ||||
|                     foreach (var marginal in margs) | ||||
|                     { | ||||
|                         sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, "ma-" + marginal.Index)); | ||||
|                         sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); | ||||
|  | ||||
|                         // In Marginal, the Root-Element (<marginal>) is somehow parsed, | ||||
|                         // so we don't need to enclose it in a seperate div. | ||||
|                         var rd = reader.State.ReaderService.RequestStringReader(marginal.Element); | ||||
|   | ||||
| @@ -44,7 +44,6 @@ public static class TraditionRules | ||||
|     private static readonly string MARGINGALBOXCLASS = HaWeb.Settings.CSSClasses.MARGINGALBOXCLASS; | ||||
|  | ||||
|     // Zeilen: | ||||
|     // : | ||||
|     private static readonly string ZHLINECLASS = HaWeb.Settings.CSSClasses.ZHLINECLASS; | ||||
|     private static readonly string FIRSTLINECLASS = HaWeb.Settings.CSSClasses.FIRSTLINECLASS; | ||||
|     private static readonly string ZHBREAKCLASS = HaWeb.Settings.CSSClasses.ZHBREAKCLASS; | ||||
| @@ -70,6 +69,12 @@ public static class TraditionRules | ||||
|     public static readonly string TRADZHTEXTCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTCLASS; | ||||
|     public static readonly string TRADZHTEXTBOXCLASS = HaWeb.Settings.CSSClasses.TRADZHTEXTBOXCLASS; | ||||
|  | ||||
|     // Marker-Classes | ||||
|     private static readonly string EDITMARKERCLASS = HaWeb.Settings.CSSClasses.EDITMARKERCLASS; | ||||
|     private static readonly string COMMENTMARKERCLASS = HaWeb.Settings.CSSClasses.COMMENTMARKERCLASS; | ||||
|     private static readonly string HANDMARKERCLASS = HaWeb.Settings.CSSClasses.HANDMARKERCLASS; | ||||
|  | ||||
|  | ||||
|     // Parsing Rules for Letters | ||||
|     // General rules (for the lettertext column, also for parsing the marginals, awa tradtions and editreasons) | ||||
|     public static readonly TagFuncList OTagRules = new TagFuncList() { | ||||
| @@ -236,6 +241,9 @@ public static class TraditionRules | ||||
|                         sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, MARGINGALBOXCLASS)); | ||||
|                         foreach (var marginal in margs) | ||||
|                         { | ||||
|                             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateElement(DEFAULTELEMENT, COMMENTMARKERCLASS, marginal.Index)); | ||||
|                             sb.Append(HaWeb.HTMLHelpers.TagHelpers.CreateEndElement(DEFAULTELEMENT)); | ||||
|  | ||||
|                             // In Marginal, the Root-Element (<marginal>) is somehow parsed, | ||||
|                             // so we don't need to enclose it in a seperate div. | ||||
|                             if (marginal.Element != null) { | ||||
|   | ||||
| @@ -16,6 +16,8 @@ public class LetterState : HaWeb.HTMLParser.IState { | ||||
|     internal Meta Meta; | ||||
|  | ||||
|     internal IEnumerable<Marginal>? Marginals; | ||||
|     internal IEnumerable<Hand>? Hands; | ||||
|     internal IEnumerable<Editreason>? Edits; | ||||
|  | ||||
|     // State | ||||
|     internal bool active_del; | ||||
| @@ -27,12 +29,13 @@ public class LetterState : HaWeb.HTMLParser.IState { | ||||
|     internal StringBuilder sb_lettertext; | ||||
|  | ||||
|  | ||||
|     public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable<Marginal>? marginals) { | ||||
|     public LetterState(ILibrary lib, IReaderService readerService, Meta meta, IEnumerable<Marginal>? marginals, IEnumerable<Hand>? hands, IEnumerable<Editreason>? edits) { | ||||
|         Lib = lib; | ||||
|         ReaderService = readerService; | ||||
|         Meta = meta; | ||||
|         Marginals = marginals; | ||||
|  | ||||
|         Hands = hands; | ||||
|         Edits = edits; | ||||
|         SetupState(); | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 schnulller
					schnulller