From 136e70e0340ff4e99bbea90d00f2b2ef03d3d617 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Dec 2021 12:34:38 +0800 Subject: [PATCH 01/11] No longer use `AddRazorRuntimeCompilation`. --- .../Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs index 8a83c93a85..cbc81f352b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs @@ -119,7 +119,6 @@ namespace Volo.Abp.AspNetCore.Mvc ); var mvcBuilder = context.Services.AddMvc() - .AddRazorRuntimeCompilation() .AddDataAnnotationsLocalization(options => { options.DataAnnotationLocalizerProvider = (type, factory) => From 6596d9776a633bbd93d2204501c3b4bf43147e43 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Dec 2021 14:40:21 +0800 Subject: [PATCH 02/11] Fix unit tests. --- .../AbpMvcBuilderExtensions.cs | 23 ++++++++++++-- .../AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs | 9 ------ .../Volo.Abp.AspNetCore.Mvc.Tests.csproj | 30 ------------------- .../Mvc/AbpAspNetCoreMvcTestModule.cs | 6 ++++ 4 files changed, 26 insertions(+), 42 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs index c7f3777466..48e4f2716f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs @@ -1,7 +1,11 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using System.Reflection; using Microsoft.AspNetCore.Mvc.ApplicationParts; +using Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation; +using Volo.Abp.AspNetCore.VirtualFileSystem; +using Volo.Abp.DependencyInjection; namespace Microsoft.Extensions.DependencyInjection { @@ -11,12 +15,12 @@ namespace Microsoft.Extensions.DependencyInjection { mvcBuilder.PartManager.ApplicationParts.AddIfNotContains(assembly); } - + public static void AddApplicationPartIfNotExists(this IMvcCoreBuilder mvcCoreBuilder, Assembly assembly) { mvcCoreBuilder.PartManager.ApplicationParts.AddIfNotContains(assembly); } - + public static void AddIfNotContains(this IList applicationParts, Assembly assembly) { if (applicationParts.Any( @@ -27,5 +31,18 @@ namespace Microsoft.Extensions.DependencyInjection applicationParts.Add(new AssemblyPart(assembly)); } + + public static void AddAbpRazorRuntimeCompilation(this IMvcBuilder mvcCoreBuilder) + { + mvcCoreBuilder.AddRazorRuntimeCompilation(); + mvcCoreBuilder.Services.Configure(options => + { + options.FileProviders.Add( + new RazorViewEngineVirtualFileProvider( + mvcCoreBuilder.Services.GetSingletonInstance>() + ) + ); + }); + } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs index cbc81f352b..b08406fcf0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs @@ -140,15 +140,6 @@ namespace Volo.Abp.AspNetCore.Mvc mvcCoreBuilder.AddAbpHybridJson(); - Configure(options => - { - options.FileProviders.Add( - new RazorViewEngineVirtualFileProvider( - context.Services.GetSingletonInstance>() - ) - ); - }); - context.Services.ExecutePreConfiguredActions(mvcBuilder); //TODO: AddViewLocalization by default..? diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj index 3a923ba799..4e1b5e1334 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo.Abp.AspNetCore.Mvc.Tests.csproj @@ -40,36 +40,6 @@ PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs index 0b84b00f7d..2c8ba3d8d1 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Security.Claims; using Localization.Resources.AbpUi; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Mvc.Razor; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Authorization; @@ -115,6 +116,11 @@ namespace Volo.Abp.AspNetCore.Mvc options.RootDirectory = "/Volo/Abp/AspNetCore/Mvc"; }); + Configure(options => + { + options.ViewLocationFormats.Add("/Volo/Abp/AspNetCore/App/Views/{1}/{0}.cshtml"); + }); + Configure(options => { options.Maps.Add("SerialNumber", () => ClaimTypes.SerialNumber); From 1960d5acfe7852bcaeee9154c9e76c91825d4176 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 15 Dec 2021 15:20:25 +0800 Subject: [PATCH 03/11] Add `EnableRazorRuntimeCompilationOnDevelopment` --- .../DependencyInjection/AbpMvcBuilderExtensions.cs | 2 +- .../Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs | 6 ++++++ .../Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcOptions.cs | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs index 48e4f2716f..0f4912d105 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Microsoft/Extensions/DependencyInjection/AbpMvcBuilderExtensions.cs @@ -32,7 +32,7 @@ namespace Microsoft.Extensions.DependencyInjection applicationParts.Add(new AssemblyPart(assembly)); } - public static void AddAbpRazorRuntimeCompilation(this IMvcBuilder mvcCoreBuilder) + public static void AddAbpRazorRuntimeCompilation(this IMvcCoreBuilder mvcCoreBuilder) { mvcCoreBuilder.AddRazorRuntimeCompilation(); mvcCoreBuilder.Services.Configure(options => diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs index b08406fcf0..a9090d3a48 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs @@ -138,6 +138,12 @@ namespace Volo.Abp.AspNetCore.Mvc }) .AddViewLocalization(); //TODO: How to configure from the application? Also, consider to move to a UI module since APIs does not care about it. + if (context.Services.GetHostingEnvironment().IsDevelopment() && + context.Services.ExecutePreConfiguredActions().EnableRazorRuntimeCompilationOnDevelopment) + { + mvcCoreBuilder.AddAbpRazorRuntimeCompilation(); + } + mvcCoreBuilder.AddAbpHybridJson(); context.Services.ExecutePreConfiguredActions(mvcBuilder); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcOptions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcOptions.cs index 1378da8876..6993098b25 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcOptions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcOptions.cs @@ -14,11 +14,14 @@ namespace Volo.Abp.AspNetCore.Mvc public bool AutoModelValidation { get; set; } + public bool EnableRazorRuntimeCompilationOnDevelopment { get; set; } + public AbpAspNetCoreMvcOptions() { ConventionalControllers = new AbpConventionalControllerOptions(); IgnoredControllersOnModelExclusion = new HashSet(); AutoModelValidation = true; + EnableRazorRuntimeCompilationOnDevelopment = true; } } } From bc986f3f81ebb190577f94744c291ce85ee57bbb Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 16 Dec 2021 14:24:05 +0800 Subject: [PATCH 04/11] Use `DateTime.UtcNow` in `TokenCleanupService`. Resolve #10956 --- .../Tokens/TokenCleanupService.cs | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Tokens/TokenCleanupService.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Tokens/TokenCleanupService.cs index dfa66b9e88..6c78071d8b 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Tokens/TokenCleanupService.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Tokens/TokenCleanupService.cs @@ -1,9 +1,9 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; using Volo.Abp.IdentityServer.Devices; using Volo.Abp.IdentityServer.Grants; -using Volo.Abp.Timing; using Volo.Abp.Uow; namespace Volo.Abp.IdentityServer.Tokens @@ -12,43 +12,32 @@ namespace Volo.Abp.IdentityServer.Tokens { protected IPersistentGrantRepository PersistentGrantRepository { get; } protected IDeviceFlowCodesRepository DeviceFlowCodesRepository { get; } - protected IClock Clock { get; } protected TokenCleanupOptions Options { get; } public TokenCleanupService( IPersistentGrantRepository persistentGrantRepository, IDeviceFlowCodesRepository deviceFlowCodesRepository, - IClock clock, IOptions options) { PersistentGrantRepository = persistentGrantRepository; DeviceFlowCodesRepository = deviceFlowCodesRepository; - Clock = clock; Options = options.Value; } public virtual async Task CleanAsync() { - await RemoveGrantsAsync() - ; - + await RemoveGrantsAsync(); await RemoveDeviceCodesAsync(); } [UnitOfWork] protected virtual async Task RemoveGrantsAsync() { - for (int i = 0; i < Options.CleanupLoopCount; i++) + for (var i = 0; i < Options.CleanupLoopCount; i++) { - var persistentGrants = await PersistentGrantRepository - .GetListByExpirationAsync(Clock.Now, Options.CleanupBatchSize); + var persistentGrants = await PersistentGrantRepository.GetListByExpirationAsync(DateTime.UtcNow, Options.CleanupBatchSize); - //TODO: Can be optimized if the repository implements the batch deletion - foreach (var persistentGrant in persistentGrants) - { - await PersistentGrantRepository - .DeleteAsync(persistentGrant); - } + await PersistentGrantRepository.DeleteManyAsync(persistentGrants); //No need to continue to query if it gets more than max items. if (persistentGrants.Count < Options.CleanupBatchSize) @@ -60,17 +49,11 @@ namespace Volo.Abp.IdentityServer.Tokens protected virtual async Task RemoveDeviceCodesAsync() { - for (int i = 0; i < Options.CleanupLoopCount; i++) + for (var i = 0; i < Options.CleanupLoopCount; i++) { - var deviceFlowCodeses = await DeviceFlowCodesRepository - .GetListByExpirationAsync(Clock.Now, Options.CleanupBatchSize); + var deviceFlowCodeses = await DeviceFlowCodesRepository.GetListByExpirationAsync(DateTime.UtcNow, Options.CleanupBatchSize); - //TODO: Can be optimized if the repository implements the batch deletion - foreach (var deviceFlowCodes in deviceFlowCodeses) - { - await DeviceFlowCodesRepository - .DeleteAsync(deviceFlowCodes); - } + await DeviceFlowCodesRepository.DeleteManyAsync(deviceFlowCodeses); //No need to continue to query if it gets more than max items. if (deviceFlowCodeses.Count < Options.CleanupBatchSize) @@ -80,4 +63,4 @@ namespace Volo.Abp.IdentityServer.Tokens } } } -} \ No newline at end of file +} From 3f19a2e9f0c5a17a6648b3f9ab25ba1844f6f1be Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 16 Dec 2021 14:36:16 +0300 Subject: [PATCH 05/11] fix deploy scripts --- nupkg/common.ps1 | 2 +- nupkg/push_packages.ps1 | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nupkg/common.ps1 b/nupkg/common.ps1 index 79f9c91c0c..1a55c19d87 100644 --- a/nupkg/common.ps1 +++ b/nupkg/common.ps1 @@ -266,7 +266,7 @@ $projects = ( "modules/docs/src/Volo.Docs.HttpApi.Client", "modules/docs/src/Volo.Docs.HttpApi", "modules/docs/src/Volo.Docs.MongoDB", - "modules/docs/src/Volo.Docs.Web",, + "modules/docs/src/Volo.Docs.Web", "studio/source-codes/Volo.Docs.SourceCode", # modules/feature-management diff --git a/nupkg/push_packages.ps1 b/nupkg/push_packages.ps1 index cb6456e1d3..6fa91a5599 100644 --- a/nupkg/push_packages.ps1 +++ b/nupkg/push_packages.ps1 @@ -9,6 +9,7 @@ $version = $commonPropsXml.Project.PropertyGroup.Version # Publish all packages $i = 0 $errorCount = 0 +$totalProjectsCount = $projects.length $nugetUrl = "https://api.nuget.org/v3/index.json" Set-Location $packFolder @@ -19,12 +20,12 @@ foreach($project in $projects) { $nugetPackageName = $projectName + "." + $version + ".nupkg" $nugetPackageExists = Test-Path $nugetPackageName -PathType leaf - Write-Host ("-----===[ $i / " + $projects.length + " - " + $nugetPackageName + " ]===-----") + Write-Info "[$i / $totalProjectsCount] - Pushing: $nugetPackageName" if ($nugetPackageExists) { dotnet nuget push $nugetPackageName --skip-duplicate -s $nugetUrl --api-key "$apiKey" - Write-Host ("Deleting package from local: " + $nugetPackageName) + #Write-Host ("Deleting package from local: " + $nugetPackageName) #Remove-Item $nugetPackageName -Force } else From 44b464c38ff71be195b3791e9c07a3500156c187 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 16 Dec 2021 17:55:58 +0300 Subject: [PATCH 06/11] Docs: Fix update badge bg-color --- .../Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs index d76bdd0a77..5a5567c81e 100644 --- a/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs +++ b/modules/docs/src/Volo.Docs.Web/Areas/Documents/TagHelpers/TreeTagHelper.cs @@ -137,7 +137,7 @@ namespace Volo.Docs.Areas.Documents.TagHelpers } else if (node.LastSignificantUpdateTime != null && node.LastSignificantUpdateTime + TimeSpan.FromDays(14) > DateTime.Now) { - var updBadge = sb.Append("").Append(_localizer["Upd"]).Append("").ToString(); + var updBadge = sb.Append("").Append(_localizer["Upd"]).Append("").ToString(); badgeStringBuilder.Append(updBadge); } } From ce952fa16aa147248cadf0715f3f2d70541506c6 Mon Sep 17 00:00:00 2001 From: Cephas PAD Date: Sat, 18 Dec 2021 23:05:02 +0700 Subject: [PATCH 07/11] Update package version from 5.0.0-rc1 to 5.0.0 --- docs/en/Getting-Started-AspNetCore-Application.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Getting-Started-AspNetCore-Application.md b/docs/en/Getting-Started-AspNetCore-Application.md index b295f19cc6..47158481f8 100644 --- a/docs/en/Getting-Started-AspNetCore-Application.md +++ b/docs/en/Getting-Started-AspNetCore-Application.md @@ -21,7 +21,7 @@ This tutorial explains how to start ABP from scratch with minimal dependencies. Volo.Abp.AspNetCore.Mvc is the AspNet Core MVC integration package for ABP. So, install it on your project: ```` -Install-Package Volo.Abp.AspNetCore.Mvc -Version 5.0.0-rc.1 +Install-Package Volo.Abp.AspNetCore.Mvc -Version 5.0.0 ```` ## Create the First ABP Module @@ -105,7 +105,7 @@ Replacing AspNet Core's DI system by Autofac and integrating to ABP is pretty ea 1. Install [Volo.Abp.Autofac](https://www.nuget.org/packages/Volo.Abp.Autofac) package ```` -Install-Package Volo.Abp.Autofac -Version 5.0.0-rc.1 +Install-Package Volo.Abp.Autofac -Version 5.0.0 ```` 2. Add the ``AbpAutofacModule`` Dependency From 6a6dd4343ad963bbead4e0c193494ef8ed94fd67 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Sun, 19 Dec 2021 11:56:34 +0800 Subject: [PATCH 08/11] Update Getting-Started-AspNetCore-Application.md --- docs/en/Getting-Started-AspNetCore-Application.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Getting-Started-AspNetCore-Application.md b/docs/en/Getting-Started-AspNetCore-Application.md index 47158481f8..c5b72a6c1d 100644 --- a/docs/en/Getting-Started-AspNetCore-Application.md +++ b/docs/en/Getting-Started-AspNetCore-Application.md @@ -21,7 +21,7 @@ This tutorial explains how to start ABP from scratch with minimal dependencies. Volo.Abp.AspNetCore.Mvc is the AspNet Core MVC integration package for ABP. So, install it on your project: ```` -Install-Package Volo.Abp.AspNetCore.Mvc -Version 5.0.0 +Install-Package Volo.Abp.AspNetCore.Mvc ```` ## Create the First ABP Module @@ -105,7 +105,7 @@ Replacing AspNet Core's DI system by Autofac and integrating to ABP is pretty ea 1. Install [Volo.Abp.Autofac](https://www.nuget.org/packages/Volo.Abp.Autofac) package ```` -Install-Package Volo.Abp.Autofac -Version 5.0.0 +Install-Package Volo.Abp.Autofac ```` 2. Add the ``AbpAutofacModule`` Dependency From 2cf54462e2c2b2d293503dbd420a4ada34da6a6a Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 20 Dec 2021 11:14:53 +0800 Subject: [PATCH 09/11] Fixed l10n issue and margin among lines --- .../TagHelpers/Form/AbpInputTagHelperService.cs | 4 ++-- .../sweetalert2/abp-sweetalert2.js | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs index 6dc050b118..1ef29c799b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs @@ -54,7 +54,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form output.TagMode = TagMode.StartTagAndEndTag; output.TagName = "div"; LeaveOnlyGroupAttributes(context, output); - output.Attributes.AddClass("mb-3"); + output.Attributes.AddClass(isCheckBox ? "mb-2" : "mb-3"); if (isCheckBox) { output.Attributes.AddClass("form-check"); @@ -104,7 +104,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form protected virtual string SurroundInnerHtmlAndGet(TagHelperContext context, TagHelperOutput output, string innerHtml, bool isCheckbox) { - return "
" + + return "
" + Environment.NewLine + innerHtml + Environment.NewLine + "
"; } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js index f89f6ffed7..6f2a5cd727 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js @@ -101,6 +101,9 @@ var abp = abp || {}; var l = abp.localization.getResource('AbpUi'); abp.libs.sweetAlert.config.confirm.title = l('AreYouSure'); + abp.libs.sweetAlert.config.confirm.confirmButtonText = l('Yes'); + abp.libs.sweetAlert.config.confirm.denyButtonText = l('No'); + abp.libs.sweetAlert.config.confirm.cancelButtonText = l('Cancel'); abp.libs.sweetAlert.config.confirm.showCancelButton = true; abp.libs.sweetAlert.config.confirm.reverseButtons = true; }); From fc787edcea8f4c1c7ddac90b2c4488943492d695 Mon Sep 17 00:00:00 2001 From: berkansasmaz Date: Mon, 20 Dec 2021 09:09:07 +0300 Subject: [PATCH 10/11] fix(CLI): directory separator for bundle command is not os specific --- .../src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlerBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlerBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlerBase.cs index ce52b36d79..79d2ce8616 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlerBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlerBase.cs @@ -85,7 +85,7 @@ namespace Volo.Abp.Cli.Bundling { var pathFragments = definition.Source.Split('/').ToList(); var basePath = $"{pathFragments[0]}/{pathFragments[1]}"; - var path = contentRoots.FirstOrDefault(x => x.IndexOf($"\\{pathFragments[1]}\\", StringComparison.OrdinalIgnoreCase) > 0); + var path = contentRoots.FirstOrDefault(x => x.IndexOf(Path.DirectorySeparatorChar + pathFragments[1] + Path.DirectorySeparatorChar, StringComparison.OrdinalIgnoreCase) > 0); if (path == null) { throw new AbpException("Not found: " + definition.Source); From ec5ec9d70fcbfd00930b8818e2ba9e9f3138bfed Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Mon, 20 Dec 2021 10:33:46 +0300 Subject: [PATCH 11/11] fix case-sensitive problem. it doesn't compile on ubuntu --- .../Volo.Abp.BackgroundWorkers.Hangfire.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj index fe87db9cd1..8832400d64 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj @@ -16,7 +16,7 @@ - +