Move Saxonite’s projects into a dedicated `Workspace` folder and align the solution with .NET 10 and the current Common workspace. Update encryption integration, test project structure and coverage, and repository guidance and upgrade notes. - Relocate application and library projects while retaining Git rename history. - Split tests into Admin, Online, and Shared projects; add representative behavioral and serialization tests. - Update Common integration, application version, and repository documentation. Application version: 1.3.0 Reviewed-on: #1 Co-authored-by: andy <andy@sarand.com>
125 lines
3.8 KiB
Plaintext
125 lines
3.8 KiB
Plaintext
@model Model_System
|
|
@inject SaxLocaliser Localiser
|
|
@{
|
|
ViewData["Title"] = "System - Logs";
|
|
}
|
|
|
|
<style>
|
|
#dlgLogFile .FileData
|
|
{
|
|
font-family: Courier New, Courier, monospace;
|
|
font-size: 10px;
|
|
color: slategray;
|
|
overflow-x: auto;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
#dlgLogFile .FileData .tab
|
|
{
|
|
padding-left: 16px;
|
|
}
|
|
|
|
#dlgLogFile .FileData .tab2
|
|
{
|
|
padding-left: 32px;
|
|
}
|
|
|
|
#dlgLogFile .FileData .err
|
|
{
|
|
color: darkred;
|
|
}
|
|
|
|
#dlgLogFile .FileData .wrn
|
|
{
|
|
color: darkorange;
|
|
}
|
|
|
|
#dlgLogFile .FileData .inf
|
|
{
|
|
color: darkGreen;
|
|
}
|
|
</style>
|
|
|
|
<div class="sax-panel LogFiles">
|
|
|
|
<div class="sax-panel-data sax-flex">
|
|
|
|
@* Filter form - wrap header to include paging controls. *@
|
|
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmLogsFilter", @class = "sax-form", @onSubmit = "return false;" }))
|
|
{
|
|
|
|
@* Header - Page caption, paging controls, actions. *@
|
|
<div class="sax-panel-header">
|
|
<div class="row">
|
|
<div class="col"><div class="sax-panel-caption">@Localiser["system.caption.logs"]</div></div>
|
|
<div class="fixed row">
|
|
<div class="sax-action sax-results-refresh"><img src="~/img/action/refresh24.png" alt="@(Localiser["label.refresh"])" title="@(Localiser["label.refresh"])" /></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@* Filter Panel *@
|
|
<div class="sax-panel-filter">
|
|
<input type="hidden" name="LogsFilter.Filename" class="FilterLogFilename" />
|
|
<div class="row">
|
|
<div class="col-sm-12 row">
|
|
<div class="col-sm-4 col-md-3 sax-label text-left text-sm-right" style="padding-top:2px;">@Localiser["label.root.folder"]</div>
|
|
<div class="col-sm-8 col-md-9 sax-value mb-1 bold">@(Model.LoggingRootFolder)</div>
|
|
</div>
|
|
<div class="col-sm-12 col-md-4 row">
|
|
<div class="col-sm-4 col-md-5 sax-label text-left text-sm-right">@Localiser["label.folder"]</div>
|
|
<div class="col-sm-8 col-md-7 mb-1"><div style="max-width:200px;"><select id="cbFilterLogFolder" name="LogsFilter.Folder" class="FilterLogFolder"></select></div></div>
|
|
</div>
|
|
<div class="col-sm-12 col-md-4 row">
|
|
<div class="col-sm-4 col-md-5 sax-label text-left text-sm-right">@Localiser["label.year"]</div>
|
|
<div class="col-sm-8 col-md-7 mb-1"><div style="max-width:200px;"><select id="cbFilterLogYear" name="LogsFilter.Year" class="FilterLogYear"></select></div></div>
|
|
</div>
|
|
<div class="col-sm-12 col-md-4 row">
|
|
<div class="col-sm-4 col-md-5 sax-label text-left text-sm-right">@Localiser["label.month"]</div>
|
|
<div class="col-sm-8 col-md-7"><div style="max-width:200px;"><select id="cbFilterLogMonth" name="LogsFilter.Month" class="FilterLogMonth"></select></div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
}
|
|
|
|
@* Log file list. *@
|
|
<div class="sax-panel-item-table sax-flex">
|
|
<table class="sax-item-list">
|
|
<thead>
|
|
<tr>
|
|
<th class="pl-2">@Localiser["label.file"]</th>
|
|
<th class="center">@Localiser["label.updated"]</th>
|
|
<th class="center">@Localiser["label.size"]</th>
|
|
</tr>
|
|
<tr><td colspan="6"><div class="sax-panel-messages"></div></td></tr>
|
|
</thead>
|
|
<tbody></tbody>
|
|
</table>
|
|
</div>
|
|
|
|
@* Log file template. *@
|
|
<table class="sax-panel-item-template">
|
|
<tr class="sax-panel-item LogFile pointer">
|
|
<td><div class="Filename pl-2 pt-1"></div></td>
|
|
<td><div class="Updated center"></div></td>
|
|
<td><div class="Size center"></div></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div id="dlgLogFile" class="sax-dialog">
|
|
<form>
|
|
<input type="hidden" class="LogFilename" />
|
|
</form>
|
|
<div class="sax-data FileData"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script>
|
|
sax.data.logFolder = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Folder))';
|
|
sax.data.logYear = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Year))';
|
|
sax.data.logMonth = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Month))';
|
|
</script> |