-
-@code {
- bool ShowSearch { get; set; } = false;
-
- protected override void OnInitialized()
- {
- AppMService.EA_ShowSearch += OnShowSearch;
- AppMService.EA_HideSearch += OnHideSearch;
- }
- public void OnShowSearch()
- {
- ShowSearch = true;
- InvokeAsync(() =>
- {
- StateHasChanged();
- });
- }
- public void OnHideSearch()
- {
- ShowSearch = false;
- InvokeAsync(() =>
- {
- StateHasChanged();
- });
- }
-
- public void Dispose()
- {
- AppMService.EA_ShowSearch -= OnShowSearch;
- AppMService.EA_ShowSearch -= OnHideSearch;
- }
-
-
-}
\ No newline at end of file
diff --git a/MP.Prog/Shared/MainLayout.razor.cs b/MP.Prog/Shared/MainLayout.razor.cs
new file mode 100644
index 00000000..34f3e701
--- /dev/null
+++ b/MP.Prog/Shared/MainLayout.razor.cs
@@ -0,0 +1,63 @@
+namespace MP.Prog.Shared
+{
+ public partial class MainLayout
+ {
+ #region Public Methods
+
+ public void Dispose()
+ {
+ AppMService.EA_ShowSearch -= OnShowSearch;
+ AppMService.EA_ShowSearch -= OnHideSearch;
+ }
+
+ public void OnHideSearch()
+ {
+ ShowSearch = false;
+ InvokeAsync(() =>
+ {
+ StateHasChanged();
+ });
+ }
+
+ public void OnShowSearch()
+ {
+ ShowSearch = true;
+ InvokeAsync(() =>
+ {
+ StateHasChanged();
+ });
+ }
+
+ #endregion Public Methods
+
+ #region Protected Properties
+
+ protected bool navLarge { get; set; } = true;
+
+ protected string sideClass { get; set; } = "sidebar";
+
+ #endregion Protected Properties
+
+ #region Protected Methods
+
+ protected override void OnInitialized()
+ {
+ AppMService.EA_ShowSearch += OnShowSearch;
+ AppMService.EA_HideSearch += OnHideSearch;
+ }
+
+ protected void UpdateNavDisplay()
+ {
+ navLarge = !navLarge;
+ sideClass = navLarge ? "sidebar" : "sidebarSmall";
+ }
+
+ #endregion Protected Methods
+
+ #region Private Properties
+
+ private bool ShowSearch { get; set; } = false;
+
+ #endregion Private Properties
+ }
+}
\ No newline at end of file
diff --git a/MP.Prog/Shared/MainLayout.razor.css b/MP.Prog/Shared/MainLayout.razor.css
index 333ac907..bbe0d606 100644
--- a/MP.Prog/Shared/MainLayout.razor.css
+++ b/MP.Prog/Shared/MainLayout.razor.css
@@ -1,78 +1,69 @@
-.page {
- position: relative;
- display: flex;
- flex-direction: column;
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
}
-
.main {
- flex: 1;
+ flex: 1;
}
-
-.sidebar, .sidebarSmall {
- background-image: linear-gradient(180deg, rgb(5, 39, 103) 20%, #3aa6ff 90%);
+.sidebar,
+.sidebarSmall {
+ background-image: -webkit-linear-gradient(180deg, #052767 20%, #3aa6ff 90%);
+ background-image: linear-gradient(180deg, #052767 20%, #3aa6ff 90%);
}
-
.top-row {
- background-color: #f7f7f7;
- border-bottom: 1px solid #d6d5d5;
- height: 3.5rem;
- align-items: center;
- /*justify-content: space-evenly;
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ height: 3.5rem;
+ align-items: center;
+ /*justify-content: space-evenly;
display: flex;*/
}
-
- .top-row ::deep a, .top-row .btn-link {
- white-space: nowrap;
- margin-left: 1.5rem;
- }
-
- .top-row a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
-
-.bottom-row {
- color: #dedede;
- background-color: #000000;
- height: 2rem;
- align-items: center;
+.top-row ::deep a,
+.top-row .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+}
+.top-row a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.bottom-row {
+ color: #dedede;
+ background-color: #000000;
+ height: 2rem;
+ align-items: center;
}
-
@media (min-width: 641px) {
- .page {
- flex-direction: row;
- }
-
- .sidebar {
- width: 250px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .sidebarSmall {
- width: 80px;
- height: 100vh;
- position: sticky;
- top: 0;
- }
-
- .top-row {
- position: sticky;
- top: 0;
- z-index: 1;
- }
-
- .bottom-row {
- position: fixed;
- bottom: 0;
- z-index: 1;
- }
-
- .main > div {
- padding-left: 0.5rem !important;
- padding-right: 0.5rem !important;
- /*padding-left: 2rem !important;
+ .page {
+ flex-direction: row;
+ }
+ .sidebar {
+ width: 13.5rem;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+ .sidebarSmall {
+ width: 4.5rem;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+ .bottom-row {
+ position: fixed;
+ bottom: 0;
+ z-index: 1;
+ }
+ .main > div {
+ padding-left: 0.5rem !important;
+ padding-right: 0.5rem !important;
+ /*padding-left: 2rem !important;
padding-right: 1.5rem !important;*/
- }
+ }
}
\ No newline at end of file
diff --git a/MP.Prog/Shared/MainLayout.razor.less b/MP.Prog/Shared/MainLayout.razor.less
new file mode 100644
index 00000000..06d4684f
--- /dev/null
+++ b/MP.Prog/Shared/MainLayout.razor.less
@@ -0,0 +1,80 @@
+.page {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+.main {
+ flex: 1;
+}
+
+.sidebar,
+.sidebarSmall {
+ background-image: -webkit-linear-gradient(180deg, rgb(5, 39, 103) 20%, #3aa6ff 90%);
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 20%, #3aa6ff 90%);
+}
+
+.top-row {
+ background-color: #f7f7f7;
+ border-bottom: 1px solid #d6d5d5;
+ height: 3.5rem;
+ align-items: center;
+ /*justify-content: space-evenly;
+ display: flex;*/
+}
+
+ .top-row ::deep a, .top-row .btn-link {
+ white-space: nowrap;
+ margin-left: 1.5rem;
+ }
+
+ .top-row a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+.bottom-row {
+ color: #dedede;
+ background-color: #000000;
+ height: 2rem;
+ align-items: center;
+}
+
+@media (min-width: 641px) {
+ .page {
+ flex-direction: row;
+ }
+
+ .sidebar {
+ width: 13.5rem;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .sidebarSmall {
+ width: 4.5rem;
+ height: 100vh;
+ position: sticky;
+ top: 0;
+ }
+
+ .top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ }
+
+ .bottom-row {
+ position: fixed;
+ bottom: 0;
+ z-index: 1;
+ }
+
+ .main > div {
+ padding-left: 0.5rem !important;
+ padding-right: 0.5rem !important;
+ /*padding-left: 2rem !important;
+ padding-right: 1.5rem !important;*/
+ }
+}
\ No newline at end of file
diff --git a/MP.Prog/Shared/MainLayout.razor.min.css b/MP.Prog/Shared/MainLayout.razor.min.css
new file mode 100644
index 00000000..6ba3275b
--- /dev/null
+++ b/MP.Prog/Shared/MainLayout.razor.min.css
@@ -0,0 +1 @@
+.page{position:relative;display:flex;flex-direction:column;}.main{flex:1;}.sidebar,.sidebarSmall{background-image:-webkit-linear-gradient(180deg,#052767 20%,#3aa6ff 90%);background-image:linear-gradient(180deg,#052767 20%,#3aa6ff 90%);}.top-row{background-color:#f7f7f7;border-bottom:1px solid #d6d5d5;height:3.5rem;align-items:center;}.top-row ::deep a,.top-row .btn-link{white-space:nowrap;margin-left:1.5rem;}.top-row a:first-child{overflow:hidden;text-overflow:ellipsis;}.bottom-row{color:#dedede;background-color:#000;height:2rem;align-items:center;}@media(min-width:641px){.page{flex-direction:row;}.sidebar{width:13.5rem;height:100vh;position:sticky;top:0;}.sidebarSmall{width:4.5rem;height:100vh;position:sticky;top:0;}.top-row{position:sticky;top:0;z-index:1;}.bottom-row{position:fixed;bottom:0;z-index:1;}.main>div{padding-left:.5rem!important;padding-right:.5rem!important;}}
\ No newline at end of file
diff --git a/MP.Prog/Shared/NavMenu.razor b/MP.Prog/Shared/NavMenu.razor
index 8b1df867..115df3f5 100644
--- a/MP.Prog/Shared/NavMenu.razor
+++ b/MP.Prog/Shared/NavMenu.razor
@@ -1,5 +1,12 @@
-
-
MP.Prog
+
+ @if (!showText)
+ {
+
ToggleCompress()">MP.P
+ }
+ else
+ {
+
ToggleCompress()">MP.PROG
+ }
@@ -7,42 +14,52 @@
-@code {
- private bool collapseNavMenu = true;
-
- private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
-
- private void ToggleNavMenu()
- {
- collapseNavMenu = !collapseNavMenu;
- }
-}
\ No newline at end of file
diff --git a/MP.Prog/Shared/NavMenu.razor.cs b/MP.Prog/Shared/NavMenu.razor.cs
new file mode 100644
index 00000000..ee4c680f
--- /dev/null
+++ b/MP.Prog/Shared/NavMenu.razor.cs
@@ -0,0 +1,56 @@
+using Microsoft.AspNetCore.Components;
+
+namespace MP.Prog.Shared
+{
+ public partial class NavMenu
+ {
+ #region Public Properties
+
+ [Parameter]
+ public EventCallback
EC_compressUpdated { get; set; }
+
+ #endregion Public Properties
+
+ #region Protected Properties
+
+ protected string hideText { get => showText ? "" : "invisible"; }
+ protected bool showText { get; set; } = true;
+
+ #endregion Protected Properties
+
+ #region Protected Methods
+
+ protected void ToggleCompress()
+ {
+ showText = !showText;
+ EC_compressUpdated.InvokeAsync(showText);
+ }
+
+ #endregion Protected Methods
+
+ #region Private Fields
+
+ private bool collapseNavMenu = true;
+
+ private bool onlyIcon = false;
+
+ #endregion Private Fields
+
+ #region Private Properties
+
+ private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
+
+ private string? TextCss => onlyIcon ? "d-none" : "";
+
+ #endregion Private Properties
+
+ #region Private Methods
+
+ private void ToggleNavMenu()
+ {
+ collapseNavMenu = !collapseNavMenu;
+ }
+
+ #endregion Private Methods
+ }
+}
\ No newline at end of file
diff --git a/MP.Prog/appsettings.json b/MP.Prog/appsettings.json
index c0db94d9..4bb09151 100644
--- a/MP.Prog/appsettings.json
+++ b/MP.Prog/appsettings.json
@@ -54,16 +54,12 @@
"DefaultSearch": "##"
},
"ConnectionStrings": {
-
- //"DefaultConnection": "Server=W2019-SQL-STEAM;Database=MoonPro_PROG;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.Prog;",
- //"MP.Prog": "Server=W2019-SQL-STEAM;Database=MoonPro_PROG;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.Prog;",
"DefaultConnection": "Server=SQL2016DEV;Database=MoonPro_PROG;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.Prog;",
"MP.Prog": "Server=SQL2016DEV;Database=MoonPro_PROG;User ID=sa;Password=keyhammer16;integrated security=False;MultipleActiveResultSets=True;App=MP.Prog;",
"Redis": "localhost:26379,serviceName=devel,DefaultDatabase=5,connectTimeout=5000,syncTimeout=5000,asyncTimeout=5000,abortConnect=false,ssl=false"
},
"ServerConf": {
"FolderBasePath": "\\\\stor01",
- //"Prog.ApiUrl": "https://office.egalware.com/MP/PROG"
"Prog.ApiUrl": "https://iis01.egalware.com/MP/PROG"
},
"SpecialConf": {
diff --git a/MP.Prog/compilerconfig.json b/MP.Prog/compilerconfig.json
index 4d2d12c3..565e3d49 100644
--- a/MP.Prog/compilerconfig.json
+++ b/MP.Prog/compilerconfig.json
@@ -6,5 +6,9 @@
{
"outputFile": "wwwroot/css/site.css",
"inputFile": "wwwroot/css/site.less"
+ },
+ {
+ "outputFile": "Shared/MainLayout.razor.css",
+ "inputFile": "Shared/MainLayout.razor.less"
}
]
\ No newline at end of file
diff --git a/MP.Prog/compilerconfig.json.defaults b/MP.Prog/compilerconfig.json.defaults
new file mode 100644
index 00000000..41870cc5
--- /dev/null
+++ b/MP.Prog/compilerconfig.json.defaults
@@ -0,0 +1,71 @@
+{
+ "compilers": {
+ "less": {
+ "autoPrefix": "",
+ "cssComb": "none",
+ "ieCompat": true,
+ "math": null,
+ "strictMath": false,
+ "strictUnits": false,
+ "relativeUrls": true,
+ "rootPath": "",
+ "sourceMapRoot": "",
+ "sourceMapBasePath": "",
+ "sourceMap": false
+ },
+ "sass": {
+ "autoPrefix": "",
+ "loadPaths": "",
+ "style": "expanded",
+ "relativeUrls": true,
+ "sourceMap": false
+ },
+ "nodesass": {
+ "autoPrefix": "",
+ "includePath": "",
+ "indentType": "space",
+ "indentWidth": 2,
+ "outputStyle": "nested",
+ "precision": 5,
+ "relativeUrls": true,
+ "sourceMapRoot": "",
+ "lineFeed": "",
+ "sourceMap": false
+ },
+ "stylus": {
+ "sourceMap": false
+ },
+ "babel": {
+ "sourceMap": false
+ },
+ "coffeescript": {
+ "bare": false,
+ "runtimeMode": "node",
+ "sourceMap": false
+ },
+ "handlebars": {
+ "root": "",
+ "noBOM": false,
+ "name": "",
+ "namespace": "",
+ "knownHelpersOnly": false,
+ "forcePartial": false,
+ "knownHelpers": [],
+ "commonjs": "",
+ "amd": false,
+ "sourceMap": false
+ }
+ },
+ "minifiers": {
+ "css": {
+ "enabled": true,
+ "termSemicolons": true,
+ "gzip": false
+ },
+ "javascript": {
+ "enabled": true,
+ "termSemicolons": true,
+ "gzip": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/MP.SPEC/appsettings.json b/MP.SPEC/appsettings.json
index b454358a..9f13f6bd 100644
--- a/MP.SPEC/appsettings.json
+++ b/MP.SPEC/appsettings.json
@@ -62,7 +62,7 @@
"redisLongTimeCache": "15",
"MpIoBaseUrl": "http://localhost:20967/",
"MpIoNS": "MoonPro:SQL2016DEV:MoonPro",
- "BasePathOdlReturn": "\\\\iis01\\W$\\Files\\ODL",
+ "BasePathOdlReturn": "\\\\iis01\\ODL\\ftpdata\\syncfolder",
"MimeMappings": {
".dxf": "application/octet-stream",
".utcfg": "application/octet-stream",