Compare commits

...

9 Commits

89 changed files with 4210 additions and 38 deletions

3
.gitignore vendored
View File

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

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

View File

@ -78,7 +78,7 @@ public class AssetWebHandler : WebHandler
}
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];
if (System.IO.File.Exists(filename))

View File

@ -81,11 +81,51 @@ public abstract class MochaWebApplication : WebApplication
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 CreateChildControls()
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));
}
}
}
}
protected override void CreateChildControls()
{
base.CreateChildControls();
@ -104,7 +144,7 @@ body > form > div.uwt-panel > div.uwt-content > div:first-child
new FormView.FormViewItem("User _name", new TextBox() { Name = "username" }),
new FormView.FormViewItem("_Password", new TextBox(TextBoxType.Password) { Name = "password" } )
}));
panel.FooterControls.Add(new Button("_Log In") { UseSubmitBehavior = true });
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>");
@ -143,6 +183,8 @@ body > form > div.uwt-panel > div.uwt-content > div:first-child
}
}
e.Context.Request.SetExtraData("TenantName", tenantName);
TenantHandle tenant = app.Oms.GetTenantByName(tenantName);
if (tenant == TenantHandle.Empty)
{
@ -176,8 +218,13 @@ body > form > div.uwt-panel > div.uwt-content > div:first-child
// 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)
{
string tenantName = ctx.Request.GetExtraData<string>("TenantName");
if (!ctx.Session.ContainsKey(tenantName + ".UserToken"))
{
ctx.Response.Redirect("~/" + ctx.Request.PathVariables["tenant"] + "/d/login.htmld");
}
Console.WriteLine("req app path: " + ctx.Request.Path);
ctx.Response.Redirect("~/" + ctx.Request.PathVariables["tenant"] + "/d/login.htmld");
})));
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()));

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,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');
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

@ -158,10 +158,11 @@ namespace Mocha.Core
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 CommonDate { get; } = new Guid("{cb077f5b-f58d-4f6a-aa01-659bea754b6e}");
public static Guid BooleanOperator { get; } = new Guid("{fb85933c-e2ad-4b1c-ac2a-f92c9cc57e1c}");
public static Guid RelationalOperator { get; } = new Guid("{f1b5d26f-2347-49cb-8aae-d80dd706fce2}");

View File

@ -28,6 +28,7 @@ public class MiniOms : MemoryOms
{
private TenantHandle t_super;
private InstanceHandle c_Class, c_Attribute, c_Relationship, c_TextAttribute, c_BooleanAttribute, c_NumericAttribute, c_DateAttribute, c_WorkSet, c_Instance, c_OMS, c_File;
private InstanceHandle c_CommonText, c_CommonBoolean, c_CommonNumeric, c_CommonDate, c_CommonInstanceSet;
private InstanceHandle r_Class__has__Instance, r_Instance__for__Class;
private InstanceHandle r_Relationship__has_source__Class, r_Relationship__has_destination__Class, r_Relationship__has_sibling__Relationship;
private InstanceHandle a_Name, a_Order, a_Value, a_ContentType, a_RelationshipType, a_Singular;
@ -165,6 +166,12 @@ public class MiniOms : MemoryOms
InstanceHandle c_Tenant = CreateInstanceOf(c_Class, KnownInstanceGuids.Classes.Tenant);
CreateInstanceOf(c_Tenant);
c_CommonText = CreateClass("Common Text", KnownInstanceGuids.Classes.CommonText);
c_CommonBoolean = CreateClass("Common Boolean", KnownInstanceGuids.Classes.CommonBoolean);
c_CommonNumeric = CreateClass("Common Numeric", KnownInstanceGuids.Classes.CommonNumeric);
c_CommonDate = CreateClass("Common Date", KnownInstanceGuids.Classes.CommonDate);
c_CommonInstanceSet = CreateClass("Common Instance Set", KnownInstanceGuids.Classes.CommonInstanceSet);
// ?============ MODULES ============?
foreach (MiniOmsModule module in Modules)

View File

@ -43,28 +43,28 @@ public class OmsMethodBuilder
return new ReturnAttributeMethodBinding(methodBinding);
}
public ReturnInstanceSetMethodBinding CreateReturnInstanceSetMethodBinding(Method method)
{
public ReturnInstanceSetMethodBinding CreateReturnInstanceSetMethodBinding(Method method)
{
InstanceHandle methodBinding = Oms.CreateInstanceOf(c_ReturnInstanceSetMethodBinding);
Oms.AssignRelationship(methodBinding, Oms.GetInstance(KnownRelationshipGuids.Method_Binding__executes__Method), method.Handle);
return new ReturnInstanceSetMethodBinding(methodBinding);
}
}
public GetAttributeMethod CreateGetAttributeMethod(InstanceHandle forClassInstance, string verb, string name, InstanceHandle attributeInstance)
public GetAttributeMethod CreateGetAttributeMethod(InstanceHandle forClassInstance, string verb, string name, InstanceHandle attributeInstance)
{
return CreateGetAttributeMethod(forClassInstance, verb, name, null, false, attributeInstance);
}
public GetAttributeMethod CreateGetAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle attributeInstance)
{
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Attribute_Method__returns__Attribute), attributeInstance);
return new GetAttributeMethod(method);
}
}
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
{
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
{
return CreateGetSpecifiedInstancesMethod(forClassInstance, verb, name, null, false, returnsWorkSet, specifiedInstances);
}
}
public GetSpecifiedInstancesMethod CreateGetSpecifiedInstancesMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, WorkSet returnsWorkSet, InstanceHandle[] specifiedInstances)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetSpecifiedInstancesMethod), forClassInstance, verb, name, accessModifier, isStatic);
@ -92,48 +92,48 @@ public class OmsMethodBuilder
return method;
}
public BuildAttributeMethod CreateBuildAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, string initialValue = "")
{
public BuildAttributeMethod CreateBuildAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, string initialValue = "")
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.BuildAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Build_Attribute_Method__returns__Attribute), returnsAttribute);
Oms.SetAttributeValue(method, Oms.GetInstance(KnownAttributeGuids.Text.Value), initialValue);
return new BuildAttributeMethod(method);
}
}
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
{
return CreateGetAttributeBySystemRoutineMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsAttribute, usesSystemAttributeRoutine);
}
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
{
public GetAttributeBySystemRoutineMethod CreateGetAttributeBySystemRoutineMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, SystemAttributeRoutine usesSystemAttributeRoutine)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetAttributeBySystemRoutineMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Attribute_by_System_Routine_Method__returns__Attribute), returnsAttribute);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Attribute_by_System_Routine_Method__uses__System_Attribute_Routine), usesSystemAttributeRoutine.Handle);
return new GetAttributeBySystemRoutineMethod(method);
}
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, ReturnAttributeMethodBinding assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
{
}
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, ReturnAttributeMethodBinding assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
{
return CreateAssignAttributeMethod(forClassInstance, verb, name, accessModifier, isStatic, assignsFromExecutableReturningAttribute.Handle, assignsToAttribute);
}
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
{
}
public AssignAttributeMethod CreateAssignAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle assignsFromExecutableReturningAttribute, InstanceHandle assignsToAttribute)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.AssignAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Assign_Attribute_Method__uses__Executable_returning_Attribute), assignsFromExecutableReturningAttribute);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Assign_Attribute_Method__assigns__Attribute), assignsToAttribute);
return new AssignAttributeMethod(method);
}
}
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsRelationship)
{
return CreateGetRelationshipMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsRelationship);
}
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsRelationship)
{
public GetRelationshipMethod CreateGetRelationshipMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsRelationship)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.GetRelationshipMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Get_Relationship_Method__returns__Relationship), returnsRelationship);
return new GetRelationshipMethod(method);
}
}
public GetReferencedAttributeMethod CreateGetReferencedAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, IExecutableReturningInstanceSet usesReferenceInstanceSet, IExecutableReturningAttribute usesAnswerExecutableReturningAttribute, InstanceHandle? usesAccumulationFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
{
@ -234,8 +234,8 @@ public class OmsMethodBuilder
{
return CreateConditionalSelectAttributeMethod(forClassInstance, verb, name, accessModifier, isStatic, Guid.NewGuid(), returnsAttribute, cases, usesSetFunction, usesSelectionFunction, usesOrderExecutableReturningAttribute);
}
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
{
public ConditionalSelectAttributeMethod CreateConditionalSelectAttributeMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, Guid globalIdentifier, InstanceHandle returnsAttribute, ConditionalSelectAttributeCase[] cases, InstanceHandle? usesSetFunction = null, InstanceHandle? usesSelectionFunction = null, InstanceHandle? usesOrderExecutableReturningAttribute = null)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.ConditionalSelectAttributeMethod), forClassInstance, verb, name, accessModifier, isStatic, globalIdentifier);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_Attribute_Method__returns__Attribute), returnsAttribute);
@ -247,7 +247,7 @@ public class OmsMethodBuilder
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Conditional_Select_Attribute_Method__has__Conditional_Select_Attribute_Case), ihCases);
return new ConditionalSelectAttributeMethod(method);
}
}
private InstanceHandle CreateConditionalSelectAttributeCase(ConditionalSelectAttributeCase sacCase)
{
@ -275,13 +275,20 @@ public class OmsMethodBuilder
return CreateEvaluateBooleanExpressionMethod(forClassInstance, verb, name, accessModifier, isStatic, returnsAttribute, sourceWorkData.Handle, booleanOperator, compareToWorkData.Handle);
}
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle sourceWorkData, BooleanOperator booleanOperator, InstanceHandle compareToWorkData)
{
public EvaluateBooleanExpressionMethod CreateEvaluateBooleanExpressionMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle sourceWorkData, BooleanOperator booleanOperator, InstanceHandle compareToWorkData)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.EvaluateBooleanExpressionMethod), forClassInstance, verb, name, accessModifier, isStatic);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Evaluate_Boolean_Expression_Method__returns__Boolean_Attribute), returnsAttribute);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Evaluate_Boolean_Expression_Method__has_source__Executable_returning_Work_Data), sourceWorkData);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Evaluate_Boolean_Expression_Method__uses__Boolean_Operator), booleanOperator.Handle);
Oms.AssignRelationship(method, Oms.GetInstance(KnownRelationshipGuids.Evaluate_Boolean_Expression_Method__has_target__Executable_returning_Work_Data), compareToWorkData);
return new EvaluateBooleanExpressionMethod(method);
}
}
public CalculateDateMethod CreateCalculateDateMethod(InstanceHandle forClassInstance, string verb, string name, AccessModifier accessModifier, bool isStatic, InstanceHandle returnsAttribute, InstanceHandle initialDateAttribute, InstanceHandle timeZoneRsmb, CalculateDateMethodIncrement preIncrement, InstanceHandle? startInterval, InstanceHandle? endInterval, CalculateDateMethodIncrement postIncrement)
{
InstanceHandle method = CreateMethodBase(Oms.GetInstance(KnownInstanceGuids.MethodClasses.CalculateDateMethod), forClassInstance, verb, name, accessModifier, isStatic);
return new CalculateDateMethod(method);
}
}

@ -1 +1 @@
Subproject commit 0750456c5fd2d4aaaa2d8478357c8e76d118430d
Subproject commit 35ea6c3cd70932911eb427892fc4dcd382dfe417