TS - OperationsMgrWeb login page UI and function

This commit is contained in:
Thomas Savine
2020-03-23 09:06:54 +00:00
parent 70de9715ce
commit 5067e26d08
25 changed files with 4652 additions and 550 deletions
@@ -0,0 +1,12 @@
@model Sarand.OperationsMgr.Web.Models.Model_Base
@inject Sarand.OperationsMgr.Web.App.OpnLocaliser Localiser
<div id="dlgOpnLogout" class="dialog" title="Logout">
<form id="frmOpnLogout" action="/Home" method="post">
@Html.Hidden("SessionIdx", null, new { @id = "" })
@Html.Hidden("FormAction", @Localiser["form.action.logout"], new { @id = "" })
</form>
<div class="spacer4"></div>
<div>@Localiser["msg.confirm.logout"]</div>
<div class="spacer4"></div>
</div>
@@ -0,0 +1,33 @@
@model Sarand.OperationsMgr.Web.Models.Model_Base
@if (Model.HasMessages)
{
<div class="opn-msg">
@if (Model.ErrorMessages.Count > 0)
{
<div class="err">
@foreach (var message in Model.ErrorMessages)
{
<div class="msg">@message</div>
}
</div>
}
@if (Model.WarningMessages.Count > 0)
{
<div class="wrn">
@foreach (var message in Model.WarningMessages)
{
<div class="msg">@message</div>
}
</div>
}
@if (Model.InfoMessages.Count > 0)
{
<div class="inf">
@foreach (var message in Model.InfoMessages)
{
<div class="msg">@message</div>
}
</div>
}
</div>
}
+121 -61
View File
@@ -1,71 +1,131 @@
@using Sarand.Core.App
@model Sarand.OperationsMgr.Web.Models.Model_Base
@inject Sarand.OperationsMgr.Web.App.OpnLocaliser Localiser
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - SaOperationsMgrWeb</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />@* IE11 incompatibility eg. 'border-radius' not recognised. Must be at top of head *@
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="application/javascript" />
<meta name="Author" content="Sarand" />
<title>@ViewData["Title"] - Sarand OperationsMgr</title>
@* Stylesheets *@
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/jquery-ui.css" asp-append-version="true" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
asp-fallback-test-class="sr-only"
asp-fallback-test-property="position"
asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/jquery-ui.min.css" asp-append-version="false" />
</environment>
<link rel="stylesheet" href="~/css/opn-core.css?@Model.HrefVersion" />
@foreach (var cssFile in Model.AdditionalFiles_CSS)
{
<link rel="stylesheet" href="~/@cssFile?@Model.HrefVersion" />
}
@* Scripts *@
<script>
var opn = opn || {};
opn.urlHome = '@Model.RedirectLocation.Home';
opn.urlHomeExp = '@Model.RedirectLocation.Home_SessionExpired';
opn.dlgBtnYes = '@Localiser["button.yes"]';
opn.dlgBtnNo = '@Localiser["button.no"]';
opn.dlgBtnOk = '@Localiser["button.ok"]';
opn.dlgBtnClose = '@Localiser["button.close"]';
opn.dlgBtnCancel = '@Localiser["button.cancel"]';
opn.dlgBtnLogout = '@Localiser["button.logout"]';
opn.msgDataQuerying = '@Localiser.GetJavascriptText("msg.data.querying")';
opn.msgDataNoneFound = '@Localiser.GetJavascriptText("msg.data.noneFound")';
</script>
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/jquery-ui.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
<script src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
asp-fallback-test="window.jQuery">
</script>
<script src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>
<script src="~/js/jquery-ui.min.js" asp-append-version="false"></script>
</environment>
@* @RenderSection("scripts", required: false) *@
<script src="~/js/opn-core.js?@Model.HrefVersion" asp-append-version="false"></script>
@foreach (var jsFile in Model.AdditionalFiles_JS)
{
<script src="~/@jsFile?@Model.HrefVersion" asp-append-version="false"></script>
}
@if (SacsSystem.DebugMode)
{
@Html.ApplicationInsightsJavaScript(TelemetryConfiguration)
}
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a asp-page="/Index" class="navbar-brand">SaOperationsMgrWeb</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-page="/Index">Home</a></li>
<li><a asp-page="/About">About</a></li>
<li><a asp-page="/Contact">Contact</a></li>
</ul>
</div>
</div>
</nav>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>&copy; 2017 - SaOperationsMgrWeb</p>
</footer>
</div>
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa">
</script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
@* --- H e a d e r --- *@
<div id="opn-header" class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">@Localiser["application.caption"]</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-area="" asp-controller="Home" asp-action="Index">@Localiser["menu.option.home"]</a></li>
@if (!Model.AwaitingLogin)
{
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">@Localiser["menu.option.utilities"] <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a asp-area="" asp-controller="Utilities" asp-action="Utilities">@Localiser["menu.option.utilities.utilities"]</a></li>
</ul>
</li>
<li><a onclick="opn.doLogout()">@Localiser["menu.option.logout"]</a></li>
}
</ul>
</div>
</div>
<div class="clearb"></div>
</div>
@* --- B o d y --- *@
<div id="opn-body" class="container body-content">
@if (Model.ShowMessagesAtTopOfBody)
{
@await Html.PartialAsync("OpnMessages")
}
@RenderBody()
@await Html.PartialAsync("OpnLogout")
</div>
@* --- F o o t e r --- *@
<footer id="opn-footer">
<div>@ViewData["CopyrightNotice"]</div>
</footer>
<script src="~/js/bootstrap-Toolkit.js"></script>
<div id='opn-please-wait'></div>
@RenderSection("Scripts", required: false)
</body>
</html>
@@ -0,0 +1,9 @@
@model Sarand.OperationsMgr.Web.Models.Model_Utilities_Base
@inject Sarand.OperationsMgr.Web.App.OpnLocaliser Localiser
@{
ViewData["Title"] = Localiser["view.title.utilities"];
}
<div id="opn-panel-utilities">
</div>