Style changes
This commit is contained in:
41
.vscode/launch.json
vendored
41
.vscode/launch.json
vendored
@ -5,10 +5,10 @@
|
|||||||
// Use IntelliSense to find out which attributes exist for C# debugging
|
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||||
// Use hover for the description of the existing attributes
|
// Use hover for the description of the existing attributes
|
||||||
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||||
"name": ".NET Core Launch (web)",
|
"name": ".NET Core Launch (web) - Server",
|
||||||
"type": "coreclr",
|
"type": "coreclr",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"preLaunchTask": "build",
|
"preLaunchTask": "buildServer",
|
||||||
// If you have changed target frameworks, make sure to update the program path.
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
"program": "${workspaceFolder}/Server/bin/Debug/net7.0/win-x64/OI.Metrology.Server.dll",
|
"program": "${workspaceFolder}/Server/bin/Debug/net7.0/win-x64/OI.Metrology.Server.dll",
|
||||||
"args": [],
|
"args": [],
|
||||||
@ -28,11 +28,44 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": ".NET Core Attach",
|
"name": ".NET Core Attach - Server",
|
||||||
"type": "coreclr",
|
"type": "coreclr",
|
||||||
"request": "attach",
|
"request": "attach",
|
||||||
"preLaunchTask": "watch",
|
"preLaunchTask": "watchServer",
|
||||||
"processName": "OI.Metrology.Server.exe"
|
"processName": "OI.Metrology.Server.exe"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||||
|
// Use hover for the description of the existing attributes
|
||||||
|
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||||
|
"name": ".NET Core Launch (web) - ClientHub",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "launch",
|
||||||
|
"preLaunchTask": "buildClientHub",
|
||||||
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
|
"program": "${workspaceFolder}/ClientHub/bin/Debug/net7.0/win-x64/OI.Metrology.ClientHub.dll",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}/ClientHub",
|
||||||
|
"stopAtEntry": false,
|
||||||
|
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||||
|
"serverReadyAction": {
|
||||||
|
"action": "openExternally",
|
||||||
|
"pattern": "\\bNow listening on:\\s+(https?://\\S+)",
|
||||||
|
"uriFormat": "%s/swagger/index.html"
|
||||||
|
},
|
||||||
|
"env": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"sourceFileMap": {
|
||||||
|
"/Views": "${workspaceFolder}/ClientHub/Views"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": ".NET Core Attach - ClientHub",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "attach",
|
||||||
|
"preLaunchTask": "watchClientHub",
|
||||||
|
"processName": "OI.Metrology.ClientHub.exe"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
64
.vscode/tasks.json
vendored
64
.vscode/tasks.json
vendored
@ -2,7 +2,7 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"tasks": [
|
"tasks": [
|
||||||
{
|
{
|
||||||
"label": "build",
|
"label": "buildServer",
|
||||||
"command": "dotnet",
|
"command": "dotnet",
|
||||||
"type": "process",
|
"type": "process",
|
||||||
"args": [
|
"args": [
|
||||||
@ -14,7 +14,7 @@
|
|||||||
"problemMatcher": "$msCompile"
|
"problemMatcher": "$msCompile"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "publish",
|
"label": "publishServer",
|
||||||
"command": "dotnet",
|
"command": "dotnet",
|
||||||
"type": "process",
|
"type": "process",
|
||||||
"args": [
|
"args": [
|
||||||
@ -38,7 +38,7 @@
|
|||||||
"problemMatcher": "$msCompile"
|
"problemMatcher": "$msCompile"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "watch",
|
"label": "watchServer",
|
||||||
"command": "dotnet",
|
"command": "dotnet",
|
||||||
"type": "process",
|
"type": "process",
|
||||||
"args": [
|
"args": [
|
||||||
@ -70,6 +70,64 @@
|
|||||||
"endsPattern": "^.*Application started.*"
|
"endsPattern": "^.*Application started.*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "buildClientHub",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"build",
|
||||||
|
"${workspaceFolder}/ClientHub/OI.Metrology.ClientHub.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "publishClientHub",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"publish",
|
||||||
|
"${workspaceFolder}/ClientHub/OI.Metrology.ClientHub.csproj",
|
||||||
|
"/property:GenerateFullPaths=true",
|
||||||
|
"/consoleloggerparameters:NoSummary"
|
||||||
|
],
|
||||||
|
"problemMatcher": "$msCompile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "watchClientHub",
|
||||||
|
"command": "dotnet",
|
||||||
|
"type": "process",
|
||||||
|
"args": [
|
||||||
|
"watch",
|
||||||
|
"--launch-profile",
|
||||||
|
"http",
|
||||||
|
"run",
|
||||||
|
"--project",
|
||||||
|
"${workspaceFolder}/ClientHub/OI.Metrology.ClientHub.csproj",
|
||||||
|
"--verbose"
|
||||||
|
],
|
||||||
|
"isBackground": true,
|
||||||
|
"dependsOn": [
|
||||||
|
"build"
|
||||||
|
],
|
||||||
|
"problemMatcher": {
|
||||||
|
"fileLocation": "relative",
|
||||||
|
"pattern": {
|
||||||
|
"regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$",
|
||||||
|
"file": 1,
|
||||||
|
"location": 2,
|
||||||
|
"severity": 3,
|
||||||
|
"code": 4,
|
||||||
|
"message": 5
|
||||||
|
},
|
||||||
|
"background": {
|
||||||
|
"activeOnStart": true,
|
||||||
|
"beginsPattern": "^.*Shutdown requested.*",
|
||||||
|
"endsPattern": "^.*Application started.*"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -546,3 +546,6 @@ function triggerFileDownload(fileName, url) {
|
|||||||
anchorElement.click();
|
anchorElement.click();
|
||||||
anchorElement.remove();
|
anchorElement.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function initIndex(){
|
||||||
|
}
|
@ -70,6 +70,25 @@ div.modal-content-warning {
|
|||||||
background-color: red !important;
|
background-color: red !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.prod-database {
|
||||||
|
background-color: #d7d7d7 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* hover */
|
||||||
|
.ui-iggrid td.ui-state-hover,
|
||||||
|
.ui-iggrid .ui-ig-altrecord td.ui-state-hover,
|
||||||
|
.ui-iggrid .ui-ig-altrecord td.ui-state-default.ui-state-hover,
|
||||||
|
.ui-iggrid th.ui-iggrid-rowselector-class.ui-state-hover,
|
||||||
|
.ui-iggrid .ui-ig-altrecord th.ui-iggrid-rowselector-class.ui-state-hover,
|
||||||
|
.ui-iggrid .ui-ig-altrecord th.ui-iggrid-rowselector-class.ui-state-default.ui-state-hover,
|
||||||
|
.ui-iggrid-responsive-vertical tr > td.ui-state-hover:first-child,
|
||||||
|
.ui-iggrid-responsive-vertical tr.ui-ig-altrecord > td.ui-state-hover:first-child {
|
||||||
|
color: #333333;
|
||||||
|
background: #f5ff3b;
|
||||||
|
border-top: 1px solid transparent;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
|
||||||
.test-database .navbar-brand,
|
.test-database .navbar-brand,
|
||||||
.test-database .navbar-text,
|
.test-database .navbar-text,
|
||||||
.test-database .navbar-nav > li > a {
|
.test-database .navbar-nav > li > a {
|
||||||
|
@ -1,102 +1,106 @@
|
|||||||
body {
|
body {
|
||||||
padding-top: 50px;
|
padding-top: 50px;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
background-color: #FAFAFA;
|
background-color: #fafafa;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set padding to keep content from hitting the edges */
|
/* Set padding to keep content from hitting the edges */
|
||||||
.body-content {
|
.body-content {
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set width on the form input elements since they're 100% wide by default */
|
/* Set width on the form input elements since they're 100% wide by default */
|
||||||
input,
|
input,
|
||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
max-width: 280px;
|
max-width: 280px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.modal-content-error {
|
div.modal-content-error {
|
||||||
background-color: #9e2525;
|
background-color: #9e2525;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.modal-content-success {
|
div.modal-content-success {
|
||||||
background-color: #e5fbe5;
|
background-color: #e5fbe5;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.modal-content-info {
|
div.modal-content-info {
|
||||||
background-color: #5bc0de;
|
background-color: #5bc0de;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.modal-content-warning {
|
div.modal-content-warning {
|
||||||
background-color: yellow;
|
background-color: yellow;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.changes-highlight {
|
.changes-highlight {
|
||||||
background-color: yellow;
|
background-color: yellow;
|
||||||
}
|
}
|
||||||
|
|
||||||
.k-alt .changes-highlight {
|
.k-alt .changes-highlight {
|
||||||
background-color: #f0f050;
|
background-color: #f0f050;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-highlight {
|
.button-highlight {
|
||||||
background-color: yellow !important;
|
background-color: yellow !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.history-deleted {
|
.history-deleted {
|
||||||
background-color: #FFDDDD;
|
background-color: #ffdddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.k-alt.history-deleted {
|
.k-alt.history-deleted {
|
||||||
background-color: #EECCCC !important;
|
background-color: #eecccc !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error-highlight {
|
.error-highlight {
|
||||||
color: red;
|
color: red;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkbox-container {
|
.checkbox-container {
|
||||||
max-height: 200px;
|
max-height: 200px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.test-database {
|
.test-database {
|
||||||
background-color: red !important;
|
background-color: red !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.test-database .navbar-brand,
|
.prod-database {
|
||||||
.test-database .navbar-text,
|
background-color: #478f7c !important;
|
||||||
.test-database .navbar-nav > li > a {
|
}
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.test-database .navbar-nav > li > a:hover,
|
.test-database .navbar-brand,
|
||||||
.test-database .navbar-nav > li > a:focus {
|
.test-database .navbar-text,
|
||||||
color: black !important;
|
.test-database .navbar-nav > li > a {
|
||||||
}
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.test-database .navbar-nav > li > a:hover,
|
||||||
|
.test-database .navbar-nav > li > a:focus {
|
||||||
|
color: black !important;
|
||||||
|
}
|
||||||
|
|
||||||
.test-database-text {
|
.test-database-text {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
border-bottom-color: black;
|
border-bottom-color: black;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-nav > li > a {
|
.navbar-nav > li > a {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-bar {
|
.icon-bar {
|
||||||
background-color: black;
|
background-color: black;
|
||||||
}
|
}
|
@ -1,6 +1,7 @@
|
|||||||
@page "/"
|
@page "/"
|
||||||
@page "/AwaitingDisposition"
|
@page "/AwaitingDisposition"
|
||||||
|
|
||||||
|
@using MudBlazor
|
||||||
@using Microsoft.AspNetCore.Components.Web
|
@using Microsoft.AspNetCore.Components.Web
|
||||||
|
|
||||||
@namespace OI.Metrology.View
|
@namespace OI.Metrology.View
|
||||||
@ -13,12 +14,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
<div class="row" style="margin-top: 10px; margin-bottom: 20px;">
|
||||||
<div class="col-xs-1">
|
<MudChip Icon="@Icons.Material.Filled.FileOpen" Color="Color.Primary" Label="true" id="OpenButton">Open</MudChip>
|
||||||
<input type="button" class="btn" id="OpenButton" value="Open" />
|
<MudChip Icon="@Icons.Material.Filled.Refresh" Color="Color.Primary" Label="true" id="RefreshButton">Refresh</MudChip>
|
||||||
</div>
|
|
||||||
<div class="col-xs-1">
|
|
||||||
<input type="button" class="btn" id="RefreshButton" value="Refresh" />
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script suppress-error="BL9992">
|
<script suppress-error="BL9992">
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
// using IgniteUI.Blazor.Controls;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
@ -8,6 +9,9 @@ namespace OI.Metrology.View;
|
|||||||
public partial class AwaitingDisposition
|
public partial class AwaitingDisposition
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// protected IgbIcon? OpenIconRef { get; set; }
|
||||||
|
// protected IgbIcon? RefreshIconRef { get; set; }
|
||||||
|
|
||||||
[Inject] protected IJSRuntime? JSRuntime { get; set; }
|
[Inject] protected IJSRuntime? JSRuntime { get; set; }
|
||||||
[Inject] protected HttpClient? HttpClient { get; set; }
|
[Inject] protected HttpClient? HttpClient { get; set; }
|
||||||
[Inject] protected AppSettings? AppSettings { get; set; }
|
[Inject] protected AppSettings? AppSettings { get; set; }
|
||||||
@ -15,6 +19,18 @@ public partial class AwaitingDisposition
|
|||||||
|
|
||||||
protected override Task OnAfterRenderAsync(bool firstRender)
|
protected override Task OnAfterRenderAsync(bool firstRender)
|
||||||
{
|
{
|
||||||
|
// if (firstRender && OpenIconRef is not null)
|
||||||
|
// {
|
||||||
|
// const string svg = "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='512' height='512' aria-labelledby='gyjump-down-desc gyjump-down-title'><title id='gyjump-down-title'>Jump Down Icon</title><desc id='gyjump-down-desc'>A picture showing a bent arrow pointing down towards a line.</desc><path d='M21.5 18.5v2h-16v-2h16zm-8-15c1.6 0 3 .5 4.3 1.2l-1.5 1.5c-.8-.4-1.8-.7-2.8-.7-3.3 0-6 2.7-6 6h3l-4 4-4-4h3c0-1.5.4-2.9 1.2-4.2.6-1 1.4-1.8 2.4-2.5 1.2-.8 2.8-1.3 4.4-1.3z'/></svg>";
|
||||||
|
// _ = OpenIconRef.EnsureReady().ContinueWith(new Action<Task>((e) =>
|
||||||
|
// OpenIconRef.RegisterIconFromTextAsync("jump-down", svg, "material")));
|
||||||
|
// }
|
||||||
|
// if (firstRender && RefreshIconRef is not null)
|
||||||
|
// {
|
||||||
|
// const string svg = "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='512' height='512' aria-labelledby='lzsystem-update-desc lzsystem-update-title'><title id='lzsystem-update-title'>System Update Icon</title><desc id='lzsystem-update-desc'>A picture depicting a computer screen with a reload symbol in the middle.</desc><path d='M20 2H4a2 2 0 00-2 2v12a2 2 0 002 2h6l-2 4h8l-2-4h6a2 2 0 002-2V4a2 2 0 00-2-2zm-8.194 2.923a5.077 5.077 0 104.724 6.923h.982a6.019 6.019 0 11-.237-4.277l.919-.2-.85 2.631-1.85-2.049.857-.184a5.1 5.1 0 00-4.545-2.844zM14 11.424l-.8.8-2-2V6.715h1.139v3.042z'/></svg>";
|
||||||
|
// _ = RefreshIconRef.EnsureReady().ContinueWith(new Action<Task>((e) =>
|
||||||
|
// RefreshIconRef.RegisterIconFromTextAsync("system-update", svg, "material")));
|
||||||
|
// }
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
if (JSRuntime is null)
|
if (JSRuntime is null)
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
@page "/index"
|
@page "/index"
|
||||||
|
|
||||||
@using Microsoft.AspNetCore.Components.Web
|
@using Microsoft.AspNetCore.Components.Web
|
||||||
|
@using IgniteUI.Blazor.Controls
|
||||||
|
|
||||||
@namespace OI.Metrology.View
|
@namespace OI.Metrology.View
|
||||||
|
|
||||||
<PageTitle>Index</PageTitle>
|
<PageTitle>Index</PageTitle>
|
||||||
|
|
||||||
|
<IgbChip Size="SizableComponentSize.Medium" Selectable="false" Removable="false">
|
||||||
|
<span slot="start">
|
||||||
|
<IgbIcon @ref="@BrushIconRef" IconName="brush" Collection="material" ></IgbIcon>
|
||||||
|
</span>
|
||||||
|
Start Slot
|
||||||
|
</IgbChip>
|
||||||
|
@ -1,4 +1,32 @@
|
|||||||
namespace OI.Metrology.View;
|
using IgniteUI.Blazor.Controls;
|
||||||
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.JSInterop;
|
||||||
|
|
||||||
|
namespace OI.Metrology.View;
|
||||||
|
|
||||||
public partial class Index
|
public partial class Index
|
||||||
{ }
|
{
|
||||||
|
|
||||||
|
[Inject] protected IJSRuntime? JSRuntime { get; set; }
|
||||||
|
|
||||||
|
protected IgbIcon? BrushIconRef { get; set; }
|
||||||
|
|
||||||
|
protected override Task OnAfterRenderAsync(bool firstRender)
|
||||||
|
{
|
||||||
|
if (firstRender && BrushIconRef is not null)
|
||||||
|
{
|
||||||
|
string refreshIcon = "<svg width='24px' height='24px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-refresh-ccw'><polyline points='1 4 1 10 7 10'></polyline><polyline points='23 20 23 14 17 14'></polyline><path d='M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15'></path></svg>";
|
||||||
|
string brushIcon = "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-labelledby='bqbrush-desc bqbrush-title'><title id='bqbrush-title'>Brush Icon</title><desc id='bqbrush-desc'>A picture showing a painting brush.</desc><path d='M13.093 6.743a1.074 1.074 0 011.306.251l.237.237-6.4 6.4-.242-.231a1.074 1.074 0 01-.251-1.306c.446-.693 1.553-2.516.515-3.554-1.584-1.585-2.225-.94-3.809-2.528S2.714 3 3.354 2.354s2.073-.489 3.658 1.095.943 2.225 2.527 3.809c1.038 1.042 2.861-.069 3.554-.515zm6.93 5.874L15.31 7.9 8.9 14.31l4.433 4.433c-.039.159-.084.327-.137.508 0 0-.8 2.749.8 2.749s.8-2.749.8-2.749a10.75 10.75 0 01-.272-1.14L16.2 16.44a8.944 8.944 0 00-2.072-3.314s.555-.545 3.323 2.063l.811-.811-1.54-2.5 2.5 1.539z'/></svg>";
|
||||||
|
_ = BrushIconRef.EnsureReady().ContinueWith(new Action<Task>((e) =>
|
||||||
|
BrushIconRef.RegisterIconFromTextAsync("brush", brushIcon, "material")));
|
||||||
|
}
|
||||||
|
if (firstRender)
|
||||||
|
{
|
||||||
|
if (JSRuntime is null)
|
||||||
|
throw new NullReferenceException(nameof(JSRuntime));
|
||||||
|
return JSRuntime.InvokeVoidAsync("initIndex").AsTask();
|
||||||
|
}
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,3 +1,4 @@
|
|||||||
|
using IgniteUI.Blazor.Controls;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
|
|
||||||
@ -6,11 +7,19 @@ namespace OI.Metrology.View;
|
|||||||
public partial class RunHeaders
|
public partial class RunHeaders
|
||||||
{
|
{
|
||||||
|
|
||||||
|
protected IgbIcon? IconRef { get; set; }
|
||||||
|
|
||||||
[Inject] protected IJSRuntime? JSRuntime { get; set; }
|
[Inject] protected IJSRuntime? JSRuntime { get; set; }
|
||||||
[Inject] protected Models.AppSettings? AppSettings { get; set; }
|
[Inject] protected Models.AppSettings? AppSettings { get; set; }
|
||||||
|
|
||||||
protected override Task OnAfterRenderAsync(bool firstRender)
|
protected override Task OnAfterRenderAsync(bool firstRender)
|
||||||
{
|
{
|
||||||
|
if (firstRender && IconRef is not null)
|
||||||
|
{
|
||||||
|
const string buildIcon = "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/></svg>";
|
||||||
|
_ = IconRef.EnsureReady().ContinueWith(new Action<Task>((e) =>
|
||||||
|
IconRef.RegisterIconFromTextAsync("build", buildIcon, "material")));
|
||||||
|
}
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
if (JSRuntime is null)
|
if (JSRuntime is null)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using IgniteUI.Blazor.Controls;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
|
|
||||||
@ -6,6 +7,8 @@ namespace OI.Metrology.View;
|
|||||||
public partial class RunInfo
|
public partial class RunInfo
|
||||||
{
|
{
|
||||||
|
|
||||||
|
protected IgbIcon? IconRef { get; set; }
|
||||||
|
|
||||||
[Parameter] public int? HeaderId { get; set; }
|
[Parameter] public int? HeaderId { get; set; }
|
||||||
[Parameter] public int? ToolTypeId { get; set; }
|
[Parameter] public int? ToolTypeId { get; set; }
|
||||||
|
|
||||||
@ -14,6 +17,12 @@ public partial class RunInfo
|
|||||||
|
|
||||||
protected override Task OnAfterRenderAsync(bool firstRender)
|
protected override Task OnAfterRenderAsync(bool firstRender)
|
||||||
{
|
{
|
||||||
|
if (firstRender && IconRef is not null)
|
||||||
|
{
|
||||||
|
const string buildIcon = "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z'/></svg>";
|
||||||
|
_ = IconRef.EnsureReady().ContinueWith(new Action<Task>((e) =>
|
||||||
|
IconRef.RegisterIconFromTextAsync("build", buildIcon, "material")));
|
||||||
|
}
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
if (JSRuntime is null)
|
if (JSRuntime is null)
|
||||||
|
@ -5,44 +5,54 @@
|
|||||||
<MudDialogProvider />
|
<MudDialogProvider />
|
||||||
<MudSnackbarProvider />
|
<MudSnackbarProvider />
|
||||||
|
|
||||||
<div class="navbar navbar-fixed-top @(AppSettings is not null && AppSettings.IsDevelopment ? "test-database" : "" )">
|
<MudThemeProvider Theme="_MyCustomTheme" />
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="navbar-header">
|
<MudPaper Style="padding:1px;">
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
<div class="navbar navbar-fixed-top @_Database">
|
||||||
<span class="icon-bar"></span>
|
<div class="container-fluid">
|
||||||
<span class="icon-bar"></span>
|
<div class="navbar-header">
|
||||||
<span class="icon-bar"></span>
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
</button>
|
<span class="icon-bar"></span>
|
||||||
<div class="navbar-brand">
|
<span class="icon-bar"></span>
|
||||||
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
|
<span class="icon-bar"></span>
|
||||||
OI Metrology Viewer
|
</button>
|
||||||
|
<div class="navbar-brand">
|
||||||
|
<a href="/"><img src="images/IFX_LOGO_RGB.png" height="20" /></a>
|
||||||
|
OI Metrology Viewer
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@if (AppSettings is not null && AppSettings.IsDevelopment)
|
||||||
|
{
|
||||||
|
<p class="navbar-text hidden-xs hidden-sm"><span class="test-database-text">TEST DATABASE</span></p>
|
||||||
|
}
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li><a href="AwaitingDisposition">Awaiting Disposition</a></li>
|
||||||
|
<li><a href="RunInfo">Run Information</a></li>
|
||||||
|
<li><a href="RunHeaders">Run Headers</a></li>
|
||||||
|
<li><a href="Export">Export</a></li>
|
||||||
|
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if (AppSettings is not null && AppSettings.IsDevelopment)
|
|
||||||
{
|
|
||||||
<p class="navbar-text hidden-xs hidden-sm"><span class="test-database-text">TEST DATABASE</span></p>
|
|
||||||
}
|
|
||||||
<div class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
<li><a href="AwaitingDisposition">Awaiting Disposition</a></li>
|
|
||||||
<li><a href="RunInfo">Run Information</a></li>
|
|
||||||
<li><a href="RunHeaders">Run Headers</a></li>
|
|
||||||
<li><a href="Export">Export</a></li>
|
|
||||||
<li><a href="https://oi-metrology-viewer-archive.mes.infineon.com/" target="_blank">Archive</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="container-fluid body-content">
|
||||||
<div class="container-fluid body-content">
|
@Body
|
||||||
@Body
|
<hr />
|
||||||
<hr />
|
<footer>
|
||||||
<footer>
|
@if (AppSettings is not null && AppSettings.IsDevelopment)
|
||||||
<p>© @DateTime.Now.Year - Infineon Technologies</p>
|
{
|
||||||
@if (AppSettings is not null && AppSettings.IsDevelopment)
|
<p class="navbar-text navbar-right">
|
||||||
{
|
<MudSwitch @bind-Checked="@_IsDarkMode" Color="Color.Primary" Class="ma-4" T="bool" Label="Toggle Light/Dark Mode" />
|
||||||
<p><strong>Request ID:</strong><code>@_RequestId</code></p>
|
</p>
|
||||||
}
|
}
|
||||||
</footer>
|
<p>© @DateTime.Now.Year - Infineon Technologies</p>
|
||||||
</div>
|
@if (AppSettings is not null && AppSettings.IsDevelopment)
|
||||||
|
{
|
||||||
|
<p><strong>Request ID:</strong><code>@_RequestId</code></p>
|
||||||
|
}
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</MudPaper>
|
||||||
|
|
||||||
<div id="MessageModal"></div>
|
<div id="MessageModal"></div>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using MudBlazor;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace OI.Metrology.View.Shared;
|
namespace OI.Metrology.View.Shared;
|
||||||
@ -6,14 +7,42 @@ namespace OI.Metrology.View.Shared;
|
|||||||
public partial class MainLayout
|
public partial class MainLayout
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private bool _IsDarkMode;
|
||||||
|
private string? _Database;
|
||||||
private string? _RequestId;
|
private string? _RequestId;
|
||||||
|
private MudTheme? _MyCustomTheme;
|
||||||
|
private MudThemeProvider? _MudThemeProvider;
|
||||||
|
|
||||||
[Inject] protected Models.AppSettings? AppSettings { get; set; }
|
[Inject] protected Models.AppSettings? AppSettings { get; set; }
|
||||||
|
// [Inject] protected IHttpContextAccessor? HttpContextAccessor { get; set; }
|
||||||
|
|
||||||
protected override void OnParametersSet()
|
protected override void OnParametersSet()
|
||||||
{
|
{
|
||||||
base.OnParametersSet();
|
base.OnParametersSet();
|
||||||
_RequestId = Activity.Current?.Id ?? string.Empty;
|
_Database = AppSettings is not null && !AppSettings.IsDevelopment ? "test-database" : "prod-database";
|
||||||
|
_RequestId = Activity.Current?.Id ?? string.Empty; // HttpContextAccessor?.HttpContext?.TraceIdentifier;
|
||||||
|
_MyCustomTheme = new MudTheme()
|
||||||
|
{
|
||||||
|
Palette = new Palette()
|
||||||
|
{
|
||||||
|
Primary = "#478f7c",
|
||||||
|
Secondary = "#AB377A",
|
||||||
|
Success = "#AEC067",
|
||||||
|
Info = "#928285",
|
||||||
|
Warning = "#F07F3C",
|
||||||
|
Error = "#E30034",
|
||||||
|
AppbarBackground = "#478f7c",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||||
|
{
|
||||||
|
if (firstRender && _MudThemeProvider is not null && _MyCustomTheme is not null)
|
||||||
|
{
|
||||||
|
_IsDarkMode = await _MudThemeProvider.GetSystemPreference();
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user