From 6cd7e11c1020c40f223dee70a7dd7b2c66296918 Mon Sep 17 00:00:00 2001 From: danvolchek Date: Sat, 9 Mar 2019 18:20:02 -0600 Subject: add log sections implementation --- src/SMAPI.Web/Views/LogParser/Index.cshtml | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'src/SMAPI.Web/Views') diff --git a/src/SMAPI.Web/Views/LogParser/Index.cshtml b/src/SMAPI.Web/Views/LogParser/Index.cshtml index 21adf35b..aa37fef2 100644 --- a/src/SMAPI.Web/Views/LogParser/Index.cshtml +++ b/src/SMAPI.Web/Views/LogParser/Index.cshtml @@ -27,6 +27,7 @@ logStarted: new Date(@Json.Serialize(Model.ParsedLog?.Timestamp)), showPopup: @Json.Serialize(Model.ParsedLog == null), showMods: @Json.Serialize(Model.ParsedLog?.Mods?.Select(p => Model.GetSlug(p.Name)).Distinct().ToDictionary(slug => slug, slug => true), noFormatting), + showSections: @Json.Serialize(Enum.GetNames(typeof(LogSection)).ToDictionary(section => section, section => false), noFormatting), showLevels: @Json.Serialize(defaultFilters, noFormatting), enableFilters: @Json.Serialize(!Model.ShowRaw) }, '@Model.SectionUrl'); @@ -261,16 +262,34 @@ else if (Model.ParsedLog?.IsValid == true) @foreach (var message in Model.ParsedLog.Messages) { string levelStr = message.Level.ToString().ToLower(); + string sectionStartClass = message.IsStartOfSection ? "section-start" : null; - + // filter the message by section if it has one + string sectionFilter = message.Section != null ? $"&& sectionsAllow('{message.Section}')" : null; + // always show the first message in the section regardless of section filters + string sectionsAllow = message.IsStartOfSection ? null : sectionFilter; + + v-on:click="toggleSection('@message.Section')" + } + v-show="filtersAllow('@Model.GetSlug(message.Mod)', '@levelStr') @sectionsAllow"> @message.Time @message.Level.ToString().ToUpper() @message.Mod - @message.Text + + @message.Text + @if (message.IsStartOfSection) + { + This section is hidden. Click here to show it. + This section is shown. Click here to hide it. + } + if (message.Repeated > 0) { - + repeats [@message.Repeated] times. -- cgit