3.0.0.3 Control Repository Schema & Logs.
This commit is contained in:
@@ -126,11 +126,11 @@
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="">@Localiser["label.schema"]</th>
|
||||
<th class="">@Localiser["label.table"]</th>
|
||||
<th class="">@Localiser["label.column"]</th>
|
||||
<th class="">@Localiser["label.index"]</th>
|
||||
<th class="" style="min-width:50%;">@Localiser["label.comment"]</th>
|
||||
<th class="width10pc">@Localiser["label.schema"]</th>
|
||||
<th class="width20pc">@Localiser["label.table"]</th>
|
||||
<th class="width20pc">@Localiser["label.column"]</th>
|
||||
<th class="width20pc">@Localiser["label.index"]</th>
|
||||
<th class="width30pc">@Localiser["label.comment"]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
@* Instance - Repository Database Schema *@
|
||||
@model Model_System
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Instance - Repository Database Schema";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-ins-rep-sch.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Schema fullheight">
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.msg.dbSchemaValid = '@Localiser.GetJavascriptText("msg.database.schema.valid")';
|
||||
</script>
|
||||
|
||||
<div class="sbc-panel-data sbc-flex">
|
||||
|
||||
@* Filter form - wrap header to include paging controls. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmSchemaFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-panel-header">
|
||||
<div class="row">
|
||||
<div class="fixed">
|
||||
@* <partial name="~/Views/Common/ResultsPaging.cshtml" /> *@
|
||||
</div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["caption.database.core"]</div></div>
|
||||
<div class="fixed">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-dark navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="navbar-toggler-icon"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Filter Panel *@
|
||||
<div class="sbc-panel-filter">
|
||||
@Html.HiddenFor(model => model.DatabaseFilter.Instance, new { @id = "", @class = "FilterInstance" })
|
||||
<div class="row">
|
||||
<div class="col-sm-4 row pb4">
|
||||
<div class="col-sm-5 sbc-label text-left text-sm-right">@Localiser["label.context"]</div>
|
||||
<div class="col-sm-7">
|
||||
@Html.DropDownListFor(model => model.DatabaseFilter.Context, Model.GetInstanceContextsForSelect(), "", new { @id = "", @class = "FilterContext" })
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4 row pb4">
|
||||
<div class="col-sm-5 sbc-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-7">
|
||||
@Html.TextBoxFor(model => model.DatabaseFilter.Search, new { @id = "", @class = "FilterSearch", @maxlength = "32" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<div class="sbc-panel-item-table sbc-flex">
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="width10pc">@Localiser["label.schema"]</th>
|
||||
<th class="width20pc">@Localiser["label.table"]</th>
|
||||
<th class="width20pc">@Localiser["label.column"]</th>
|
||||
<th class="width20pc">@Localiser["label.index"]</th>
|
||||
<th class="width25pc">@Localiser["label.comment"]</th>
|
||||
<th class="width5pc"></th>
|
||||
</tr>
|
||||
<tr><td colspan="6"><div class="sbc-panel-messages"></div></td></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@* Element templates *@
|
||||
<div class="sbc-panel-item-template">
|
||||
@* Filter Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu SchemaFilter">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
@* Schema row template - table is ignored. *@
|
||||
<table class="">
|
||||
<tr class="sbc-row-item SchemaItem">
|
||||
<td class=""><div class="SchemaName"></div></td>
|
||||
<td class=""><div class="TableName"></div></td>
|
||||
<td class=""><div class="ColumnName"></div></td>
|
||||
<td class=""><div class="IndexName"></div></td>
|
||||
<td class=""><div class="Comment"></div></td>
|
||||
<td>
|
||||
<div class="right">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-light navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@* Item Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu Schema">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
@* Instance - Core Database*@
|
||||
@model Model_CoreDatabase
|
||||
@* Instance - Repository Database Tables *@
|
||||
@model Model_RepositoryDatabase
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Instance - Core Database";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-ins-coredb.js");
|
||||
ViewData["Title"] = "Instance - Repository Database Tables";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-ins-rep-db.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Tables fullheight">
|
||||
@@ -128,7 +128,8 @@
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Owner');">@Localiser["label.owners"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Repository');">@Localiser["label.repositories"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/CoreDatabase');">@Localiser["label.database.core"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Repository/Database/Tables');">@Localiser["label.repository.database"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Repository/Database/Schema');">@Localiser["label.repository.schema"]</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -148,7 +149,7 @@
|
||||
@Localiser["label.system"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('System/Database');">@Localiser["label.database"]</div>
|
||||
@* <div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('System/Database');">@Localiser["label.database"]</div> *@
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('System/Logs');">@Localiser["label.logs"]</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
@model Model_System
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "System - Logs";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-sys-logs.js");
|
||||
}
|
||||
|
||||
<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="sbc-panel LogFiles">
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<div class="sbc-panel-data">
|
||||
<div class="sbc-panel-header row">
|
||||
<div class="fixed"></div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["system.caption.logs"]</div></div>
|
||||
<div class="fixed row">
|
||||
<div class="sbc-action sbc-results-refresh"><img src="~/img/action/refresh24.png" alt="@(Localiser["label.refresh"])" title="@(Localiser["label.refresh"])" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sbc-panel-filter">
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmLogsFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
<input type="hidden" name="LogsFilter.Filename" class="FilterLogFilename" />
|
||||
<div class="row">
|
||||
<div class="col-sm-12 row mb-1">
|
||||
<div class="col-sm-4 col-md-3 sbc-label text-left text-sm-right" style="padding-top:2px;">@Localiser["label.root.folder"]</div>
|
||||
<div class="col-sm-8 col-md-9 sbc-value mt-1 bold">@(Model.LoggingRootFolder)</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-4 row">
|
||||
<div class="col-sm-4 col-md-5 sbc-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 sbc-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 sbc-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>
|
||||
|
||||
<div class="sbc-panel-results">
|
||||
<div class="sbc-panel-messages"></div>
|
||||
@* Log file list. *@
|
||||
<div class="sbc-panel-info" style="min-height:120px;max-height:100%;overflow-y:auto;">
|
||||
<table class="sbc-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>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
@* Log file template. *@
|
||||
<table class="sbc-panel-item-template">
|
||||
<tr class="sbc-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>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="dlgLogFile" class="sbc-dialog">
|
||||
<form>
|
||||
<input type="hidden" class="LogFilename" />
|
||||
</form>
|
||||
<div class="sbc-data FileData"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
sbc.data.logFolder = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Folder))';
|
||||
sbc.data.logYear = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Year))';
|
||||
sbc.data.logMonth = '@(Localiser.EscapeJavascriptText(Model.LogsFilter.Month))';
|
||||
</script>
|
||||
@@ -6,4 +6,5 @@
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Account
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Instance
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Param
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.System
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
||||
Reference in New Issue
Block a user