Browse Source

Merge branch 'master' of https://github.com/volosoft/abp

pull/509/head
Alper Ebicoglu 8 years ago
parent
commit
e708cca997
  1. 2
      docs/Virtual-File-System.md
  2. 3
      docs/docs-nav.json
  3. 14
      modules/blogging/app/Volo.BloggingTestApp/BloggingTestAppModule.cs
  4. 2
      modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Edit.cshtml
  5. 14
      modules/docs/app/Volo.DocsTestApp/DocsTestAppModule.cs
  6. 15
      modules/docs/src/Volo.Docs.Web/Areas/Documents/Helpers/TagHelpers/TreeTagHelper.cs
  7. 15
      modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml
  8. 251
      modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.css
  9. 2
      modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.min.css
  10. 182
      modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.scss
  11. 251
      modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.css
  12. 64
      modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.js
  13. 2
      modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.min.css
  14. 2
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs
  15. 2
      modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs
  16. 2
      samples/BookStore/src/Acme.BookStore.Web/BookStoreWebModule.cs
  17. 8
      templates/module/app/MyCompanyName.MyProjectName.DemoApp/DemoAppModule.cs
  18. 18
      templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs

2
docs/Virtual-File-System.md

@ -126,7 +126,7 @@ public class MyWebAppModule : AbpModule
{ {
//ReplaceEmbeddedByPyhsical gets the root folder of the MyModule project //ReplaceEmbeddedByPyhsical gets the root folder of the MyModule project
options.FileSets.ReplaceEmbeddedByPyhsical<MyModule>( options.FileSets.ReplaceEmbeddedByPyhsical<MyModule>(
Path.Combine(hostingEnvironment.ContentRootPath, "..\\MyModuleProject") Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}MyModuleProject", Path.DirectorySeparatorChar))
); );
}); });
} }

3
docs/docs-nav.json

@ -86,11 +86,10 @@
"text": "Events", "text": "Events",
"items": [ "items": [
{ {
"text": "Event Bus" "text": "Event Bus (local)"
}, },
{ {
"text": "Distributed Event Bus", "text": "Distributed Event Bus",
"path": "Dependency-Injection.md",
"items": [ "items": [
{ {
"text": "RabbitMQ Integration" "text": "RabbitMQ Integration"

14
modules/blogging/app/Volo.BloggingTestApp/BloggingTestAppModule.cs

@ -63,13 +63,13 @@ namespace Volo.BloggingTestApp
{ {
context.Services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<BloggingDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\Volo.Blogging.Domain")); options.FileSets.ReplaceEmbeddedByPyhsical<BloggingDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Blogging.Domain", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<BloggingWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\Volo.Blogging.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<BloggingWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Blogging.Web", Path.DirectorySeparatorChar)));
}); });
} }

2
modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Edit.cshtml

@ -8,7 +8,7 @@
} }
<abp-dynamic-form asp-page="/Admin/Blogs/Edit"> <abp-dynamic-form abp-model="Blog" asp-page="/Admin/Blogs/Edit">
<abp-modal size="@(AbpModalSize.Large)"> <abp-modal size="@(AbpModalSize.Large)">
<abp-modal-header title="@L["Edit"].Value"></abp-modal-header> <abp-modal-header title="@L["Edit"].Value"></abp-modal-header>
<abp-modal-body> <abp-modal-body>

14
modules/docs/app/Volo.DocsTestApp/DocsTestAppModule.cs

@ -55,13 +55,13 @@ namespace Volo.DocsTestApp
{ {
context.Services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<DocsDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\Volo.Docs.Domain")); options.FileSets.ReplaceEmbeddedByPyhsical<DocsDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Docs.Domain", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<DocsWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\Volo.Docs.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<DocsWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}Volo.Docs.Web", Path.DirectorySeparatorChar)));
}); });
} }

15
modules/docs/src/Volo.Docs.Web/Areas/Documents/Helpers/TagHelpers/TreeTagHelper.cs

@ -9,15 +9,12 @@ namespace Volo.Docs.Areas.Documents.Helpers.TagHelpers
[HtmlTargetElement("ul", Attributes = "root-node")] [HtmlTargetElement("ul", Attributes = "root-node")]
public class TreeTagHelper : TagHelper public class TreeTagHelper : TagHelper
{ {
private const string LiItemTemplate = @"<li class='{6}'> private const string LiItemTemplate = @"<li class='{6}'>
<label class='tree-toggle {3}'> <a href='{0}' class='{5} {3}'>
<span class='plus-icon'> <span class='plus-icon'><i class='fa fa-{4}'></i></span>{1}
<i class='fa fa-{4}'></i> </a>
</span>
</label>
<a href='{0}' class='{5}'>{1}</a>
{2} {2}
</li>"; </li>";
private const string UlItemTemplate = @"<ul class='nav nav-list tree' style='{1}'> private const string UlItemTemplate = @"<ul class='nav nav-list tree' style='{1}'>
{0} {0}
@ -112,7 +109,7 @@ namespace Volo.Docs.Areas.Documents.Helpers.TagHelpers
node.Text.IsNullOrEmpty() ? "?" : node.Text, node.Text.IsNullOrEmpty() ? "?" : node.Text,
content, content,
node.HasChildItems ? "nav-header" : "last-link", node.HasChildItems ? "nav-header" : "last-link",
node.HasChildItems ? "chevron-down" : "long-arrow-right", node.HasChildItems ? "chevron-right" : "long-arrow-right",
anchorCss, anchorCss,
isNodeSelected ? "selected-tree" : ""); isNodeSelected ? "selected-tree" : "");
} }

15
modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml

@ -21,7 +21,6 @@
<abp-style src="/lib/bootstrap-toc/bootstrap-toc.css" /> <abp-style src="/lib/bootstrap-toc/bootstrap-toc.css" />
</abp-style-bundle> </abp-style-bundle>
} }
@section scripts { @section scripts {
<abp-script-bundle name="@typeof(IndexModel).FullName"> <abp-script-bundle name="@typeof(IndexModel).FullName">
<abp-script src="/lib/anchor-js/anchor.js" /> <abp-script src="/lib/anchor-js/anchor.js" />
@ -135,18 +134,18 @@
<div class="col-md-2 docs-page-index position-relative bg-light"> <div class="col-md-2 docs-page-index position-relative bg-light">
<div class="docs-inner-anchors mt-2"> <div id="scroll-index" class="docs-inner-anchors mt-2">
<nav class="navbar p-0 pt-2" data-toggle="toc"> <h5>@L["InThisDocument"]</h5>
<h5>@L["InThisDocument"]</h5> <nav id="docs-sticky-index" class="navbar index-scroll">
</nav> </nav>
<div class="row"> <div class="row">
<div class="col mt-4 p-0"> <div class="col p-0 py-3">
<a href="javascript:;" class="scroll-top-btn"><i class="fa fa-chevron-up"></i> @L["GoToTop"]</a> <a href="javascript:;" class="scroll-top-btn"><i class="fa fa-chevron-up"></i> @L["GoToTop"]</a>
</div> </div>
</div> </div>
</div>
</div>
</div> </div>
} }
@ -154,9 +153,9 @@
{ {
<div class="col-md-9 p-5 bg-white"> <div class="col-md-9 p-5 bg-white">
<p>@L["DocumentNotFound"]</p> <p>@L["DocumentNotFound"]</p>
<a href="#">Go to home</a> <a href="#">Go to home</a> /*Localize*/
</div> </div>
} }
</div> </div>
</div> </div>

251
modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.css

@ -1,4 +1,7 @@
.docs-page { body {
position: relative; }
.docs-page {
background: #f5f7f9; } background: #f5f7f9; }
.docs-page .anchorjs-link { .docs-page .anchorjs-link {
transition: all .25s linear; } transition: all .25s linear; }
@ -22,7 +25,7 @@
background: none; background: none;
padding-left: 36px; padding-left: 36px;
width: 100%; width: 100%;
background: #eeeff2; background: #e9ecef;
border: 0; } border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:visited { .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:visited {
box-shadow: none; } box-shadow: none; }
@ -33,11 +36,14 @@
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select {
padding: 1px; padding: 1px;
border-radius: 8px; } border-radius: 8px; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select .input-group-text {
border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control {
line-height: 1; line-height: 1;
border-top-left-radius: 0; border-top-left-radius: 0;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
padding: .3em .5em .5em; } padding: .3em .5em .5em;
border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:visited { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:visited {
box-shadow: none; } box-shadow: none; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter {
@ -57,68 +63,64 @@
line-height: 1.5; } line-height: 1.5; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa {
color: #ddd; } color: #ddd; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list > ul { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list {
display: block; height: 100vh; }
height: calc(100vh - 190px); } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list > ul {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul {
font-size: .913em;
list-style: none;
padding: 0 1rem;
margin: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li {
margin-left: 0px;
padding-left: 24px;
display: block; display: block;
width: 100%; height: calc(100vh - 210px); }
position: relative; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label { font-size: .935em;
margin: 0; } list-style: none;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle { padding: 0 1rem;
transition: .3s; margin: 0; }
display: inline-block; .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li {
width: 18px; margin-left: 0px;
height: 18px; padding-left: 24px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 8px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:hover {
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle .plus-icon {
font-size: .85em; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:not(.last-link).opened {
transform: rotate(-90deg);
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle.last-link {
top: 9px;
color: #aaa; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
color: #222;
font-weight: 700;
padding: 7px 0;
display: block; display: block;
border-bottom: 1px solid #eeeff3; } width: 100%;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { position: relative; }
color: #000; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul { color: #999;
padding: 0; } font-weight: 700;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li label.tree-toggle { padding: 7px 0;
top: 7px; } display: block;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li a { border-bottom: 1px solid #eeeff3; }
font-weight: 400; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul { color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon {
font-size: .85em;
transition: .3s;
width: 18px;
height: 18px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 11px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link {
top: 11px;
color: #aaa; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul {
padding: 0; } padding: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li a {
font-weight: 300; } font-weight: 400; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul {
color: #38003c; padding: 0; }
font-weight: bold; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a {
font-weight: 300; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a {
color: #000;
transition: .4s; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa {
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa {
transform: rotate(90deg);
color: #000; }
.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand {
font-size: 1.5rem; font-size: 1.5rem;
color: #000; color: #000;
@ -156,7 +158,7 @@
color: #444; color: #444;
text-decoration: none; } text-decoration: none; }
.docs-page .docs-content .docs-text-field { .docs-page .docs-content .docs-text-field {
padding: 0 2rem 2rem; } padding: 2rem; }
.docs-page .docs-content article.docs-body h1 { .docs-page .docs-content article.docs-body h1 {
padding-top: 2rem; padding-top: 2rem;
font-size: 2.25rem; font-size: 2.25rem;
@ -187,49 +189,51 @@
margin: 15px 0 25px; margin: 15px 0 25px;
box-shadow: 0 0 45px #f8f9fa; box-shadow: 0 0 45px #f8f9fa;
border-radius: 6px; } border-radius: 6px; }
.docs-page .docs-page-index { .docs-page .docs-page-index #scroll-index {
position: relative; } max-height: 100vh; }
.docs-page .docs-page-index .docs-inner-anchors { .docs-page .docs-page-index .docs-inner-anchors {
position: fixed; position: fixed;
top: 0px; top: 0px;
max-width: 270px; /* max-width: 270px; */
padding: 10px; padding: 10px;
font-size: .90em; font-size: .90em;
height: 100vh; } /* height: 100vh; */ }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills {
font-size: .95em; font-size: .92em;
margin-left: 18px; margin-left: 15px;
border-left: 1px solid #e5e5e5; } border-left: 1px solid #eee; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link {
padding: .2rem 0rem .2rem 1rem; padding: 3px 14px 4px;
color: #aaa; color: #aaa;
line-height: 1.1; line-height: 1.2;
position: relative; position: relative;
border-left: 3px solid transparent; border-left: 1px solid #eee;
border-radius: 0; border-radius: 0;
margin-left: -2px; margin-left: -1px;
margin-top: 2px; margin-top: 1px;
margin-bottom: 2px; margin-bottom: 1px;
transition: .2s; } transition: .2s; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active {
background: none; border-left: 2px solid #007bff;
color: #000; background: none;
border-color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active {
color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active {
color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper { .docs-page .docs-page-index .docs-inner-anchors .index-scroll {
max-width: 300px; margin-left: -30px; }
float: left; } .docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper {
.docs-page .docs-page-index .scroll-top-btn { max-width: 300px;
display: none; float: left; }
font-size: .85em; .docs-page .docs-page-index .scroll-top-btn {
color: #aaa; display: none;
text-decoration: none; font-size: .85em;
padding-left: 18px; } color: #aaa;
.docs-page .docs-page-index .scroll-top-btn.showup { text-decoration: none;
display: block; } padding-left: 18px; }
.docs-page .docs-page-index .scroll-top-btn.showup {
display: block; }
@media (min-width: 1100px) { @media (min-width: 1100px) {
.container { .container {
@ -252,21 +256,36 @@
border-radius: 6px; } border-radius: 6px; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa {
color: #aaa; } color: #aaa; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle {
color: #666; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:hover {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:not(.last-link).opened {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle.last-link {
color: #666; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
color: #ddd; color: #aaa;
border-bottom: 1px solid #333; } border-bottom: 1px solid #333; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover {
color: #fff; } color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon {
font-size: .85em;
transition: .3s;
width: 18px;
height: 18px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 11px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link {
top: 11px; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a {
color: #fff; } color: #fff;
transition: .4s; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa {
transform: rotate(90deg);
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-top .navbar-logo .navbar-brand { .docs-page .docs-sidebar.dark-sidebar .docs-top .navbar-logo .navbar-brand {
color: #fff; color: #fff;
text-transform: uppercase; } text-transform: uppercase; }

2
modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.min.css

File diff suppressed because one or more lines are too long

182
modules/docs/src/Volo.Docs.Web/Pages/Documents/_docs.scss

@ -1,4 +1,6 @@
body {
position: relative;
}
.docs-page { .docs-page {
background: rgb(245, 247, 249); background: rgb(245, 247, 249);
@ -32,7 +34,7 @@
background: none; background: none;
padding-left: 36px; padding-left: 36px;
width: 100%; width: 100%;
background: #eeeff2; background: #e9ecef;
border: 0; border: 0;
&:focus, &:active, &:hover, &:visited { &:focus, &:active, &:hover, &:visited {
@ -49,11 +51,17 @@
padding: 1px; padding: 1px;
border-radius: 8px; border-radius: 8px;
.input-group-text {
border: 0;
}
select.form-control { select.form-control {
line-height: 1; line-height: 1;
border-top-left-radius: 0; border-top-left-radius: 0;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
padding: .3em .5em .5em; padding: .3em .5em .5em;
border: 0;
&:focus, &:active, &:hover, &:visited { &:focus, &:active, &:hover, &:visited {
box-shadow: none; box-shadow: none;
@ -89,13 +97,15 @@
} }
.docs-tree-list { .docs-tree-list {
height: 100vh;
> ul { > ul {
display: block; display: block;
height: calc(100vh - 190px); height: calc(100vh - 210px);
} }
ul { ul {
font-size: .913em; font-size: .935em;
list-style: none; list-style: none;
padding: 0 1rem; padding: 0 1rem;
margin: 0; margin: 0;
@ -107,12 +117,21 @@
width: 100%; width: 100%;
position: relative; position: relative;
label {
margin: 0;
&.tree-toggle { a {
color: #999;
font-weight: 700;
padding: 7px 0;
display: block;
border-bottom: 1px solid #eeeff3;
&:hover {
color: #000;
}
.plus-icon {
font-size: .85em;
transition: .3s; transition: .3s;
display: inline-block;
width: 18px; width: 18px;
height: 18px; height: 18px;
text-align: center; text-align: center;
@ -122,51 +141,22 @@
margin-right: 4px; margin-right: 4px;
position: absolute; position: absolute;
left: 2px; left: 2px;
top: 8px; top: 11px;
color: #aaa; color: #aaa;
cursor: pointer; cursor: pointer;
&:hover {
color: #000;
}
.plus-icon {
font-size: .85em;
}
&:not(.last-link).opened {
transform: rotate(-90deg);
color: #000;
}
&.last-link { &.last-link {
top: 9px; top: 11px;
color: #aaa; color: #aaa;
} }
} }
} }
a {
color: #222;
font-weight: 700;
padding: 7px 0;
display: block;
border-bottom: 1px solid #eeeff3;
&:hover {
color: #000;
}
}
ul { ul {
padding: 0; padding: 0;
li { li {
label {
&.tree-toggle {
top: 7px;
}
}
a { a {
font-weight: 400; font-weight: 400;
@ -186,8 +176,19 @@
&.selected-tree { &.selected-tree {
> a { > a {
color: #38003c; color: #000;
font-weight: bold; transition: .4s;
span {
.fa {
color: #000;
}
&:not(.last-link) .fa {
transform: rotate(90deg);
color: #000;
}
}
} }
} }
} }
@ -256,7 +257,7 @@
} }
.docs-text-field { .docs-text-field {
padding: 0 2rem 2rem; padding: 2rem;
} }
article.docs-body { article.docs-body {
@ -308,53 +309,55 @@
} }
} }
.docs-page-index { .docs-page-index {
position: relative;
#scroll-index {
max-height: 100vh;
}
.docs-inner-anchors { .docs-inner-anchors {
position: fixed; position: fixed;
top: 0px; top: 0px;
max-width: 270px; /* max-width: 270px; */
padding: 10px; padding: 10px;
font-size: .90em; font-size: .90em;
height: 100vh; /* height: 100vh; */
.navbar { .navbar {
.nav-pills { .nav-pills {
font-size: .95em; font-size: .92em;
margin-left: 18px; margin-left: 15px;
border-left: 1px solid #e5e5e5; border-left: 1px solid #eee;
.nav-link { .nav-link {
padding: .2rem 0rem .2rem 1rem; padding: 3px 14px 4px;
color: #aaa; color: #aaa;
line-height: 1.1; line-height: 1.2;
position: relative; position: relative;
border-left: 3px solid transparent; border-left: 1px solid #eee;
border-radius: 0; border-radius: 0;
margin-left: -2px; margin-left: -1px;
margin-top: 2px; margin-top: 1px;
margin-bottom: 2px; margin-bottom: 1px;
transition: .2s; transition: .2s;
&.active { &.active {
border-left: 2px solid #007bff;
background: none; background: none;
color: #000; color: #007bff;
border-color: #000;
} }
} }
.nav-pills { .nav-pills {
.nav-link { .nav-link {
&.active { &.active {
color: #000; color: #007bff;
} }
} }
.nav-pills { .nav-pills {
.nav-link { .nav-link {
&.active { &.active {
color: #000; color: #007bff;
} }
} }
} }
@ -362,7 +365,8 @@
} }
} }
> .navbar { .index-scroll {
margin-left: -30px;
} }
.docs-anchors-wrapper { .docs-anchors-wrapper {
@ -435,39 +439,55 @@
.docs-tree-list { .docs-tree-list {
ul { ul {
li { li {
label {
&.tree-toggle {
color: #666;
&:hover {
color: #fff;
}
.plus-icon {
}
&:not(.last-link).opened {
color: #fff;
}
&.last-link {
color: #666;
}
}
}
a { a {
color: #ddd; color: #aaa;
border-bottom: 1px solid #333; border-bottom: 1px solid #333;
&:hover { &:hover {
color: #fff; color: #fff;
} }
.plus-icon {
font-size: .85em;
transition: .3s;
width: 18px;
height: 18px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 11px;
color: #aaa;
cursor: pointer;
&.last-link {
top: 11px;
}
}
} }
&.selected-tree { &.selected-tree {
> a { > a {
color: #fff; color: #fff;
transition: .4s;
span {
.fa {
color: #fff;
}
&:not(.last-link) .fa {
transform: rotate(90deg);
color: #fff;
}
}
} }
} }
} }

251
modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.css

@ -1,4 +1,7 @@
.docs-page { body {
position: relative; }
.docs-page {
background: #f5f7f9; } background: #f5f7f9; }
.docs-page .anchorjs-link { .docs-page .anchorjs-link {
transition: all .25s linear; } transition: all .25s linear; }
@ -22,7 +25,7 @@
background: none; background: none;
padding-left: 36px; padding-left: 36px;
width: 100%; width: 100%;
background: #eeeff2; background: #e9ecef;
border: 0; } border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:visited { .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper input.form-control:visited {
box-shadow: none; } box-shadow: none; }
@ -33,11 +36,14 @@
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select {
padding: 1px; padding: 1px;
border-radius: 8px; } border-radius: 8px; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select .input-group-text {
border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control {
line-height: 1; line-height: 1;
border-top-left-radius: 0; border-top-left-radius: 0;
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
padding: .3em .5em .5em; } padding: .3em .5em .5em;
border: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:visited { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:focus, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:active, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:hover, .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-version .version-select select.form-control:visited {
box-shadow: none; } box-shadow: none; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter {
@ -57,68 +63,64 @@
line-height: 1.5; } line-height: 1.5; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa {
color: #ddd; } color: #ddd; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list > ul { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list {
display: block; height: 100vh; }
height: calc(100vh - 190px); } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list > ul {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul {
font-size: .913em;
list-style: none;
padding: 0 1rem;
margin: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li {
margin-left: 0px;
padding-left: 24px;
display: block; display: block;
width: 100%; height: calc(100vh - 210px); }
position: relative; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label { font-size: .935em;
margin: 0; } list-style: none;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle { padding: 0 1rem;
transition: .3s; margin: 0; }
display: inline-block; .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li {
width: 18px; margin-left: 0px;
height: 18px; padding-left: 24px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 8px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:hover {
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle .plus-icon {
font-size: .85em; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:not(.last-link).opened {
transform: rotate(-90deg);
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle.last-link {
top: 9px;
color: #aaa; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
color: #222;
font-weight: 700;
padding: 7px 0;
display: block; display: block;
border-bottom: 1px solid #eeeff3; } width: 100%;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { position: relative; }
color: #000; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul { color: #999;
padding: 0; } font-weight: 700;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li label.tree-toggle { padding: 7px 0;
top: 7px; } display: block;
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li a { border-bottom: 1px solid #eeeff3; }
font-weight: 400; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover {
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul { color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon {
font-size: .85em;
transition: .3s;
width: 18px;
height: 18px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 11px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link {
top: 11px;
color: #aaa; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul {
padding: 0; } padding: 0; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li a {
font-weight: 300; } font-weight: 400; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul {
color: #38003c; padding: 0; }
font-weight: bold; } .docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li ul li ul li a {
font-weight: 300; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a {
color: #000;
transition: .4s; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa {
color: #000; }
.docs-page .docs-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa {
transform: rotate(90deg);
color: #000; }
.docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand { .docs-page .docs-sidebar .docs-top .navbar-logo .navbar-brand {
font-size: 1.5rem; font-size: 1.5rem;
color: #000; color: #000;
@ -156,7 +158,7 @@
color: #444; color: #444;
text-decoration: none; } text-decoration: none; }
.docs-page .docs-content .docs-text-field { .docs-page .docs-content .docs-text-field {
padding: 0 2rem 2rem; } padding: 2rem; }
.docs-page .docs-content article.docs-body h1 { .docs-page .docs-content article.docs-body h1 {
padding-top: 2rem; padding-top: 2rem;
font-size: 2.25rem; font-size: 2.25rem;
@ -187,49 +189,51 @@
margin: 15px 0 25px; margin: 15px 0 25px;
box-shadow: 0 0 45px #f8f9fa; box-shadow: 0 0 45px #f8f9fa;
border-radius: 6px; } border-radius: 6px; }
.docs-page .docs-page-index { .docs-page .docs-page-index #scroll-index {
position: relative; } max-height: 100vh; }
.docs-page .docs-page-index .docs-inner-anchors { .docs-page .docs-page-index .docs-inner-anchors {
position: fixed; position: fixed;
top: 0px; top: 0px;
max-width: 270px; /* max-width: 270px; */
padding: 10px; padding: 10px;
font-size: .90em; font-size: .90em;
height: 100vh; } /* height: 100vh; */ }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills {
font-size: .95em; font-size: .92em;
margin-left: 18px; margin-left: 15px;
border-left: 1px solid #e5e5e5; } border-left: 1px solid #eee; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link {
padding: .2rem 0rem .2rem 1rem; padding: 3px 14px 4px;
color: #aaa; color: #aaa;
line-height: 1.1; line-height: 1.2;
position: relative; position: relative;
border-left: 3px solid transparent; border-left: 1px solid #eee;
border-radius: 0; border-radius: 0;
margin-left: -2px; margin-left: -1px;
margin-top: 2px; margin-top: 1px;
margin-bottom: 2px; margin-bottom: 1px;
transition: .2s; } transition: .2s; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-link.active {
background: none; border-left: 2px solid #007bff;
color: #000; background: none;
border-color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-link.active {
color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active { .docs-page .docs-page-index .docs-inner-anchors .navbar .nav-pills .nav-pills .nav-pills .nav-link.active {
color: #000; } color: #007bff; }
.docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper { .docs-page .docs-page-index .docs-inner-anchors .index-scroll {
max-width: 300px; margin-left: -30px; }
float: left; } .docs-page .docs-page-index .docs-inner-anchors .docs-anchors-wrapper {
.docs-page .docs-page-index .scroll-top-btn { max-width: 300px;
display: none; float: left; }
font-size: .85em; .docs-page .docs-page-index .scroll-top-btn {
color: #aaa; display: none;
text-decoration: none; font-size: .85em;
padding-left: 18px; } color: #aaa;
.docs-page .docs-page-index .scroll-top-btn.showup { text-decoration: none;
display: block; } padding-left: 18px; }
.docs-page .docs-page-index .scroll-top-btn.showup {
display: block; }
@media (min-width: 1100px) { @media (min-width: 1100px) {
.container { .container {
@ -252,21 +256,36 @@
border-radius: 6px; } border-radius: 6px; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-filter .filter-icon i.fa {
color: #aaa; } color: #aaa; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle {
color: #666; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:hover {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle:not(.last-link).opened {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li label.tree-toggle.last-link {
color: #666; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a {
color: #ddd; color: #aaa;
border-bottom: 1px solid #333; } border-bottom: 1px solid #333; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a:hover {
color: #fff; } color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon {
font-size: .85em;
transition: .3s;
width: 18px;
height: 18px;
text-align: center;
padding: 0;
line-height: 1;
border-radius: 50%;
margin-right: 4px;
position: absolute;
left: 2px;
top: 11px;
color: #aaa;
cursor: pointer; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li a .plus-icon.last-link {
top: 11px; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a { .docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a {
color: #fff; } color: #fff;
transition: .4s; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span .fa {
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-sidebar-wrapper .docs-tree-list ul li.selected-tree > a span:not(.last-link) .fa {
transform: rotate(90deg);
color: #fff; }
.docs-page .docs-sidebar.dark-sidebar .docs-top .navbar-logo .navbar-brand { .docs-page .docs-sidebar.dark-sidebar .docs-top .navbar-logo .navbar-brand {
color: #fff; color: #fff;
text-transform: uppercase; } text-transform: uppercase; }

64
modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.js

@ -1,6 +1,6 @@
$('.tree-toggle').click(function () { $('.tree-toggle:not(.last-link)').click(function () {
$(this).parent().children('ul.tree').toggle(100); $(this).parent().children('ul.tree').toggle(100);
$(this).toggleClass("opened"); $(this).closest("li").toggleClass("selected-tree");
}); });
$(document).ready(function () { $(document).ready(function () {
@ -23,30 +23,31 @@ $(document).ready(function () {
scrollTop: 0 scrollTop: 0
}, 500); }, 500);
return false; return false;
}); });
}); });
$(document).ready(function () {
$(function () {
var navSelector = '#docs-sticky-index'; var navSelector = '#docs-sticky-index';
var $myNav = $(navSelector); var $myNav = $(navSelector);
Toc.init($myNav); Toc.init($myNav);
$('body').scrollspy({ $('body').scrollspy({
target: navSelector target: $myNav
});
$("#docs-sticky-index a").on('click', function (event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 500, function () {
window.location.hash = hash;
});
}
}); });
}); });
$("#docs-sticky-index a").on('click', function (event) {
if (this.hash !== "") {
event.preventDefault();
var hash = this.hash;
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 800, function () {
window.location.hash = hash;
});
}
});
$('.btn-toggle').on("click", function () { $('.btn-toggle').on("click", function () {
$(".toggle-row").slideToggle(400); $(".toggle-row").slideToggle(400);
@ -71,10 +72,35 @@ $('.open-dmenu').on("click", function () {
}); });
$(window).on("load", function () { $(window).on("load", function () {
$("#index-scroll").mCustomScrollbar({ $("#scroll-index").mCustomScrollbar({
theme: "minimal-dark" theme: "minimal-dark"
}); });
}); });
window.Toc.helpers.createNavList = function() {
return $('<ul class="nav nav-pills flex-column"></ul>');
};
window.Toc.helpers.createChildNavList = function($parent) {
var $childList = this.createNavList();
$parent.append($childList);
return $childList;
};
window.Toc.helpers.generateNavEl = function(anchor, text) {
var $a = $('<a class="nav-link"></a>');
$a.attr('href', '#' + anchor);
$a.text(text);
var $li = $('<li class="nav-item"></li>');
$li.append($a);
return $li;
};
})(jQuery); })(jQuery);

2
modules/docs/src/Volo.Docs.Web/Pages/Documents/vs.min.css

File diff suppressed because one or more lines are too long

2
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs

@ -17,7 +17,7 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
public async Task<bool> DoesNameExist(string name, Guid? claimTypeId = null) public async Task<bool> DoesNameExist(string name, Guid? claimTypeId = null)
{ {
return await DbSet.WhereIf(claimTypeId != null, ct => ct.Id == claimTypeId).CountAsync(ct => ct.Name == name) > 0; return await DbSet.WhereIf(claimTypeId != null, ct => ct.Id != claimTypeId).CountAsync(ct => ct.Name == name) > 0;
} }
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount) public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount)

2
modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs

@ -17,7 +17,7 @@ namespace Volo.Abp.Identity.MongoDB
public async Task<bool> DoesNameExist(string name, Guid? claimTypeId = null) public async Task<bool> DoesNameExist(string name, Guid? claimTypeId = null)
{ {
return GetMongoQueryable().WhereIf(claimTypeId != null, ct => ct.Id == claimTypeId).Count(ct => ct.Name == name) > 0; return GetMongoQueryable().WhereIf(claimTypeId != null, ct => ct.Id != claimTypeId).Count(ct => ct.Name == name) > 0;
} }
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount) public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount)

2
samples/BookStore/src/Acme.BookStore.Web/BookStoreWebModule.cs

@ -93,7 +93,7 @@ namespace Acme.BookStore
{ {
services.Configure<VirtualFileSystemOptions>(options => services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<BookStoreDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\Acme.BookStore.Domain")); options.FileSets.ReplaceEmbeddedByPyhsical<BookStoreDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}Acme.BookStore.Domain", Path.DirectorySeparatorChar)));
}); });
} }

8
templates/module/app/MyCompanyName.MyProjectName.DemoApp/DemoAppModule.cs

@ -64,10 +64,10 @@ namespace MyCompanyName.MyProjectName.DemoApp
{ {
context.Services.Configure<VirtualFileSystemOptions>(options => context.Services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\MyCompanyName.MyProjectName.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}MyCompanyName.MyProjectName.Web", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\MyCompanyName.MyProjectName.Domain")); options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}MyCompanyName.MyProjectName.Domain", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\MyCompanyName.MyProjectName.Application")); options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}MyCompanyName.MyProjectName.Application", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\src\\MyCompanyName.MyProjectName.Application.Contracts")); options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}MyCompanyName.MyProjectName.Application.Contracts", Path.DirectorySeparatorChar)));
}); });
} }

18
templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs

@ -101,16 +101,16 @@ namespace MyCompanyName.MyProjectName
{ {
services.Configure<VirtualFileSystemOptions>(options => services.Configure<VirtualFileSystemOptions>(options =>
{ {
options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\MyCompanyName.MyProjectName.Domain")); options.FileSets.ReplaceEmbeddedByPyhsical<MyProjectNameDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}MyCompanyName.MyProjectName.Domain", Path.DirectorySeparatorChar)));
//<TEMPLATE-REMOVE> //<TEMPLATE-REMOVE>
options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBootstrapModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Bootstrap", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiThemeSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\framework\\src\\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAspNetCoreMvcUiBasicThemeModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}framework{0}src{0}Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpPermissionManagementWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\modules\\permission-management\\src\\Volo.Abp.PermissionManagement.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpPermissionManagementWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}modules{0}permission-management{0}src{0}Volo.Abp.PermissionManagement.Web", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpIdentityWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\modules\\identity\\src\\Volo.Abp.Identity.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpIdentityWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}modules{0}identity{0}src{0}Volo.Abp.Identity.Web", Path.DirectorySeparatorChar)));
options.FileSets.ReplaceEmbeddedByPyhsical<AbpAccountWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\..\\..\\modules\\account\\src\\Volo.Abp.Account.Web")); options.FileSets.ReplaceEmbeddedByPyhsical<AbpAccountWebModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}..{0}..{0}modules{0}account{0}src{0}Volo.Abp.Account.Web", Path.DirectorySeparatorChar)));
//</TEMPLATE-REMOVE> //</TEMPLATE-REMOVE>
}); });
} }

Loading…
Cancel
Save