SoMerge branch 'master' of gitea.azcona-becker.net:mochapowered/mocha-dotnet

This commit is contained in:
Michael Becker 2024-08-05 15:27:38 -04:00
commit 7220f40b51
Signed by: beckermj
GPG Key ID: 24F8DAA73DCB2C8F
199 changed files with 9386 additions and 311 deletions

3
.gitignore vendored
View File

@ -415,3 +415,6 @@ FodyWeavers.xsd
# .vscode # .vscode
.vscode .vscode
# Mocha CUP output directory
output

View File

@ -1,3 +1,22 @@
<!--
Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
This file is part of Mocha.NET.
Mocha.NET is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mocha.NET is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
-->
# mocha-dotnet # mocha-dotnet
Mocha Advanced Database Infrastructure for .NET Core Mocha Advanced Database Infrastructure for .NET Core

19
build Executable file
View File

@ -0,0 +1,19 @@
if [ ! -d output ]; then
mkdir output
fi
dotnet build
if [ $? -eq 1 ]; then
exit 1
fi
ASSET_UIHTML_VERSION=2024.27.5
THEME_NAME=avondale
for each in mocha-dotnet/src/assets/ui-html/css/common/*.less mocha-dotnet/src/assets/ui-html/css/$THEME_NAME/*.less; do cat $each; echo ""; done | lessc --plugin=less-plugin-clean-css=advanced - output/assets/ui-html/$ASSET_UIHTML_VERSION/css/mochaApp.css
cp mocha-dotnet/src/app/Mocha.ServerApplication/bin/Debug/net8.0/* output/
exit 0

26
cup Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
AUTO_REBUILD=1
# CONFIDENCE_LEVEL=Debug
# DOTNET_VERSION=8.0
# APP_PATH=mocha-dotnet/src/app/Mocha.ServerApplication/bin/$CONFIDENCE_LEVEL/net$DOTNET_VERSION
APP_PATH=./output/
APP_NAME=Mocha.ServerApplication
if [ $AUTO_REBUILD -eq 1 ]; then
# dotnet build
./build
if [ $? -eq 1 ]; then
echo "There were build errors. Please fix the errors and re-run Mocha CUP."
exit
fi
fi
$APP_PATH/$APP_NAME

@ -1 +1 @@
Subproject commit 8e41ff2f82448dba81c97470f7b2cd191430fd52 Subproject commit 7a884cfd214b4312304bb8c32e75102550740645

View File

@ -1,7 +1,20 @@
using System.Buffers.Text; // Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
using System.Data.SqlTypes; //
using System.Runtime.Intrinsics.X86; // This file is part of Mocha.NET.
using System.Text; //
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using MBS.Web; using MBS.Web;
namespace Mocha.ServerApplication; namespace Mocha.ServerApplication;
@ -65,7 +78,7 @@ public class AssetWebHandler : WebHandler
} }
string basepath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location); string basepath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
string filename = basepath + "/assets/" + assetName + "-" + assetVersion + "/" + assetPath; string filename = basepath + "/assets/" + assetName + "/" + assetVersion + "/" + assetPath;
byte[] data = new byte[0]; byte[] data = new byte[0];
if (System.IO.File.Exists(filename)) if (System.IO.File.Exists(filename))

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using MBS.Core; using MBS.Core;
using MBS.Web; using MBS.Web;

View File

@ -1,4 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk"> <!--
Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
This file is part of Mocha.NET.
Mocha.NET is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mocha.NET is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
-->
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\framework-dotnet\framework-dotnet\src\lib\MBS.Core\MBS.Core.csproj" /> <ProjectReference Include="..\..\..\..\framework-dotnet\framework-dotnet\src\lib\MBS.Core\MBS.Core.csproj" />

View File

@ -1,21 +1,44 @@
using System.Net; // Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using System.Xml;
using MBS.Core; using MBS.Core;
using MBS.Web; using MBS.Web;
using MBS.Web.UI; using MBS.Web.UI;
using MBS.Web.UI.WebControls; using MBS.Web.UI.WebControls;
using Mocha.Core; using Mocha.Core;
using Mocha.Core.OmsImplementations;
using Mocha.Core.OmsImplementations.Mini; using Mocha.Core.OmsImplementations.Mini;
namespace Mocha.ServerApplication; namespace Mocha.ServerApplication;
/// <summary>
/// Defines the base class for a Web application which provides
/// a Mocha User Interface Service with integrated Object Management
/// Server (OMS).
/// </summary>
public abstract class MochaWebApplication : WebApplication public abstract class MochaWebApplication : WebApplication
{ {
/// <summary> /// <summary>
/// Gets the <see cref="Mocha.Core.Oms" /> responsible for hosting data on the Mocha advanced database infrastructure. /// Gets the <see cref="Mocha.Core.Oms" /> responsible for hosting data on the Mocha advanced database infrastructure.
/// </summary> /// </summary>
/// <value></value> /// <value></value>
public Oms Oms { get; } public Oms? Oms { get; private set; }
/// <summary> /// <summary>
/// Gets or sets the name of the tenant which should be navigated to /// Gets or sets the name of the tenant which should be navigated to
@ -24,73 +47,157 @@ public abstract class MochaWebApplication : WebApplication
/// <value></value> /// <value></value>
public string DefaultTenantName { get; set; } = "super"; public string DefaultTenantName { get; set; } = "super";
public MochaWebApplication() protected override void OnBeforeStartInternal(System.ComponentModel.CancelEventArgs e)
{ {
Oms = new MiniOms(); base.OnBeforeStartInternal(e);
Oms.Initialize();
Oms = CreateOms();
Oms.BasePath = VirtualBasePath; Oms.BasePath = VirtualBasePath;
Oms.TenantName = "super"; Oms.TenantName = DefaultTenantName;
} }
class LoginWebPage : WebPage protected virtual Oms CreateOms()
{ {
Oms oms = new MemoryOms();
protected override void InitializeInternal() TenantHandle super = oms.CreateTenant("super");
oms.SelectTenant(super);
oms.Initialize();
return oms;
}
class HomeWebPage : WebPage
{
protected override void OnInit(RenderEventArgs e)
{ {
base.InitializeInternal(); base.OnInit(e);
MochaWebApplication app = ((MochaWebApplication)Application.Instance); string tenantName = e.Context.Request.GetExtraData<string>("TenantName");
if (!e.Context.Session.ContainsKey(tenantName + ".UserToken"))
{
e.Context.Response.Redirect("~/" + e.Context.Request.PathVariables["tenant"] + "/d/login.htmld");
}
InstanceHandle loginHeaderImage = app.Oms.GetInstance(new Guid("{c4f31b1a-aede-4e91-9fa0-511537f098a5}")); Console.WriteLine("req app path: " + e.Context.Request.Path);
StyleSheets.Add(WebStyleSheet.FromContent("text/css", @"
table.uwt-formview td.uwt-formview-item-label { padding-top: 10px; }
table.uwt-formview td.uwt-formview-item-content { padding-bottom: 8px; }
body > form > div.uwt-panel
{
margin-right: auto;
margin-left: auto;
width: 600px;
margin-top: 64px;
}
body > form > div.uwt-panel > div.uwt-content > div:first-child
{
background-image: url('" + app.Oms.GetAttachmentUrl(loginHeaderImage) + @"');
background-repeat: no-repeat;
background-size: cover;
height: 256px;
width: 256px;
margin-left: auto;
margin-right: auto;
margin-top: 32px;
margin-bottom: 32px;
}
"));
} }
protected override void CreateChildControls() protected override void CreateChildControls()
{ {
base.CreateChildControls(); base.CreateChildControls();
Oms oms = (Oms)((MochaWebApplication)Application.Instance).Oms;
InstanceHandle c_Tenant = oms.GetInstance(KnownInstanceGuids.Classes.Tenant);
InstanceHandle i_Tenant = oms.GetInstancesOf(c_Tenant).First();
string loginHeaderText = oms.GetTranslationValue(i_Tenant, oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_header__Translation));
Controls.Add(new Heading(1, loginHeaderText));
Controls.Add(new Heading(3, "It works!"));
}
}
class LoginWebPage : WebPage
{
protected override void InitializeInternal()
{
base.InitializeInternal();
MochaWebApplication app = ((MochaWebApplication)Application.Instance);
InstanceHandle loginHeaderImage;
if (app.Oms.TryGetInstance(new Guid("{c4f31b1a-aede-4e91-9fa0-511537f098a5}"), out loginHeaderImage))
{
StyleSheets.Add(WebStyleSheet.FromContent("text/css", @"
body > form > div.uwt-panel > div.uwt-content > div:first-child
{
background-image: url('" + app.Oms.GetAttachmentUrl(loginHeaderImage) + @"');
width: 256px;
height: 256px;
margin-left: auto;
margin-right: auto;
background-size: cover;
}
body > form > div.uwt-panel {
width: 600px;
margin-left: auto;
margin-right: auto;
margin-top: 128px;
}
h1
{
font-weight: lighter;
}
.uwt-copyright-text
{
padding: 32px;
text-align: center;
}
"));
}
}
protected override void OnInit(RenderEventArgs e)
{
base.OnInit(e);
string tenantName = e.Context.Request.GetExtraData<string>("TenantName");
if (e.Context.Request.Form.ContainsKey("username") && e.Context.Request.Form.ContainsKey("password"))
{
if (e.Context.Request.Form["username"] == "mocha")
{
if (e.Context.Request.Form["password"] == "testing")
{
e.Context.Session[tenantName + ".UserToken"] = (new Guid()).ToString("b");
e.Context.Response.Redirect(String.Format("~/{0}/d/home.htmld", tenantName));
return;
}
}
litPasswordWarning.Visible = true;
}
}
private Literal litPasswordWarning = null;
protected override void CreateChildControls()
{
base.CreateChildControls();
Oms oms = (Oms)((MochaWebApplication)Application.Instance).Oms;
InstanceHandle c_Tenant = oms.GetInstance(KnownInstanceGuids.Classes.Tenant);
InstanceHandle i_Tenant = oms.GetInstancesOf(c_Tenant).First();
string loginHeaderText = oms.GetTranslationValue(i_Tenant, oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_header__Translation));
string loginFooterText = oms.GetTranslationValue(i_Tenant, oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_footer__Translation));
Panel panel = new Panel(); Panel panel = new Panel();
panel.ContentControls.Add(new Container()); panel.ContentControls.Add(new Container());
panel.ContentControls.Add(new Heading(1, loginHeaderText));
panel.ContentControls.Add(new FormView(new FormView.FormViewItem[] panel.ContentControls.Add(new FormView(new FormView.FormViewItem[]
{ {
new FormView.FormViewItem("User _name", new TextBox() { Name = "username" }), new FormView.FormViewItem("User _name", new TextBox() { Name = "username" }),
new FormView.FormViewItem("_Password", new TextBox(TextBoxType.Password) { Name = "password" } ) new FormView.FormViewItem("_Password", new TextBox(TextBoxType.Password) { Name = "password" } )
})); }));
panel.FooterControls.Add(new Button("_Log In")); panel.ContentControls.Add(new Heading(3, loginFooterText));
Controls.Add(panel);
}
}
protected override void OnProcessRequest(WebServerProcessRequestEventArgs e) litPasswordWarning = new Literal("<p style=\"color: #ff0000;\">The user name or password is incorrect.</p>");
{ litPasswordWarning.Visible = false;
base.OnProcessRequest(e); panel.ContentControls.Add(litPasswordWarning);
panel.FooterControls.Add(new Button("_Log In") { ThemeColorPreset = ThemeColorPreset.Primary, UseSubmitBehavior = true });
Controls.Add(panel);
Literal footer = new Literal("<div class=\"uwt-copyright-text\">Powered by Mocha<br />&#169; 2024 MBS Business Solutions</div>");
Controls.Add(footer);
}
}
protected override void OnProcessRequest(WebServerProcessRequestEventArgs e)
{
base.OnProcessRequest(e);
MochaWebApplication app = ((MochaWebApplication)Application.Instance); MochaWebApplication app = ((MochaWebApplication)Application.Instance);
@ -119,6 +226,8 @@ body > form > div.uwt-panel > div.uwt-content > div:first-child
} }
} }
e.Context.Request.SetExtraData("TenantName", tenantName);
TenantHandle tenant = app.Oms.GetTenantByName(tenantName); TenantHandle tenant = app.Oms.GetTenantByName(tenantName);
if (tenant == TenantHandle.Empty) if (tenant == TenantHandle.Empty)
{ {
@ -140,25 +249,44 @@ body > form > div.uwt-panel > div.uwt-content > div:first-child
e.Context.Response.Redirect("~/" + parts[1] + "/d/home.htmld"); e.Context.Response.Redirect("~/" + parts[1] + "/d/home.htmld");
e.Handled = true; e.Handled = true;
} }
} }
protected override void OnServerCreated(WebServerCreatedEventArgs e) protected override void OnServerCreated(WebServerCreatedEventArgs e)
{ {
base.OnServerCreated(e); base.OnServerCreated(e);
e.Server.UserAgent = "Mocha User Interface Service"; e.Server.UserAgent = "Mocha User Interface Service";
// set up the routes // set up the routes
// e.Server.Routes.Add(new WebRoute("/{tenant}", new RedirectWebHandler("~/{tenant}/d/home.htmld"))); // e.Server.Routes.Add(new WebRoute("/{tenant}", new RedirectWebHandler("~/{tenant}/d/home.htmld")));
e.Server.Routes.Add(new WebRoute("/{tenant}/d/home.htmld", new WebHandler(delegate(WebContext ctx)
// FIXME: these routes should be loaded from the tenant; requires Mocha.Web.mcl
InstanceHandle c_Route = Oms.GetInstance(KnownInstanceGuids.Classes.Route);
IEnumerable<InstanceHandle> routes = Oms.GetInstancesOf(c_Route);
if (routes.Count() > 0)
{ {
Console.WriteLine("req app path: " + ctx.Request.Path); Console.WriteLine("cup: using tenanted WebRoutes");
ctx.Response.Redirect("~/" + ctx.Request.PathVariables["tenant"] + "/d/login.htmld"); foreach (InstanceHandle route in routes)
}))); {
e.Server.Routes.Add(new WebRoute("/{tenant}/d/login.htmld", new RedirectWebHandler("~/madi/authgwy/{tenant}/login.htmld")));
e.Server.Routes.Add(new WebRoute("/madi/authgwy/{tenant}/login.htmld", new LoginWebPage())); }
e.Server.Routes.Add(new WebRoute("/madi/asset/{name}/{version}/{path}", new AssetWebHandler())); }
e.Server.Routes.Add(new WebRoute("/{tenant}/attachment/{iid}/{accesskey}", new AttachmentWebHandler())); else
} {
Console.WriteLine("cup: no tenanted WebRoutes found; using hardcoded ones for now");
e.Server.Routes.Add(new WebRoute("/{tenant}/d/home.htmld", new HomeWebPage()));
e.Server.Routes.Add(new WebRoute("/{tenant}/d/login.htmld", new RedirectWebHandler("~/madi/authgwy/{tenant}/login.htmld")));
e.Server.Routes.Add(new WebRoute("/{tenant}/d/logout.htmld", new RedirectWebHandler("~/madi/authgwy/{tenant}/logout.htmld")));
e.Server.Routes.Add(new WebRoute("/madi/authgwy/{tenant}/login.htmld", new LoginWebPage()));
e.Server.Routes.Add(new WebRoute("/madi/authgwy/{tenant}/logout.htmld", new WebHandler(delegate (WebContext ctx)
{
ctx.Session.Clear();
ctx.Response.Redirect("~/" + ctx.Request.PathVariables["tenant"]);
})));
e.Server.Routes.Add(new WebRoute("/madi/asset/{name}/{version}/{path}", new AssetWebHandler()));
e.Server.Routes.Add(new WebRoute("/{tenant}/attachment/{iid}/{accesskey}", new AttachmentWebHandler()));
}
Console.WriteLine("Mocha User Interface Service started - http://localhost:{0}", DefaultPort);
}
} }

View File

@ -1,6 +1,25 @@
using System.Net; // Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using System.Net;
using MBS.Core; using MBS.Core;
using MBS.Web; using MBS.Web;
using Mocha.Core;
using Mocha.Core.OmsImplementations.Mini;
namespace Mocha.ServerApplication; namespace Mocha.ServerApplication;
@ -8,12 +27,46 @@ public class Program : MochaWebApplication
{ {
protected override int DefaultPort => 10020; protected override int DefaultPort => 10020;
public Program() public Program()
{ {
ShortName = "mocha-server"; ShortName = "mocha-server";
} }
public static int Main(string[] args) protected override Oms CreateOms()
{
// we can override this here to provide a different default OMS
MiniOms oms = new MiniOms();
oms.Initialize();
TenantHandle t_super = oms.GetTenantByName("super");
{
oms.SelectTenant(t_super);
InstanceHandle c_Tenant = oms.GetInstance(KnownInstanceGuids.Classes.Tenant);
InstanceHandle i_Tenant = oms.GetInstancesOf(c_Tenant).First();
InstanceHandle i_English = oms.GetInstance(KnownInstanceGuids.Languages.English);
InstanceHandle r_Tenant__has_login_header__Translation = oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_header__Translation);
InstanceHandle r_Tenant__has_login_footer__Translation = oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_footer__Translation);
oms.SetTranslationValue(i_Tenant, r_Tenant__has_login_header__Translation, i_English, "Welcome to your New Tenant");
oms.SetTranslationValue(i_Tenant, r_Tenant__has_login_footer__Translation, i_English, "Please enter your user name and password to continue.");
}
TenantHandle t_wdoms = oms.CreateTenant("wdoms");
{
oms.SelectTenant(t_wdoms);
InstanceHandle c_Tenant = oms.GetInstance(KnownInstanceGuids.Classes.Tenant);
InstanceHandle i_Tenant = oms.GetInstancesOf(c_Tenant).First();
InstanceHandle i_English = oms.GetInstance(KnownInstanceGuids.Languages.English);
InstanceHandle r_Tenant__has_login_header__Translation = oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_header__Translation);
InstanceHandle r_Tenant__has_login_footer__Translation = oms.GetInstance(KnownRelationshipGuids.Tenant__has_login_footer__Translation);
oms.SetTranslationValue(i_Tenant, r_Tenant__has_login_header__Translation, i_English, "OMS Tenant Manager");
oms.SetTranslationValue(i_Tenant, r_Tenant__has_login_footer__Translation, i_English, "The default credentials are mocha / testing");
}
return oms;
}
public static int Main(string[] args)
{ {
return (new Program()).Start(); return (new Program()).Start();
} }

View File

@ -0,0 +1,127 @@
div.uwt-actionpreviewbutton
{
&.uwt-visible > a.apb-button
{
background-color: #129283 !important;
color: #fff !important;
visibility: visible;
opacity: 1;
}
&> a.apb-button
{
&:hover
{
background-color: @ThemeColor;
color: #fff !important;
}
border: solid 1px @ThemeColor;
background-color: #fff;
color: @ThemeColor !important;
}
}
div.apb-preview
{
background: #fff;
border: solid 1px #ccc;
&> a.uwt-button.uwt-button-close
{
right: 0px;
top: 0px;
border: solid 1px;
border-top: none;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
color: #666;
background-color: #fff;
border-color: #ccc;
&:hover
{
background-color: @ThemeColor;
color: #fff;
}
}
&> div.apb-actions
{
background: #eeeeee;
border-right: solid 1px #ccc;
&> h2
{
margin: 16px;
border-bottom: solid 1px #ccc;
}
&> ul.uwt-menu
{
&> li.uwt-menu-item-popup
{
&::after
{
content: "\f105";
position: absolute;
right: 8px;
top: 10px;
font-family: FontAwesome;
color: #707478;
}
&> ul.uwt-menu
{
background-color: #fff;
border: solid 1px #ccc;
box-shadow: 2px 2px 4px #ccc;
}
&> a
{
color: #707478;
}
&:hover > a
{
background-color: #ddd;
}
}
}
}
&> div.uwt-gripper
{
border-bottom: solid 1px #cccccc;
border-right: solid 1px #ccc;
border-left: solid 1px #ccc;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 8px;
&:hover
{
background-color: @ThemeColor;
&::after
{
color: #fff;
}
}
&::after
{
content: ". . . . . .";
display: block;
text-align: center;
margin-top: -9px;
font-size: 14pt;
font-weight: bold;
color: #ccc;
}
}
&.uwt-dragging
{
&> div.uwt-gripper
{
background-color: darken(@ThemeColor, 5%);
&::after
{
color: #fff;
}
}
}
}

View File

@ -0,0 +1,45 @@
div.uwt-alert
{
padding: .9375rem;
&> div.uwt-title
{
font-weight: 300;
font-size: 24px;
margin-bottom: 16px;
}
.AlertColor(@color)
{
border: solid 1px hsl(hue(@color), saturation(@color), lightness(@color) + 20);
background-color: hsl(hue(@color), saturation(@color), lightness(@color) + 40);
color: hsl(hue(@color), saturation(@color), lightness(@color) - 20);
}
.AlertColor2(@textColor, @backgroundColor, @borderColor)
{
border: solid 1px @borderColor;
background-color: @backgroundColor;
color: @textColor;
}
&.uwt-color-primary
{
.AlertColor(@ThemeColorPrimary);
}
&.uwt-color-danger
{
.AlertColor2(#4d1b1a, #ffcecd, #ffcecd);
}
&.uwt-color-success
{
.AlertColor(@ThemeColorSuccess);
}
&.uwt-color-warning
{
.AlertColor(@ThemeColorWarning);
}
&.uwt-color-info
{
.AlertColor(@ThemeColorInfo);
}
}

View File

@ -0,0 +1,23 @@
div.uwt-header > div.uwt-header-item.uwt-applicationmenu > div.uwt-button > button
{
background-color: transparent;
border: none; /* solid 1px @ThemeColor; */
border-radius: 0px;
color: @ThemeColor;
padding: (@HeaderHeight / 4) + 1;
&.Selected
{
background-color: @ThemeColor;
color: #FFFFFF;
}
&:hover
{
/* background-color: @ThemeColor; */
color: #FFFFFF;
/* box-shadow: 0px 0px 4px @ThemeColor; */
}
}

View File

@ -0,0 +1,70 @@
.uwt-badge
{
padding: 3px 6px 4px;
font-size: 75%;
font-weight: 600;
background-color: #e4e7ea;
color: #fff;
text-align: center;
border-radius: 3px;
&.uwt-color-danger
{
background-color: #ff5b57;
}
&.uwt-color-warning
{
background-color: #f59c1a;
}
&.uwt-color-yellow
{
color: #2d353c;
background-color: #ffd900;
}
&.uwt-color-lime
{
background-color: #90ca4b;
}
&.uwt-color-green
{
background-color: #32a932;
}
&.uwt-color-success
{
background-color: #00acac;
}
&.uwt-color-primary
{
background-color: #348fe2;
}
&.uwt-color-info
{
background-color: #49b6d6;
}
&.uwt-color-purple
{
background-color: #727cb6;
}
&.uwt-color-indigo
{
background-color: #8753de;
}
&.uwt-color-black
{
background-color: #2d353c;
}
&.uwt-color-pink
{
background-color: #fb5597;
}
&.uwt-color-secondary
{
background-color: #6c757d;
}
&.uwt-color-gray
{
background-color: #f2f3f4;
}
}

View File

@ -0,0 +1,47 @@
blockquote
{
border-left: solid 5px rgba(0, 0, 0, 0.08);
font-size: 17.5px;
margin: 0px 0px 20px;
padding: 20px;
&> p
{
margin: 0px 0px 10px;
}
&> small
{
color: rgba(0, 0, 0, 0.5);
display: block;
font-size: 80%;
line-height: 1.42857;
&::before
{
content: "— ";
}
}
&.Success
{
background-color: #B0EBCA;
border-color: #4A8564;
color: #3C763D;
}
&.Information
{
background-color: #BEE2EF;
border-color: #587C89;
color: #31708F;
}
&.Warning
{
background-color: #FFF2E3;
border-color: #9D9080;
color: #8A6D3B;
}
&.Danger
{
background-color: #FBD1D1;
border-color: #986E6E;
color: #A94442;
}
}

View File

@ -0,0 +1,22 @@
@ThemeColor: #009A9A; /* #00ACAC; */
@ThemeColorPrimary: #348FE2;
@ThemeColorSuccess: @ThemeColor;
@ThemeColorPrimary: #348FE2;
// @ThemeColorSuccess: #00ACAC;
@ThemeColorDanger: #FF5B57;
@ThemeColorInfo: #2BBCE0;
@ThemeColorWarning: #F59C1A;
@ThemeColorRed: @ThemeColorDanger;
@ThemeColorBlue: @ThemeColorPrimary;
@ThemeColorPurple: #727CB6;
@ThemeColorOrange: #F59C1A;
@ThemeColorBlack: #242A30; /* #2D353C; */
@HeaderHeight: 64px;
@SidebarWidth: 220px;
@PageBackgroundColor: #D9E0E7;

View File

@ -0,0 +1,121 @@
@ButtonSelector: ~'a.uwt-button, button, input[type=button], input[type=submit], input[type=reset], div.uwt-button > a';
// ~'@{ButtonSelector}'
@{ButtonSelector}
{
.ButtonColor(@backcolor, @forecolor)
{
background-color: @backcolor;
border-color: @backcolor;
color: @forecolor;
&:hover
{
background-color: darken(@backcolor, 10%);
color: @forecolor;
}
&:active
{
background-color: darken(@backcolor, 25%);
color: @forecolor;
}
}
&.Large
{
font-size: 18px;
line-height: 1.33;
padding: 10px 16px;
}
cursor: pointer;
border: solid 1px transparent;
border-bottom: solid 2px transparent;
border-radius: 3px;
line-height: 1.42857;
font-size: 14px;
font-weight: 600;
padding: 6px 12px;
text-align: center;
text-decoration: none;
vertical-align: middle;
white-space: nowrap;
transition: all 0.3s;
.ButtonColor(#f1f3f4, #2d353c);
&:hover
{
text-decoration: none;
}
&:focus
{
border-bottom-color: #2d353c;
}
&+ input[type=submit], &+ input[type=reset], &+ input[type=button], &+ a.uwt-button, &+ button
{
margin-left: 5px;
}
&.uwt-color-gray
{
.ButtonColor(#b6c2c9, #fff);
}
&.uwt-color-purple
{
.ButtonColor(#727cb6, #fff);
}
&.uwt-color-indigo
{
.ButtonColor(#8753de, #fff);
}
&.uwt-color-primary
{
.ButtonColor(#348fe2, #fff);
}
&.uwt-color-info
{
.ButtonColor(#49b6d6, #fff);
}
&.uwt-color-yellow
{
.ButtonColor(#ffd900, #2d353c);
}
&.uwt-color-warning
{
.ButtonColor(#f59c1a, #fff);
}
&.uwt-color-pink
{
.ButtonColor(#fb5597, #fff);
}
&.uwt-color-danger
{
.ButtonColor(#ff5b57, #fff);
}
&.uwt-color-success
{
.ButtonColor(#00acac, #fff);
}
&.uwt-color-green
{
.ButtonColor(#32a932, #fff);
}
&.uwt-color-lime
{
.ButtonColor(#90ca4b, #fff);
}
&.uwt-color-inverse
{
.ButtonColor(#2d353c, #fff);
}
&.uwt-color-none
{
.ButtonColor(transparent, inherit);
}
}

View File

@ -0,0 +1,16 @@
div.CheckBox
{
background-color: #FFFFFF;
border: solid 1px #AAAAAA;
&:hover, &.Hover, &.Checked
{
border-color: @ThemeColor;
}
&.Checked
{
background-color: @ThemeColor;
color: #FFFFFF;
}
}

View File

@ -0,0 +1,10 @@
div.Countdown
{
&> div.Segment
{
background-color: rgba(0, 0, 0, 0.5);
border: solid 1px @ThemeColor;
border-radius: 4px;
color: #FFFFFF;
}
}

View File

@ -0,0 +1,9 @@
body > div.uwt-footer, body > form > div.uwt-footer
{
background-color: #242A30;
color: #707478;
box-shadow: 0px 100px 80px -80px rgba(0, 0, 0, 0.7) inset;
/* padding: 60px 16px; */
}

View File

@ -0,0 +1,16 @@
div.FormView
{
&> div.Field
{
&> label
{
color: @ThemeColorBlack;
text-align: right;
}
}
&> div.Field
{
/* fake margin-bottom for elements displayed as table-row */
border-bottom: solid 16px transparent;
}
}

View File

@ -0,0 +1,184 @@
body
{
&> div.uwt-header, &> form > div.uwt-header
{
background-color: #fff;
&> div.uwt-header-item
{
&> input
{
background-color: #f2f3f4;
border-color: #f2f3f4;
color: #2d353c;
&::placeholder
{
color: rgba(255,255,255,.5);
}
}
&.uwt-searchbar
{
&::before
{
content: "\f002";
display: inline-block;
font-family: "FontAwesome";
font-size: 0.75rem;
font-weight: 900;
position: relative;
margin-left: -16px;
left: 28px;
top: 0;
}
&> input
{
border-radius: 30px;
border: 1px solid #d5dbe0;
width: 220px;
transition: width 0.2s;
padding-left: 32px;
&:focus
{
border-color: #f2f3f4;
width: 300px;
/* Remove the focus indicator on mouse-focus for browsers
that do support :focus-visible */
outline: none;
}
}
div.uwt-textbox-popup
{
&> div.uwt-dropdown-content > ul.uwt-menu > li > a
{
&> span
{
display: block;
padding-top: 4px;
padding-bottom: 4px;
}
&> span.uwt-title
{
font-weight: bold;
}
&> span.uwt-subtitle, &> span.uwt-content
{
font-size: small;
}
}
background-color: #fff;
}
}
}
margin-bottom: 20px;
height: @HeaderHeight;
&> div.uwt-logo
{
color: #FFFFFF;
font-size: 24px;
padding: (@HeaderHeight / 4);
width: 128px;
a
{
text-decoration: none;
color: inherit;
}
span.Primary
{
color: @ThemeColor;
}
}
&> ul.uwt-menu
{
position: absolute;
right: 24px;
&> li
{
&> a
{
text-transform: uppercase;
font-size: 12px;
font-weight: 600;
line-height: 20px;
padding: 26px 16px;
}
&.uwt-selected
{
&> a
{
background-color: #00ACAC;
color: #ffffff;
}
&::after
{
border-bottom: 16px solid @PageBackgroundColor;
border-left: 16px solid rgba(0, 0, 0, 0);
border-radius: 0;
border-right: 16px solid rgba(0, 0, 0, 0);
content: "";
display: block;
height: 0px;
margin-left: auto;
margin-right: auto;
position: relative;
top: -16px;
width: 0px;
}
}
}
}
}
}
body.uwt-header-inverse
{
&> div.uwt-header, &> form > div.uwt-header
{
background-color: #1a2229;
&> div.uwt-header-item
{
&::before
{
color: #fff;
}
&.uwt-searchbar
{
&> input
{
border-color: transparent;
}
div.uwt-textbox-popup
{
background-color: #1a2229;
}
}
&> input
{
background-color: rgba(255,255,255,.25);
color: #fff;
&::placeholder
{
color: rgba(255,255,255,.5);
}
}
}
}
}

View File

@ -0,0 +1,9 @@
h1, h2, h3, h4, h5, h6
{
color: #242A30;
font-weight: 300;
}
h1
{
font-size: 36px;
}

View File

@ -0,0 +1,10 @@
a
{
color: @ThemeColor;
text-decoration: none;
&:hover
{
color: darken(@ThemeColor, 15%);
text-decoration: underline;
}
}

View File

@ -0,0 +1,134 @@
@TableBorderColor: #E2E7EB;
@TableGridLineColor: #F5F5F5;
@TableRowHoverBackgroundColor: @TableGridLineColor;
@TableRowHoverForegroundColor: #000000;
@TableRowSelectedBackgroundColor: darken(@ThemeColor, 5%); /* #E2E7E9; */
@TableRowSelectedForegroundColor: #FFFFFF;
@TableRowSelectedHoverBackgroundColor: lighten(@TableRowSelectedBackgroundColor, 5%);
@TableRowSelectedHoverForegroundColor: @TableRowSelectedForegroundColor;
table.uwt-listview
{
background-color: #FFFFFF;
border-collapse: collapse;
border: solid 1px #ced4da;
&> thead, &> tbody
{
&> tr
{
&> th, &> td
{
border: solid 1px #cccccc;
}
&:hover
{
&> td
{
background-color: tint(@ThemeColor, 90%);
}
}
}
}
&> thead
{
border-bottom: solid 2px;
border-bottom-color: @TableGridLineColor;
&> tr
{
&> th
{
border-bottom: solid 2px @TableBorderColor;
color: #242A30;
font-weight: 600;
a
{
color: inherit;
display: block;
text-align: left;
&:hover
{
text-decoration: none;
}
}
&[colspan]
{
font-weight: normal;
background-color: tint(@ThemeColor, 75%);
a
{
text-align: center;
}
}
}
}
}
&> tbody
{
&> tr:nth-of-type(2n+1)
{
background-color: #f2f4f5;
}
&> tr
{
border: solid 1px transparent;
&.uwt-selected
{
border-color: @ThemeColor;
&> td
{
background-color: fade(@ThemeColor, 25%);
}
}
}
}
&> div.uwt-listview-column-headers > div.uwt-listview-column-header > a,
&> div.uwt-listviewItems > div.uwt-listviewItem > div.uwt-listviewItemColumn
{
padding: 10px 15px;
}
&> div.uwt-listviewItems > div.uwt-listviewItem
{
&.Selected
{
background-color: @TableRowSelectedBackgroundColor;
color: @TableRowSelectedForegroundColor;
}
}
&.HasBorder
{
border-color: @TableBorderColor;
}
&[data-mode="Detail"]
{
&.GridLines
{
&> div.uwt-listview-column-headers > div.uwt-listview-column-header, &> div.uwt-listviewItems > div.uwt-listviewItem > div.uwt-listviewItemColumn
{
border: solid 1px @TableGridLineColor;
}
}
}
&.uwt-hottracking
{
&> div.uwt-listview-items
{
&> div.uwt-listview-item:hover
{
background-color: @TableRowHoverBackgroundColor;
color: @TableRowHoverForegroundColor;
&.Selected
{
background-color: @TableRowSelectedHoverBackgroundColor;
color: @TableRowSelectedHoverForegroundColor;
}
}
}
}
}

View File

@ -0,0 +1,5 @@
body.MainPage h1
{
font-size: 64px;
font-weight: 600;
}

View File

@ -0,0 +1,15 @@
div.uwt-menu-large
{
background-color: #ffffff;
}
body.uwt-header-inverse
{
&> form > div.uwt-header, &> div.uwt-header
{
div.uwt-menu-large
{
background-color: #1a2229;
color: #A8ACB1;
}
}
}

View File

@ -0,0 +1,105 @@
ul.uwt-menu
{
padding: 0px;
margin: 0px;
&.Popup
{
background: #FFFFFF;
border: solid 1px @ThemeColor;
border-top: none;
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
&> li:not(.uwt-section)
{
&> a
{
font-weight: normal;
padding: 8px 16px;
&:not(:hover) > span.uwt-description
{
color: #aaaaaa;
}
}
&:not(.uwt-disabled) > a
{
&:hover
{
background-color: @ThemeColor;
color: #FFFFFF;
text-decoration: none;
}
}
&.uwt-disabled > a
{
color: #666;
pointer-events: none;
cursor: not;
}
&.Header
{
color: #6D7983;
font-size: 11px;
line-height: 20px;
margin: 0;
padding: 10px 20px;
}
&.HasChildren > a
{
&::after
{
content: "";
font-family: "FontAwesome";
position: absolute;
padding: 8px;
}
}
}
&.uwt-orientation-vertical
{
&> li
{
display: block;
&.HasChildren
{
&> a
{
&::after
{
right: 0px;
top: 0px;
}
}
}
}
}
&.uwt-orientation-horizontal
{
display: inline-block;
&> li
{
display: inline-block;
&> a
{
color: #8F8E8E;
display: block;
text-decoration: none;
transition: color linear 0.3s, background-color linear 0.3s;
&:hover
{
background: none;
color: @ThemeColor;
}
}
}
}
}

View File

@ -0,0 +1,17 @@
div.uwt-page
{
&> div.uwt-header
{
border-bottom: 1px solid #d5dbe0;
background: #ffffff;
}
&> div.uwt-footer
{
border-top: 1px solid #d5dbe0;
background: #ffffff;
}
}
body:not(.uwt-hide-header) > div.uwt-page, body:not(.uwt-hide-header) > form > div.uwt-page
{
margin-top: 64px;
}

View File

@ -0,0 +1,61 @@
div.Panel
{
background-color: #FFFFFF;
border-radius: 3px;
&> div.Header, &> div.Content, &> div.Footer
{
padding: 10px 15px;
}
&> div.Header
{
background-color: #DDDDDD;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
color: #333333;
font-size: 12px;
font-weight: 500;
line-height: 20px;
}
&> div.Footer
{
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
&.Danger > div.Header
{
background-color: #CC4946;
}
&.Info > div.Header
{
background-color: #3A92AB;
}
&.Inverse > div.Header
{
background-color: #242A30;
}
&.Primary > div.Header
{
background-color: #2A72B5;
}
&.Success > div.Header
{
background-color: #008A8A;
}
&.Warning > div.Header
{
background-color: #C47D15;
}
&.Danger, &.Info, &.Inverse, &.Primary, &.Success, &.Warning
{
&> div.Header
{
color: #FFFFFF;
}
}
}

View File

@ -0,0 +1,5 @@
div.uwt-popup
{
background-color: #ffffff;
box-shadow: 4px 4px 10px rgba(0,0,0,0.5);
}

View File

@ -0,0 +1,115 @@
body > div.uwt-sidebar, body > form > div.uwt-sidebar
{
background: #2D353C;
div.UserInfo
{
background-color: #1A2229;
padding: 20px;
&> div.Icon
{
display: table-cell;
width: 56px;
}
&> div.Text
{
display: table-cell;
font-size: 14px;
&> span.UserName, span.StatusText
{
display: block;
}
&> span.UserName
{
color: #FFFFFF;
}
&> span.StatusText
{
color: #889097;
font-size: 85%;
}
}
}
ul.uwt-menu > li
{
&.uwt-section > a
{
color: #707478;
font-size: 85%;
letter-spacing: 2px;
text-transform: uppercase;
padding-top: 16px;
padding-bottom: 16px;
}
&> a
{
display: block;
line-height: 20px;
text-decoration: none;
&> i.fa
{
float: left;
font-size: 14px;
line-height: 20px;
margin-right: 16px;
text-align: center;
width: 14px;
}
}
&> ul.uwt-menu
{
background-color: #1A2229;
height: 0px;
transition: height linear 0.3s;
overflow: hidden;
padding: 0px;
&> li
{
&> a
{
color: #889097;
font-weight: 300;
padding: 5px 20px;
&:hover
{
color: #FFFFFF;
text-decoration: none;
}
}
}
}
&.uwt-opened > ul.uwt-menu
{
height: auto;
padding: 10px 0px 10px 30px;
}
}
/* first child styles only */
&> ul.uwt-menu > li
{
&.uwt-opened > a, > a:hover
{
background-color: #232A2F;
text-decoration: none;
}
&> a
{
padding: 8px 20px;
color: #A8ACB1;
}
&.uwt-selected > a
{
background-color: @ThemeColor;
color: #FFFFFF
}
}
&> ul.uwt-menu > li.uwt-section > a
{
background-color: transparent;
}
}

View File

@ -0,0 +1,27 @@
div.uwt-slider
{
&.uwt-color-primary > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #348fe2;
}
&.uwt-color-danger > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #ff5b57;
}
&.uwt-color-teal > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #00acac;
}
&.uwt-color-purple > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #727cb6;
}
&.uwt-color-orange > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #f59c1a;
}
&.uwt-color-black > div.uwt-slider-bar > div.uwt-slider-selection
{
background-color: #2d353c;
}
}

View File

@ -0,0 +1,11 @@
div.uwt-spinner
{
border-color: #24b498 #ffffff #ffffff;
border-image: none;
border-radius: 100%;
border-right: solid 2px #ffffff;
border-style: solid;
border-width: 2px;
height: 40px;
width: 40px;
}

View File

@ -0,0 +1,37 @@
div.uwt-tabcontainer
{
&> ul.uwt-tabcontainer-tabs
{
background-color: #C1CCD1;
&> li
{
&> a
{
color: #6E7179;
font-size: 12px;
padding: 10px 16px;
&:hover
{
background-color: #FAFAFA;
color: #333333;
}
}
&.uwt-selected > a
{
background-color: #FFFFFF;
color: #242A30;
}
}
}
&> div.uwt-tabcontainer-tabpages
{
background-color: #FFFFFF;
&> div.uwt-tabpage
{
padding: 16px;
}
}
}

View File

@ -0,0 +1,28 @@
input[type=text], input[type=password], textarea
{
border: solid 1px #CCD0D4;
border-radius: 3px;
box-shadow: none;
font: inherit;
font-size: 12px;
line-height: 1.42857;
padding: 6px 12px;
transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
&:hover, &:focus
{
border-color: @ThemeColor;
}
&:focus
{
box-shadow: 0px 0px 4px #00ACAC;
}
&::placeholder
{
color: #6c757d;
opacity: 1;
}
.UwtColors();
}

View File

@ -0,0 +1,24 @@

div.uwt-tile
{
&> div.uwt-footer
{
&> a
{
display: block;
background-color: rgba(0,0,0,.4);
margin: none;
&:hover
{
background-color: rgba(0,0,0,.6);
}
}
}
&.uwt-color-alizarin, &.uwt-color-danger, &.uwt-color-red
{
background-color: #ff5b57;
color: #fff;
}
}

View File

@ -0,0 +1,107 @@
@ToggleSwitchAnimationLength: 150ms; /* 250ms; */
@ToggleSwitchSize: 50px;
@ToggleSwitchThumbSize: 30px;
.ToggleSwitchColors(@color)
{
&.Checked
{
background-color: @color;
border-color: @color;
box-shadow: 0 0 0 16px @color inset;
}
}
div.ToggleSwitch
{
position: relative;
width: @ToggleSwitchSize;
&[disabled]
{
opacity: 0.5;
}
.ToggleSwitchColors(@ThemeColor);
&.Primary
{
.ToggleSwitchColors(@ThemeColorPrimary);
}
&.Success
{
.ToggleSwitchColors(@ThemeColorSuccess);
}
&.Danger
{
.ToggleSwitchColors(@ThemeColorDanger);
}
&.Info
{
.ToggleSwitchColors(@ThemeColorInfo);
}
&.Warning
{
.ToggleSwitchColors(@ThemeColorWarning);
}
&.Red
{
.ToggleSwitchColors(@ThemeColorRed);
}
&.Blue
{
.ToggleSwitchColors(@ThemeColorBlue);
}
&.Purple
{
.ToggleSwitchColors(@ThemeColorPurple);
}
&.Orange
{
.ToggleSwitchColors(@ThemeColorOrange);
}
&.Black
{
.ToggleSwitchColors(@ThemeColorBlack);
}
&.Checked
{
&> div.ToggleSwitchInner > div.ToggleThumb
{
margin-left: (@ToggleSwitchSize - @ToggleSwitchThumbSize);
}
}
&:not(.Checked)
{
background-color: #FFFFFF;
border-color: #DFDFDF;
box-shadow: 0 0 0 0 #DFDFDF inset;
&> div.ToggleSwitchInner > div.ToggleThumb
{
margin-left: 0px;
}
}
&> div.ToggleSwitchInner > div.ToggleThumb
{
transition: margin-left @ToggleSwitchAnimationLength ease-in 0s;
}
transition: border 0.5s ease 0s, box-shadow 0.5s ease 0s, background-color 1.5s ease 0s;
border-radius: 20px;
cursor: pointer;
height: 30px;
div.ToggleOn, div.ToggleOff
{
display: none;
}
div.ToggleThumb
{
background: none repeat scroll 0 0 #FFFFFF;
border-radius: 100%;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
height: @ToggleSwitchThumbSize;
width: @ToggleSwitchThumbSize;
}
}

View File

@ -0,0 +1,130 @@
@ThumbSize: 30px;
@TrackSize: 8px;
@ThumbOffset: ((@ThumbSize - @TrackSize) / 2);
div.uwt-trackbar
{
margin-bottom: 10px;
padding: 16px 30px;
&> div.uwt-trackbar-track
{
background-color: #A9ACB1;
border-radius: 16px;
&> div.uwt-trackbar-track-quantity
{
background-color: #017AFD;
border-radius: 15px;
}
&> div.uwt-trackbar-track-thumb
{
background-color: #FFFFFF;
border-radius: 100%;
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
cursor: move;
height: @ThumbSize;
width: @ThumbSize;
}
}
&.uwt-orientation-horizontal
{
&> div.uwt-trackbar-track
{
height: @TrackSize;
&> div.uwt-trackbar-track-uantity
{
/* transition: width linear 0.1s; */
}
&> div.uwt-trackbar-track-thumb
{
top: -@ThumbOffset;
/* transition: left linear 0.1s; */
}
}
}
&.uwt-orientation-vertical
{
&> div.uwt-trackbar-track
{
width: @TrackSize;
&> div.uwt-trackbar-track-quantity
{
/* transition: height linear 0.1s; */
}
&> div.uwt-trackbar-track-thumb
{
left: -@ThumbOffset;
/* transition: top linear 0.1s; */
}
}
}
&> div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColor;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColor;
}
}
&.uwt-color-red > div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColorRed;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColorRed;
}
}
&.uwt-color-blue > div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColorBlue;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColorBlue;
}
}
&.uwt-color-purple > div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColorPurple;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColorPurple;
}
}
&.uwt-color-orange > div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColorOrange;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColorOrange;
}
}
&.uwt-color-black > div.uwt-trackbar-track
{
&> div.uwt-trackbar-track-quantity
{
background-color: @ThemeColorBlack;
}
&> div.uwt-trackbar-track-thumb
{
color: @ThemeColorBlack;
}
}
}

View File

@ -0,0 +1,35 @@
div.uwt-window
{
background-color: #FFFFFF;
&> div.uwt-header, &> div.uwt-content, &> div.uwt-footer
{
padding: 16px;
}
&> div.uwt-header
{
border-bottom: solid 1px #E2E7EB;
color: #242A30;
font-size: 18px;
font-weight: 500;
}
&> div.uwt-footer
{
border-top: solid 1px #E2E7EB;
}
&> div.uwt-content
{
&> div.uwt-loading
{
background-color: rgba(255, 255, 255, 0.8);
}
}
transition: visibility linear 0.3s, opacity linear 0.3s, transform linear 0.3s;
transform-origin: center center;
transform: scale(0.0) scaleX(-2.0);
&.uwt-visible
{
transform: scale(1.0) scaleX(1.0);
}
}

View File

@ -0,0 +1,77 @@
div.uwt-wizard
{
ol
{
background-color: #F0F3F4;
li
{
cursor: pointer;
font-size: 14px;
line-height: 20px;
padding: 16px;
span.uwt-title, span.uwt-description
{
display: block;
margin-left: 30px;
}
span.uwt-title
{
color: #333333;
}
span.uwt-description
{
color: #999999;
font-size: 85%;
}
span.uwt-wizard-page-number
{
background-color: #6D7479;
color: #FFFFFF;
border-radius: 50%;
float: left;
height: 20px;
line-height: 20px;
margin-right: 10px;
padding: 0;
text-align: center;
top: 0;
width: 20px;
font-size: 75%;
font-weight: 600;
}
&:hover
{
background-color: #D3DADF;
}
&.uwt-selected
{
background-color: @ThemeColor;
cursor: default;
span.uwt-title
{
color: #FFFFFF;
}
span.uwt-description
{
color: rgba(255, 255, 255, 0.6);
}
}
}
}
div.uwt-wizard-pages
{
margin: 10px 0px -10px;
padding: 16px;
div.uwt-wizard-page
{
border: solid 1px #E3E3E3;
border-radius: 4px;
min-height: 20px;
}
}
}

View File

@ -0,0 +1,67 @@
@import "Fonts/SourceSansPro/SourceSansPro.css";
body
{
background-color: @PageBackgroundColor;
color: #333;
font-family: "Source Sans Pro", "Segoe UI", "Droid Sans", "Tahoma", "Arial", sans-serif;
/* font-size: 14px; */
font-size: 16px;
margin: 0px;
&.Loading
{
background: @PageBackgroundColor !important;
}
overflow: auto;
}
body > div.Content
{
padding: 24px;
}
::selection
{
background-color: @ThemeColor;
color: #FFFFFF;
}
::-moz-selection
{
background-color: @ThemeColor;
color: #FFFFFF;
}
@ThemeColorPrimaryLight: #cce3f8;
@ThemeColorPrimary: #348fe2;
@ThemeColorInfoLight: #d2edf5;
@ThemeColorInfo: #49b6d6;
@ThemeColorPurpleLight: #dcdeed;
@ThemeColorPurple: #727cb6;
@ThemeColorIndigoLight: #e1d4f7;
@ThemeColorIndigo: #8753de;
@ThemeColorSuccessLight: #bfeaea;
@ThemeColorSuccess: #00acac;
@ThemeColorGreenLight: #cceacc;
@ThemeColorGreen: #32a932;
@ThemeColorLimeLight: #e3f2d2;
@ThemeColorLime: #90ca4b;
@ThemeColorWarningLight: #fde6c6;
@ThemeColorWarning: #f59c1a;
@ThemeColorYellowLight: #fff6bf;
@ThemeColorYellow: #ffd900;
@ThemeColorDangerLight: #ffd6d5;
@ThemeColorDanger: #ff5b57;
@ThemeColorPinkLight: #fed5e5;
@ThemeColorPink: #fb5597;

View File

@ -0,0 +1,152 @@
@ActionPreviewButton_ActionMenu_Width: 180px;
div.uwt-actionpreviewbutton
{
display: inline-block;
position: relative;
white-space: nowrap;
&> a.apb-button
{
opacity: 0;
visibility: hidden;
display: inline-block;
padding: 0px 2px 0px 6px;
border-radius: 4px;
margin-left: 8px;
padding-right: 6px;
&::before
{
content: "...";
font-family: inherit;
font-weight: bold;
}
}
&:hover
{
&> a.apb-button
{
opacity: 1;
visibility: visible;
&:hover
{
text-decoration: none;
}
}
}
&.uwt-visible > div.apb-preview
{
visibility: visible;
opacity: 1;
}
&> div.apb-preview
{
display: flex;
visibility: hidden;
opacity: 0;
float: right;
padding: 8px;
margin-left: 8px;
position: absolute;
width: max-content;
&> a.uwt-button.uwt-button-close
{
display: none;
position: absolute;
right: 8px;
top: 8px;
width: 8px;
height: 8px;
padding: 8px;
min-width: unset;
min-height: unset;
&::after
{
content: "\f00d";
font-family: "FontAwesome";
position: absolute;
top: 2px;
left: 6px;
}
}
&.uwt-detached
{
&> a.uwt-button.uwt-button-close
{
display: inline-block;
}
visibility: visible;
opacity: 1;
position: fixed;
}
&> div.uwt-gripper
{
position: absolute;
top: 0px;
width: 64px;
height: 16px;
left: 50%;
}
&.uwt-loading > div.apb-content, &.uwt-loading > div.apb-actions
{
display: none;
}
&:not(.uwt-loading) > div.uwt-spinner
{
display: none;
}
&> div.apb-actions
{
margin: -8px;
margin-right: 16px;
&> h2
{
cursor: default;
}
&> ul.uwt-menu
{
width: @ActionPreviewButton_ActionMenu_Width;
&> li.uwt-menu-item-popup
{
position: relative;
&> ul.uwt-menu
{
display: none;
position: absolute;
left: @ActionPreviewButton_ActionMenu_Width;
top: 0px;
width: max-content;
z-index: 1;
}
&:hover > ul.uwt-menu
{
display: block;
}
}
}
/*
&> div.apb-preview
{
visibility: hidden;
opacity: 0;
float: right;
padding: 8px;
margin-left: 8px;
position: absolute;
}
*/
}
}
}

View File

@ -0,0 +1,9 @@
body > div.uwt-alert-container
{
position: fixed;
right: 32px;
top: 32px;
min-width: 320px;
z-index: 100;
}

View File

@ -0,0 +1,29 @@
div.uwt-applicationmenu
{
&> div.uwt-button
{
&> button.uwt-button-dropdownbutton
{
border: none;
background: none;
padding: 13px 20px;
display: inline-block;
font-size: 18pt;
color: #fff;
&::before
{
content: "\f0c9";
font-family: FontAwesome;
color: #4E5155;
}
}
&> div.uwt-popup
{
/* for some reason there's a weird gap between the button and the dropdown */
/* margin-top: -4px; */
margin-top: -10px;
}
}
}

View File

@ -0,0 +1,14 @@
div.uwt-badge
{
cursor: default;
-moz-user-select: none;
border-radius: 8px;
display: inline-block;
margin: -8px;
padding: 8px;
padding-left: 24px;
padding-right: 24px;
}

View File

@ -0,0 +1,42 @@
div.uwt-button-group
{
&> div.uwt-button
{
cursor: default;
&> a
{
display: block;
padding: 16px;
&> span
{
display: block;
&.uwt-title
{
padding-bottom: 8px;
}
}
}
}
&.uwt-orientation-horizontal
{
&> div.uwt-button
{
display: inline-block;
margin-right: 16px;
}
}
&.uwt-orientation-vertical
{
display: flex;
flex-direction: column;
&> a.uwt-button, input[type=submit], input[type=reset], input[type=button], button, div.uwt-button > a
{
text-align: left;
margin-bottom: 8px;
}
}
}

View File

@ -0,0 +1,74 @@
@ButtonSelector: ~'a.uwt-button, button, input[type=button], input[type=submit], input[type=reset], div.uwt-button > a';
// ~'@{ButtonSelector}'
@{ButtonSelector}
{
display: inline-block;
font-weight: 400;
text-align: center;
vertical-align: middle;
.user-select(none);
background-color: transparent;
border: 1px solid transparent;
padding: .438rem 1.125rem;
font-size: .894rem;
line-height: 1.54;
min-width: 80px;
margin-right: 6px;
}
div.uwt-button-group
{
// (~'@{ButtonSelector}')
@{ButtonSelector}
{
margin-right: 0px;
}
}
div.uwt-button
{
display: inline-block;
&> button.uwt-button-dropdownbutton
{
display: none;
}
&.uwt-button-hasdropdown
{
&> button.uwt-button-dropdownbutton
{
padding-left: 8px;
padding-right: 8px;
display: inline-block;
&::before
{
content: "⏷";
display: block;
}
}
&.uwt-button-requiredropdown > input:nth-child(1), &.uwt-button-requiredropdown > a:nth-child(1)
{
display: none;
}
&:not(.uwt-button-requiredropdown)
{
/* split dropdown button styles */
&> input:first-child
{
border-right: none;
}
&> input.uwt-button-dropdownbutton
{
border-left: none;
}
}
}
}

View File

@ -0,0 +1,27 @@
div.uwt-calendar
{
&> table
{
&> thead
{
}
&> tbody
{
&> tr
{
&> td
{
&> a
{
display: inline-block;
text-align: center;
line-height: 2rem;
width: 2rem;
height: 2rem;
}
}
}
}
}
}

View File

@ -0,0 +1,32 @@
div.uwt-checkbox
{
transition: all 0.3s;
&> i.fa-check
{
margin-left: 4px;
transition: all 0.3s;
}
&:not(.uwt-checked)
{
&> i.fa-check
{
opacity: 0;
}
}
border: solid 1px #24abf2;
display: inline-block;
width: 22px;
height: 22px;
border-radius: 4px;
color: #ffffff;
&:focus-within
{
box-shadow: 0px 0px 4px #24abf2;
}
&.uwt-checked
{
background-color: #24abf2;
color: #ffffff;
}
}

View File

@ -0,0 +1,72 @@
div.uwt-columns
{
display: flex;
box-sizing: border-box;
margin-bottom: 20px;
min-height: 1px;
position: relative;
width: 100%;
}
div.uwt-columns > div.uwt-column-row
{
box-sizing: border-box;
}
div.uwt-columns > div.uwt-column-row
{
display: flex;
}
div.uwt-columns > div.uwt-column-section
{
display: flex;
flex-grow: 1;
&> div.uwt-column
{
flex-grow: 1;
}
}
@media (max-width: 1000px)
{
div.uwt-columns
{
flex-direction: column;
}
}
@media (min-width: 768px)
{
div.uwt-columns > div.uwt-column-row > div.uwt-column.uwt-column-4
{
width: 50%;
}
}
@media (min-width: 992px)
{
div.uwt-columns > div.uwt-column-row > div.uwt-column.uwt-column-4
{
flex: 0 1 25%;
max-width: 25%;
}
}
.uwt-column.uwt-column-1
{
flex: 0 1 100%;
max-width: 100%;
}
.uwt-column.uwt-column-2
{
flex: 0 1 50%;
max-width: 50%;
}
.uwt-column.uwt-column-3
{
flex: 0 1 33.333333%;
max-width: 33.333333%;
}
.uwt-column.uwt-column-8
{
flex: 0 1 66.666667%;
max-width: 66.666667%;
}

View File

@ -0,0 +1,90 @@
div.uwt-dialog-background
{
position: fixed;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.8);
transition: all 0.3s;
&:not(.uwt-visible)
{
opacity: 0;
visibility: hidden;
}
z-index: 10000;
}
div.uwt-dialog
{
max-width: 35rem;
margin: 1.75rem auto;
z-index: 10001;
position: relative;
top: 0px;
transition: all 0.3s;
&:not(.uwt-visible)
{
opacity: 0;
visibility: hidden;
}
&> div.uwt-header
{
padding: 1.25rem 1.5625rem;
&> div.uwt-dialog-title, &> div.uwt-dialog-controlbox
{
}
&> div.uwt-dialog-title
{
font-size: 1rem;
}
&> div.uwt-dialog-controlbox
{
position: absolute;
right: 24px;
top: 15px;
&> a.uwt-dialog-controlbox-close
{
font-size: 1.341rem;
font-weight: 300;
}
}
}
&> div.uwt-content
{
padding: 1.5625rem;
}
&> div.uwt-footer
{
display: flex;
justify-content: flex-end;
padding: 1.25rem 1.5625rem;
&> :not(:first-child)
{
margin-left: .25rem;
}
&> :not(:last-child)
{
margin-right: .25rem;
}
}
}
@media (max-width: 600px)
{
div.uwt-dialog
{
position: fixed;
top: 0px;
right: 0px;
left: 0px;
bottom: 0px;
margin: 0px;
max-width: none;
}
}

View File

@ -0,0 +1,5 @@
.uwt-expand
{
box-sizing: border-box;
width: 100%;
}

View File

@ -0,0 +1,18 @@
body > div.uwt-footer, body > form > div.uwt-footer
{
padding: 16px;
z-index: 100;
}
@media (max-width: 999px)
{
/* TABLET styles */
body > div.uwt-footer, body > form > div.uwt-footer
{
left: 0px;
/*
background-color: #111111;
padding: 16px;
*/
}
}

View File

@ -0,0 +1,109 @@
table.uwt-formview
{
border-collapse: collapse;
&:not(.uwt-expand)
{
display: inline-block;
}
&> tr > td, &> thead > tr > td, &> tbody > tr > td
{
padding: 8px;
padding-left: 0px;
vertical-align: top;
&:first-child
{
font-weight: bold;
padding-right: 24px;
}
}
&.uwt-formview-stacked
{
&> tr, &> td, &> thead > tr, &> thead > tr > td, &> tbody > tr, &> tbody > tr > td
{
display: block;
}
}
input
{
width: 100%;
box-sizing: border-box;
}
tr.uwt-required > td:first-child
{
position: relative;
&::before
{
content: "*";
color: #f00;
font-size: 18pt;
position: absolute;
right: 4px;
}
}
}
/* V2 FormView - now more FLEXible! */
div.uwt-formview
{
display: table;
/*
display: flex;
flex-direction: column;
*/
&> div.uwt-formview-item
{
/*
display: flex;
align-items: center;
align-content: center;
*/
display: table-row;
vertical-align: middle;
padding: 16px;
&> div.uwt-formview-item-label
{
display: table-cell;
vertical-align: middle;
padding-right: 32px;
&> label
{
font-weight: bold;
}
&> div.uwt-formview-item-description
{
color: #aaaaaa;
}
}
&> div.uwt-formview-item-content
{
display: table-cell;
vertical-align: middle;
}
}
}
@media (max-width: 800px)
{
div.uwt-formview
{
&> div.uwt-formview-item
{
/*
flex-direction: column;
flex-grow: 1;
*/
display: block;
&> div.uwt-formview-item-label
{
display: block;
}
}
}
}

View File

@ -0,0 +1,4 @@
div.uwt-gripper
{
cursor: move;
}

View File

@ -0,0 +1,33 @@
body, body > form
{
&> div.uwt-header
{
position: fixed;
left: 0px;
top: 0px;
height: 60px;
right: 0px;
z-index: 100;
&> div.uwt-header-item
{
display: inline-block;
}
ul.uwt-menu
{
padding-bottom: 32px;
height: 300px;
overflow-y: auto;
}
}
}
@media print
{
body, body > form
{
&> div.uwt-header
{
display: none;
}
}
}

View File

@ -0,0 +1,5 @@
label, span.uwt-label
{
cursor: default;
-moz-user-select: none;
}

View File

@ -0,0 +1,36 @@
div.uwt-layout.uwt-layout-box
{
display: flex;
&.uwt-orientation-horizontal
{
flex-direction: row;
}
&.uwt-orientation-vertical
{
flex-direction: column;
}
&> div.uwt-layout-item
{
flex-grow: 1;
}
justify-content: center;
&.uwt-pack-start
{
justify-content: flex-start;
}
&.uwt-pack-end
{
justify-content: flex-end;
}
&.uwt-homogenous
{
justify-content: space-evenly;
}
&.uwt-layout-box-expand
{
}
}

View File

@ -0,0 +1,21 @@
div.uwt-listbox
{
&> div.uwt-listitem
{
cursor: pointer;
&> div.uwt-title, &> div.uwt-detail
{
padding: 8px;
}
&> div.uwt-title
{
padding-bottom: 0px;
font-size: 1.2em;
}
&> div.uwt-detail
{
color: #aaaaaa;
}
}
}

View File

@ -0,0 +1,93 @@
table.uwt-listview
{
border-collapse: collapse;
margin-top: 10px;
&.uwt-expand
{
box-sizing: border-box;
width: 100%;
}
&> caption
{
text-align: left;
padding-bottom: 8px;
&> span.uwt-listview-title
{
font-weight: bold;
padding-right: 8px;
}
&> span.uwt-listview-item-count
{
}
&> span.uwt-listview-item-count-label
{
}
}
tr
{
&> th, &> td
{
padding: 10px;
}
&> th:not([colspan])
{
text-align: left;
}
}
&> thead
{
&> tr > th
{
vertical-align: bottom;
&> a
{
display: block;
/* remove the padding from the surrounding td */
margin: -10px;
/* and apply it back for this block-level a element */
padding: 10px;
}
}
}
&> tbody
{
&> tr
{
&> td
{
vertical-align: top;
}
&.uwt-selected
{
&> td
{
background-color: #08c;
color: #fff;
}
&:hover > td
{
background-color: #0075b0;
}
}
}
}
}
ul.uwt-listview
{
&> li
{
padding: 8px;
}
}
div.uwt-listview.uwt-view-thumbnails
{
&> div.uwt-listview-item
{
display: inline-block;
padding: 8px;
text-align: center;
}
}

View File

@ -0,0 +1,32 @@
div.uwt-menu-large
{
&> div.uwt-menu-section
{
display: inline-block;
vertical-align: top;
padding: 16px;
&> div.uwt-title
{
color: #aaaaaa;
text-transform: uppercase;
letter-spacing: 2px;
font-size: 12px;
padding-bottom: 24px;
}
&> div.uwt-content
{
&> ul.uwt-menu
{
&> li
{
&> a
{
cursor: pointer;
display: block;
padding: .438rem 1.25rem;
}
}
}
}
}
}

View File

@ -0,0 +1,43 @@
ul.uwt-menu
{
list-style-type: none;
padding-left: 0px;
margin: 0px;
&> li
{
&:not(.uwt-visible)
{
display: none;
}
&> a
{
display: block;
padding: .438rem 1.25rem;
text-decoration: none;
&> span
{
/* not required, but if used, block-level elements */
display: block;
&.uwt-title
{
font-weight: bold;
}
}
}
&.uwt-separator
{
border-bottom: solid 1px #eee;
margin-left: 8px;
margin-right: 8px;
margin-top: 4px;
margin-bottom: 4px;
}
}
}
div.uwt-popup.uwt-contextmenu
{
position: fixed;
}

View File

@ -0,0 +1,11 @@
div.uwt-meter
{
&> div.uwt-meter-wrapper
{
&> canvas.uwt-meter-canvas
{
width: 48px;
height: 48px;
}
}
}

View File

@ -0,0 +1,24 @@
body
{
&> div.uwt-page-header, &> form > div.uwt-page-header
{
display: flex;
&> div.uwt-title
{
flex: auto;
}
&> input.uwt-searchbox
{
width: 20%;
margin: 6px;
}
}
}
body:not(.uwt-header-visible)
{
&> div.uwt-page-header, &> form > div.uwt-page-header
{
display: none;
}
}

View File

@ -0,0 +1,139 @@
body
{
margin: 0px;
}
@media (min-width: 1000px)
{
body
{
&:not(.uwt-hide-sidebar)
{
&> div.uwt-page, &> form > div.uwt-page
{
margin-left: 260px;
}
}
}
}
body
{
&:not(.uwt-hide-header)
{
&> div.uwt-page, &> form > div.uwt-page
{
/* margin-top: 60px; */
}
}
&.uwt-hide-sidebar
{
margin-left: 0px;
&> div.uwt-sidebar, &> form > div.uwt-sidebar
{
display: none;
}
}
}
body, body > form
{
&> div.uwt-page
{
margin-right: 0px;
margin-bottom: 0px;
&> div.uwt-header, &> div.uwt-footer
{
padding: 32px;
}
&> div.uwt-header
{
position: relative;
&> div.uwt-title
{
font-size: 18pt;
font-weight: 300;
margin: 0px;
}
&> div.uwt-subtitle
{
font-size: 12pt;
font-weight: 300;
margin-top: 16px;
color: rgba(0,0,0,0.6);
}
&> div.uwt-controlbox
{
position: absolute;
top: 48px;
right: 32px;
&> ul
{
list-style-type: none;
margin: 0px;
padding: 0px;
&> li
{
&> a > i
{
font-size: 18pt;
}
display: inline-block;
&+ li
{
margin-left: 16px;
}
}
}
}
}
&> div.uwt-content
{
padding: 40px;
}
}
&> div.uwt-footer
{
position: fixed;
left: 260px; /* get this from uwt-sidebar.less */
bottom: 0px;
right: 0px;
border-top: 1px solid #d2d3d6;
background-color: #edeef0;
padding: 16px;
}
}
body:not(.uwt-loading) div#uwt-page-loading
{
display: none;
}
@media (max-width: 999px)
{
body
{
&> div.uwt-page, &> form > div.uwt-page
{
margin-left: 0px;
}
&> form > div.uwt-sidebar, body > div.uwt-sidebar
{
display: none;
}
}
}
@media print
{
body, body > form
{
&> div.uwt-page
{
margin-left: 0px;
}
margin: 0px;
&> div.uwt-footer
{
left: 0px;
}
}
}

View File

@ -0,0 +1,35 @@
div.uwt-panel
{
background-color: #FFFFFF;
border: solid 1px #aeaeae;
box-shadow: 0px 0px 24px #aeaeae;
&> div.uwt-header
{
font-size: 18pt;
font-weight: 300;
padding: 24px;
}
&> div.uwt-content
{
padding: 24px;
}
&> div.uwt-footer
{
background-color: #eeeeee;
border-top: solid 1px #cccccc;
padding: 24px;
text-align: right;
}
&.uwt-loading > div.uwt-content::after
{
position: absolute;
content: "";
background-image: url('data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==');
display: block;
width: 32px;
height: 32px;
margin-left: auto;
margin-right: auto;
position: relative;
}
}

View File

@ -0,0 +1,33 @@
div.uwt-popup
{
opacity: 0;
visibility: hidden;
position: absolute;
z-index: 150;
font-size: initial;
font-weight: initial;
&.uwt-visible
{
opacity: 1;
visibility: visible;
}
min-width: 10rem;
/* padding: .3125rem 0; */
margin: .125rem 0 0;
box-shadow: 0 1px 6px rgba(0,0,0,0.09);
transition: opacity .3s, visibility .3s;
&> div.uwt-spinner
{
margin-left: auto;
margin-right: auto;
margin-top: 48px;
margin-bottom: 48px;
}
}

View File

@ -0,0 +1,31 @@
div.uwt-progressbar
{
background-color: rgba(24,28,33,0.03);
border-radius: 10rem;
margin-top: .25rem !important;
margin-bottom: 1.5rem !important;
height: 4px;
overflow: hidden;
position: relative;
}
div.uwt-progressbar > div.uwt-progressbar-value
{
transition: width 0.6s ease;
width: 0%;
}
@keyframes progress-marquee
{
from { left: -25%; }
to { left: 125%; }
}
div.uwt-progressbar.uwt-progressbar-marquee > div.uwt-progressbar-value
{
position: absolute;
width: 25% !important;
animation: progress-marquee;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: infinite;
}

View File

@ -0,0 +1,113 @@
div.uwt-ribbon-listview
{
border: solid 1px #cccccc;
background-color: #ffffff;
display: flex;
&> div.uwt-scrollbar
{
display: flex;
flex-direction: column;
&> a
{
display: block;
width: 10px;
text-decoration: none;
border: solid 1px transparent;
margin: -1px;
padding: 1px;
flex-grow: 1;
&:hover
{
border-color: #eeeeee;
background-color: #eeeeee;
}
&.uwt-scrollbar-button
{
cursor: default;
&::before
{
content: " ";
display: block;
margin-top: 10px;
margin-left: 3px;
position: absolute;
width: 5px;
height: 3px;
}
&.uwt-disabled
{
cursor: default;
&::before
{
opacity: 0.3;
}
}
}
&.uwt-scrollbar-button-up
{
&::before
{
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAADCAYAAABbNsX4AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+2SlUqgnYQcchQdbEgWsRRq1CECqFWaNXB5NI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC4A+Im5uToouU+F1SaBHjHcc9vPe9L3ffAf56malmxwSgapaRSsSFTHZVCL6iG/00xxCTmKnPiWISnuPrHj6+30V5lnfdn6NXyZkM8AnEs0w3LOIN4ulNS+e8TxxmRUkhPiceN+iCxI9cl11+41xw2M8zw0Y6NU8cJhYKbSy3MSsaKnGMOKKoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5rGAksYgkiBMioooQyLERp10gxkaLzuId/yPGL5JLJVQIjxwIqUCE5fvA/+N1bMz816SaF4kDni21/jADBXaBRs+3vY9tunACBZ+BKa/krdWDmk/RaS4scAX3bwMV1S5P3gMsdYPBJlwzJkQK0/Pk88H5G35QFBm6BnjW3b81znD4AaepV8gY4OARGC5S97vHurva+/VvT7N8PwFhyxlX78fMAAAAGYktHRAD/AAAA/x4lk34AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflCRIUExeEThINAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAAB1JREFUCNdjYICCurq6/zA2I7pAU1MTIyOyAAwAACpFCPXLR2gjAAAAAElFTkSuQmCC');
}
}
&.uwt-scrollbar-button-down
{
&::before
{
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAADCAYAAABbNsX4AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+2SlUqgnYQcchQdbEgWsRRq1CECqFWaNXB5NI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC4A+Im5uToouU+F1SaBHjHcc9vPe9L3ffAf56malmxwSgapaRSsSFTHZVCL6iG/00xxCTmKnPiWISnuPrHj6+30V5lnfdn6NXyZkM8AnEs0w3LOIN4ulNS+e8TxxmRUkhPiceN+iCxI9cl11+41xw2M8zw0Y6NU8cJhYKbSy3MSsaKnGMOKKoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5rGAksYgkiBMioooQyLERp10gxkaLzuId/yPGL5JLJVQIjxwIqUCE5fvA/+N1bMz816SaF4kDni21/jADBXaBRs+3vY9tunACBZ+BKa/krdWDmk/RaS4scAX3bwMV1S5P3gMsdYPBJlwzJkQK0/Pk88H5G35QFBm6BnjW3b81znD4AaepV8gY4OARGC5S97vHurva+/VvT7N8PwFhyxlX78fMAAAAGYktHRAD/AAAA/x4lk34AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflCRIUExAaKoeuAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAAB5JREFUCNdjrKur+8+ABhgZGBgYkCWampoY4bLIEgAqbwj1ABBIfwAAAABJRU5ErkJggg==');
}
}
&.uwt-scrollbar-button-expand
{
&::before
{
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+2SlUqgnYQcchQdbEgWsRRq1CECqFWaNXB5NI/aNKQpLg4Cq4FB38Wqw4uzro6uAqC4A+Im5uToouU+F1SaBHjHcc9vPe9L3ffAf56malmxwSgapaRSsSFTHZVCL6iG/00xxCTmKnPiWISnuPrHj6+30V5lnfdn6NXyZkM8AnEs0w3LOIN4ulNS+e8TxxmRUkhPiceN+iCxI9cl11+41xw2M8zw0Y6NU8cJhYKbSy3MSsaKnGMOKKoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5rGAksYgkiBMioooQyLERp10gxkaLzuId/yPGL5JLJVQIjxwIqUCE5fvA/+N1bMz816SaF4kDni21/jADBXaBRs+3vY9tunACBZ+BKa/krdWDmk/RaS4scAX3bwMV1S5P3gMsdYPBJlwzJkQK0/Pk88H5G35QFBm6BnjW3b81znD4AaepV8gY4OARGC5S97vHurva+/VvT7N8PwFhyxlX78fMAAAAGYktHRAD/AAAA/x4lk34AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQflCRIUEie7jBPgAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAAClJREFUCNdjrKur+89AdcDIwMDAgM3opqYmRkYYB1lBU1MTI4Yx6CYAAJuhDPakghFwAAAAAElFTkSuQmCC');
width: 7px;
height: 6px;
margin-left: 1px;
}
}
}
}
&> div.uwt-content
{
height: 80px;
overflow: hidden;
flex-grow: 1;
transition: all 0.3s;
&> div.uwt-listview-item
{
border: solid 1px transparent;
display: inline-block;
padding: 11px 16px;
&:hover
{
background-color: #eeeeee;
border-color: #eeeeee;
}
&> img
{
display: block;
margin-left: auto;
margin-right: auto;
width: 32px;
height: 32px;
}
&> span.uwt-title
{
display: block;
text-align: center;
font-size: smaller;
}
}
}
}
div.uwt-ribbon > div.uwt-ribbon-tab-contents > div.uwt-ribbon-tab-content > div.uwt-ribbon-tab-group > div.uwt-content > div.uwt-ribbon-literal > div.uwt-ribbon-listview
{
margin-top: 20px;
}

View File

@ -0,0 +1,180 @@
.mso-radial-gradient(@start, @end)
{
background: radial-gradient(ellipse at top, @start, transparent), radial-gradient(ellipse at bottom, @end, transparent);
}
div.uwt-ribbon
{
visibility: hidden;
opacity: 0;
height: 0px;
transition: all 0.3s;
overflow: hidden;
&.uwt-visible
{
visibility: visible;
opacity: 1;
height: 168px;
&.uwt-ribbon-collapsed
{
height: 48px;
&> div.uwt-ribbon-tab-contents
{
position: absolute;
height: 94px;
left: 0px;
right: 0px;
margin-top: 1px;
}
}
}
-moz-user-select: none;
&> div.uwt-ribbon-application-button
{
padding: 10px 0px;
position: absolute;
left: 0px;
&> a
{
text-align: center;
padding: 10px 30px;
}
}
&> ul.uwt-ribbon-tab-buttons
{
list-style-type: none;
padding: 0px;
padding-left: 96px;
margin: 0px;
margin-top: 2px;
display: block;
&> li
{
display: inline-block;
border: solid 1px transparent;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
padding: 10px 20px;
margin-bottom: -1px;
&:hover
{
.mso-radial-gradient(#c4ddfe, #e3d198);
border-color: #99bbe8;
}
}
}
&> div.uwt-ribbon-tab-contents
{
&> div.uwt-ribbon-tab-content
{
&:not(.uwt-visible)
{
display: none;
}
&> div.uwt-ribbon-tab-group
{
border-radius: 3px;
display: inline-block;
height: 120px;
margin-bottom: 4px;
vertical-align: top;
position: relative;
&> div.uwt-content
{
.uwt-ribbon-command, .uwt-ribbon-command-container
{
display: inline-block;
}
.uwt-ribbon-command
{
margin: 2px;
vertical-align: top;
div.uwt-title
{
padding: 2px 4px;
text-align: center;
}
img
{
display: block;
margin-left: auto;
margin-right: auto;
width: 32px;
padding: 4px;
}
&.uwt-button
{
border: solid 1px transparent;
border-radius: 3px;
}
&.uwt-ribbon-hide-title > div.uwt-title
{
display: none;
}
&> div.uwt-title
{
min-width: 40px;
max-width: 70px;
font-size: 10pt;
}
&.uwt-splitbutton
{
&> div.uwt-button
{
padding: 10px 4px;
}
&> div.uwt-dropdown-button
{
padding: 2px 0px;
}
}
}
.uwt-ribbon-command-container
{
&> .uwt-ribbon-command
{
display: block;
img
{
width: 16px;
}
}
&.uwt-orientation-vertical > .uwt-ribbon-command
{
&> img { display: inline-block; }
&> div.uwt-title { display: inline-block; text-align: left; }
}
}
}
&> div.uwt-title
{
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
text-align: center;
}
}
}
}
}

View File

@ -0,0 +1,14 @@
body, body > form
{
&> div.uwt-header > div.uwt-header-item.uwt-searchbar > div.uwt-popup
{
&:not(.uwt-loading) > div.uwt-spinner
{
display: none;
}
&.uwt-loading > div.uwt-dropdown-content
{
display: none;
}
}
}

View File

@ -0,0 +1,9 @@
div.uwt-sidebar > div.uwt-sidebar-panel > div.uwt-profile-image
{
padding-right: 5px;
display: inline-block;
}
div.uwt-sidebar > div.uwt-sidebar-panel > div.uwt-profile-image, div.uwt-sidebar > div.uwt-sidebar-panel > div.uwt-profile-details
{
display: inline-block;
}

View File

@ -0,0 +1,46 @@
div.uwt-sidebar
{
position: fixed;
top: 60px;
left: 0px;
width: 260px;
bottom: 0px;
ul
{
list-style-type: none;
margin: 0px;
padding: 0px;
&> li
{
&> ul
{
background-color: rgba(0, 0, 0, 0.1);
}
&> a
{
display: block;
padding-left: 5px;
line-height: 42px;
&:hover
{
text-decoration: none;
}
}
&> i.fa
{
display: inline-block;
width: 45px;
text-align: center;
}
}
}
}
@media print
{
div.uwt-sidebar
{
display: none;
}
}

View File

@ -0,0 +1,67 @@
@uwt-slider-padding: 8px;
div.uwt-slider
{
position: relative;
user-select: none;
padding-top: @uwt-slider-padding;
padding-bottom: @uwt-slider-padding;
&:not(.uwt-disable-animation)
{
&> div.uwt-slider-bar
{
&> div.uwt-slider-selection
{
transition: width 0.2s ease-in;
}
&> div.uwt-slider-button
{
transition: left 0.2s ease-in;
}
}
}
&> div.uwt-slider-bar
{
height: 2px;
&> div.uwt-slider-selection
{
position: absolute;
left: 0px;
width: 0px;
height: 2px;
}
&> div.uwt-slider-button
{
border-radius: .75rem;
width: .75rem;
height: .75rem;
position: absolute;
left: 0px;
top: @uwt-slider-padding - 5px;
}
}
&.uwt-large
{
padding-top: @uwt-slider-padding + 8px;
padding-bottom: @uwt-slider-padding + 8px;
&> div.uwt-slider-bar
{
height: 4px;
&> div.uwt-slider-selection
{
height: 4px;
}
&> div.uwt-slider-button
{
border-radius: 30px;
width: 30px;
height: 30px;
top: (@uwt-slider-padding + 8px) - 15px;
}
}
}
}

View File

@ -0,0 +1,16 @@
div.uwt-spinbutton
{
&> a.uwt-button-up, &> a.uwt-button-down, &> label
{
display: block;
}
&> label
{
padding-top: 16px;
padding-bottom: 16px;
}
&> input
{
display: none;
}
}

View File

@ -0,0 +1,21 @@
div.uwt-spinner
{
animation: rotation .6s infinite linear;
}
div#uwt-page-loading > div.uwt-spinner
{
position: absolute;
top: 50%;
left: 50%;
}
@keyframes rotation
{
0%
{
transform: rotate(0deg);
}
100%
{
transform: rotate(359deg);
}
}

View File

@ -0,0 +1,32 @@
div.uwt-splashscreen
{
opacity: 0;
visibility: hidden;
transition: all 0.3s;
position: fixed;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
z-index: 5000;
&.uwt-visible
{
opacity: 1;
visibility: visible;
}
}
body.uwt-loading
{
cursor: wait;
overflow: hidden;
&> div.uwt-splashscreen
{
opacity: 1;
visibility: visible;
}
}

View File

@ -0,0 +1,23 @@
div.uwt-stack-container
{
position: relative;
&> div.uwt-stack-page
{
position: absolute;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
visibility: hidden;
opacity: 0;
transition: visibility 0.3s, opacity 0.3s;
&.uwt-visible
{
visibility: visible;
opacity: 1;
}
}
}

View File

@ -0,0 +1,75 @@
label.uwt-switch
{
position: relative;
display: inline-block;
margin-right: .75rem;
margin-bottom: 0;
border-radius: 60rem;
vertical-align: middle;
font-weight: normal;
cursor: default;
padding-left: 2.375rem;
min-height: 1.375rem;
font-size: .894rem;
line-height: 1.4;
input.uwt-switch-input
{
display: none;
}
.uwt-switch-indicator::after
{
top: 0;
margin: .25rem 0 0 .25rem;
width: .875rem;
height: .875rem;
}
.uwt-switch-unchecked
{
padding-right: .25rem;
padding-left: 1.125rem;
left: 100%;
color: transparent;
}
.uwt-switch-checked
{
left: 0;
}
input.uwt-switch-input:checked ~ .uwt-switch-indicator
{
background: #26B4FF;
color: #FFFFFF;
.uwt-switch-unchecked
{
left: 100%;
color: transparent;
}
.uwt-switch-checked
{
left: 0;
}
}
.uwt-switch-unchecked, .uwt-switch-checked
{
position: absolute;
top: 0;
width: 100%;
height: 100%;
text-align: center;
transition-duration: .2s;
transition-property: left, right;
}
}
.uwt-switch-indicator::after
{
content: "";
position: absolute;
left: 0;
display: block;
border-radius: 999px;
background: #fff;
box-shadow: 0 0 0 1px rgba(24,28,33,0.04),0 1px 6px rgba(24,28,33,0.09);
transition-duration: .2s;
transition-property: left, right, background;
}

View File

@ -0,0 +1,89 @@
div.uwt-tabcontainer
{
box-sizing: border-box;
/* display: table; */
&.uwt-expand
{
width: 100%;
}
&> ul.uwt-tabcontainer-tabs
{
&> li
{
display: none;
margin-bottom: -1px;
&.uwt-visible
{
display: inline-block;
}
&> a
{
text-decoration: none;
padding: 10px 15px;
}
&.uwt-visible > a
{
display: block;
}
}
list-style-type: none;
margin: 0px;
padding: 0px;
}
&> div.uwt-tabcontainer-tabpages
{
position: relative;
&> div.uwt-tabpage
{
/*display: none;*/
/*
position: absolute;
left: 0px;
top: 0px;
right: 0px;
*/
/*
opacity: 0;
visibility: hidden;
*/
display: none;
opacity: 0;
visibility: hidden;
padding: 10px 15px;
&.uwt-selected
{
display: block;
/*
opacity: 1;
visibility: visible;
*/
/*display: block;*/
opacity: 1;
visibility: visible;
}
}
}
&.uwt-position-bottom
{
position: relative;
&> ul.uwt-tabcontainer-tabs
{
position: absolute;
bottom: 0px;
left: 0px;
right: 0px;
}
&> ul.uwt-tabcontainer-tabpages
{
left: 0px;
right: 0px;
}
}
}

View File

@ -0,0 +1,32 @@
input[type=text], input[type=password], textarea
{
padding: 10px;
}
div.uwt-textbox
{
&.uwt-selection-required
{
&> div > input
{
cursor: default;
&:focus
{
cursor: text;
}
}
}
&> select
{
display: none;
}
}
div.uwt-popup.uwt-textbox-popup
{
background: #ffff;
&> div.uwt-dropdown-content > ul.uwt-menu
{
max-height: 186px;
overflow-y: scroll;
}
}

View File

@ -0,0 +1,63 @@
div.uwt-tile-container
{
display: flex;
&> div.uwt-tile
{
display: flex;
flex-direction: column;
flex-grow: 1;
&:first-child
{
margin-right: 8px;
}
&+ div.uwt-tile
{
margin-left: 8px;
}
&> div.uwt-header
{
letter-spacing: 0.1em;
padding: 6px 10px;
border-top-right-radius: 1px;
border-top-left-radius: 1px;
text-transform: uppercase;
text-align: center;
font-size: 11px;
}
&> div.uwt-content
{
flex-grow: 1;
padding: 10px 20px;
font-weight: 300;
font-size: 48px;
text-align: center;
&> small
{
display: block;
font-size: 14px;
}
}
&> div.uwt-footer
{
padding: 5px 10px;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 1px;
&> a + a
{
margin-left: 8px;
}
}
}
}
@media (max-width: 1000px)
{
div.uwt-tile-container
{
&> div.uwt-tile
{
}
}
}

View File

@ -0,0 +1,35 @@
div.uwt-toolbar
{
&> a
{
margin: 4px;
}
&> span.uwt-separator
{
width: 0px;
display: inline-block;
-moz-user-select: none;
height: 30px;
top: -4px;
position: relative;
}
}
@media (max-width: 600px)
{
div.uwt-toolbar
{
&> div.uwt-button
{
display: block;
margin-bottom: 8px;
&> a
{
display: block;
}
}
}
}

View File

@ -0,0 +1,29 @@
div.uwt-tooltip
{
max-width: 400px;
padding: .25rem .5rem;
text-align: left;
border-radius: .25rem;
position: fixed;
opacity: 0;
transition: opacity 0.3s;
z-index: 1000;
&.uwt-visible
{
opacity: 1;
}
&> div.uwt-title
{
font-weight: bold;
padding: 8px;
padding-bottom: 4px;
}
&> div.uwt-content
{
padding: 8px;
padding-top: 4px;
}
}

View File

@ -0,0 +1,31 @@
ul.uwt-treeview, ul.uwt-treeview ul
{
list-style-type: none;
margin: 0px;
padding: 0px;
padding-left: 32px;
li
{
position: relative;
&:not(.uwt-expanded) ul
{
display: none;
}
&> span.uwt-treeview-item
{
&> span.uwt-treeview-toggler
{
display: inline-block;
position: absolute;
top: 8px;
left: 16px;
}
display: block;
padding: 8px;
padding-left: 32px;
}
}
}

View File

@ -0,0 +1,21 @@
div.uwt-uml-diagram
{
&> div.uwt-uml-class
{
background-color: #ffffff;
border: solid 1px #cccccc;
box-shadow: 4px 4px 8px #aaaaaa;
display: inline-block;
&> div.uwt-title, &> div.uwt-content
{
padding: 16px;
}
&> div.uwt-title
{
border-bottom: solid 1px #cccccc;
font-weight: bold;
}
}
}

View File

@ -0,0 +1,23 @@
div.uwt-window
{
&> div.uwt-header
{
-moz-user-select: none;
}
&.uwt-footer-hidden > div.uwt-footer
{
display: none;
}
}
div.uwt-modal-background
{
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
left: 0px;
right: 0px;
bottom: 0px;
top: 0px;
z-index: -1;
}

View File

@ -0,0 +1,75 @@
div.uwt-wunderbar
{
position: absolute;
bottom: 0px;
top: 0px;
left: 0px;
right: 0px;
&> div.uwt-content
{
position: relative;
height: 100%;
&> div.uwt-wunderbar-content
{
position: absolute;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
&:not(.uwt-visible)
{
opacity: 0;
visibility: hidden;
}
}
}
&> div.uwt-wunderbar-buttons
{
position: absolute;
bottom: 0px;
right: 0px;
left: 0px;
&> div.uwt-wunderbar-gripper
{
height: 18px;
display: block;
cursor: ns-resize;
-moz-user-select: none;
&> div.uwt-gripper
{
margin-left: auto;
margin-right: auto;
display: block;
width: 38px;
}
}
&> div.uwt-wunderbar-overflow
{
height: 28px;
}
&> ul
{
list-style-type: none;
margin: 0px;
padding: 0px;
&> li
{
&> a
{
display: block;
margin-top: -1px;
margin-bottom: -1px;
padding: 8px;
text-decoration: none;
}
}
}
}
}
div.uwt-sidebar > div.uwt-wunderbar ul li a
{
line-height: initial;
}

View File

@ -0,0 +1,146 @@
/*
@import "uwt-button.less";
@import "uwt-column.less";
@import "uwt-expand.less";
@import "uwt-formview.less";
@import "uwt-header.less";
@import "uwt-panel.less";
@import "uwt-page.less";
@import "uwt-sidebar.less";
@import "uwt-sidebar-profile.less";
@import "uwt-textbox.less";
@import "uwt-tile.less";
*/
// @import "Fonts/FontAwesome/FontAwesome.css";
html
{
height: 100%;
}
body
{
height: 100%;
overflow: hidden;
}
h1
{
font-size: 42px;
font-weight: 300;
}
h1, h2, h3
{
font-weight: 300;
}
h4
{
font-size: 18px;
}
h4, h5, h6
{
font-weight: 400;
}
div.uwt-container.uwt-layout-box-horizontal
{
&> *
{
display: inline-block;
}
}
div.uwt-center
{
margin-left: auto;
margin-right: auto;
}
.linear-gradient-twostop(@start, @end)
{
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#dcfcff+0,7cc2ec+50,5bacdc+51,bcf8ff+100 */
background: @start; /* Old browsers */
background: -moz-linear-gradient(top, @start 0%, @end 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, @start 0%,@end 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, @start 0%,@end 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{start}', endColorstr='@{end}',GradientType=0 ); /* IE6-9 */
}
.linear-gradient-fourstop(@start, @startmid, @endmid, @end)
{
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#dcfcff+0,7cc2ec+50,5bacdc+51,bcf8ff+100 */
background: @start; /* Old browsers */
background: -moz-linear-gradient(top, @start 0%, @startmid 50%, @endmid 51%, @end 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, @start 0%,@startmid 50%,@endmid 51%,@end 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, @start 0%,@startmid 50%,@endmid 51%,@end 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{start}', endColorstr='@{end}',GradientType=0 ); /* IE6-9 */
}
.user-select(@param)
{
-webkit-user-select: @param;
-moz-user-select: @param;
-ms-user-select: @param;
user-select: @param;
}
.UwtColors()
{
&.uwt-color-primary
{
background-color: @ThemeColorPrimaryLight;
border-color: @ThemeColorPrimary;
}
&.uwt-color-info
{
background-color: @ThemeColorInfoLight;
border-color: @ThemeColorInfo;
}
&.uwt-color-purple
{
background-color: @ThemeColorPurpleLight;
border-color: @ThemeColorPurple;
}
&.uwt-color-indigo
{
background-color: @ThemeColorIndigoLight;
border-color: @ThemeColorIndigo;
}
&.uwt-color-success
{
background-color: @ThemeColorSuccessLight;
border-color: @ThemeColorSuccess;
}
&.uwt-color-green
{
background-color: @ThemeColorGreenLight;
border-color: @ThemeColorGreen;
}
&.uwt-color-lime
{
background-color: @ThemeColorLimeLight;
border-color: @ThemeColorLime;
}
&.uwt-color-warning
{
background-color: @ThemeColorWarningLight;
border-color: @ThemeColorWarning;
}
&.uwt-color-yellow
{
background-color: @ThemeColorYellowLight;
border-color: @ThemeColorYellow;
}
&.uwt-color-danger
{
background-color: @ThemeColorDangerLight;
border-color: @ThemeColorDanger;
}
&.uwt-color-pink
{
background-color: @ThemeColorPinkLight;
border-color: @ThemeColorPink;
}
}
.uwt-nonexistent
{
display: none;
}

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
namespace Mocha.Core; namespace Mocha.Core;
public struct AttributeValue public struct AttributeValue

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
// //
// ExportEntitiesAttribute.cs // ExportEntitiesAttribute.cs
// //

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
// //
// InstanceReference.cs // InstanceReference.cs
// //
@ -79,6 +96,10 @@ namespace Mocha.Core
if (IsEmpty) if (IsEmpty)
return "(empty) "; return "(empty) ";
if (Oms.DebugOms != null)
{
return Oms.DebugOms.GetInstanceText(this);
}
return _ID.ToString(); return _ID.ToString();
} }

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
// //
// InstanceKey.cs // InstanceKey.cs
// //

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using System; using System;
namespace Mocha.Core namespace Mocha.Core
{ {
@ -10,6 +27,7 @@ namespace Mocha.Core
public static Guid Value { get; } = new Guid("{041DD7FD-2D9C-412B-8B9D-D7125C166FE0}"); public static Guid Value { get; } = new Guid("{041DD7FD-2D9C-412B-8B9D-D7125C166FE0}");
public static Guid CSSValue { get; } = new Guid("{C0DD4A42-F503-4EB3-8034-7C428B1B8803}"); public static Guid CSSValue { get; } = new Guid("{C0DD4A42-F503-4EB3-8034-7C428B1B8803}");
public static Guid RelationshipType { get; } = new Guid("{71106B12-1934-4834-B0F6-D894637BAEED}"); public static Guid RelationshipType { get; } = new Guid("{71106B12-1934-4834-B0F6-D894637BAEED}");
public static Guid Order { get; } = new Guid("{49423f66-8837-430d-8cac-7892ebdcb1fe}");
public static Guid TargetURL { get; } = new Guid("{970F79A0-9EFE-4E7D-9286-9908C6F06A67}"); public static Guid TargetURL { get; } = new Guid("{970F79A0-9EFE-4E7D-9286-9908C6F06A67}");
@ -28,6 +46,7 @@ namespace Mocha.Core
} }
public static class Boolean public static class Boolean
{ {
public static Guid MethodIsOfTypeSpecified { get; } = new Guid("{6e9df667-0f95-4320-a4be-5cdb00f1d4ee}");
public static Guid DisplayVersionInBadge { get; } = new Guid("{BE5966A4-C4CA-49A6-B504-B6E8759F392D}"); public static Guid DisplayVersionInBadge { get; } = new Guid("{BE5966A4-C4CA-49A6-B504-B6E8759F392D}");
public static Guid Editable { get; } = new Guid("{957fd8b3-fdc4-4f35-87d6-db1c0682f53c}"); public static Guid Editable { get; } = new Guid("{957fd8b3-fdc4-4f35-87d6-db1c0682f53c}");
public static Guid Static { get; } = new Guid("{9A3A0719-64C2-484F-A55E-22CD4597D9FD}"); public static Guid Static { get; } = new Guid("{9A3A0719-64C2-484F-A55E-22CD4597D9FD}");
@ -41,6 +60,7 @@ namespace Mocha.Core
} }
public static class Numeric public static class Numeric
{ {
public static Guid Seed { get; } = new Guid("{ee6f8b91-e471-4281-8bbe-ad858388bcc2}");
public static Guid Index { get; } = new Guid("{0f31b9ca-e3e2-4c62-8c9e-b55f16eafbf9}"); public static Guid Index { get; } = new Guid("{0f31b9ca-e3e2-4c62-8c9e-b55f16eafbf9}");
public static Guid Level { get; } = new Guid("{8C528FB0-4063-47B0-BC56-85E387A41BD2}"); public static Guid Level { get; } = new Guid("{8C528FB0-4063-47B0-BC56-85E387A41BD2}");
public static Guid DebugDefinitionLineNumber { get; } = new Guid("{822be9b7-531d-4aa1-818a-6e4de1609057}"); public static Guid DebugDefinitionLineNumber { get; } = new Guid("{822be9b7-531d-4aa1-818a-6e4de1609057}");
@ -51,6 +71,7 @@ namespace Mocha.Core
public static Guid MinimumValue { get; } = new Guid("{bc90ffdf-9b6e-444a-a484-f9d06d7f3c31}"); public static Guid MinimumValue { get; } = new Guid("{bc90ffdf-9b6e-444a-a484-f9d06d7f3c31}");
public static Guid MaximumValue { get; } = new Guid("{b9353b1c-2597-4097-96eb-449a6fafcdab}"); public static Guid MaximumValue { get; } = new Guid("{b9353b1c-2597-4097-96eb-449a6fafcdab}");
public static Guid RandomNumber { get; } = new Guid("{1e18b839-5a53-495e-a240-8ec03b6b9c0d}");
} }
} }
} }

View File

@ -1,4 +1,22 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
using System; using System;
using System.Data;
namespace Mocha.Core namespace Mocha.Core
{ {
public static class KnownInstanceGuids public static class KnownInstanceGuids
@ -23,8 +41,11 @@ namespace Mocha.Core
public static Guid Element { get; } = new Guid("{91929595-3dbd-4eae-8add-6120a49797c7}"); public static Guid Element { get; } = new Guid("{91929595-3dbd-4eae-8add-6120a49797c7}");
public static Guid ElementContent { get; } = new Guid("{f85d4f5e-c69f-4498-9913-7a8554e233a4}"); public static Guid ElementContent { get; } = new Guid("{f85d4f5e-c69f-4498-9913-7a8554e233a4}");
public static Guid OMS { get; } = new Guid("{1ddf9a56-ebb8-4992-ab68-1820acf6bfc8}");
public static Guid File { get; } = new Guid("{5D081079-E136-406A-A728-7472937A6E5E}"); public static Guid File { get; } = new Guid("{5D081079-E136-406A-A728-7472937A6E5E}");
public static Guid Language { get; } = new Guid("{61102B47-9B2F-4CF3-9840-D168B84CF1E5}");
public static Guid Translation { get; } = new Guid("{04A53CC8-3206-4A97-99C5-464DB8CAA6E6}"); public static Guid Translation { get; } = new Guid("{04A53CC8-3206-4A97-99C5-464DB8CAA6E6}");
public static Guid TranslationValue { get; } = new Guid("{6D38E757-EC18-43AD-9C35-D15BB446C0E1}"); public static Guid TranslationValue { get; } = new Guid("{6D38E757-EC18-43AD-9C35-D15BB446C0E1}");
@ -41,10 +62,15 @@ namespace Mocha.Core
public static Guid Method { get; } = new Guid("{D2813913-80B6-4DD6-9AD6-56D989169734}"); public static Guid Method { get; } = new Guid("{D2813913-80B6-4DD6-9AD6-56D989169734}");
public static Guid AccumulationFunction { get; } = new Guid("{64f1b972-63c8-46c9-94a5-17a3cab957fe}");
public static Guid SelectionFunction { get; } = new Guid("{bdaef55d-9905-4d24-84c2-7439d43a79df}");
// public static Guid MethodCall { get; } = new Guid("{084A6D58-32C9-4A5F-9D2B-86C46F74E522}"); // public static Guid MethodCall { get; } = new Guid("{084A6D58-32C9-4A5F-9D2B-86C46F74E522}");
public static Guid ConditionGroup { get; } = new Guid("{df2059e6-650c-49a8-8188-570ccbe4fd2d}");
public static Guid ConditionalEvaluationCase { get; } = new Guid("{ba18abdc-11ae-46af-850a-eb30280b0ffa}"); public static Guid ConditionalEvaluationCase { get; } = new Guid("{ba18abdc-11ae-46af-850a-eb30280b0ffa}");
public static Guid ConditionalSelectAttributeCase { get; } = new Guid("{a1115690-c400-4e3e-9c8f-24e2a9477e8f}"); public static Guid ConditionalSelectAttributeCase { get; } = new Guid("{a1115690-c400-4e3e-9c8f-24e2a9477e8f}");
public static Guid ConditionalSelectFromInstanceSetCase { get; } = new Guid("{d799b07a-3f9e-4cb2-bd91-40ffa688ccb1}");
public static Guid AccessModifier { get; } = new Guid("{ca4fcc11-16c8-4872-a712-82e589d382ce}"); public static Guid AccessModifier { get; } = new Guid("{ca4fcc11-16c8-4872-a712-82e589d382ce}");
@ -80,6 +106,10 @@ namespace Mocha.Core
public static Guid Module { get; } = new Guid("{e009631d-6b9d-445c-95df-79f4ef8c8fff}"); public static Guid Module { get; } = new Guid("{e009631d-6b9d-445c-95df-79f4ef8c8fff}");
public static Guid SystemRoutine { get; } = new Guid("{6e5265af-f73d-420c-b9d5-cf2fdc90363d}");
public static Guid SystemInstanceSetRoutine { get; } = new Guid("{d17a6d27-da03-4b5d-9256-f67f978f403d}");
public static Guid SystemAttributeRoutine { get; } = new Guid("{117f4b9c-2678-4747-aced-78d93c25dcd7}");
public static Guid Report { get; } = new Guid("{19D947B6-CE82-4EEE-92EC-A4E01E27F2DB}"); public static Guid Report { get; } = new Guid("{19D947B6-CE82-4EEE-92EC-A4E01E27F2DB}");
public static Guid ReportColumn { get; } = new Guid("{BEFE99A1-B2EB-4365-A2C9-061C6609037B}"); public static Guid ReportColumn { get; } = new Guid("{BEFE99A1-B2EB-4365-A2C9-061C6609037B}");
public static Guid StandardReport { get; } = new Guid("{FDF4A498-DE83-417D-BA01-707372125C8D}"); public static Guid StandardReport { get; } = new Guid("{FDF4A498-DE83-417D-BA01-707372125C8D}");
@ -127,8 +157,22 @@ namespace Mocha.Core
public static Guid Theme { get; } = new Guid("{7c2cc4b5-8323-4478-863b-1759d7adf62e}"); public static Guid Theme { get; } = new Guid("{7c2cc4b5-8323-4478-863b-1759d7adf62e}");
public static Guid CommonText { get; } = new Guid("{a48a5fb2-f80c-47f9-bc47-7adef34d061b}");
public static Guid CommonBoolean { get; } = new Guid("{5b025da3-b7bd-45a9-b084-48c4a922bf72}"); public static Guid CommonBoolean { get; } = new Guid("{5b025da3-b7bd-45a9-b084-48c4a922bf72}");
public static Guid CommonNumeric { get; } = new Guid("{553c196e-0439-4be9-b8fb-4dee6f0530fd}");
public static Guid CommonDate { get; } = new Guid("{cb077f5b-f58d-4f6a-aa01-659bea754b6e}"); // {d6c033a0-b781-46d4-9515-64183f2902f5}
public static Guid CommonInstanceSet { get; } = new Guid("{3382da21-4fc5-45dc-bbd1-f7ba3ece1a1b}"); public static Guid CommonInstanceSet { get; } = new Guid("{3382da21-4fc5-45dc-bbd1-f7ba3ece1a1b}");
public static Guid BooleanOperator { get; } = new Guid("{fb85933c-e2ad-4b1c-ac2a-f92c9cc57e1c}");
public static Guid RelationalOperator { get; } = new Guid("{f1b5d26f-2347-49cb-8aae-d80dd706fce2}");
public static Guid LogicalOperator { get; } = new Guid("{340d464a-b47d-40a2-a185-be4d974b5899}");
public static Guid ArithmeticOperator { get; } = new Guid("{8196e8b1-849d-4b18-a78b-5684dca7b7f4}");
public static Guid Route { get; } = new Guid("{6c589422-3f1e-4402-afc7-27b6956aa588}");
public static Guid RouteTable { get; } = new Guid("{76e5ce90-5f64-4355-a0ee-f659cf615a63}");
} }
public static class Methods public static class Methods
{ {
@ -141,6 +185,21 @@ namespace Mocha.Core
public static Guid Tenant__get__Current_Tenant { get; } = new Guid("{22ec44d5-bede-48bb-96ca-03481611422c}"); public static Guid Tenant__get__Current_Tenant { get; } = new Guid("{22ec44d5-bede-48bb-96ca-03481611422c}");
public static Guid Instance__get__This_Instance { get; } = new Guid("{d78fe3ca-3c15-41a0-bccf-0a701b4712a4}"); public static Guid Instance__get__This_Instance { get; } = new Guid("{d78fe3ca-3c15-41a0-bccf-0a701b4712a4}");
} }
public static class GetRelationship
{
public static Guid Instance__get__Parent_Class { get; } = new Guid("{bac8c59f-8994-41e8-b0c0-659ec8efc4e2}");
// public static Guid Method__get__Parent_Class__HACK { get; } = new Guid("{89034a1c-50e5-47a1-abb8-076ece5343a8}");
}
public static class ConditionalSelectAttribute
{
public static Guid Method__get__Method_Abbreviation { get; } = new Guid("{f0c64709-385d-481b-8f58-83e507fb261c}");
public static Guid Method_Binding__get__Method_Binding_Abbreviation { get; } = new Guid("{7154cb08-0f80-4af4-bca5-c2c12e54479a}");
}
public static class GetAttributeBySystemRoutine
{
public static Guid OMS__get__Runtime_Version { get; } = new Guid("{58835bd3-21e2-43bb-a069-7f8befe9bf5d}");
public static Guid Common_Numeric__get__Random_Number { get; } = new Guid("{84b8b8eb-a2a5-4f87-9e7e-237658fa1c1f}");
}
} }
[ExportEntities(Prefix = "IDC_", Suffix = null)] [ExportEntities(Prefix = "IDC_", Suffix = null)]
@ -172,9 +231,18 @@ namespace Mocha.Core
// GEP - Get Element from Parameters Method - 63 // GEP - Get Element from Parameters Method - 63
// GAP - Get Attribute from Parameters Method - 64 // GAP - Get Attribute from Parameters Method - 64
public static Guid GetInstanceSetBySystemRoutineMethod { get; } = new Guid("{7bdc53a1-81f0-458d-96f4-5637e6e1cf49}"); // 65 public static Guid GetInstanceSetBySystemRoutineMethod { get; } = new Guid("{7bdc53a1-81f0-458d-96f4-5637e6e1cf49}"); // 65
// GAS - Get Attribute by System Routine Method - 66 /// <summary>
/// GAS - Get Attribute by System Routine Method [1$66]
/// </summary>
/// <returns></returns>
public static Guid GetAttributeBySystemRoutineMethod { get; } = new Guid("{9d45eb8c-1fb5-4260-a69c-f99a8f7a70b8}");
// GES - Get Element by System Routine Method - 67 // GES - Get Element by System Routine Method - 67
// US - Update by System Routine Method - 68 // US - Update by System Routine Method - 68
/// <summary>
/// AA - Asssign Attribute Method - 73
/// </summary>
/// <returns></returns>
public static Guid AssignAttributeMethod { get; } = new Guid("{3312A789-3B7A-4478-B329-4FF781504F9C}");
// CS - Compare Instance Sets Method - 91 // CS - Compare Instance Sets Method - 91
public static Guid CalculateDateMethod { get; } = new Guid("{1e58e284-56eb-42b4-88b9-e0a691559fa6}"); // 92 public static Guid CalculateDateMethod { get; } = new Guid("{1e58e284-56eb-42b4-88b9-e0a691559fa6}"); // 92
// EC - Evaluate Conditions Method - 94 // EC - Evaluate Conditions Method - 94
@ -186,6 +254,19 @@ namespace Mocha.Core
public static Guid InstanceOpMethod { get; } = new Guid("{4c814982-938f-4116-bdc1-827bae6a5f71}"); public static Guid InstanceOpMethod { get; } = new Guid("{4c814982-938f-4116-bdc1-827bae6a5f71}");
public static Guid ConditionalSelectAttributeMethod { get; } = new Guid("{d534a369-321e-4c32-bd7f-8ff2017f191e}"); // 13038 public static Guid ConditionalSelectAttributeMethod { get; } = new Guid("{d534a369-321e-4c32-bd7f-8ff2017f191e}"); // 13038
// SSC - Conditional Select from Instance Set Method - 13039 // SSC - Conditional Select from Instance Set Method - 13039
public static Guid ConditionalSelectFromInstanceSetMethod { get; } = new Guid("{ffea8e52-06e5-4e95-8c40-da3ba54ce95f}"); // 13039
}
public static class SystemAttributeRoutines
{
public static Guid GetRuntimeVersion { get; } = new Guid("{dc4e6c8d-936d-457f-90e9-af47e229b80c}");
// public static Guid SystemInstanceSetRoutine { get; } = new Guid("{d17a6d27-da03-4b5d-9256-f67f978f403d}");
public static Guid GetRandomNumber { get; } = new Guid("{8f7945da-4cad-49cb-9838-85f3524a5adb}");
}
public static class SystemInstanceSetRoutines
{
public static Guid GetRuntimeVersion { get; } = new Guid("{dc4e6c8d-936d-457f-90e9-af47e229b80c}");
// public static Guid SystemInstanceSetRoutine { get; } = new Guid("{d17a6d27-da03-4b5d-9256-f67f978f403d}");
} }
public static class PromptValueClasses public static class PromptValueClasses
{ {
@ -257,6 +338,15 @@ namespace Mocha.Core
public static Guid Width { get; } = new Guid("{7a84cf37-c445-4e75-ab1a-075bb99067f2}"); public static Guid Width { get; } = new Guid("{7a84cf37-c445-4e75-ab1a-075bb99067f2}");
} }
[ExportEntities(Prefix = "IDI_AccessModifier_", Suffix = null)]
public static class AccessModifiers
{
public static Guid Private { get; } = new Guid("{82bef402-2a8b-45d2-bfef-0de3a355bd22}");
public static Guid Protected { get; } = new Guid("{23e264b2-e8a0-4d0c-96c2-308586a46eaa}");
public static Guid Public { get; } = new Guid("{68be791f-f64b-4eeb-bc6a-2f040c4e90d2}");
public static Guid RootA2 { get; } = new Guid("{286bcf7a-9dcb-4c83-9a5c-09a31dc8f10b}");
}
[ExportEntities(Prefix = "IDI_Orientation_", Suffix = null)] [ExportEntities(Prefix = "IDI_Orientation_", Suffix = null)]
public static class Orientation public static class Orientation
{ {
@ -297,5 +387,46 @@ namespace Mocha.Core
/// <value>The GUID of the `Obscured Text` EC Display Option.</value> /// <value>The GUID of the `Obscured Text` EC Display Option.</value>
public static Guid ObscuredText { get; } = new Guid("{e42fb627-6559-42e7-a8fe-59c9d674eec4}"); public static Guid ObscuredText { get; } = new Guid("{e42fb627-6559-42e7-a8fe-59c9d674eec4}");
} }
public static class AccumulationFunctions
{
public static Guid Sum { get; } = new Guid("{c84c3615-c418-4273-8212-cb7766d95ee4}");
public static Guid Average { get; } = new Guid("{57eb3ded-96fe-4faa-98af-3edd9ed13ab4}");
}
public static class SelectionFunctions
{
public static Guid Minimum { get; } = new Guid("{1ff7be8c-fe48-4154-9028-8ee84b7dc367}");
public static Guid Maximum { get; } = new Guid("{dda6c31d-5bea-41a9-a6bc-0e5c189784da}");
}
public static class RelationalOperators
{
public static Guid SubsetOfSelectionList { get; } = new Guid("{76d42d7c-f7da-4df6-92cc-b362e3a87d7b}");
public static Guid IsEmpty { get; } = new Guid("{b416747b-537f-46f9-b855-e71ca361d265}");
public static Guid CountGreaterThan { get; } = new Guid("{dbc516aa-0fd9-47a9-bab5-8cede4102af6}");
public static Guid CountLessThan { get; } = new Guid("{5101eb0d-bce3-4f1e-b4b1-e75f68a42829}");
public static Guid CountEqualTo { get; } = new Guid("{beef419c-4375-41f2-909a-af8dded51d04}");
public static Guid CountGreaterThanOrEqualTo { get; } = new Guid("{3579168f-52bc-49f3-be6f-a548ac74f502}");
public static Guid CountLessThanOrEqualTo { get; } = new Guid("{bc05d0b7-59ee-42cc-91e9-90a1e0b3ed85}");
public static Guid SupersetOfSelectionList { get; } = new Guid("{67d2da4e-d147-4526-9a94-526f0d79ec9c}");
public static Guid CountNotEqualTo { get; } = new Guid("{92ac4ea4-b034-4b09-be67-c39608ae2ecf}");
public static Guid IsNotEmpty { get; } = new Guid("{aeb5a45f-2aff-4b2b-8f6d-f05f50bc8f8c}");
public static Guid NotInSelectionList { get; } = new Guid("{7fde8600-680b-4c07-be3b-2660f00b01c2}");
public static Guid InSelectionList { get; } = new Guid("{824417e6-61e5-4e74-9e95-514905c01846}");
public static Guid NotSupersetOfSelectionList { get; } = new Guid("{8e695935-548a-4177-a474-581fc960eddb}");
public static Guid NotSubsetOfSelectionList { get; } = new Guid("{ef7726d6-2feb-426c-bf2c-770014d35f68}");
public static Guid NotExactMatchWithSelectionList { get; } = new Guid("{f08a632a-1f3e-4979-8ec5-17fefc33b865}");
public static Guid ExactMatchWithSelectionList { get; } = new Guid("{93611da1-e21e-4021-9ddd-f7575e0c79ec}");
}
public static class Languages
{
public static Guid English { get; } = new Guid ("{68BB6038-A4B5-4EE1-AAE9-326494942062}");
public static Guid Spanish { get; } = new Guid ("{6dc357cb-37c3-43ed-ae13-6259fb109213}");
public static Guid French { get; } = new Guid ("{6bf0cf09-87c9-4e21-b360-7eb5a1c279de}");
public static Guid German { get; } = new Guid ("{c7c1d740-0d3c-493f-ab0b-fe1b42546d0a}");
public static Guid Italian { get; } = new Guid ("{cf165170-0680-4a41-8f88-88f34b2b1986}");
public static Guid Chinese { get; } = new Guid ("{6f908a9b-7464-4a16-aed9-7eccb8d39032}");
public static Guid Japanese { get; } = new Guid ("{1e16de9d-0e49-4a79-b690-4905c46a94cc}");
public static Guid Korean { get; } = new Guid ("{d03a795e-906b-49ee-87ea-c1bef4b8ee9a}");
}
} }
} }

View File

@ -1,3 +1,20 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
// //
// KnownRelationshipGuids.cs // KnownRelationshipGuids.cs
// //
@ -57,14 +74,16 @@ namespace Mocha.Core
public static Guid Relationship__has_sibling__Relationship { get; } = new Guid("{656110FF-4502-48B8-A7F3-D07F017AEA3F}"); public static Guid Relationship__has_sibling__Relationship { get; } = new Guid("{656110FF-4502-48B8-A7F3-D07F017AEA3F}");
public static Guid Translation__has__Translation_Value { get; } = new Guid("{F9B60C00-FF1D-438F-AC74-6EDFA8DD7324}"); public static Guid Translation__has__Translation_Value { get; } = new Guid("{F9B60C00-FF1D-438F-AC74-6EDFA8DD7324}");
public static Guid Translation_Value__for__Translation { get; } = new Guid("{458c218a-9965-44ba-884b-deda5bf2931d}");
public static Guid Translation_Value__has__Language { get; } = new Guid("{3655AEC2-E2C9-4DDE-8D98-0C4D3CE1E569}"); public static Guid Translation_Value__has__Language { get; } = new Guid("{3655AEC2-E2C9-4DDE-8D98-0C4D3CE1E569}");
public static Guid Language__for__Translation_Value { get; } = new Guid("{bf885bb1-da84-447c-95dc-143ce9deac65}");
public static Guid String__has__String_Component { get; } = new Guid("{3B6C4C25-B7BC-4242-8ED1-BA6D01B834BA}"); public static Guid String__has__String_Component { get; } = new Guid("{3B6C4C25-B7BC-4242-8ED1-BA6D01B834BA}");
public static Guid Extract_Single_Instance_String_Component__has__Relationship { get; } = new Guid("{5E499753-F50F-4A9E-BF53-DC013820499C}"); public static Guid Extract_Single_Instance_String_Component__has__Relationship { get; } = new Guid("{5E499753-F50F-4A9E-BF53-DC013820499C}");
public static Guid Instance_Attribute_String_Component__has__Attribute { get; } = new Guid("{E15D4277-69FB-4F19-92DB-8D087F361484}"); public static Guid Instance_Attribute_String_Component__has__Attribute { get; } = new Guid("{E15D4277-69FB-4F19-92DB-8D087F361484}");
public static Guid String_Component__has_source__Method { get; } = new Guid("{1ef1c965-e120-48be-b682-aa040573b5fb}"); public static Guid String_Component__has_source__Method { get; } = new Guid("{1ef1c965-e120-48be-b682-aa040573b5fb}");
public static Guid Class__instance_labeled_by__String { get; } = new Guid("{F52FC851-D655-48A9-B526-C5FE0D7A29D2}"); public static Guid Class__instance_labeled_by__Return_Attribute_Method_Binding { get; } = new Guid("{F52FC851-D655-48A9-B526-C5FE0D7A29D2}");
public static Guid Class__has_summary__Report_Field { get; } = new Guid("{D11050AD-7376-4AB7-84DE-E8D0336B74D2}"); public static Guid Class__has_summary__Report_Field { get; } = new Guid("{D11050AD-7376-4AB7-84DE-E8D0336B74D2}");
public static Guid Class__has_related__Task { get; } = new Guid("{4D8670E1-2AF1-4E7C-9C87-C910BD7B319B}"); public static Guid Class__has_related__Task { get; } = new Guid("{4D8670E1-2AF1-4E7C-9C87-C910BD7B319B}");
@ -101,8 +120,10 @@ namespace Mocha.Core
public static Guid Parameter_Assignment__assigns_to__Parameter { get; } = new Guid("{a6d30e78-7bff-4fcc-b109-ee96681b0a9e}"); public static Guid Parameter_Assignment__assigns_to__Parameter { get; } = new Guid("{a6d30e78-7bff-4fcc-b109-ee96681b0a9e}");
public static Guid Parameter__assigned_from__Parameter_Assignment { get; } = new Guid("{2085341e-5e7e-4a7f-bb8d-dfa58f6030d9}"); public static Guid Parameter__assigned_from__Parameter_Assignment { get; } = new Guid("{2085341e-5e7e-4a7f-bb8d-dfa58f6030d9}");
public static Guid Method_Binding__assigned_to__Parameter_Assignment { get; } = new Guid("{cbcb23b7-10c4-49eb-a1ca-b9da73fe8b83}"); public static Guid Executable_returning_Work_Data__assigned_from__Parameter_Assignment { get; } = new Guid("{40540642-69b3-4713-ac55-6946060bd385}");
public static Guid Parameter_Assignment__assigns_from__Method_Binding { get; } = new Guid("{1e055d30-a968-49d8-93fe-541994fc0c51}"); public static Guid Parameter_Assignment__assigns_from__Executable_returning_Work_Data { get; } = new Guid("{6f3687ed-7d88-4ece-914e-c47c57c1146d}");
public static Guid Parameter_Assignment__assigns_to__Work_Data { get; } = new Guid("{51c37636-35d2-4528-99ca-50cf09fa1427}");
public static Guid Work_Data__assigned_by__Parameter_Assignment { get; } = new Guid("{b9e0cc99-ef20-435f-b7b2-e19c5cd44916}");
public static Guid Method_Call__has__Method { get; } = new Guid("{3D3B601B-4EF0-49F3-AF05-86CEA0F00619}"); public static Guid Method_Call__has__Method { get; } = new Guid("{3D3B601B-4EF0-49F3-AF05-86CEA0F00619}");
public static Guid Method_Call__has__Prompt_Value { get; } = new Guid("{765BD0C9-117D-4D0E-88C9-2CEBD4898135}"); public static Guid Method_Call__has__Prompt_Value { get; } = new Guid("{765BD0C9-117D-4D0E-88C9-2CEBD4898135}");
@ -114,18 +135,40 @@ namespace Mocha.Core
public static Guid Validation__has_failure_message__Translation { get; } = new Guid("{E15A97DD-2A1D-4DC0-BD6B-A957B63D9802}"); public static Guid Validation__has_failure_message__Translation { get; } = new Guid("{E15A97DD-2A1D-4DC0-BD6B-A957B63D9802}");
public static Guid Translation__failure_message_for__Validation { get; } = new Guid("{46a7dfcb-8848-47d5-9ad3-d27fbd8b423f}"); public static Guid Translation__failure_message_for__Validation { get; } = new Guid("{46a7dfcb-8848-47d5-9ad3-d27fbd8b423f}");
public static Guid Build_Attribute_Method__returns__Attribute { get; } = new Guid("{dadbf0f3-7af0-4387-a6b7-a1724a216d88}");
public static Guid Attribute__returned_by__Build_Attribute_Method { get; } = new Guid("{d5a6062b-2e84-46a1-8f54-da630ef6a48c}");
public static Guid Get_Attribute_Method__returns__Attribute { get; } = new Guid("{5eca9b3f-be75-4f6e-8495-781480774833}"); public static Guid Get_Attribute_Method__returns__Attribute { get; } = new Guid("{5eca9b3f-be75-4f6e-8495-781480774833}");
public static Guid Attribute__returned_by__Get_Attribute_Method { get; } = new Guid("{e82ace2e-84b7-4912-89ed-7b8efd63bb5d}"); public static Guid Attribute__returned_by__Get_Attribute_Method { get; } = new Guid("{e82ace2e-84b7-4912-89ed-7b8efd63bb5d}");
public static Guid Get_Attribute_by_System_Routine_Method__returns__Attribute { get; } = new Guid("{e19cf181-b5bf-4595-b5c6-b9098a7a41bb}");
public static Guid Attribute__returned_by__Get_Attribute_by_System_Routine_Method { get; } = new Guid("{b6f2981f-d324-4d4a-b2df-1d866825e75e}");
public static Guid Get_Attribute_by_System_Routine_Method__uses__System_Attribute_Routine { get; } = new Guid("{f7aaac2c-0bfd-4b31-8c8c-3a76e9522574}");
public static Guid System_Attribute_Routine__used_by__Get_Attribute_by_System_Routine_Method { get; } = new Guid("{57b3a574-9f0c-4723-a32f-bde523d7e773}");
public static Guid Get_Referenced_Instance_Set_Method__loop_on__Instance_Set { get; } = new Guid("{2978238f-7cb0-4ba3-8c6f-473df782cfef}"); public static Guid Get_Referenced_Instance_Set_Method__loop_on__Instance_Set { get; } = new Guid("{2978238f-7cb0-4ba3-8c6f-473df782cfef}");
public static Guid Get_Referenced_Instance_Set_Method__has_relationship__Method { get; } = new Guid("{6a65819e-c8cb-4575-9af8-ee221364049b}"); public static Guid Get_Referenced_Instance_Set_Method__has_relationship__Method { get; } = new Guid("{6a65819e-c8cb-4575-9af8-ee221364049b}");
public static Guid Get_Referenced_Attribute_Method__has__Attribute { get; } = new Guid("{87f90fe9-5ec6-4b09-8f51-b8a4d1544cae}"); public static Guid Get_Referenced_Attribute_Method__returns__Attribute { get; } = new Guid("{87f90fe9-5ec6-4b09-8f51-b8a4d1544cae}");
public static Guid Get_Referenced_Attribute_Method__loop_on__Instance_Set { get; } = new Guid("{c7ecd498-6d05-4e07-b1bc-f7127d0d6666}"); public static Guid Attribute__returned_by__Get_Referenced_Attribute_Method { get; } = new Guid("{80e4ffd8-77d8-4835-a4e0-73a176e7f646}");
public static Guid Get_Referenced_Attribute_Method__uses_reference__Executable_returning_Instance_Set { get; } = new Guid("{c7ecd498-6d05-4e07-b1bc-f7127d0d6666}");
public static Guid Executable_returning_Instance_Set__reference_used_by__Get_Referenced_Attribute_Method { get; } = new Guid("{b9a44398-e6c5-48f9-8ec5-a8b158a7adf5}");
public static Guid Get_Referenced_Attribute_Method__uses_answer__Executable_returning_Attribute { get; } = new Guid("{022ccde3-2b9e-4573-a8fc-e7568f420cd3}");
public static Guid Executable_returning_Attribute__answer_used_by__Get_Referenced_Attribute_Method { get; } = new Guid("{738ff9a4-eb71-476e-a0a4-524f1de56add}");
public static Guid Get_Referenced_Attribute_Method__uses__Accumulation_Function { get; } = new Guid("{68888355-a162-40b3-8dd6-532bf84d219a}");
public static Guid Accumulation_Function__used_by__Get_Referenced_Attribute_Method { get; } = new Guid("{a3af2e78-78ab-4c99-a2d2-f359aa7966cd}");
public static Guid Get_Referenced_Attribute_Method__uses_order__Executable_returning_Attribute { get; } = new Guid("{ee8e21c4-1afc-403a-a3f0-4c1544285f5c}");
public static Guid Executable_returning_Attribute__order_used_by__Get_Referenced_Attribute_Method { get; } = new Guid("{dec00186-e3c8-4440-ae23-dc9e91bccb49}");
public static Guid Evaluate_Boolean_Expression_Method__has_source_attribute__Method { get; } = new Guid("{45d76d56-01ed-4641-9f68-cfe0c7d0d265}"); public static Guid Evaluate_Boolean_Expression_Method__has_source_attribute__Method { get; } = new Guid("{45d76d56-01ed-4641-9f68-cfe0c7d0d265}");
public static Guid Evaluate_Boolean_Expression_Method__equal_to_attribute__Method { get; } = new Guid("{0646df91-7e3e-4d59-be71-b978a22ced8e}"); public static Guid Evaluate_Boolean_Expression_Method__equal_to_attribute__Method { get; } = new Guid("{0646df91-7e3e-4d59-be71-b978a22ced8e}");
public static Guid Assign_Attribute_Method__uses__Executable_returning_Attribute { get; } = new Guid("{9313f96e-58af-416f-852e-ef83725057fc}");
public static Guid Executable_returning_Attribute__used_by__Assign_Attribute_Method { get; } = new Guid("{cd8fd04c-dcdd-4dc8-9d5c-e8f83d080cb8}");
public static Guid Assign_Attribute_Method__assigns__Attribute { get; } = new Guid("{74061875-8a27-403b-9456-02e52cfd13b2}");
public static Guid Attribute__assigned_by__Assign_Attribute_Method { get; } = new Guid("{d3b540e8-0f52-4595-bf52-1968637da59a}");
public static Guid Prompt_Value__has__Prompt { get; } = new Guid("{7CD62362-DDCE-4BFC-87B9-B5499B0BC141}"); public static Guid Prompt_Value__has__Prompt { get; } = new Guid("{7CD62362-DDCE-4BFC-87B9-B5499B0BC141}");
public static Guid User__has_display_name__Translatable_Text_Constant { get; } = new Guid("{6C29856C-3B10-4F5B-A291-DD3CA4C04A2F}"); public static Guid User__has_display_name__Translatable_Text_Constant { get; } = new Guid("{6C29856C-3B10-4F5B-A291-DD3CA4C04A2F}");
@ -200,8 +243,8 @@ namespace Mocha.Core
public static Guid Tenant__has_logo_image__File { get; } = new Guid("{4C399E80-ECA2-4A68-BFB4-26A5E6E97047}"); public static Guid Tenant__has_logo_image__File { get; } = new Guid("{4C399E80-ECA2-4A68-BFB4-26A5E6E97047}");
public static Guid Tenant__has_background_image__File { get; } = new Guid("{39B0D963-4BE0-49C8-BFA2-607051CB0101}"); public static Guid Tenant__has_background_image__File { get; } = new Guid("{39B0D963-4BE0-49C8-BFA2-607051CB0101}");
public static Guid Tenant__has_icon_image__File { get; } = new Guid("{CC4E65BD-7AAA-40DA-AECA-C607D7042CE3}"); public static Guid Tenant__has_icon_image__File { get; } = new Guid("{CC4E65BD-7AAA-40DA-AECA-C607D7042CE3}");
public static Guid Tenant__has_login_header__Translatable_Text_Constant { get; } = new Guid("{41D66ACB-AFDE-4B6F-892D-E66255F10DEB}"); public static Guid Tenant__has_login_header__Translation { get; } = new Guid("{41D66ACB-AFDE-4B6F-892D-E66255F10DEB}");
public static Guid Tenant__has_login_footer__Translatable_Text_Constant { get; } = new Guid("{A6203B6B-5BEB-4008-AE49-DB5E7DDBA45B}"); public static Guid Tenant__has_login_footer__Translation { get; } = new Guid("{A6203B6B-5BEB-4008-AE49-DB5E7DDBA45B}");
public static Guid Tenant__has_application_title__Translation { get; } = new Guid("{76683437-67ba-46d9-a5e7-2945be635345}"); public static Guid Tenant__has_application_title__Translation { get; } = new Guid("{76683437-67ba-46d9-a5e7-2945be635345}");
public static Guid Tenant__has_mega__Menu { get; } = new Guid("{cdd743cb-c74a-4671-9922-652c7db9f2d8}"); public static Guid Tenant__has_mega__Menu { get; } = new Guid("{cdd743cb-c74a-4671-9922-652c7db9f2d8}");
@ -217,7 +260,9 @@ namespace Mocha.Core
public static Guid Method__provides_content_for__Content_Page_Component { get; } = new Guid("{5E75000D-2421-4AD4-9E5F-B9FDD9CB4744}"); public static Guid Method__provides_content_for__Content_Page_Component { get; } = new Guid("{5E75000D-2421-4AD4-9E5F-B9FDD9CB4744}");
public static Guid Securable_Item__secured_by__Method { get; } = new Guid("{15199c49-9595-4288-846d-13b0ad5dcd4b}"); public static Guid Securable_Item__secured_by__Method { get; } = new Guid("{15199c49-9595-4288-846d-13b0ad5dcd4b}");
public static Guid Get_Relationship_Method__has__Relationship { get; } = new Guid("{321581d6-60c1-4547-8344-9d5bda027adc}");
public static Guid Get_Relationship_Method__returns__Relationship { get; } = new Guid("{321581d6-60c1-4547-8344-9d5bda027adc}");
public static Guid Relationship__returned_by__Get_Relationship_Method { get; } = new Guid("{174242ec-7615-42d9-9639-c70ff6e84e0d}");
public static Guid Integration_ID__has__Integration_ID_Usage { get; } = new Guid("{6cd30735-df83-4253-aabe-360d6e1a3701}"); public static Guid Integration_ID__has__Integration_ID_Usage { get; } = new Guid("{6cd30735-df83-4253-aabe-360d6e1a3701}");
public static Guid Integration_ID_Usage__for__Integration_ID { get; } = new Guid("{d8d981ec-7686-40da-b89f-006c85042444}"); public static Guid Integration_ID_Usage__for__Integration_ID { get; } = new Guid("{d8d981ec-7686-40da-b89f-006c85042444}");
@ -228,11 +273,11 @@ namespace Mocha.Core
public static Guid Conditional_Method_Case__has_return_attribute__Method_Binding { get; } = new Guid("{b6715132-b438-4073-b81d-3ecf19584b7d}"); public static Guid Conditional_Method_Case__has_return_attribute__Method_Binding { get; } = new Guid("{b6715132-b438-4073-b81d-3ecf19584b7d}");
public static Guid Method_Binding__returns_attribute_for__Conditional_Method_Case { get; } = new Guid("{1c868a06-8fb7-432d-839b-7a5a02a50eb6}"); public static Guid Method_Binding__returns_attribute_for__Conditional_Method_Case { get; } = new Guid("{1c868a06-8fb7-432d-839b-7a5a02a50eb6}");
public static Guid Conditional_Method_Case__has_true_condition__Method_Binding { get; } = new Guid("{d955da3f-7ef4-4374-8b86-167c73434f75}"); public static Guid Condition_Group__has_true_condition__Executable_returning_Work_Data { get; } = new Guid("{d955da3f-7ef4-4374-8b86-167c73434f75}");
public static Guid Method_Binding__true_condition_for__Conditional_Method_Case { get; } = new Guid("{1acdefd1-e1b4-45bb-99e1-bf73dea71da5}"); public static Guid Executable_returning_Work_Data__true_condition_for__Condition_Group { get; } = new Guid("{1acdefd1-e1b4-45bb-99e1-bf73dea71da5}");
public static Guid Conditional_Method_Case__has_false_condition__Method_Binding { get; } = new Guid("{e46dbc4f-ae8d-4ad8-b9e6-10cedfa68b73}"); public static Guid Condition_Group__has_false_condition__Executable_returning_Work_Data { get; } = new Guid("{e46dbc4f-ae8d-4ad8-b9e6-10cedfa68b73}");
public static Guid Method_Binding__false_condition_for__Conditional_Method_Case { get; } = new Guid("{633af008-bf7f-4da1-94d6-67a9a80586d6}"); public static Guid Executable_returning_Work_Data__false_condition_for__Condition_Group { get; } = new Guid("{633af008-bf7f-4da1-94d6-67a9a80586d6}");
public static Guid Audit_Line__has__Instance { get; } = new Guid("{c91807ed-0d73-4729-990b-d90750764fb5}"); public static Guid Audit_Line__has__Instance { get; } = new Guid("{c91807ed-0d73-4729-990b-d90750764fb5}");
public static Guid Audit_Line__has__User { get; } = new Guid("{7c1e048d-3dcb-4473-9f2e-e21014a76aa5}"); public static Guid Audit_Line__has__User { get; } = new Guid("{7c1e048d-3dcb-4473-9f2e-e21014a76aa5}");
@ -285,5 +330,43 @@ namespace Mocha.Core
public static Guid Style__implements__Style { get; } = new Guid("{99b1c16a-f2cb-4cc5-a3bb-82a96335aa39}"); public static Guid Style__implements__Style { get; } = new Guid("{99b1c16a-f2cb-4cc5-a3bb-82a96335aa39}");
public static Guid Style__implemented_for__Style { get; } = new Guid("{271ef816-1e94-4f02-a805-4f9536c28dca}"); public static Guid Style__implemented_for__Style { get; } = new Guid("{271ef816-1e94-4f02-a805-4f9536c28dca}");
public static Guid Select_From_Instance_Set_Method__returns__Work_Set { get; } = new Guid("{e7805b49-0eb3-46ea-bc8a-a5ed676a7726}");
public static Guid Work_Set__returned_by__Select_from_Instance_Set_Method { get; } = new Guid("{df12608a-e157-4a1b-bae2-0224a18f5b94}");
public static Guid Select_from_Instance_Set_Method__uses__Executable_returning_Instance_Set { get; } = new Guid("{a907f814-b996-4294-b347-ca16ccaf1f5b}");
public static Guid Executable_returning_Instance_Set__used_by__Select_from_Instance_Set_Method { get; } = new Guid("{a3ec06f9-54e8-4279-a31d-d221f8697a6a}");
public static Guid Select_from_Instance_Set_Method__uses__Set_Function { get; } = new Guid("{abda76ae-a969-40e3-aed2-1a20fcec8b31}");
public static Guid Set_Function__used_by__Select_from_Instance_Set_Method { get; } = new Guid("{753f9f4f-3fe3-470a-890d-d799c24e47af}");
public static Guid Select_from_Instance_Set_Method__uses__Selection_Function { get; } = new Guid("{6498e72e-f321-4be2-acfd-dfd6f916ce54}");
public static Guid Selection_Function__used_by__Select_from_Instance_Set_Method { get; } = new Guid("{e5e6a392-a436-41f7-bc80-cb6603503be1}");
public static Guid Select_from_Instance_Set_Method__uses_function__Executable_returning_Attribute { get; } = new Guid("{30905c53-0d64-4332-9023-12a03e60cd09}");
public static Guid Executable_returning_Attribute__function_used_by__Select_from_Instance_Set_Method { get; } = new Guid("{79adb5ea-0257-445b-9f7c-e5f8508a59a2}");
public static Guid Select_from_Instance_Set_Method__uses_order__Executable_returning_Attribute { get; } = new Guid("{c7a5ef47-fce3-4e7c-87b8-f5cab93b1b10}");
public static Guid Executable_returning_Attribute__order_used_by__Select_from_Instance_Set_Method { get; } = new Guid("{48c984ea-f4da-4090-bdd0-fd659b9be13d}");
public static Guid Select_from_Instance_Set_Method__uses_subset_index__Executable_returning_Attribute { get; } = new Guid("{b5ef8d8b-683a-4cb9-9e6c-bc470324f4e3}");
public static Guid Executable_returning_Attribute__as_subset_index_for__Select_from_Instance_Set_Method { get; } = new Guid("{7d03574f-db28-4aff-a96c-8013832b8269}");
public static Guid Select_from_Instance_Set_Method__uses_comparator__Executable_returning_Work_Data { get; } = new Guid("{974c6e8b-b04f-4e3c-8719-298052afa9c7}");
public static Guid Executable_returning_Work_Data__comparator_for__Select_from_Instance_Set_Method { get; } = new Guid("{c877ea85-ee9f-4e22-bae7-4a0d7b9272e1}");
public static Guid Conditional_Select_From_Instance_Set_Method__returns__Work_Set { get; } = new Guid("{49396bd0-b5a9-4384-99f4-2126d80b3b66}");
public static Guid Work_Set__returned_by__Conditional_Select_from_Instance_Set_Method { get; } = new Guid("{221a23dd-1230-4690-a15a-26345b111b0d}");
public static Guid Conditional_Select_from_Instance_Set_Method__has__Conditional_Select_from_Instance_Set_Case { get; } = new Guid("{b6715132-b438-4073-b81d-3ecf19584b7d}");
public static Guid Conditional_Select_from_Instance_Set_Case__for__Conditional_Select_from_Instance_Set_Method { get; } = new Guid("{8fde1baa-ce2e-4245-a775-bc4c66eac7b5}");
public static Guid Conditional_Select_Attribute_Method__returns__Attribute { get; } = new Guid("{b2b9d9cc-c4dd-491b-853e-e3669ea4e66a}");
public static Guid Attribute__returned_by__Conditional_Select_Attribute_Method { get; } = new Guid("{e3e734ce-953b-49b8-b50d-b1826b519053}");
public static Guid Conditional_Select_Attribute_Method__has__Conditional_Select_Attribute_Case { get; } = new Guid("{49396bd0-b5a9-4384-99f4-2126d80b3b66}");
public static Guid Conditional_Select_Attribute_Case__for__Conditional_Select_Attribute_Method { get; } = new Guid("{38e2816e-ccb4-4e89-86ab-4981f5c2d7ac}");
public static Guid Evaluate_Boolean_Expression_Method__returns__Boolean_Attribute { get; } = new Guid("{53cf2cb6-f5f2-499f-9f18-26b86bf671c4}");
public static Guid Boolean_Attribute__returned_by__Evaluate_Boolean_Expression_Method { get; } = new Guid("{24397b98-65da-4f5a-93a3-e933bab1f59b}");
public static Guid Evaluate_Boolean_Expression_Method__has_source__Executable_returning_Work_Data { get; } = new Guid("{45d76d56-01ed-4641-9f68-cfe0c7d0d265}");
public static Guid Executable_returning_Work_Data__source_for__Evaluate_Boolean_Expression_Method { get; } = new Guid("{eef048af-179e-4375-8a85-2856bb14aea3}");
public static Guid Evaluate_Boolean_Expression_Method__has_target__Executable_returning_Work_Data { get; } = new Guid("{0646df91-7e3e-4d59-be71-b978a22ced8e}");
public static Guid Executable_returning_Work_Data__target_for__Evaluate_Boolean_Expression_Method { get; } = new Guid("{be7a6285-d700-40f3-868e-c0878a3e94a6}");
public static Guid Evaluate_Boolean_Expression_Method__uses__Boolean_Operator { get; } = new Guid("{aa9e17a2-e4d9-4598-bcfc-2d729031d11c}");
public static Guid Boolean_Operator__used_by__Evaluate_Boolean_Expression_Method { get; } = new Guid("{1e9915a9-3c91-4532-ab9c-82419660e31a}");
} }
} }

View File

@ -0,0 +1,46 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
namespace Mocha.Core;
public abstract class MethodImplementation
{
public abstract Guid MethodClassGuid { get; }
protected abstract InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method);
public InstanceHandle Execute(Oms oms, OmsContext context, InstanceHandle method)
{
return ExecuteInternal(oms, context, method);
}
protected InstanceHandle r_Method__for__Class;
public bool Initialized { get; private set; } = false;
protected virtual void InitializeInternal(Oms oms)
{
r_Method__for__Class = oms.GetInstance(KnownRelationshipGuids.Method__for__Class);
}
public void Initialize(Oms oms)
{
if (Initialized)
return;
InitializeInternal(oms);
Initialized = true;
}
}

View File

@ -0,0 +1,43 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
namespace Mocha.Core.MethodImplementations;
public class AssignAttributeMethodImplementation : MethodImplementation
{
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.AssignAttributeMethod;
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
{
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
InstanceHandle irForInstance = (InstanceHandle) context.GetWorkData(irForClass);
InstanceHandle assignsAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Assign_Attribute_Method__assigns__Attribute));
if (assignsAttribute == InstanceHandle.Empty)
{
throw new InvalidOperationException("no assigns Attribute specified for method");
}
InstanceHandle assignsFrom = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Assign_Attribute_Method__uses__Executable_returning_Attribute));
InstanceHandle assignsFromValue = oms.Execute(context, assignsFrom);
// InstanceHandle forInstance = (InstanceHandle) context.GetWorkData(irForClass);
object? value = context.GetWorkData(assignsFromValue);
oms.SetAttributeValue(irForInstance, assignsAttribute, value);
return InstanceHandle.Empty;
}
}

View File

@ -0,0 +1,38 @@
// Copyright (C) 2024 Michael Becker <alcexhim@gmail.com>
//
// This file is part of Mocha.NET.
//
// Mocha.NET is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Mocha.NET is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
namespace Mocha.Core.MethodImplementations;
public class BuildAttributeMethodImplementation : MethodImplementation
{
public override Guid MethodClassGuid => KnownInstanceGuids.MethodClasses.BuildAttributeMethod;
protected override InstanceHandle ExecuteInternal(Oms oms, OmsContext context, InstanceHandle method)
{
InstanceHandle irForClass = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Method__for__Class));
InstanceHandle returnsAttribute = oms.GetRelatedInstance(method, oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute));
if (returnsAttribute == InstanceHandle.Empty)
{
throw new InvalidOperationException("no return Attribute specified for method");
}
// InstanceHandle forInstance = (InstanceHandle) context.GetWorkData(irForClass);
object? value = oms.UnsafeGetAttributeValue(method, oms.GetInstance(KnownAttributeGuids.Text.Value));
context.SetWorkData(returnsAttribute, value);
return returnsAttribute;
}
}

Some files were not shown because too many files have changed in this diff Show More