From 04fe22daf91793e67d7cc9b080c15447c8d3328e Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 24 Oct 2020 11:37:45 +0800 Subject: [PATCH 01/59] Add ViewComponent to DynamicProxyIgnoreTypes. --- .../Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcModule.cs | 1 + 1 file changed, 1 insertion(+) 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 3097a3c725..715ec0a0ce 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 @@ -55,6 +55,7 @@ namespace Volo.Abp.AspNetCore.Mvc { DynamicProxyIgnoreTypes.Add(); DynamicProxyIgnoreTypes.Add(); + DynamicProxyIgnoreTypes.Add(); context.Services.AddConventionalRegistrar(new AbpAspNetCoreMvcConventionalRegistrar()); } From 52a1d4a94b80b3bf2f5e8b1c276e266e70a613a1 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 26 Oct 2020 09:19:42 +0800 Subject: [PATCH 02/59] Update MyProjectNameWebHostModule.cs --- .../MyProjectNameWebHostModule.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebHostModule.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebHostModule.cs index f4c71e70d0..ee84f0dc40 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebHostModule.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebHostModule.cs @@ -41,6 +41,7 @@ using Volo.Abp.MultiTenancy; using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement.Web; using Volo.Abp.Security.Claims; +using Volo.Abp.Swashbuckle; using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement.Web; using Volo.Abp.UI.Navigation.Urls; From b6913a7955d54ea2dd0b85091c13cadd201ef33c Mon Sep 17 00:00:00 2001 From: Ahmet Date: Mon, 26 Oct 2020 10:12:02 +0300 Subject: [PATCH 03/59] Update AbpCrudPageBase.cs --- .../Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 76f7caf377..315cc42a73 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -178,6 +178,7 @@ namespace Volo.Abp.BlazoriseUI protected int CurrentPage; protected string CurrentSorting; protected int? TotalCount; + protected TGetListInput GetListInput = new TGetListInput(); protected IReadOnlyList Entities = Array.Empty(); protected TCreateViewModel NewEntity; protected TKey EditingEntityId; @@ -264,8 +265,8 @@ namespace Volo.Abp.BlazoriseUI protected virtual async Task GetEntitiesAsync() { - var input = await CreateGetListInputAsync(); - var result = await AppService.GetListAsync(input); + await UpdateGetListInputAsync(); + var result = await AppService.GetListAsync(GetListInput); Entities = MapToListViewModel(result.Items); TotalCount = (int?)result.TotalCount; } @@ -280,26 +281,24 @@ namespace Volo.Abp.BlazoriseUI return ObjectMapper.Map, List>(dtos); } - protected virtual Task CreateGetListInputAsync() + protected virtual Task UpdateGetListInputAsync() { - var input = new TGetListInput(); - - if (input is ISortedResultRequest sortedResultRequestInput) + if (GetListInput is ISortedResultRequest sortedResultRequestInput) { sortedResultRequestInput.Sorting = CurrentSorting; } - if (input is IPagedResultRequest pagedResultRequestInput) + if (GetListInput is IPagedResultRequest pagedResultRequestInput) { pagedResultRequestInput.SkipCount = CurrentPage * PageSize; } - if (input is ILimitedResultRequest limitedResultRequestInput) + if (GetListInput is ILimitedResultRequest limitedResultRequestInput) { limitedResultRequestInput.MaxResultCount = PageSize; } - - return Task.FromResult(input); + + return Task.CompletedTask; } protected virtual async Task OnDataGridReadAsync(DataGridReadDataEventArgs e) From b9aa367486a528d2b643bc899f064ce8ab07e5aa Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 26 Oct 2020 16:40:04 +0800 Subject: [PATCH 04/59] Add wpf template --- templates/wpf/MyCompanyName.MyProjectName.sln | 21 +++++ .../src/MyCompanyName.MyProjectName/App.xaml | 8 ++ .../MyCompanyName.MyProjectName/App.xaml.cs | 81 +++++++++++++++++++ .../AssemblyInfo.cs | 10 +++ .../HelloWorldService.cs | 12 +++ .../MainWindow.xaml | 12 +++ .../MainWindow.xaml.cs | 36 +++++++++ .../MyCompanyName.MyProjectName.csproj | 27 +++++++ .../MyProjectNameModule.cs | 15 ++++ .../appsettings.json | 3 + 10 files changed, 225 insertions(+) create mode 100644 templates/wpf/MyCompanyName.MyProjectName.sln create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/App.xaml create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/AssemblyInfo.cs create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/HelloWorldService.cs create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml.cs create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs create mode 100644 templates/wpf/src/MyCompanyName.MyProjectName/appsettings.json diff --git a/templates/wpf/MyCompanyName.MyProjectName.sln b/templates/wpf/MyCompanyName.MyProjectName.sln new file mode 100644 index 0000000000..6110c63271 --- /dev/null +++ b/templates/wpf/MyCompanyName.MyProjectName.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MyCompanyName.MyProjectName", "src\MyCompanyName.MyProjectName\MyCompanyName.MyProjectName.csproj", "{7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{25D4C66E-2173-478D-ABBE-0E9FC0E93B57}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {7CC4F9BA-520E-4D2E-92A5-8B91BFA08CBF} = {25D4C66E-2173-478D-ABBE-0E9FC0E93B57} + EndGlobalSection +EndGlobal diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml new file mode 100644 index 0000000000..7637433bab --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml @@ -0,0 +1,8 @@ + + + + + diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs new file mode 100644 index 0000000000..a4b134e32c --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Serilog; +using Serilog.Events; +using Volo.Abp; + +namespace MyCompanyName.MyProjectName +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + private readonly IHost _host; + private readonly IAbpApplicationWithExternalServiceProvider _application; + + public App() + { + _host = Host + .CreateDefaultBuilder(null) + .UseAutofac() + .UseSerilog() + .ConfigureServices((hostContext, services) => + { + services.AddApplication(); + }).Build(); + _application = _host.Services.GetService(); + } + + protected override async void OnStartup(StartupEventArgs e) + { + Log.Logger = new LoggerConfiguration() +#if DEBUG + .MinimumLevel.Debug() +#else + .MinimumLevel.Information() +#endif + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .Enrich.FromLogContext() + .WriteTo.Async(c => c.File("Logs/logs.txt")) + .CreateLogger(); + + try + { + Log.Information("Starting wpf host."); + await _host.StartAsync(); + Initialize(_host.Services); + + _host.Services.GetService()?.Show(); + + } + catch (Exception ex) + { + Log.Fatal(ex, "Host terminated unexpectedly!"); + } + finally + { + Log.CloseAndFlush(); + } + } + + protected override async void OnExit(ExitEventArgs e) + { + _application.Shutdown(); + await _host.StopAsync(); + _host.Dispose(); + } + + private void Initialize(IServiceProvider serviceProvider) + { + _application.Initialize(serviceProvider); + } + } +} diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/AssemblyInfo.cs b/templates/wpf/src/MyCompanyName.MyProjectName/AssemblyInfo.cs new file mode 100644 index 0000000000..4a05c7d474 --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] \ No newline at end of file diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/HelloWorldService.cs b/templates/wpf/src/MyCompanyName.MyProjectName/HelloWorldService.cs new file mode 100644 index 0000000000..d2d4275def --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/HelloWorldService.cs @@ -0,0 +1,12 @@ +using Volo.Abp.DependencyInjection; + + namespace MyCompanyName.MyProjectName +{ + public class HelloWorldService : ITransientDependency + { + public string SayHello() + { + return "Hello world!"; + } + } +} diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml b/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml new file mode 100644 index 0000000000..f716edebb5 --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml @@ -0,0 +1,12 @@ + + + + diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml.cs b/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml.cs new file mode 100644 index 0000000000..be1004415d --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MainWindow.xaml.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace MyCompanyName.MyProjectName +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + private readonly HelloWorldService _helloWorldService; + + public MainWindow(HelloWorldService helloWorldService) + { + _helloWorldService = helloWorldService; + InitializeComponent(); + } + + protected override void OnContentRendered(EventArgs e) + { + HelloLabel.Content =_helloWorldService.SayHello(); + } + } +} diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj new file mode 100644 index 0000000000..d5fc98eb1d --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -0,0 +1,27 @@ + + + + WinExe + net5.0-windows + true + + + + + + + + + + + + + + + + + Always + + + + diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs b/templates/wpf/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs new file mode 100644 index 0000000000..1687f50583 --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs @@ -0,0 +1,15 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; + +namespace MyCompanyName.MyProjectName +{ + [DependsOn(typeof(AbpAutofacModule))] + public class MyProjectNameModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddSingleton(); + } + } +} diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/appsettings.json b/templates/wpf/src/MyCompanyName.MyProjectName/appsettings.json new file mode 100644 index 0000000000..d177980a92 --- /dev/null +++ b/templates/wpf/src/MyCompanyName.MyProjectName/appsettings.json @@ -0,0 +1,3 @@ +{ + +} From 0edd75b2f8013b21d174cb0ea63614fb4b6e5ca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 26 Oct 2020 11:57:05 +0300 Subject: [PATCH 05/59] Add abp.domReady --- .../wwwroot/libs/abp/js/abp.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js index b8e8d358e3..c086b0460b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js @@ -2,6 +2,16 @@ (function () { abp.utils = abp.utils || {}; + // DOM READY ///////////////////////////////////////////////////// + + abp.domReady = function (fn) { + if (document.readyState === "complete" || document.readyState === "interactive") { + setTimeout(fn, 1); + } else { + document.addEventListener("DOMContentLoaded", fn); + } + }; + // COOKIES /////////////////////////////////////////////////////// /** From 4e792e28d4084ddedb8bcbdb46780b7a372669dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 26 Oct 2020 12:47:24 +0300 Subject: [PATCH 06/59] Added FULL SCREEN JavaScript API for the Blazor UI --- .../Components/WebAssembly/AbpUtilsService.cs | 15 +++++ .../WebAssembly/IAbpUtilsService.cs | 6 ++ .../wwwroot/libs/abp/js/abp.js | 59 +++++++++++++++++++ 3 files changed, 80 insertions(+) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpUtilsService.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpUtilsService.cs index 6af9c2e803..52da586497 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpUtilsService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/AbpUtilsService.cs @@ -32,5 +32,20 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly { return JsRuntime.InvokeVoidAsync("abp.utils.replaceLinkHrefById", linkId, hrefValue); } + + public ValueTask ToggleFullscreenAsync() + { + return JsRuntime.InvokeVoidAsync("abp.utils.toggleFullscreen"); + } + + public ValueTask RequestFullscreenAsync() + { + return JsRuntime.InvokeVoidAsync("abp.utils.requestFullscreen"); + } + + public ValueTask ExitFullscreenAsync() + { + return JsRuntime.InvokeVoidAsync("abp.utils.exitFullscreen"); + } } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/IAbpUtilsService.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/IAbpUtilsService.cs index 228c42d1f0..6724d18ee0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/IAbpUtilsService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/IAbpUtilsService.cs @@ -11,5 +11,11 @@ namespace Volo.Abp.AspNetCore.Components.WebAssembly ValueTask HasClassOnTagAsync(string tagName, string className); ValueTask ReplaceLinkHrefByIdAsync(string linkId, string hrefValue); + + ValueTask ToggleFullscreenAsync(); + + ValueTask RequestFullscreenAsync(); + + ValueTask ExitFullscreenAsync(); } } diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js index c086b0460b..f22ee88c97 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/wwwroot/libs/abp/js/abp.js @@ -123,4 +123,63 @@ link.href = hrefValue; } }; + + // FULL SCREEN ///////////////// + + abp.utils.toggleFullscreen = function() { + var elem = document.documentElement; + if (!document.fullscreenElement && !document.mozFullScreenElement && + !document.webkitFullscreenElement && !document.msFullscreenElement) { + if (elem.requestFullscreen) { + elem.requestFullscreen(); + } else if (elem.msRequestFullscreen) { + elem.msRequestFullscreen(); + } else if (elem.mozRequestFullScreen) { + elem.mozRequestFullScreen(); + } else if (elem.webkitRequestFullscreen) { + elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } + } else { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + } + } + + abp.utils.requestFullscreen = function() { + var elem = document.documentElement; + if (!document.fullscreenElement && !document.mozFullScreenElement && + !document.webkitFullscreenElement && !document.msFullscreenElement) { + if (elem.requestFullscreen) { + elem.requestFullscreen(); + } else if (elem.msRequestFullscreen) { + elem.msRequestFullscreen(); + } else if (elem.mozRequestFullScreen) { + elem.mozRequestFullScreen(); + } else if (elem.webkitRequestFullscreen) { + elem.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } + } + } + + abp.utils.exitFullscreen = function() { + if (!(!document.fullscreenElement && !document.mozFullScreenElement && + !document.webkitFullscreenElement && !document.msFullscreenElement)) { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } + } + } })(); From 744c32deb405ec579386a33ed30e62b49c656b6e Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 13:38:19 +0300 Subject: [PATCH 07/59] docs: explain how to get settings in Angular --- docs/en/UI/Angular/Settings.md | 60 ++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/Angular/Settings.md b/docs/en/UI/Angular/Settings.md index 47868f2363..744df0a830 100644 --- a/docs/en/UI/Angular/Settings.md +++ b/docs/en/UI/Angular/Settings.md @@ -1,3 +1,59 @@ -# Angular UI: Settings +# Settings -> This document explains how to get setting values in an Angular application. See the [settings document](../../Settings.md) to learn the setting system. \ No newline at end of file +You can get settings on the client-side using the [config state service](./Config-State.md) if they are allowed by their setting definition on the server-side. + +> This document only explains how settings work in the Angular UI projects. See the [settings document](../../../Settings.md) to understand the ABP setting system. + +## Before Use + +To use the `ConfigStateService`, you must inject it in your class as a dependency. You do not have to provide the service explicitly, because it is already **provided in root**. + +```js +import { ConfigStateService } from '@abp/ng.core'; + +@Component({ + /* class metadata here */ +}) +class DemoComponent { + constructor(private config: ConfigStateService) {} +} +``` + +## How to Get a Specific Setting + +You can use the `getSetting` method of `ConfigStateService` to get a specific setting from the configuration state. Here is an example: + +```js +// this.config is instance of ConfigStateService + +const defaultLang = this.config.getSetting("Abp.Localization.DefaultLanguage"); +// 'en' +``` + +### How to Get All Settings From the Store + +You can use the `getSettings` method of `ConfigStateService` to obtain all settings as an object where the object properties are setting names and property values are setting values. + +```js +// this.config is instance of ConfigStateService + +const settings = this.config.getSettings(); +// all settings as a key value pair +``` + +Additionally, the method lets you search settings by **passing a keyword** to it. + +```js +const localizationSettings = this.config.getSettings("Localization"); +/* +{ + 'Abp.Localization.DefaultLanguage': 'en' +} +*/ +``` + +Beware though, **settings search is case-sensitive**. + +## What's Next? + +- [Permission Management](./Permission-Management.md) From 22e41edcafebad82ff0126f57db0db33a099735b Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 13:39:11 +0300 Subject: [PATCH 08/59] docs: add navigation to Angular settings doc --- docs/en/UI/Angular/Localization.md | 2 +- docs/en/docs-nav.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/en/UI/Angular/Localization.md b/docs/en/UI/Angular/Localization.md index c8073585e1..1efdbca359 100644 --- a/docs/en/UI/Angular/Localization.md +++ b/docs/en/UI/Angular/Localization.md @@ -237,4 +237,4 @@ import( ## What's Next? -* [Permission Management](./Permission-Management.md) +* [Settings](./Settings.md) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 2409bbc4fc..56eb8d8e20 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -584,6 +584,10 @@ "text": "Localization", "path": "UI/Angular/Localization.md" }, + { + "text": "Settings", + "path": "UI/Angular/Settings.md" + }, { "text": "Permission Management", "path": "UI/Angular/Permission-Management.md" From 194832ff855e1718b8f2510bdb51c174412121a1 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 13:42:24 +0300 Subject: [PATCH 09/59] docs: remove settings part from config state service --- docs/en/UI/Angular/Config-State.md | 38 ++++-------------------------- 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/docs/en/UI/Angular/Config-State.md b/docs/en/UI/Angular/Config-State.md index 0c1070f54d..d00e463924 100644 --- a/docs/en/UI/Angular/Config-State.md +++ b/docs/en/UI/Angular/Config-State.md @@ -93,40 +93,6 @@ const searchUrl = this.config.getApiUrl("search"); This method returns the `url` of a specific API based on the key given as its only parameter. If there is no key, `'default'` is used. -### How to Get All Settings From the Store - -You can use the `getSettings` method of `ConfigStateService` to get all of the settings object from the configuration state. Here is how you get all settings: - -```js -// this.config is instance of ConfigStateService - -const settings = this.config.getSettings(); -``` - -In addition, the method lets you search settings by **passing a keyword** to it. - -```js -const localizationSettings = this.config.getSettings("Localization"); -/* -{ - 'Abp.Localization.DefaultLanguage': 'en' -} -*/ -``` - -Beware though, **settings search is case sensitive**. - -### How to Get a Specific Setting From the Store - -You can use the `getSetting` method of `ConfigStateService` to get a specific setting from the configuration state. Here is an example: - -```js -// this.config is instance of ConfigStateService - -const defaultLang = this.config.getSetting("Abp.Localization.DefaultLanguage"); -// 'en' -``` - ### How to Get a Specific Feature From the Store You can use the `getFeature` method of `ConfigStateService` to get a specific feature from the configuration state. Here is an example: @@ -231,6 +197,10 @@ Note that **you do not have to call this method at application initiation**, bec Please refer to `Config.Environment` type for all the properties you can pass to `dispatchSetEnvironment` as parameter. It can be found in the [config.ts file](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/models/config.ts#L13). +## See Also + +- [Settings](./Settings.md) + ## What's Next? - [HTTP Requests](./Http-Requests) From 5b633f47dcd88f4dd12a6cb00221251328c04399 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 26 Oct 2020 13:53:18 +0300 Subject: [PATCH 10/59] Dist. Event Docs: match event object names --- docs/en/Distributed-Event-Bus.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/Distributed-Event-Bus.md b/docs/en/Distributed-Event-Bus.md index b1444d8eba..da1a94cd04 100644 --- a/docs/en/Distributed-Event-Bus.md +++ b/docs/en/Distributed-Event-Bus.md @@ -44,7 +44,7 @@ namespace AbpDemo public virtual async Task ChangeStockCountAsync(Guid productId, int newCount) { await _distributedEventBus.PublishAsync( - new StockCountChangedEvent + new StockCountChangedEto { ProductId = productId, NewCount = newCount @@ -300,4 +300,4 @@ namespace AbpDemo } ```` -This example uses the `AutoMap` attribute of the AutoMapper to configure the mapping. You could create a profile class instead. Please refer to the AutoMapper document for more options. \ No newline at end of file +This example uses the `AutoMap` attribute of the AutoMapper to configure the mapping. You could create a profile class instead. Please refer to the AutoMapper document for more options. From 99dbc8da622e8801969e3c4d95e3e72b9645dd99 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 26 Oct 2020 16:13:49 +0300 Subject: [PATCH 11/59] Publish an event on comment creation for the CMS Kit resolves https://github.com/abpframework/abp/issues/5463 --- ...lo.CmsKit.Public.Application.Contracts.csproj | 1 + .../CmsKitPublicApplicationContractsModule.cs | 4 +++- .../Public/Comments/CreatedCommentEvent.cs | 11 +++++++++++ .../Public/Comments/CommentPublicAppService.cs | 16 ++++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreatedCommentEvent.cs diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo.CmsKit.Public.Application.Contracts.csproj b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo.CmsKit.Public.Application.Contracts.csproj index 8515d28e83..9cbfc52b80 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo.CmsKit.Public.Application.Contracts.csproj +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo.CmsKit.Public.Application.Contracts.csproj @@ -10,6 +10,7 @@ + diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/CmsKitPublicApplicationContractsModule.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/CmsKitPublicApplicationContractsModule.cs index 92ab969bf6..52996a1bdd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/CmsKitPublicApplicationContractsModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/CmsKitPublicApplicationContractsModule.cs @@ -1,9 +1,11 @@ using Volo.Abp.Modularity; +using Volo.Abp.EventBus; namespace Volo.CmsKit.Public { [DependsOn( - typeof(CmsKitCommonApplicationContractsModule) + typeof(CmsKitCommonApplicationContractsModule), + typeof(AbpEventBusModule) )] public class CmsKitPublicApplicationContractsModule : AbpModule { diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreatedCommentEvent.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreatedCommentEvent.cs new file mode 100644 index 0000000000..7db2c10d8b --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application.Contracts/Volo/CmsKit/Public/Comments/CreatedCommentEvent.cs @@ -0,0 +1,11 @@ +using System; +using Volo.Abp.EventBus; + +namespace Volo.CmsKit.Public.Comments +{ + [EventName("Volo.CmsKit.Comments.Created")] + public class CreatedCommentEvent + { + public Guid Id { get; set; } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs index 88bcef9a1e..a4ce4a2b46 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Comments/CommentPublicAppService.cs @@ -7,6 +7,8 @@ using Microsoft.Extensions.Options; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.EventBus.Distributed; +using Volo.Abp.Uow; using Volo.Abp.Users; using Volo.CmsKit.Comments; using Volo.CmsKit.Users; @@ -18,15 +20,21 @@ namespace Volo.CmsKit.Public.Comments protected CmsKitOptions CmsKitOptions { get; } protected ICommentRepository CommentRepository { get; } protected ICmsUserLookupService CmsUserLookupService { get; } + public IDistributedEventBus DistributedEventBus { get; } + public IUnitOfWorkManager UnitOfWorkManager { get; } public CommentPublicAppService( ICommentRepository commentRepository, ICmsUserLookupService cmsUserLookupService, + IDistributedEventBus distributedEventBus, + IUnitOfWorkManager unitOfWorkManager, IOptions cmsKitOptions) { CmsKitOptions = cmsKitOptions.Value; CommentRepository = commentRepository; CmsUserLookupService = cmsUserLookupService; + DistributedEventBus = distributedEventBus; + UnitOfWorkManager = unitOfWorkManager; } public virtual async Task> GetListAsync(string entityType, string entityId) @@ -56,6 +64,14 @@ namespace Volo.CmsKit.Public.Comments ) ); + + await UnitOfWorkManager.Current.SaveChangesAsync(); + + await DistributedEventBus.PublishAsync(new CreatedCommentEvent + { + Id = comment.Id + }); + return ObjectMapper.Map(comment); } From 234d982e55e88a640cab8a200aedfd67efeb5ce4 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Mon, 26 Oct 2020 21:27:32 +0800 Subject: [PATCH 12/59] Add WPF template to CLI --- build/common.ps1 | 2 ++ .../Cli/ProjectBuilding/AbpIoSourceCodeStore.cs | 3 ++- .../Cli/ProjectBuilding/TemplateInfoProvider.cs | 3 +++ .../ProjectBuilding/Templates/Wpf/WpfTemplate.cs | 16 ++++++++++++++++ .../Templates/Wpf/WpfTemplateBase.cs | 13 +++++++++++++ 5 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplateBase.cs diff --git a/build/common.ps1 b/build/common.ps1 index 830b6ce270..0afe55f120 100644 --- a/build/common.ps1 +++ b/build/common.ps1 @@ -31,6 +31,8 @@ if ($full -eq "-f") "../modules/blogging", "../templates/module/aspnet-core", "../templates/app/aspnet-core", + "../templates/console", + "../templates/wpf", "../abp_io/AbpIoLocalization" ) }else{ diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs index 106d7b5bcc..0462920fbb 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs @@ -14,6 +14,7 @@ using Volo.Abp.Cli.Http; using Volo.Abp.Cli.ProjectBuilding.Templates.App; using Volo.Abp.Cli.ProjectBuilding.Templates.Console; using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule; +using Volo.Abp.Cli.ProjectBuilding.Templates.Wpf; using Volo.Abp.DependencyInjection; using Volo.Abp.Http; using Volo.Abp.IO; @@ -244,7 +245,7 @@ namespace Volo.Abp.Cli.ProjectBuilding stringBuilder.AppendLine(cacheFile); } - var matches = Regex.Matches(stringBuilder.ToString(), $"({AppTemplate.TemplateName}|{AppProTemplate.TemplateName}|{ModuleTemplate.TemplateName}|{ModuleProTemplate.TemplateName}|{ConsoleTemplate.TemplateName})-(.+).zip"); + var matches = Regex.Matches(stringBuilder.ToString(), $"({AppTemplate.TemplateName}|{AppProTemplate.TemplateName}|{ModuleTemplate.TemplateName}|{ModuleProTemplate.TemplateName}|{ConsoleTemplate.TemplateName}|{WpfTemplate.TemplateName})-(.+).zip"); foreach (Match match in matches) { templateList.Add((match.Groups[1].Value, match.Groups[2].Value)); diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs index d1c2e4e2ba..7a4df335fe 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateInfoProvider.cs @@ -3,6 +3,7 @@ using Volo.Abp.Cli.ProjectBuilding.Building; using Volo.Abp.Cli.ProjectBuilding.Templates.App; using Volo.Abp.Cli.ProjectBuilding.Templates.Console; using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule; +using Volo.Abp.Cli.ProjectBuilding.Templates.Wpf; using Volo.Abp.DependencyInjection; namespace Volo.Abp.Cli.ProjectBuilding @@ -28,6 +29,8 @@ namespace Volo.Abp.Cli.ProjectBuilding return new ModuleProTemplate(); case ConsoleTemplate.TemplateName: return new ConsoleTemplate(); + case WpfTemplate.TemplateName: + return new WpfTemplate(); default: throw new Exception("There is no template found with given name: " + name); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs new file mode 100644 index 0000000000..db1a257b89 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs @@ -0,0 +1,16 @@ +namespace Volo.Abp.Cli.ProjectBuilding.Templates.Wpf +{ + public class WpfTemplate : WpfTemplateBase + { + /// + /// "wpf". + /// + public const string TemplateName = "wpf"; + + public WpfTemplate() + : base(TemplateName) + { + DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Getting-Started-WPF-Application"; + } + } +} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplateBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplateBase.cs new file mode 100644 index 0000000000..e7127bb23b --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplateBase.cs @@ -0,0 +1,13 @@ +using JetBrains.Annotations; +using Volo.Abp.Cli.ProjectBuilding.Building; + +namespace Volo.Abp.Cli.ProjectBuilding.Templates.Wpf +{ + public class WpfTemplateBase: TemplateInfo + { + protected WpfTemplateBase([NotNull] string name) : + base(name) + { + } + } +} From 2f578c98fab38d8a6b2ef2f128cf7581d35249a0 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 17:05:34 +0300 Subject: [PATCH 13/59] docs: explain how to get features in Angular --- docs/en/UI/Angular/Features.md | 38 ++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/Angular/Features.md b/docs/en/UI/Angular/Features.md index f749030a26..930fc2e527 100644 --- a/docs/en/UI/Angular/Features.md +++ b/docs/en/UI/Angular/Features.md @@ -1,3 +1,37 @@ -# Angular UI: Features +# Features -> This document explains how to get feature values in an Angular application. See the [Features document](../../Features.md) to learn the feature system. \ No newline at end of file +You can get the value of a feature on the client-side using the [config state service](./Config-State.md) if it is allowed by the feature definition on the server-side. + +> This document explains how to get feature values in an Angular application. See the [Features document](../../Features.md) to learn the feature system. + +## Before Use + +To use the `ConfigStateService`, you must inject it in your class as a dependency. You do not have to provide the service explicitly, because it is already **provided in root**. + +```js +import { ConfigStateService } from '@abp/ng.core'; + +@Component({ + /* class metadata here */ +}) +class DemoComponent { + constructor(private config: ConfigStateService) {} +} +``` + +## How to Get a Specific Feature + +You can use the `getFeature` method of `ConfigStateService` to get a specific feature from the configuration state. Here is an example: + +```js +// this.config is instance of ConfigStateService + +const defaultLang = this.config.getFeature("Identity.TwoFactor"); +// 'Optional' +``` + +You can then check the value of the feature to perform your logic. Please note that **feature keys are case-sensitive**. + +## What's Next? + +- [Permission Management](./Permission-Management.md) From e24c05a2acec04089e5b9f5ed60a9bec3b407027 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 17:06:09 +0300 Subject: [PATCH 14/59] docs: add navigation to Angular features doc --- docs/en/UI/Angular/Settings.md | 2 +- docs/en/docs-nav.json | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/en/UI/Angular/Settings.md b/docs/en/UI/Angular/Settings.md index 744df0a830..f3a5775838 100644 --- a/docs/en/UI/Angular/Settings.md +++ b/docs/en/UI/Angular/Settings.md @@ -56,4 +56,4 @@ Beware though, **settings search is case-sensitive**. ## What's Next? -- [Permission Management](./Permission-Management.md) +- [Features](./Features.md) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 56eb8d8e20..9510da38eb 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -588,6 +588,10 @@ "text": "Settings", "path": "UI/Angular/Settings.md" }, + { + "text": "Features", + "path": "UI/Angular/Features.md" + }, { "text": "Permission Management", "path": "UI/Angular/Permission-Management.md" From 4bef91bb0f0ad463c6bce58db3453644fac9ca8a Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Mon, 26 Oct 2020 17:07:17 +0300 Subject: [PATCH 15/59] docs: remove features part from config state service --- docs/en/UI/Angular/Config-State.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/docs/en/UI/Angular/Config-State.md b/docs/en/UI/Angular/Config-State.md index d00e463924..b1a882d43a 100644 --- a/docs/en/UI/Angular/Config-State.md +++ b/docs/en/UI/Angular/Config-State.md @@ -93,17 +93,6 @@ const searchUrl = this.config.getApiUrl("search"); This method returns the `url` of a specific API based on the key given as its only parameter. If there is no key, `'default'` is used. -### How to Get a Specific Feature From the Store - -You can use the `getFeature` method of `ConfigStateService` to get a specific feature from the configuration state. Here is an example: - -```js -// this.config is instance of ConfigStateService - -const isChatEnabled = this.config.getFeature("Chat.Enable"); -// 'en' -``` - ### How to Get a Specific Permission From the Store You can use the `getGrantedPolicy` method of `ConfigStateService` to get a specific permission from the configuration state. For that, you should pass a policy key as parameter to the method. @@ -200,6 +189,7 @@ Please refer to `Config.Environment` type for all the properties you can pass to ## See Also - [Settings](./Settings.md) +- [Features](./Features.md) ## What's Next? From e0cdb61cec8636bd116f2677c7568c4961d697fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 26 Oct 2020 19:15:19 +0300 Subject: [PATCH 16/59] Update PermissionRequirement.cs --- .../Volo/Abp/Authorization/PermissionRequirement.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/PermissionRequirement.cs b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/PermissionRequirement.cs index 886f119e12..30ffb1d66b 100644 --- a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/PermissionRequirement.cs +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/PermissionRequirement.cs @@ -13,5 +13,10 @@ namespace Volo.Abp.Authorization PermissionName = permissionName; } + + public override string ToString() + { + return $"PermissionRequirement: {PermissionName}"; + } } -} \ No newline at end of file +} From 47fc94287c1394e7809b7614a891e8512bfca518 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 27 Oct 2020 10:12:46 +0800 Subject: [PATCH 17/59] add common files. --- templates/wpf/.gitattributes | 1 + templates/wpf/.gitignore | 255 ++++++++++++++++++ templates/wpf/common.props | 12 + .../MyCompanyName.MyProjectName/App.xaml.cs | 2 +- .../MyCompanyName.MyProjectName.csproj | 4 +- 5 files changed, 272 insertions(+), 2 deletions(-) create mode 100644 templates/wpf/.gitattributes create mode 100644 templates/wpf/.gitignore create mode 100644 templates/wpf/common.props diff --git a/templates/wpf/.gitattributes b/templates/wpf/.gitattributes new file mode 100644 index 0000000000..c941e52669 --- /dev/null +++ b/templates/wpf/.gitattributes @@ -0,0 +1 @@ +**/wwwroot/libs/** linguist-vendored diff --git a/templates/wpf/.gitignore b/templates/wpf/.gitignore new file mode 100644 index 0000000000..95d81cb113 --- /dev/null +++ b/templates/wpf/.gitignore @@ -0,0 +1,255 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# MyProjectName +src/MyCompanyName.MyProjectName.ConsoleApp/Logs/logs.txt diff --git a/templates/wpf/common.props b/templates/wpf/common.props new file mode 100644 index 0000000000..233f41c1ba --- /dev/null +++ b/templates/wpf/common.props @@ -0,0 +1,12 @@ + + + latest + 0.1.0 + $(NoWarn);CS1591;CS0436 + + + + + + + \ No newline at end of file diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs index a4b134e32c..b76f8832e4 100644 --- a/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs +++ b/templates/wpf/src/MyCompanyName.MyProjectName/App.xaml.cs @@ -49,7 +49,7 @@ namespace MyCompanyName.MyProjectName try { - Log.Information("Starting wpf host."); + Log.Information("Starting WPF host."); await _host.StartAsync(); Initialize(_host.Services); diff --git a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index d5fc98eb1d..ccd53a9e86 100644 --- a/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/wpf/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -1,5 +1,7 @@  + + WinExe net5.0-windows @@ -16,7 +18,7 @@ - + From 9a99562a58078cf3c51d36cb192a8f77a65165d7 Mon Sep 17 00:00:00 2001 From: Erol Arkat Date: Tue, 27 Oct 2020 10:18:49 +0300 Subject: [PATCH 18/59] version update --- common.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.props b/common.props index 449223a212..5671a3fc31 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ latest - 3.3.0-rc.2 + 3.3.0 $(NoWarn);CS1591;CS0436 https://abp.io/assets/abp_nupkg.png https://abp.io/ From 977f5eab9e87af489640e8770bfbe7408282bee2 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 27 Oct 2020 16:30:57 +0800 Subject: [PATCH 19/59] Create WPF startup project document --- docs/en/Startup-Templates/Index.md | 1 + docs/en/Startup-Templates/WPF.md | 27 ++++++++++++++++++ docs/en/docs-nav.json | 8 ++++++ .../images/basic-wpf-application-solution.png | Bin 0 -> 32142 bytes docs/zh-Hans/Startup-Templates/Index.md | 3 +- docs/zh-Hans/Startup-Templates/WPF.md | 27 ++++++++++++++++++ docs/zh-Hans/docs-nav.json | 8 ++++++ .../images/basic-wpf-application-solution.png | Bin 0 -> 32142 bytes 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 docs/en/Startup-Templates/WPF.md create mode 100644 docs/en/images/basic-wpf-application-solution.png create mode 100644 docs/zh-Hans/Startup-Templates/WPF.md create mode 100644 docs/zh-Hans/images/basic-wpf-application-solution.png diff --git a/docs/en/Startup-Templates/Index.md b/docs/en/Startup-Templates/Index.md index 0c788a6a9c..6938182aa2 100644 --- a/docs/en/Startup-Templates/Index.md +++ b/docs/en/Startup-Templates/Index.md @@ -5,3 +5,4 @@ While you can start with an empty project and add needed packages manually, star * [**app**](Application.md): Application template. * [**module**](Module.md): Module/service template. * [**console**](Console.md): Console template. +* [**wpf**](WPF.md): WPF template. diff --git a/docs/en/Startup-Templates/WPF.md b/docs/en/Startup-Templates/WPF.md new file mode 100644 index 0000000000..7eb6a5c73e --- /dev/null +++ b/docs/en/Startup-Templates/WPF.md @@ -0,0 +1,27 @@ +# WPF Application Startup Template + +This template is used to create a minimalist WPF application project. + +## How to Start With? + +First, install the [ABP CLI](../CLI.md) if you haven't installed before: + +````bash +dotnet tool install -g Volo.Abp.Cli +```` + +Then use the `abp new` command in an empty folder to create a new solution: + +````bash +abp new Acme.MyWpfApp -t wpf +```` + +`Acme.MyWpfApp` is the solution name, like *YourCompany.YourProduct*. You can use single level, two-levels or three-levels naming. + +## Solution Structure + +After you use the above command to create a solution, you will have a solution like shown below: + +![basic-wpf-application-solution](../images/basic-wpf-application-solution.png) + +* `HelloWorldService` is a sample service that implements the `ITransientDependency` interface to register this service to the [dependency injection](../Dependency-Injection.md) system. \ No newline at end of file diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 2409bbc4fc..f02e419331 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -11,6 +11,10 @@ "text": "Console Application", "path": "Startup-Templates/Console.md" }, + { + "text": "WPF Application", + "path": "Startup-Templates/WPF.md" + }, { "text": "Empty Web Project", "path": "Getting-Started-AspNetCore-Application.md" @@ -797,6 +801,10 @@ { "text": "Console", "path": "Startup-Templates/Console.md" + }, + { + "text": "WPF", + "path": "Startup-Templates/WPF.md" } ] }, diff --git a/docs/en/images/basic-wpf-application-solution.png b/docs/en/images/basic-wpf-application-solution.png new file mode 100644 index 0000000000000000000000000000000000000000..5943acd93f1768e70c41ff76c08a4dc23be29bd8 GIT binary patch literal 32142 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 literal 0 HcmV?d00001 diff --git a/docs/zh-Hans/Startup-Templates/Index.md b/docs/zh-Hans/Startup-Templates/Index.md index fbc91c7549..6fe424d4f8 100644 --- a/docs/zh-Hans/Startup-Templates/Index.md +++ b/docs/zh-Hans/Startup-Templates/Index.md @@ -6,4 +6,5 @@ * [**app**](Application.md): 应用程序模板. * [**module**](Module.md): 模块/服务模板. -* [**console**](Console.md): 控制台模板. \ No newline at end of file +* [**console**](Console.md): 控制台模板. +* [**wpf**](WPF.md): WPF模板. \ No newline at end of file diff --git a/docs/zh-Hans/Startup-Templates/WPF.md b/docs/zh-Hans/Startup-Templates/WPF.md new file mode 100644 index 0000000000..31a76eaa60 --- /dev/null +++ b/docs/zh-Hans/Startup-Templates/WPF.md @@ -0,0 +1,27 @@ +# WPF应用程序启动模板 + +此模板用于创建一个最小的依赖关系的ABP WPF应用程序项目. + +## 如何开始? + +首先,如果你没有安装[ABP CLI](../CLI.md),请先安装它: + +````bash +dotnet tool install -g Volo.Abp.Cli +```` + +在一个空文件夹使用 `abp new` 命令创建新解决方案: + +````bash +abp new Acme.MyWpfApp -t wpf +```` + +`Acme.MyWpfApp` 是解决方案的名称, 如*YourCompany.YourProduct*. 你可以使用单级或多级名称. + +## 解决方案结构 + +使用以上命令创建解决方案后,你会得到如下所示的解决方案: + +![basic-wpf-application-solution](../images/basic-wpf-application-solution.png) + +* `HelloWorldService` 是一个实现了 `ITransientDependency` 接口的示例服务. 它会自动注册到[依赖注入](../Dependency-Injection.md)系统. \ No newline at end of file diff --git a/docs/zh-Hans/docs-nav.json b/docs/zh-Hans/docs-nav.json index 9582711400..1f9f6ce9c8 100644 --- a/docs/zh-Hans/docs-nav.json +++ b/docs/zh-Hans/docs-nav.json @@ -11,6 +11,10 @@ "text": "控制台应用程序", "path": "Startup-Templates/Console.md" }, + { + "text": "WPF应用程序", + "path": "Startup-Templates/WPF.md" + }, { "text": "空Web应用程序", "path": "Getting-Started-AspNetCore-Application.md" @@ -627,6 +631,10 @@ { "text": "控制台", "path": "Startup-Templates/Console.md" + }, + { + "text": "WPF", + "path": "Startup-Templates/WPF.md" } ] }, diff --git a/docs/zh-Hans/images/basic-wpf-application-solution.png b/docs/zh-Hans/images/basic-wpf-application-solution.png new file mode 100644 index 0000000000000000000000000000000000000000..5943acd93f1768e70c41ff76c08a4dc23be29bd8 GIT binary patch literal 32142 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 literal 0 HcmV?d00001 From bc3958f9ee8aa335f977f3c44873c576802ef9d1 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Tue, 27 Oct 2020 16:36:27 +0800 Subject: [PATCH 20/59] Fix wrong document links --- .../Cli/ProjectBuilding/Templates/Console/ConsoleTemplate.cs | 2 +- .../Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Console/ConsoleTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Console/ConsoleTemplate.cs index e2b49c00f7..67d67b2d9c 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Console/ConsoleTemplate.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Console/ConsoleTemplate.cs @@ -10,7 +10,7 @@ public ConsoleTemplate() : base(TemplateName) { - DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Getting-Started-Console-Application"; + DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Startup-Templates/Console"; } } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs index db1a257b89..b08a12daba 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Wpf/WpfTemplate.cs @@ -10,7 +10,7 @@ public WpfTemplate() : base(TemplateName) { - DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Getting-Started-WPF-Application"; + DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Startup-Templates/WPF"; } } } From 100f6f09b877ed673a1fd1005154ac5d5cf03781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 12:03:25 +0300 Subject: [PATCH 21/59] Blazor UI: Add "rtl" class to body if the current language is RTL. --- .../Hosting/AbpWebAssemblyHostBuilderExtensions.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs index 20999c2646..7cba7ce9b3 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Microsoft/AspNetCore/Components/WebAssembly/Hosting/AbpWebAssemblyHostBuilderExtensions.cs @@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting using (var scope = serviceProvider.CreateScope()) { await InitializeModulesAsync(scope.ServiceProvider); - SetCurrentLanguage(scope); + await SetCurrentLanguageAsync(scope); } } @@ -63,9 +63,10 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting } } - private static void SetCurrentLanguage(IServiceScope scope) + private async static Task SetCurrentLanguageAsync(IServiceScope scope) { var configurationClient = scope.ServiceProvider.GetRequiredService(); + var utilsService = scope.ServiceProvider.GetRequiredService(); var configuration = configurationClient.Get(); var cultureName = configuration.Localization?.CurrentCulture?.CultureName; if (!cultureName.IsNullOrEmpty()) @@ -74,6 +75,11 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting CultureInfo.DefaultThreadCurrentCulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture; } + + if (CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft) + { + await utilsService.AddClassToTagAsync("body", "rtl"); + } } } } From d4f656ded1078aac49625301b9252bdb80fa4fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 13:34:27 +0300 Subject: [PATCH 22/59] Add localizations for 403 and 404 errors. --- .../Volo/Abp/ExceptionHandling/Localization/en.json | 4 +++- .../Volo/Abp/ExceptionHandling/Localization/tr.json | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json index 2f535cf201..62b599b7d1 100644 --- a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json @@ -18,6 +18,8 @@ "401Message": "Unauthorized", "403Message": "Forbidden", "404Message": "Page not found", - "500Message": "Internal Server Error" + "500Message": "Internal Server Error", + "403MessageDetail": "You are not authorized to perform this operation!", + "404MessageDetail": "Sorry, there's nothing at this address." } } diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/tr.json b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/tr.json index de91a0bd7e..da199b2707 100644 --- a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/tr.json +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/tr.json @@ -15,9 +15,11 @@ "EntityNotFoundErrorMessage": "Id değeri {1} olan {0} türünden bir nesne bulunamadı!", "Error": "Hata", "UnhandledException": "Yakalanmamış hata!", - "401Message": "Yetkisiz", - "403Message": "Yasak", + "401Message": "Yetkisiz İşlem", + "403Message": "İzinsiz", "404Message": "Sayfa bulunamadı", - "500Message": "Sunucu tarafında hata" + "500Message": "Sunucu tarafında hata", + "403MessageDetail": "Bu işlemi gerçekleştirmek için gereken yetkiye sahip değilsiniz!", + "404MessageDetail": "Üzgünüz, bu adreste bir şey yok." } } From f0da798d012a8d3438121d572955877a00125272 Mon Sep 17 00:00:00 2001 From: erolarkat Date: Tue, 27 Oct 2020 13:58:40 +0300 Subject: [PATCH 23/59] npm packages 3.3.0 --- .../package.json | 2 +- .../yarn.lock | 224 ++++++------ .../package.json | 4 +- .../yarn.lock | 260 +++++++------- .../app/Volo.BloggingTestApp/package.json | 4 +- .../app/Volo.BloggingTestApp/yarn.lock | 332 +++++++++--------- .../Volo.ClientSimulation.Demo/package.json | 2 +- .../demo/Volo.ClientSimulation.Demo/yarn.lock | 238 ++++++------- modules/cms-kit/angular/package.json | 10 +- .../angular/projects/cms-kit/package.json | 4 +- .../Volo.CmsKit.IdentityServer/package.json | 2 +- .../host/Volo.CmsKit.IdentityServer/yarn.lock | 238 ++++++------- .../host/Volo.CmsKit.Web.Host/package.json | 2 +- .../host/Volo.CmsKit.Web.Host/yarn.lock | 238 ++++++------- .../host/Volo.CmsKit.Web.Unified/package.json | 2 +- .../host/Volo.CmsKit.Web.Unified/yarn.lock | 238 ++++++------- modules/docs/app/VoloDocs.Web/package.json | 4 +- modules/docs/app/VoloDocs.Web/yarn.lock | 298 ++++++++-------- npm/lerna.json | 2 +- npm/ng-packs/lerna.version.json | 2 +- npm/ng-packs/package.json | 22 +- npm/ng-packs/packages/account/package.json | 4 +- npm/ng-packs/packages/components/package.json | 4 +- npm/ng-packs/packages/core/package.json | 4 +- .../packages/feature-management/package.json | 4 +- npm/ng-packs/packages/identity/package.json | 6 +- .../permission-management/package.json | 4 +- npm/ng-packs/packages/schematics/package.json | 2 +- .../packages/setting-management/package.json | 4 +- .../packages/tenant-management/package.json | 6 +- .../packages/theme-basic/package.json | 4 +- .../packages/theme-shared/package.json | 4 +- npm/ng-packs/yarn.lock | 125 ++++--- npm/packs/anchor-js/package.json | 4 +- .../package.json | 4 +- .../package.json | 30 +- npm/packs/aspnetcore.mvc.ui/package.json | 2 +- npm/packs/blogging/package.json | 10 +- npm/packs/bootstrap-datepicker/package.json | 2 +- npm/packs/bootstrap/package.json | 4 +- npm/packs/chart.js/package.json | 2 +- npm/packs/clipboard/package.json | 4 +- npm/packs/codemirror/package.json | 4 +- npm/packs/core/package.json | 4 +- npm/packs/cropperjs/package.json | 4 +- npm/packs/datatables.net-bs4/package.json | 4 +- npm/packs/datatables.net/package.json | 4 +- npm/packs/docs/package.json | 12 +- npm/packs/flag-icon-css/package.json | 2 +- npm/packs/font-awesome/package.json | 4 +- npm/packs/highlight.js/package.json | 4 +- npm/packs/jquery-form/package.json | 4 +- .../package.json | 4 +- npm/packs/jquery-validation/package.json | 4 +- npm/packs/jquery/package.json | 4 +- npm/packs/jstree/package.json | 4 +- npm/packs/lodash/package.json | 4 +- npm/packs/luxon/package.json | 4 +- .../package.json | 4 +- npm/packs/markdown-it/package.json | 4 +- npm/packs/owl.carousel/package.json | 4 +- npm/packs/popper.js/package.json | 4 +- npm/packs/prismjs/package.json | 6 +- npm/packs/select2/package.json | 4 +- npm/packs/signalr/package.json | 4 +- npm/packs/star-rating-svg/package.json | 4 +- npm/packs/sweetalert/package.json | 4 +- npm/packs/timeago/package.json | 4 +- npm/packs/toastr/package.json | 4 +- npm/packs/tui-editor/package.json | 10 +- npm/packs/uppy/package.json | 4 +- npm/packs/utils/package.json | 2 +- npm/packs/virtual-file-explorer/package.json | 6 +- templates/app/angular/package.json | 12 +- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- .../package.json | 2 +- .../MyCompanyName.MyProjectName.Web/yarn.lock | 238 ++++++------- templates/module/angular/package.json | 12 +- .../projects/my-project-name/package.json | 4 +- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- .../package.json | 2 +- .../yarn.lock | 238 ++++++------- 90 files changed, 2100 insertions(+), 2107 deletions(-) diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json index a6015bf37a..9bd999dd53 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json @@ -3,7 +3,7 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "^3.3.0-rc.2", + "@abp/aspnetcore.mvc.ui.theme.shared": "^3.3.0", "highlight.js": "^9.13.1" }, "devDependencies": {} diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock index 5055f0f2c3..ab68399880 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/yarn.lock @@ -2,30 +2,30 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.shared@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.shared@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -34,145 +34,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json index 8bb21f6bd1..028b3e8535 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json @@ -3,8 +3,8 @@ "name": "asp.net", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2", - "@abp/prismjs": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0", + "@abp/prismjs": "^3.3.0" }, "devDependencies": {} } \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock index c1f1a64ac8..2e05ff90ce 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,162 +41,162 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0-rc.2.tgz#5144d329a3cfe3a3e00e7ec5bd04053e2f15e401" - integrity sha512-Uajd/9fzJqNsfEqt5/Tc32BvPwT9AD21PF2xgIlOsgZpkDFgwp+GYS0ItyI2HIgp24ud5PUu+UT/6KhV70Nq0Q== +"@abp/clipboard@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0.tgz#44029c7bac7fe4f693ab3963515d300c49aa2d5e" + integrity sha512-YZKqjwZGue7o39GiuZf8WPEjt4ydQCSCG109fkIJQgbwjqkseeWPExJcYnogMSA4qWr4Ip1m3CQ17Yqtl1n8JA== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" clipboard "^2.0.6" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/prismjs@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0-rc.2.tgz#111d70f5119d5594e5d09684c26991fecbc3a677" - integrity sha512-zgceIPg+y8hW/G3T6NFKDc6XFyuBl8wF1l73lhoNoh2OLzAHyMQtqEDPD8Lb5fJ32ogTfMEOkL6cj4t6WYjBAQ== +"@abp/prismjs@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0.tgz#88381eb65612c68d13dac02eb7e177a264a025ff" + integrity sha512-YwVmPDtvWq8JwjZ4sGqnR2fhkzlcfhH2qO1RQsv9wpfFe61Mh/3mIC1QKFq5mW52cM3f8I51oC7z9HMbBo8n4A== dependencies: - "@abp/clipboard" "~3.3.0-rc.2" - "@abp/core" "~3.3.0-rc.2" + "@abp/clipboard" "~3.3.0" + "@abp/core" "~3.3.0" prismjs "^1.20.0" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/blogging/app/Volo.BloggingTestApp/package.json b/modules/blogging/app/Volo.BloggingTestApp/package.json index b0aa7ce162..6adf8b1f41 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/package.json +++ b/modules/blogging/app/Volo.BloggingTestApp/package.json @@ -3,7 +3,7 @@ "name": "volo.blogtestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2", - "@abp/blogging": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0", + "@abp/blogging": "^3.3.0" } } \ No newline at end of file diff --git a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock index 8365f0d77e..48bb4a8680 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/yarn.lock +++ b/modules/blogging/app/Volo.BloggingTestApp/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,214 +41,214 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/blogging@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.3.0-rc.2.tgz#adafaf2a0697167a8925caf6f15adb9dbd81c850" - integrity sha512-eq0oBSkYSE2mRByo3JUl7EHXP2WELyb03wZ2BgSHIu7NFE4UsbmOT4L4EgvxOWso6Qd1f9plMnhTxZ2bGEGSSQ== +"@abp/blogging@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-3.3.0.tgz#144b0bfe15b70900f1bd99f4646f3d2c0bb89d52" + integrity sha512-Fc7/SUTBg8qAIzwgKVLu4bUZZlmyKXK55LS8NXbhw6E4H54QJWdXTssP5/ChaKZRbxF6DOh/yIiTnSfu2WuUaQ== dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - "@abp/owl.carousel" "~3.3.0-rc.2" - "@abp/prismjs" "~3.3.0-rc.2" - "@abp/tui-editor" "~3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + "@abp/owl.carousel" "~3.3.0" + "@abp/prismjs" "~3.3.0" + "@abp/tui-editor" "~3.3.0" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0-rc.2.tgz#5144d329a3cfe3a3e00e7ec5bd04053e2f15e401" - integrity sha512-Uajd/9fzJqNsfEqt5/Tc32BvPwT9AD21PF2xgIlOsgZpkDFgwp+GYS0ItyI2HIgp24ud5PUu+UT/6KhV70Nq0Q== +"@abp/clipboard@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0.tgz#44029c7bac7fe4f693ab3963515d300c49aa2d5e" + integrity sha512-YZKqjwZGue7o39GiuZf8WPEjt4ydQCSCG109fkIJQgbwjqkseeWPExJcYnogMSA4qWr4Ip1m3CQ17Yqtl1n8JA== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" clipboard "^2.0.6" -"@abp/codemirror@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.3.0-rc.2.tgz#a8d64b31d81ecd317a7ae25812fd147b19309586" - integrity sha512-cK3DhE/rYVEZMwRn3V8RYTTAtoL7nIRD/jjpRKF1rayCPlxjUJFMuuUNJsMEu5juOKcAWvvUQguxO5rBHBtrBA== +"@abp/codemirror@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/codemirror/-/codemirror-3.3.0.tgz#a9ac33155a92241dc6f35c9de104639fdc2c199f" + integrity sha512-C5/L0Hv0F7fzQt14NAyL0QQhhPrUcLkgFSxja/SknrA9nSIMoTg+r37Ny436GEHqoj8Jjj8u3jqErYhrOqd9cA== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" codemirror "^5.54.0" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/highlight.js@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.3.0-rc.2.tgz#762131c6b1d9ab674d8ffb628aabd4921193992c" - integrity sha512-3UpKY0IWjjj67QvB01+0XwPfk/hd8A/EdFxCctONCJ+besZq9Oe4lm6C6eBHNrFhkjOVsvRmdSfGDnThPse8+g== +"@abp/highlight.js@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/highlight.js/-/highlight.js-3.3.0.tgz#94c773e66a75ffe5d62485c2e70c7300fad9a611" + integrity sha512-CMXMeEA262yOs/ip2qbXfl+Kh3tTaUlogHlypT0AZ8Q0aQGs0tJiPVtGRJQ9xng/QfOzv+XWpPgYB5UIuwU6SQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/markdown-it@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.3.0-rc.2.tgz#7e295c513417a932b4915c855a27b1287652e202" - integrity sha512-K/Zgik7HZhyzOs9M9dOqmDfzugDXjZaSNbNKZ+tTCa6ObR6M+tIKsijnG4GKNDnTTX4QvsD861XX6G+mPHjvMw== +"@abp/markdown-it@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/markdown-it/-/markdown-it-3.3.0.tgz#91395f9c6f98a69d955b4e5cb534e38c5f4902b9" + integrity sha512-Awt1SD6zgy72kfEbHVOBbVv/bB0o17lZBg4dNf11jqEbJMUpsW04pE5U1nc7FgsaJuTZFLm36cgnjdeGzlb/yw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" markdown-it "^11.0.0" -"@abp/owl.carousel@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.3.0-rc.2.tgz#2b6e2c9da59b87cddb1b2eeff7ffd1f98a596e87" - integrity sha512-76YcHDuamDi8cn5GSXVpEWLBT+kHUTgMRPQcA7Ak+OFPIZ3k/1SbyEOa1MJM6vMmR2ncaQyE+WDi0rHZLSsoxQ== +"@abp/owl.carousel@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-3.3.0.tgz#bc3b721770ac0c41066581d55228eca65fd95b07" + integrity sha512-wKWplt/zupf+q+iYjAEMoHo/Trjf5pPM5a9EhIb+6C1s7d+VJ8+FbxXHXA1F86MF5Eq4HVhuWFJITmEwOTqnMg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" owl.carousel "^2.3.4" -"@abp/prismjs@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0-rc.2.tgz#111d70f5119d5594e5d09684c26991fecbc3a677" - integrity sha512-zgceIPg+y8hW/G3T6NFKDc6XFyuBl8wF1l73lhoNoh2OLzAHyMQtqEDPD8Lb5fJ32ogTfMEOkL6cj4t6WYjBAQ== +"@abp/prismjs@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0.tgz#88381eb65612c68d13dac02eb7e177a264a025ff" + integrity sha512-YwVmPDtvWq8JwjZ4sGqnR2fhkzlcfhH2qO1RQsv9wpfFe61Mh/3mIC1QKFq5mW52cM3f8I51oC7z9HMbBo8n4A== dependencies: - "@abp/clipboard" "~3.3.0-rc.2" - "@abp/core" "~3.3.0-rc.2" + "@abp/clipboard" "~3.3.0" + "@abp/core" "~3.3.0" prismjs "^1.20.0" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/tui-editor@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.3.0-rc.2.tgz#9e60b813090cf3c6db5ac6120f269165540dce14" - integrity sha512-d0Sa9KtdZ6ZQExMMMDeo4FQCQqgBzwuelyEeS7Otz3hGaKJb72YtcWLHzMrtXBuspCxdlVdL5sQ76vM53jcdUQ== +"@abp/tui-editor@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-3.3.0.tgz#3d8333df7e9bb4972c9fb4bba89b2f8f2aa905d0" + integrity sha512-AwQO3D/WtrqytVOFcaQpHf3GcEThJ8+UvL9h382tb5rVbmKVkxCemRPkLF7wS1RVCJwPoZYFPXp6VNWY3nZTiw== dependencies: - "@abp/codemirror" "~3.3.0-rc.2" - "@abp/highlight.js" "~3.3.0-rc.2" - "@abp/jquery" "~3.3.0-rc.2" - "@abp/markdown-it" "~3.3.0-rc.2" + "@abp/codemirror" "~3.3.0" + "@abp/highlight.js" "~3.3.0" + "@abp/jquery" "~3.3.0" + "@abp/markdown-it" "~3.3.0" tui-editor "^1.4.10" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json index 07688e5723..4b35db8c0f 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json @@ -3,6 +3,6 @@ "name": "client-simulation-web", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock index 94a0e3bc72..9a46ed73d8 100644 --- a/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock +++ b/modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/cms-kit/angular/package.json b/modules/cms-kit/angular/package.json index 3f5cc56339..afb0c67fd0 100644 --- a/modules/cms-kit/angular/package.json +++ b/modules/cms-kit/angular/package.json @@ -15,11 +15,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~3.3.0-rc.2", - "@abp/ng.identity": "~3.3.0-rc.2", - "@abp/ng.setting-management": "~3.3.0-rc.2", - "@abp/ng.tenant-management": "~3.3.0-rc.2", - "@abp/ng.theme.basic": "~3.3.0-rc.2", + "@abp/ng.account": "~3.3.0", + "@abp/ng.identity": "~3.3.0", + "@abp/ng.setting-management": "~3.3.0", + "@abp/ng.tenant-management": "~3.3.0", + "@abp/ng.theme.basic": "~3.3.0", "@angular/animations": "~10.0.0", "@angular/common": "~10.0.0", "@angular/compiler": "~10.0.0", diff --git a/modules/cms-kit/angular/projects/cms-kit/package.json b/modules/cms-kit/angular/projects/cms-kit/package.json index e1471dfd91..8acad00cff 100644 --- a/modules/cms-kit/angular/projects/cms-kit/package.json +++ b/modules/cms-kit/angular/projects/cms-kit/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "^9.1.11", "@angular/core": "^9.1.11", - "@abp/ng.core": ">=3.3.0-rc.2", - "@abp/ng.theme.shared": ">=3.3.0-rc.2" + "@abp/ng.core": ">=3.3.0", + "@abp/ng.theme.shared": ">=3.3.0" }, "dependencies": { "tslib": "^2.0.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json index efbbeb76a6..8e9f71b33b 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock index fce3e1b8b8..7478ec439a 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json index d61c07b98b..34ca938f87 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock index 1dfdaaca68..fdf6b928a6 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json index d61c07b98b..34ca938f87 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock index 5c2f53c40c..8a2cf41872 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/modules/docs/app/VoloDocs.Web/package.json b/modules/docs/app/VoloDocs.Web/package.json index c13916e8f8..a23a6d8f89 100644 --- a/modules/docs/app/VoloDocs.Web/package.json +++ b/modules/docs/app/VoloDocs.Web/package.json @@ -3,7 +3,7 @@ "name": "volo.docstestapp", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2", - "@abp/docs": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0", + "@abp/docs": "^3.3.0" } } diff --git a/modules/docs/app/VoloDocs.Web/yarn.lock b/modules/docs/app/VoloDocs.Web/yarn.lock index 06528d8b82..64515a90df 100644 --- a/modules/docs/app/VoloDocs.Web/yarn.lock +++ b/modules/docs/app/VoloDocs.Web/yarn.lock @@ -2,45 +2,45 @@ # yarn lockfile v1 -"@abp/anchor-js@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.3.0-rc.2.tgz#1214a2b832bb35d29df03187e49eecb0a34e4970" - integrity sha512-9YdZDEvAJKPojIqQlGjk4bMuHPT51++tti2RpYkiwDE52AZsnFU8LUDEaFjizIstAwWidCsqAX30OzXD860JdA== +"@abp/anchor-js@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/anchor-js/-/anchor-js-3.3.0.tgz#a40489ee53865c5746297e014297ae7bbd6ada3b" + integrity sha512-885Ub6OFJvlv+EZNpQ642K79C63n2g4ogfhVIgAhUuhTYSjpP4Oq/WFOhUPIWyMHHphZemyqqV0UZRvFs0lqpQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" anchor-js "^4.2.2" -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -49,181 +49,181 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/clipboard@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0-rc.2.tgz#5144d329a3cfe3a3e00e7ec5bd04053e2f15e401" - integrity sha512-Uajd/9fzJqNsfEqt5/Tc32BvPwT9AD21PF2xgIlOsgZpkDFgwp+GYS0ItyI2HIgp24ud5PUu+UT/6KhV70Nq0Q== +"@abp/clipboard@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-3.3.0.tgz#44029c7bac7fe4f693ab3963515d300c49aa2d5e" + integrity sha512-YZKqjwZGue7o39GiuZf8WPEjt4ydQCSCG109fkIJQgbwjqkseeWPExJcYnogMSA4qWr4Ip1m3CQ17Yqtl1n8JA== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" clipboard "^2.0.6" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/docs@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.3.0-rc.2.tgz#7db4c3ca47cf102da98f0bebc7de35b38f07549a" - integrity sha512-7RySbfbj+3V7LDw41wF38kvc5/z/xRbj8QE53I1NARPi36fTTaY1LAHAlC4p+hrkHBE4sZhq/WwpPpKrt0Y8Ww== +"@abp/docs@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/docs/-/docs-3.3.0.tgz#65259049e6e891048bb2f9fb1606b9a8fe896555" + integrity sha512-zBlextUI0VI8mBFJjH91tRFDZDCpcVP3nvB68z08idRhronlc7nB1tzeNfG0rxMh8palZlZtQwPVYUTLY4oKUw== dependencies: - "@abp/anchor-js" "~3.3.0-rc.2" - "@abp/clipboard" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/popper.js" "~3.3.0-rc.2" - "@abp/prismjs" "~3.3.0-rc.2" + "@abp/anchor-js" "~3.3.0" + "@abp/clipboard" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/popper.js" "~3.3.0" + "@abp/prismjs" "~3.3.0" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/popper.js@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.3.0-rc.2.tgz#bce89b3e2efafe38b72b782578ac0f22a89b34ac" - integrity sha512-xN8NJLhC4Akq+wwT7ZEWriuuzuT8B4peGuKJs/PXkzqK9opf1V21UIK8mVIRhdxXgoVIcv8AmhfREJx9KfWeug== +"@abp/popper.js@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/popper.js/-/popper.js-3.3.0.tgz#53ff96017e2dea348ede0390d605cfe4d2981fcd" + integrity sha512-SjADjLdKhUet2rM5oqr9VJcgIPBlxCQwYYUSZzB51Mwp30KFhx272rdww3J/khVbt6N7L/YTIL/FKC2iTqBGcQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" popper.js "^1.16.0" -"@abp/prismjs@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0-rc.2.tgz#111d70f5119d5594e5d09684c26991fecbc3a677" - integrity sha512-zgceIPg+y8hW/G3T6NFKDc6XFyuBl8wF1l73lhoNoh2OLzAHyMQtqEDPD8Lb5fJ32ogTfMEOkL6cj4t6WYjBAQ== +"@abp/prismjs@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-3.3.0.tgz#88381eb65612c68d13dac02eb7e177a264a025ff" + integrity sha512-YwVmPDtvWq8JwjZ4sGqnR2fhkzlcfhH2qO1RQsv9wpfFe61Mh/3mIC1QKFq5mW52cM3f8I51oC7z9HMbBo8n4A== dependencies: - "@abp/clipboard" "~3.3.0-rc.2" - "@abp/core" "~3.3.0-rc.2" + "@abp/clipboard" "~3.3.0" + "@abp/core" "~3.3.0" prismjs "^1.20.0" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/npm/lerna.json b/npm/lerna.json index 64e909280b..3e94d9ced7 100644 --- a/npm/lerna.json +++ b/npm/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "packages": [ "packs/*" ], diff --git a/npm/ng-packs/lerna.version.json b/npm/ng-packs/lerna.version.json index 4b302cf61b..13dbd74158 100644 --- a/npm/ng-packs/lerna.version.json +++ b/npm/ng-packs/lerna.version.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "packages": [ "packages/*" ], diff --git a/npm/ng-packs/package.json b/npm/ng-packs/package.json index 3f7bc64f2e..f0feef1671 100644 --- a/npm/ng-packs/package.json +++ b/npm/ng-packs/package.json @@ -25,17 +25,17 @@ "postinstall": "npm run compile:ivy" }, "devDependencies": { - "@abp/ng.account": "~3.3.0-rc.2", - "@abp/ng.core": "~3.3.0-rc.2", - "@abp/ng.feature-management": "~3.3.0-rc.2", - "@abp/ng.identity": "~3.3.0-rc.2", - "@abp/ng.permission-management": "~3.3.0-rc.2", - "@abp/ng.schematics": "~3.3.0-rc.2", - "@abp/ng.setting-management": "~3.3.0-rc.2", - "@abp/ng.tenant-management": "~3.3.0-rc.2", - "@abp/ng.theme.basic": "~3.3.0-rc.2", - "@abp/ng.theme.shared": "~3.3.0-rc.2", - "@abp/utils": "^3.3.0-rc.2", + "@abp/ng.account": "~3.3.0", + "@abp/ng.core": "~3.3.0", + "@abp/ng.feature-management": "~3.3.0", + "@abp/ng.identity": "~3.3.0", + "@abp/ng.permission-management": "~3.3.0", + "@abp/ng.schematics": "~3.3.0", + "@abp/ng.setting-management": "~3.3.0", + "@abp/ng.tenant-management": "~3.3.0", + "@abp/ng.theme.basic": "~3.3.0", + "@abp/ng.theme.shared": "~3.3.0", + "@abp/utils": "^3.3.0", "@angular-builders/jest": "^10.0.0", "@angular-devkit/build-angular": "~0.1001.2", "@angular-devkit/build-ng-packagr": "~0.1001.2", diff --git a/npm/ng-packs/packages/account/package.json b/npm/ng-packs/packages/account/package.json index f1d5a70417..06c6edef4f 100644 --- a/npm/ng-packs/packages/account/package.json +++ b/npm/ng-packs/packages/account/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.account", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/components/package.json b/npm/ng-packs/packages/components/package.json index 3bb3bf8f7e..58abc39e2e 100644 --- a/npm/ng-packs/packages/components/package.json +++ b/npm/ng-packs/packages/components/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.components", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "peerDependencies": { - "@abp/ng.core": ">=3.3.0-rc.2", + "@abp/ng.core": ">=3.3.0", "@ng-bootstrap/ng-bootstrap": ">=6.0.0" }, "dependencies": { diff --git a/npm/ng-packs/packages/core/package.json b/npm/ng-packs/packages/core/package.json index 9b510f584c..761d596cae 100644 --- a/npm/ng-packs/packages/core/package.json +++ b/npm/ng-packs/packages/core/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.core", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/utils": "^3.3.0-rc.2", + "@abp/utils": "^3.3.0", "@angular/localize": "~10.0.10", "@ngxs/router-plugin": "^3.7.0", "@ngxs/storage-plugin": "^3.7.0", diff --git a/npm/ng-packs/packages/feature-management/package.json b/npm/ng-packs/packages/feature-management/package.json index 89e6054267..84f86ca7e4 100644 --- a/npm/ng-packs/packages/feature-management/package.json +++ b/npm/ng-packs/packages/feature-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.feature-management", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/identity/package.json b/npm/ng-packs/packages/identity/package.json index 1253e88730..ec563b1534 100644 --- a/npm/ng-packs/packages/identity/package.json +++ b/npm/ng-packs/packages/identity/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.identity", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.permission-management": "~3.3.0-rc.2", - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.permission-management": "~3.3.0", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/permission-management/package.json b/npm/ng-packs/packages/permission-management/package.json index 79a4c3b80b..4da96e3464 100644 --- a/npm/ng-packs/packages/permission-management/package.json +++ b/npm/ng-packs/packages/permission-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.permission-management", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/schematics/package.json b/npm/ng-packs/packages/schematics/package.json index 0bb314f963..27255df267 100644 --- a/npm/ng-packs/packages/schematics/package.json +++ b/npm/ng-packs/packages/schematics/package.json @@ -1,6 +1,6 @@ { "name": "@abp/ng.schematics", - "version": "3.3.0-rc.2", + "version": "3.3.0", "description": "Schematics that works with ABP Backend", "keywords": [ "schematics" diff --git a/npm/ng-packs/packages/setting-management/package.json b/npm/ng-packs/packages/setting-management/package.json index e073b96b1d..1a73f5055b 100644 --- a/npm/ng-packs/packages/setting-management/package.json +++ b/npm/ng-packs/packages/setting-management/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.setting-management", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/tenant-management/package.json b/npm/ng-packs/packages/tenant-management/package.json index 81389e831a..976a47b64f 100644 --- a/npm/ng-packs/packages/tenant-management/package.json +++ b/npm/ng-packs/packages/tenant-management/package.json @@ -1,14 +1,14 @@ { "name": "@abp/ng.tenant-management", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.feature-management": "~3.3.0-rc.2", - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.feature-management": "~3.3.0", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-basic/package.json b/npm/ng-packs/packages/theme-basic/package.json index edb1903345..07e7782c04 100644 --- a/npm/ng-packs/packages/theme-basic/package.json +++ b/npm/ng-packs/packages/theme-basic/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.basic", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.theme.shared": "~3.3.0-rc.2", + "@abp/ng.theme.shared": "~3.3.0", "tslib": "^2.0.0" }, "publishConfig": { diff --git a/npm/ng-packs/packages/theme-shared/package.json b/npm/ng-packs/packages/theme-shared/package.json index 0b69df666d..138c22371f 100644 --- a/npm/ng-packs/packages/theme-shared/package.json +++ b/npm/ng-packs/packages/theme-shared/package.json @@ -1,13 +1,13 @@ { "name": "@abp/ng.theme.shared", - "version": "3.3.0-rc.2", + "version": "3.3.0", "homepage": "https://abp.io", "repository": { "type": "git", "url": "https://github.com/abpframework/abp.git" }, "dependencies": { - "@abp/ng.core": "~3.3.0-rc.2", + "@abp/ng.core": "~3.3.0", "@fortawesome/fontawesome-free": "^5.14.0", "@ng-bootstrap/ng-bootstrap": "^7.0.0", "@ngx-validate/core": "^0.0.12", diff --git a/npm/ng-packs/yarn.lock b/npm/ng-packs/yarn.lock index 083ad46627..6c687e6c64 100644 --- a/npm/ng-packs/yarn.lock +++ b/npm/ng-packs/yarn.lock @@ -2,20 +2,20 @@ # yarn lockfile v1 -"@abp/ng.account@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-3.3.0-rc.1.tgz#81480973d9044c13c621681c25558eaaac0cf8b0" - integrity sha512-VPklf7i6nR/1DcRHskDrYn1wPf7KT6skmY5fiyvy6/5Ll/qGTmFUhEDVsnEsGGHHyCyWSB1+VilmphippGdC9g== +"@abp/ng.account@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.account/-/ng.account-3.3.0-rc.2.tgz#dbc2892f28476c0a7412c790268b81eb00af41a9" + integrity sha512-LRpOOOLqT5BXvlgG1Zwxi9j3Odk9AnSK/aKxM1wB34kjdBssuIakN2RVs0Xgz1gmrvQV9RBNe7+yQJuS86WuWw== dependencies: - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.core@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-3.3.0-rc.1.tgz#cb4cb28bfac003b2e6f406369470efb04904c7fe" - integrity sha512-vGlUh3A/zl2I+0Ph3Phzc7iQSOhpph77Ndkxuj5U56M/0j2FIr2JGvYrvYit8l++32LEfY8E4eXtUS3c3dYNSw== +"@abp/ng.core@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.core/-/ng.core-3.3.0-rc.2.tgz#ad313a8cf9e01527b4af086fdd0906ec88c3694a" + integrity sha512-HpAX8HpC+Z/eOQpNKcLVhEylyCYSEVLSz0WHsuae9dQk7yfJikZJAPpQSS6VrNl1vpYwARtJoiWfK0jrjvwhMA== dependencies: - "@abp/utils" "^3.2.1" + "@abp/utils" "^3.3.0-rc.1" "@angular/localize" "~10.0.10" "@ngxs/router-plugin" "^3.7.0" "@ngxs/storage-plugin" "^3.7.0" @@ -27,35 +27,35 @@ ts-toolbelt "6.15.4" tslib "^2.0.0" -"@abp/ng.feature-management@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-3.3.0-rc.1.tgz#0bfcd33ab551facfd01636921f440f4da08c6bc3" - integrity sha512-mle7obJROUfuDSGNn/+6k+Q8KxVyOxY0Gue6/n3DoayaVy4huIAyNwLOuKMspxwOwJnTS2c4b5BVpEfo//0w/A== +"@abp/ng.feature-management@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.feature-management/-/ng.feature-management-3.3.0-rc.2.tgz#9d2c3d02504a64f2196e2ae588a81e6d72d31172" + integrity sha512-d/M5t6rEy5k2hO8tjHdYgnT9AgBAb82JruxplyLM4kOti9Kox7W6thBokDfVpiCQQh+WMtZX/DK1wNZPyFjZ5Q== dependencies: - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.identity@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-3.3.0-rc.1.tgz#e313cfcdecbceae0adb79477dc98224da092d113" - integrity sha512-fQoLoY8z+45ex1lsmHW/XMxcwHoFULP3yqtrsIQhkTaRgaK3+/UyIGxWRO5fsrbChHAv0F0v4fPj4R32nxH1lg== +"@abp/ng.identity@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.identity/-/ng.identity-3.3.0-rc.2.tgz#18ec5dcb187fd5d8302e45fc40b5f937fb55e47b" + integrity sha512-ckN9gHvWQDuzhdP2xAgGmXNQo/16yulhQSFWgAFmNTbubPNyz/D41SvbaL1tGWDXGT20tl+CjpZXzDJH4R51Tw== dependencies: - "@abp/ng.permission-management" "~3.3.0-rc.1" - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.permission-management" "~3.3.0-rc.2" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.permission-management@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-3.3.0-rc.1.tgz#30a7c466c3920c1529be0d55c06066fa069996b9" - integrity sha512-E+wq1xvwqOw77RobyOsqA/1CrC5sfKvH1p9nnSIivPAoJs4mptYnQGZV+IdO4QsO0jXikn+ec/Y1jQ6yAiWQXw== +"@abp/ng.permission-management@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.permission-management/-/ng.permission-management-3.3.0-rc.2.tgz#f867a2f57c855594001cc8a5446cbb843339c7da" + integrity sha512-KOODyYlKdknVMDcpfjL1cKQQw4ZrcKiNs0WhNgIujt+J9CCsSCDl9yGcVGMlgqo+8PgKkVltRbW+bLlzKlMx9w== dependencies: - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.schematics@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-3.3.0-rc.1.tgz#7c247eaeeb295ff4505005da51ecd07ac5338a20" - integrity sha512-YGi52Ajet4YTdy47l8eW54qUNrM3YQbvZEV+/EZfpZW9wWQSfx5ryomvfLOkJlh5c6LPZ60AX0AR/PcKrvBSdg== +"@abp/ng.schematics@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.schematics/-/ng.schematics-3.3.0-rc.2.tgz#911d6a55581f5afa7577de4d86dd4f53cdf04269" + integrity sha512-8ZpOrU+lCswB/o40K6eK9m38wkTWPOheE1mUn1sNxbsFs1y2WNV0BUTtkSt5QlrgSoHFkhGBgDZAZFxdVL9EFQ== dependencies: "@angular-devkit/core" "~10.0.3" "@angular-devkit/schematics" "~10.0.3" @@ -63,52 +63,45 @@ jsonc-parser "^2.3.0" typescript "~3.9.2" -"@abp/ng.setting-management@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-3.3.0-rc.1.tgz#09c3eb13309dae26a4a2c1c8c53b195f59dbd102" - integrity sha512-HidANS/eN1lGyYDlVqL4MQOJQvy5axL+27p+SUbheErvXr/YasnqDdr0sGLUte0/qnS9kb2nlqjHV4abQ8jpew== +"@abp/ng.setting-management@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.setting-management/-/ng.setting-management-3.3.0-rc.2.tgz#661e009d9edf6c5f1db7a3f93c79c863465650be" + integrity sha512-77Eza9dgnP6XsQYGsd3TQ8eZgvZYty9oOeQ+O2Sc9xP9gWn/8jdD8npjgfTDIQxOLpqOS1mHslaiF92BaAU4IA== dependencies: - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.tenant-management@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-3.3.0-rc.1.tgz#d0dfbcaee6ab9dd74231b4eff541adef9aa80eb6" - integrity sha512-wVBipPR/cKpcA9pXQ2hyIKc8mPshd+KmopGN81z4Fg7OphLyoGiYV5Ml0aaCe8SG4Mj9lWiEoCQ3Y5SnYbIrFw== +"@abp/ng.tenant-management@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.tenant-management/-/ng.tenant-management-3.3.0-rc.2.tgz#a4d7f017c3ee86a39b1783557eb346dad2476fc1" + integrity sha512-AycKXMwJmERThiKOU+ZX29vrifuc1WSE0+djKNd7xKzdu0PSKFYLsrHUeh4mTsjGJml/CsAUBsMV53HDywBjZg== dependencies: - "@abp/ng.feature-management" "~3.3.0-rc.1" - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.feature-management" "~3.3.0-rc.2" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.theme.basic@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-3.3.0-rc.1.tgz#54f46d8f985f39eda86f8cf07e490dff4b353789" - integrity sha512-1rNeJY8B4pu9P/6213QAFwmVxtjZmk0TTArdPId1msOXBgf7v0qr1zMATP7uKp+8AvIQQXKviZPpmRebtTlOgw== +"@abp/ng.theme.basic@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.basic/-/ng.theme.basic-3.3.0-rc.2.tgz#b1700d240f798b1687be6ba4b8f6693ce3e2bd15" + integrity sha512-ibrj49MkUHTqs321JXB4Mcuc0kJlk932bbcvzvXpa8nHW9DDH9/TKLttqOqTTeyN+6pnSWcnN5upW6n0bPusaQ== dependencies: - "@abp/ng.theme.shared" "~3.3.0-rc.1" + "@abp/ng.theme.shared" "~3.3.0-rc.2" tslib "^2.0.0" -"@abp/ng.theme.shared@~3.3.0-rc.1": - version "3.3.0-rc.1" - resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-3.3.0-rc.1.tgz#2c734a7dc40431b85696b59c3efeba06f87d8444" - integrity sha512-S5pHQuk9CMj7phRX1olcnoBHYmm2NPM4WjEa1P9qzsSOYS/BveDUUySdfmacusx3AQnp8fhAZqRYQtojFJaaqg== +"@abp/ng.theme.shared@~3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/ng.theme.shared/-/ng.theme.shared-3.3.0-rc.2.tgz#f676e10bbdde2a08cea1bb34211e7df9d63d795f" + integrity sha512-gGYDeea6LcorB2pXWB7uqQnE0+gefslWF3bErDSllPx0t4QLJiuNNiP/keQBU3H4uF8LPCmBIsQgcQFPjRz/yA== dependencies: - "@abp/ng.core" "~3.3.0-rc.1" + "@abp/ng.core" "~3.3.0-rc.2" "@fortawesome/fontawesome-free" "^5.14.0" "@ng-bootstrap/ng-bootstrap" "^7.0.0" - "@ngx-validate/core" "^0.0.11" + "@ngx-validate/core" "^0.0.12" "@swimlane/ngx-datatable" "^17.1.0" bootstrap "^4.5.0" chart.js "^2.9.3" tslib "^2.0.0" -"@abp/utils@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.2.1.tgz#960a0bbdfb781bbd6fb05e80bba2b9d95f2ae44c" - integrity sha512-bqYa1VIi1tZXCUbP2Z1WlcgPD4/wjhDVM1jiAN9UzDls1K3u+e2LyR4gLoN39WW1ULjCIhyzEAw/JgTcMmpUBw== - dependencies: - just-compare "^1.3.0" - "@abp/utils@^3.3.0-rc.1": version "3.3.0-rc.1" resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.1.tgz#2ea2806a42d31dff246478497493e6a8735b3aa3" @@ -116,6 +109,13 @@ dependencies: just-compare "^1.3.0" +"@abp/utils@^3.3.0-rc.2": + version "3.3.0-rc.2" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" + integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== + dependencies: + just-compare "^1.3.0" + "@angular-builders/jest@^10.0.0": version "10.0.1" resolved "https://registry.yarnpkg.com/@angular-builders/jest/-/jest-10.0.1.tgz#a1a6fb5d11b5d54c051bdaa2012b5f046371560c" @@ -2420,13 +2420,6 @@ enhanced-resolve "4.3.0" webpack-sources "1.4.3" -"@ngx-validate/core@^0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.11.tgz#bec771546a09f2a5f44305fcdd1186851b4df152" - integrity sha512-eUoARAyyLE3Gd+PjDSWypJIPDqudPNInaaZdpPWhqAseecRtejLGD33f211Se3E0IZpnLhQAAOnM9hFfpNpr9w== - dependencies: - tslib "^1.9.0" - "@ngx-validate/core@^0.0.12": version "0.0.12" resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.12.tgz#4924247c363e0e876e6d63794215914ac9232e8d" diff --git a/npm/packs/anchor-js/package.json b/npm/packs/anchor-js/package.json index 917148d3ff..b3807b082c 100644 --- a/npm/packs/anchor-js/package.json +++ b/npm/packs/anchor-js/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/anchor-js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "anchor-js": "^4.2.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json index be7b09446c..ed0314a0c2 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.basic/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/aspnetcore.mvc.ui.theme.basic", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json index c0334b1458..ffbd1306a5 100644 --- a/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json +++ b/npm/packs/aspnetcore.mvc.ui.theme.shared/package.json @@ -1,24 +1,24 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/aspnetcore.mvc.ui.theme.shared", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui": "~3.3.0-rc.2", - "@abp/bootstrap": "~3.3.0-rc.2", - "@abp/bootstrap-datepicker": "~3.3.0-rc.2", - "@abp/datatables.net-bs4": "~3.3.0-rc.2", - "@abp/font-awesome": "~3.3.0-rc.2", - "@abp/jquery-form": "~3.3.0-rc.2", - "@abp/jquery-validation-unobtrusive": "~3.3.0-rc.2", - "@abp/lodash": "~3.3.0-rc.2", - "@abp/luxon": "~3.3.0-rc.2", - "@abp/malihu-custom-scrollbar-plugin": "~3.3.0-rc.2", - "@abp/select2": "~3.3.0-rc.2", - "@abp/sweetalert": "~3.3.0-rc.2", - "@abp/timeago": "~3.3.0-rc.2", - "@abp/toastr": "~3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui": "~3.3.0", + "@abp/bootstrap": "~3.3.0", + "@abp/bootstrap-datepicker": "~3.3.0", + "@abp/datatables.net-bs4": "~3.3.0", + "@abp/font-awesome": "~3.3.0", + "@abp/jquery-form": "~3.3.0", + "@abp/jquery-validation-unobtrusive": "~3.3.0", + "@abp/lodash": "~3.3.0", + "@abp/luxon": "~3.3.0", + "@abp/malihu-custom-scrollbar-plugin": "~3.3.0", + "@abp/select2": "~3.3.0", + "@abp/sweetalert": "~3.3.0", + "@abp/timeago": "~3.3.0", + "@abp/toastr": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/aspnetcore.mvc.ui/package.json b/npm/packs/aspnetcore.mvc.ui/package.json index b7ee649315..b3870a1e1a 100644 --- a/npm/packs/aspnetcore.mvc.ui/package.json +++ b/npm/packs/aspnetcore.mvc.ui/package.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/aspnetcore.mvc.ui", "publishConfig": { "access": "public" diff --git a/npm/packs/blogging/package.json b/npm/packs/blogging/package.json index c262a84e14..ac83158b94 100644 --- a/npm/packs/blogging/package.json +++ b/npm/packs/blogging/package.json @@ -1,14 +1,14 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/blogging", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.shared": "~3.3.0-rc.2", - "@abp/owl.carousel": "~3.3.0-rc.2", - "@abp/prismjs": "~3.3.0-rc.2", - "@abp/tui-editor": "~3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.shared": "~3.3.0", + "@abp/owl.carousel": "~3.3.0", + "@abp/prismjs": "~3.3.0", + "@abp/tui-editor": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/bootstrap-datepicker/package.json b/npm/packs/bootstrap-datepicker/package.json index 4adc545873..713b82e1a0 100644 --- a/npm/packs/bootstrap-datepicker/package.json +++ b/npm/packs/bootstrap-datepicker/package.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/bootstrap-datepicker", "publishConfig": { "access": "public" diff --git a/npm/packs/bootstrap/package.json b/npm/packs/bootstrap/package.json index 0c473787c8..117b72ec0e 100644 --- a/npm/packs/bootstrap/package.json +++ b/npm/packs/bootstrap/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/bootstrap", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "bootstrap": "^4.5.0", "bootstrap-v4-rtl": "4.4.1-2" }, diff --git a/npm/packs/chart.js/package.json b/npm/packs/chart.js/package.json index a0eda27df2..a8c076f8b2 100644 --- a/npm/packs/chart.js/package.json +++ b/npm/packs/chart.js/package.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/chart.js", "publishConfig": { "access": "public" diff --git a/npm/packs/clipboard/package.json b/npm/packs/clipboard/package.json index 05cbad512f..289c8a93d9 100644 --- a/npm/packs/clipboard/package.json +++ b/npm/packs/clipboard/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/clipboard", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "clipboard": "^2.0.6" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/codemirror/package.json b/npm/packs/codemirror/package.json index efb5844358..c12ab0cb09 100644 --- a/npm/packs/codemirror/package.json +++ b/npm/packs/codemirror/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/codemirror", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "codemirror": "^5.54.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/core/package.json b/npm/packs/core/package.json index ba77feb204..b0dc7695ac 100644 --- a/npm/packs/core/package.json +++ b/npm/packs/core/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/core", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/utils": "^3.3.0-rc.2" + "@abp/utils": "^3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/cropperjs/package.json b/npm/packs/cropperjs/package.json index 084d16d52d..552d783f3b 100644 --- a/npm/packs/cropperjs/package.json +++ b/npm/packs/cropperjs/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/cropperjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "cropperjs": "^1.5.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/datatables.net-bs4/package.json b/npm/packs/datatables.net-bs4/package.json index 91d00af471..611fe61fb7 100644 --- a/npm/packs/datatables.net-bs4/package.json +++ b/npm/packs/datatables.net-bs4/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/datatables.net-bs4", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/datatables.net": "~3.3.0-rc.2", + "@abp/datatables.net": "~3.3.0", "datatables.net-bs4": "^1.10.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/datatables.net/package.json b/npm/packs/datatables.net/package.json index bf144a6332..c7f30d2c8a 100644 --- a/npm/packs/datatables.net/package.json +++ b/npm/packs/datatables.net/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/datatables.net", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "datatables.net": "^1.10.21" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/docs/package.json b/npm/packs/docs/package.json index 8aae13d899..a947c9e66b 100644 --- a/npm/packs/docs/package.json +++ b/npm/packs/docs/package.json @@ -1,15 +1,15 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/docs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/anchor-js": "~3.3.0-rc.2", - "@abp/clipboard": "~3.3.0-rc.2", - "@abp/malihu-custom-scrollbar-plugin": "~3.3.0-rc.2", - "@abp/popper.js": "~3.3.0-rc.2", - "@abp/prismjs": "~3.3.0-rc.2" + "@abp/anchor-js": "~3.3.0", + "@abp/clipboard": "~3.3.0", + "@abp/malihu-custom-scrollbar-plugin": "~3.3.0", + "@abp/popper.js": "~3.3.0", + "@abp/prismjs": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/flag-icon-css/package.json b/npm/packs/flag-icon-css/package.json index fc0998b5a0..5da86806bc 100644 --- a/npm/packs/flag-icon-css/package.json +++ b/npm/packs/flag-icon-css/package.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/flag-icon-css", "publishConfig": { "access": "public" diff --git a/npm/packs/font-awesome/package.json b/npm/packs/font-awesome/package.json index e86badf4cc..f8e1391d3a 100644 --- a/npm/packs/font-awesome/package.json +++ b/npm/packs/font-awesome/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/font-awesome", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "@fortawesome/fontawesome-free": "^5.13.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/highlight.js/package.json b/npm/packs/highlight.js/package.json index 166e1355b3..a7d7843dbb 100644 --- a/npm/packs/highlight.js/package.json +++ b/npm/packs/highlight.js/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/highlight.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2" + "@abp/core": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/npm/packs/jquery-form/package.json b/npm/packs/jquery-form/package.json index 4e5d077216..037d82195e 100644 --- a/npm/packs/jquery-form/package.json +++ b/npm/packs/jquery-form/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/jquery-form", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "jquery-form": "^4.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery-validation-unobtrusive/package.json b/npm/packs/jquery-validation-unobtrusive/package.json index 48d2412ef8..1663506ed6 100644 --- a/npm/packs/jquery-validation-unobtrusive/package.json +++ b/npm/packs/jquery-validation-unobtrusive/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/jquery-validation-unobtrusive", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery-validation": "~3.3.0-rc.2", + "@abp/jquery-validation": "~3.3.0", "jquery-validation-unobtrusive": "^3.2.11" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery-validation/package.json b/npm/packs/jquery-validation/package.json index 07539328de..f3634601ef 100644 --- a/npm/packs/jquery-validation/package.json +++ b/npm/packs/jquery-validation/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/jquery-validation", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "jquery-validation": "^1.19.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jquery/package.json b/npm/packs/jquery/package.json index f0c21b7017..e3b1031903 100644 --- a/npm/packs/jquery/package.json +++ b/npm/packs/jquery/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/jquery", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "jquery": "~3.5.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/jstree/package.json b/npm/packs/jstree/package.json index a19d5aa23d..1d63bd6e1a 100644 --- a/npm/packs/jstree/package.json +++ b/npm/packs/jstree/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/jstree", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "jstree": "^3.3.9" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/lodash/package.json b/npm/packs/lodash/package.json index edc24aae0f..ce3947a300 100644 --- a/npm/packs/lodash/package.json +++ b/npm/packs/lodash/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/lodash", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "lodash": "^4.17.15" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/luxon/package.json b/npm/packs/luxon/package.json index dd425b65c6..fcd0100e2a 100644 --- a/npm/packs/luxon/package.json +++ b/npm/packs/luxon/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/luxon", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "luxon": "^1.24.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/malihu-custom-scrollbar-plugin/package.json b/npm/packs/malihu-custom-scrollbar-plugin/package.json index 935e67dbbb..2e82cf3cad 100644 --- a/npm/packs/malihu-custom-scrollbar-plugin/package.json +++ b/npm/packs/malihu-custom-scrollbar-plugin/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/malihu-custom-scrollbar-plugin", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "malihu-custom-scrollbar-plugin": "^3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/markdown-it/package.json b/npm/packs/markdown-it/package.json index b4ba45d6ec..b9019a5cac 100644 --- a/npm/packs/markdown-it/package.json +++ b/npm/packs/markdown-it/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/markdown-it", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "markdown-it": "^11.0.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/owl.carousel/package.json b/npm/packs/owl.carousel/package.json index 565a910f88..8f9c60ad59 100644 --- a/npm/packs/owl.carousel/package.json +++ b/npm/packs/owl.carousel/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/owl.carousel", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "owl.carousel": "^2.3.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/popper.js/package.json b/npm/packs/popper.js/package.json index 11f7e01267..bf98ca9f0f 100644 --- a/npm/packs/popper.js/package.json +++ b/npm/packs/popper.js/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/popper.js", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "popper.js": "^1.16.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/prismjs/package.json b/npm/packs/prismjs/package.json index fc3cfac9c8..807604e6ee 100644 --- a/npm/packs/prismjs/package.json +++ b/npm/packs/prismjs/package.json @@ -1,12 +1,12 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/prismjs", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~3.3.0-rc.2", - "@abp/core": "~3.3.0-rc.2", + "@abp/clipboard": "~3.3.0", + "@abp/core": "~3.3.0", "prismjs": "^1.20.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/select2/package.json b/npm/packs/select2/package.json index d1ecc8c578..af04bb4151 100644 --- a/npm/packs/select2/package.json +++ b/npm/packs/select2/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/select2", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "select2": "^4.0.13" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/signalr/package.json b/npm/packs/signalr/package.json index ad6caf322f..11167db4b7 100644 --- a/npm/packs/signalr/package.json +++ b/npm/packs/signalr/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/signalr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "@microsoft/signalr": "~3.1.5" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/star-rating-svg/package.json b/npm/packs/star-rating-svg/package.json index 1671775635..f2151ff820 100644 --- a/npm/packs/star-rating-svg/package.json +++ b/npm/packs/star-rating-svg/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/star-rating-svg", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "star-rating-svg": "^3.5.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/sweetalert/package.json b/npm/packs/sweetalert/package.json index 56f66fa520..d748e1fc14 100644 --- a/npm/packs/sweetalert/package.json +++ b/npm/packs/sweetalert/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/sweetalert", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "sweetalert": "^2.1.2" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/timeago/package.json b/npm/packs/timeago/package.json index 289aa6c187..ba8775428f 100644 --- a/npm/packs/timeago/package.json +++ b/npm/packs/timeago/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/timeago", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "timeago": "^1.6.7" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/toastr/package.json b/npm/packs/toastr/package.json index e2644134da..2dd6daa133 100644 --- a/npm/packs/toastr/package.json +++ b/npm/packs/toastr/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/toastr", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/jquery": "~3.3.0-rc.2", + "@abp/jquery": "~3.3.0", "toastr": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/tui-editor/package.json b/npm/packs/tui-editor/package.json index e41d1d6425..9b3a70d266 100644 --- a/npm/packs/tui-editor/package.json +++ b/npm/packs/tui-editor/package.json @@ -1,14 +1,14 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/tui-editor", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/codemirror": "~3.3.0-rc.2", - "@abp/highlight.js": "~3.3.0-rc.2", - "@abp/jquery": "~3.3.0-rc.2", - "@abp/markdown-it": "~3.3.0-rc.2", + "@abp/codemirror": "~3.3.0", + "@abp/highlight.js": "~3.3.0", + "@abp/jquery": "~3.3.0", + "@abp/markdown-it": "~3.3.0", "tui-editor": "^1.4.10" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/uppy/package.json b/npm/packs/uppy/package.json index 3a71c77b16..997ad1df57 100644 --- a/npm/packs/uppy/package.json +++ b/npm/packs/uppy/package.json @@ -1,11 +1,11 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/uppy", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/core": "~3.3.0-rc.2", + "@abp/core": "~3.3.0", "uppy": "^1.16.1" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" diff --git a/npm/packs/utils/package.json b/npm/packs/utils/package.json index 2dd8ce422a..e167dea0c2 100644 --- a/npm/packs/utils/package.json +++ b/npm/packs/utils/package.json @@ -1,6 +1,6 @@ { "name": "@abp/utils", - "version": "3.3.0-rc.2", + "version": "3.3.0", "scripts": { "prepublish": "yarn install --ignore-scripts && node prepublish.js", "ng": "ng", diff --git a/npm/packs/virtual-file-explorer/package.json b/npm/packs/virtual-file-explorer/package.json index 7d81d1b17c..5baeaa1874 100644 --- a/npm/packs/virtual-file-explorer/package.json +++ b/npm/packs/virtual-file-explorer/package.json @@ -1,12 +1,12 @@ { - "version": "3.3.0-rc.2", + "version": "3.3.0", "name": "@abp/virtual-file-explorer", "publishConfig": { "access": "public" }, "dependencies": { - "@abp/clipboard": "~3.3.0-rc.2", - "@abp/prismjs": "~3.3.0-rc.2" + "@abp/clipboard": "~3.3.0", + "@abp/prismjs": "~3.3.0" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431" } diff --git a/templates/app/angular/package.json b/templates/app/angular/package.json index 96f37297e8..7dce9897d1 100644 --- a/templates/app/angular/package.json +++ b/templates/app/angular/package.json @@ -12,11 +12,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~3.3.0-rc.2", - "@abp/ng.identity": "~3.3.0-rc.2", - "@abp/ng.setting-management": "~3.3.0-rc.2", - "@abp/ng.tenant-management": "~3.3.0-rc.2", - "@abp/ng.theme.basic": "~3.3.0-rc.2", + "@abp/ng.account": "~3.3.0", + "@abp/ng.identity": "~3.3.0", + "@abp/ng.setting-management": "~3.3.0", + "@abp/ng.tenant-management": "~3.3.0", + "@abp/ng.theme.basic": "~3.3.0", "@angular/animations": "~10.1.2", "@angular/common": "~10.1.2", "@angular/compiler": "~10.1.2", @@ -30,7 +30,7 @@ "zone.js": "~0.10.2" }, "devDependencies": { - "@abp/ng.schematics": "~3.3.0-rc.2", + "@abp/ng.schematics": "~3.3.0", "@angular-devkit/build-angular": "~0.1001.2", "@angular-devkit/build-ng-packagr": "~0.1001.2", "@angular/cli": "~10.1.2", diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json index d61c07b98b..34ca938f87 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock index fea916f99f..f5e0422d9f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json index efbbeb76a6..8e9f71b33b 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index fce3e1b8b8..7478ec439a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json index d61c07b98b..34ca938f87 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock index fce3e1b8b8..7478ec439a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json index d61c07b98b..34ca938f87 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock index fea916f99f..f5e0422d9f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/module/angular/package.json b/templates/module/angular/package.json index eb3e1bf696..2403fba4b8 100644 --- a/templates/module/angular/package.json +++ b/templates/module/angular/package.json @@ -15,11 +15,11 @@ }, "private": true, "dependencies": { - "@abp/ng.account": "~3.3.0-rc.2", - "@abp/ng.identity": "~3.3.0-rc.2", - "@abp/ng.setting-management": "~3.3.0-rc.2", - "@abp/ng.tenant-management": "~3.3.0-rc.2", - "@abp/ng.theme.basic": "~3.3.0-rc.2", + "@abp/ng.account": "~3.3.0", + "@abp/ng.identity": "~3.3.0", + "@abp/ng.setting-management": "~3.3.0", + "@abp/ng.tenant-management": "~3.3.0", + "@abp/ng.theme.basic": "~3.3.0", "@angular/animations": "~10.1.2", "@angular/common": "~10.1.2", "@angular/compiler": "~10.1.2", @@ -33,7 +33,7 @@ "zone.js": "~0.10.2" }, "devDependencies": { - "@abp/ng.schematics": "~3.3.0-rc.2", + "@abp/ng.schematics": "~3.3.0", "@angular-devkit/build-angular": "~0.1001.2", "@angular-devkit/build-ng-packagr": "~0.1001.2", "@angular/cli": "~10.1.2", diff --git a/templates/module/angular/projects/my-project-name/package.json b/templates/module/angular/projects/my-project-name/package.json index a824d39ec7..41586bcf5b 100644 --- a/templates/module/angular/projects/my-project-name/package.json +++ b/templates/module/angular/projects/my-project-name/package.json @@ -4,8 +4,8 @@ "peerDependencies": { "@angular/common": "^9.1.11", "@angular/core": "^9.1.11", - "@abp/ng.core": ">=3.3.0-rc.2", - "@abp/ng.theme.shared": ">=3.3.0-rc.2" + "@abp/ng.core": ">=3.3.0", + "@abp/ng.theme.shared": ">=3.3.0" }, "dependencies": { "tslib": "^2.0.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json index efbbeb76a6..8e9f71b33b 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/package.json @@ -3,6 +3,6 @@ "name": "my-app-identityserver", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock index fce3e1b8b8..7478ec439a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json index d61c07b98b..34ca938f87 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock index fce3e1b8b8..7478ec439a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json index d61c07b98b..34ca938f87 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/package.json @@ -3,6 +3,6 @@ "name": "my-app", "private": true, "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0-rc.2" + "@abp/aspnetcore.mvc.ui.theme.basic": "^3.3.0" } } \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock index 5c2f53c40c..8a2cf41872 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/yarn.lock @@ -2,37 +2,37 @@ # yarn lockfile v1 -"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0-rc.2.tgz#4203ef03c7f4cfc1d0c20e7219fca4cbb1dfe583" - integrity sha512-UZtl/5HRs+A49hBzqoMQhteH8QyvR3qvnO98QFXCzY/nXXg4dKeSbBGRWzL8h6B96kBv8NzxNGb+LGrStj4zBQ== - dependencies: - "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0-rc.2.tgz#29170b189aa323f00d4b20df8df120ed8f6a0c5a" - integrity sha512-SHho6Od/QpgxhE294ywAlwB2t/HXWNHRb176nLTCdBoSjmmdZavPOV4fkTvvwXmayQ26XTpd5iuBh7m0wqZFSg== - dependencies: - "@abp/aspnetcore.mvc.ui" "~3.3.0-rc.2" - "@abp/bootstrap" "~3.3.0-rc.2" - "@abp/bootstrap-datepicker" "~3.3.0-rc.2" - "@abp/datatables.net-bs4" "~3.3.0-rc.2" - "@abp/font-awesome" "~3.3.0-rc.2" - "@abp/jquery-form" "~3.3.0-rc.2" - "@abp/jquery-validation-unobtrusive" "~3.3.0-rc.2" - "@abp/lodash" "~3.3.0-rc.2" - "@abp/luxon" "~3.3.0-rc.2" - "@abp/malihu-custom-scrollbar-plugin" "~3.3.0-rc.2" - "@abp/select2" "~3.3.0-rc.2" - "@abp/sweetalert" "~3.3.0-rc.2" - "@abp/timeago" "~3.3.0-rc.2" - "@abp/toastr" "~3.3.0-rc.2" - -"@abp/aspnetcore.mvc.ui@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0-rc.2.tgz#795e1fb8d764122555f5f091b9420e54eab8f65d" - integrity sha512-Ni0dcgJoabqQ26sO10FlafrvTSgP75vysBeCmo609Al1RQYghdsM1nCi9ReZ2RrmEqiH5QThfVN4iqG21atgGA== +"@abp/aspnetcore.mvc.ui.theme.basic@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-3.3.0.tgz#5a83ad1010ede0647cc4bbe225f0ebf8f3ac90d8" + integrity sha512-b0Z/CO7nLixuceC2A/rx4m6OQPwe7ELym+ZZdurUxI42ciuoC5Cnnl3FH+HCt8P3JdFjOIWl2wOXvUcc6P16oQ== + dependencies: + "@abp/aspnetcore.mvc.ui.theme.shared" "~3.3.0" + +"@abp/aspnetcore.mvc.ui.theme.shared@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-3.3.0.tgz#6c998bad95e46905e5a1487ab2370905cdf4376a" + integrity sha512-Tt6SK3EUj8jfZKSzeIVkRuWyAGRoDTqeoS5VVkNZLoIfLzwiimHw2o2AlPRtCMa0jqLropHtaT/kNl+EU24AZw== + dependencies: + "@abp/aspnetcore.mvc.ui" "~3.3.0" + "@abp/bootstrap" "~3.3.0" + "@abp/bootstrap-datepicker" "~3.3.0" + "@abp/datatables.net-bs4" "~3.3.0" + "@abp/font-awesome" "~3.3.0" + "@abp/jquery-form" "~3.3.0" + "@abp/jquery-validation-unobtrusive" "~3.3.0" + "@abp/lodash" "~3.3.0" + "@abp/luxon" "~3.3.0" + "@abp/malihu-custom-scrollbar-plugin" "~3.3.0" + "@abp/select2" "~3.3.0" + "@abp/sweetalert" "~3.3.0" + "@abp/timeago" "~3.3.0" + "@abp/toastr" "~3.3.0" + +"@abp/aspnetcore.mvc.ui@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-3.3.0.tgz#07f7d0f7f689a3ac75a69e12681ebd3d08fa0644" + integrity sha512-EbUISgnR8qHYdu/tSro8QjUWj17M6gOkugMI7N0fiPNbtLHgKG2GHWxIsVEf5ic1O2j/PWKOQ+FPBLZ4v3jFrw== dependencies: ansi-colors "^4.1.1" extend-object "^1.0.0" @@ -41,145 +41,145 @@ path "^0.12.7" rimraf "^3.0.2" -"@abp/bootstrap-datepicker@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0-rc.2.tgz#79d8ecc1740199d2722bd3bee551bb9c092ceace" - integrity sha512-WOsxcsMPx58QVExB2azfPjdcYF2lx4AcbjeL+fdacJm3uxq9NhMOKv6ogqoum7qZTrXsYXBz6UhDkL1Dn3yV2g== +"@abp/bootstrap-datepicker@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-3.3.0.tgz#d7d11e591818a6ec654127d88602cfdfddf81b1f" + integrity sha512-PUsS48o5Cwufn8O8d34UBsjLF6/HrgdhsGTUzrVIhGapiyuYD/QrvqWYWRUj1Jeeb4nrsRVem2DnM1isy+CUCA== dependencies: bootstrap-datepicker "^1.9.0" -"@abp/bootstrap@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0-rc.2.tgz#2784029c588c9fbfaaf482129df600bd0405e20c" - integrity sha512-V5Bm9U2aD3LNj1xluAaXW1aJsef6Mk05bol4761aPoSyXVztpjlSzMN0uYbGCN79tfMVEBQ0/6XKXXt7iKTDGg== +"@abp/bootstrap@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-3.3.0.tgz#1314549e7a940c58fdff521a9ddf153f3414fffa" + integrity sha512-CVjSwbZPjio0VJWxdo+PRkvUYGtv51DgVrqjgHK7m7tGFwHAK38cDHAl+mqmIp7dgPG1Z+E0o41JteT3Za1Bkw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" bootstrap "^4.5.0" bootstrap-v4-rtl "4.4.1-2" -"@abp/core@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0-rc.2.tgz#1d8afe659d41412a04cd0c172043d86bd0084094" - integrity sha512-iqmdNV0t396eLpVHSp2oyKwFN0rb0R145m/aRlAkWV05pwfnD+2+yNsbQ0bh6GfpJNPq9CNdqg1jWPnoTYDugA== +"@abp/core@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/core/-/core-3.3.0.tgz#c88c28df19f96349b9a32b7ebe402e6d267c34e5" + integrity sha512-y9P86zPAm55fAyKwDaoxv+IrApA339aaGEpN9364upeeNBsO8mYf9hoM136VovQaWNIABFHRD7R+9KskwPAuNA== dependencies: - "@abp/utils" "^3.3.0-rc.2" + "@abp/utils" "^3.3.0" -"@abp/datatables.net-bs4@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0-rc.2.tgz#294c4d3fcb0f9f9a10944a7ac9d3981e7ae55f10" - integrity sha512-NVnMh9rj4hycHsjSGNf3ds3EpCnIBxo6OP6C7jDlIVNV+NbJOKV1uSlINDOLxh4Ke++i4iw5OUXRGkLfYJsh+g== +"@abp/datatables.net-bs4@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs4/-/datatables.net-bs4-3.3.0.tgz#e4cc85f3c1c195d9e8b07532eb7c53619f40a787" + integrity sha512-StuwT8jGfDWGNXmYgRELuErXxSE+qjVoiSAkd27mZqDbYSTipq4OZSAHr6WNmoqMgP6QlCgjGgXcz4Pr8Pxuaw== dependencies: - "@abp/datatables.net" "~3.3.0-rc.2" + "@abp/datatables.net" "~3.3.0" datatables.net-bs4 "^1.10.21" -"@abp/datatables.net@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0-rc.2.tgz#ab40447468e416a0346c2686ff1d54e6bd1a86c0" - integrity sha512-sd+3Im9nHexGgjYYmQOe9aHkCNEAJCEdIyv9KfXGj8ViGncmehUvu06wwBNxgginTcuYbzNZVgcoLJlaZbrnBg== +"@abp/datatables.net@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-3.3.0.tgz#a2b2cedc06beb325e62ce6faba899c935564b9a7" + integrity sha512-y0RGrLxI7VgWFAFtHAraDnrEJ5pkUIJ3zxEScS43RUbArhxk+5pIpxQbmU0WgHpk72H7WXdqtL486Kw8PSj1Nw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" datatables.net "^1.10.21" -"@abp/font-awesome@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0-rc.2.tgz#5e575bade51e21d80d175a90223aae27a2fc815e" - integrity sha512-INzo+MQL9Fs42CraOZdetGFnmn4QvZct+tTN08L3r8PA85jDzV0tMQX2ld3VVpaG++dk+74A28gUPYV9WL0EkA== +"@abp/font-awesome@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-3.3.0.tgz#f9307334c34309456c47cc407fbe079821ace45e" + integrity sha512-7/uZ2qXooHQZG35F6ERKsjI8m0gn8/BgE2cOB7Zhu5KRtSTOHOOXX4YWEfoHYLEMuo3xKTTJ2gHM3jiCJEpVtg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" "@fortawesome/fontawesome-free" "^5.13.0" -"@abp/jquery-form@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0-rc.2.tgz#ba574c752ad95b35f0a4671c065e54a9aee1e9f4" - integrity sha512-bXbWFE1Sg3mEJml/XlS6gwxfd9cSDdqGB31HuzwMVLU9FMTN06SwZ6yrmFWo2vhQb0fmJqV9gRq+Kc/uRlYIOg== +"@abp/jquery-form@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-3.3.0.tgz#43fc5655b4e3cac7c0558fb36dd9ef188fe64412" + integrity sha512-fH4IPf/cU3ojWtVsPZjtymzK0xWqqgmvnSk5zy4AB4MOCKyYtPrn5OAMUvq8A4uZ0mGIRAQ8Z72wPKZA1rws5A== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-form "^4.3.0" -"@abp/jquery-validation-unobtrusive@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0-rc.2.tgz#86cd902e1d6c15544ad7b211fb8ebbaf26977eed" - integrity sha512-jL776YYl0SzU4e3/mIhXuyBG5cSWJ57hJWiaw3yxpiTEEZljO0yQaJv/bcGFPVisGjAWm7RN3CjHUR76Mt1EVg== +"@abp/jquery-validation-unobtrusive@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-3.3.0.tgz#0840f3114626a1d6efff54f4791776ebfdf56e76" + integrity sha512-foKM9FDAY2RZGz5EQ2FcQt/FiL8sMc+uwd+2KeAdIejLyPgeSH/lLio6agd2Xun4e/xlBJB185Ga1eKcdHIGAw== dependencies: - "@abp/jquery-validation" "~3.3.0-rc.2" + "@abp/jquery-validation" "~3.3.0" jquery-validation-unobtrusive "^3.2.11" -"@abp/jquery-validation@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0-rc.2.tgz#17e32655d62239c8ecef52861611e70965ccc5c9" - integrity sha512-eTjvekhZogd1rD+GtbVu8MN0s1t2si2gYmnz0TpL0tNf+VckZ2JdrbWMo3v18vyr3ZyiSvi+j8360At2PwULcA== +"@abp/jquery-validation@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-3.3.0.tgz#2199968638d7bab9bfb6ba5e9f27d9d607c09a24" + integrity sha512-jxw274hx8i9+dkRrDz7aUpWSGESnJ2wuA6e3IAQIlubFf+7q0o4vosXD5bubinn4qaRGcSiYC15armfefgmFCw== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" jquery-validation "^1.19.2" -"@abp/jquery@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0-rc.2.tgz#b22d8df25800b816e6bd3a4ce45ced519f40e049" - integrity sha512-MCoFLJLk0/vBNmh/pHYAFVWImdiduxjIYHC03BZi9IoFZyZwZMm5lpBVU4EtWCqeUJ/dP3xp2VJEj2ZboM83NQ== +"@abp/jquery@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-3.3.0.tgz#b99a9436bf3c2394917e761a2dcdfe4f1af9ff3d" + integrity sha512-WrjDQCBOi83kjtMYjXCJVWSbnFxKLW/KtDADkjTF7TxIGccsNWx6E8npzdCEnDnlOJ5Rk9+1QIu07pWedOjBSg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" jquery "~3.5.1" -"@abp/lodash@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0-rc.2.tgz#f2d2cac8c389c8b2c31df8b9e9e11910520c716c" - integrity sha512-HHzKaqDVwLS7DBEl9eK9tsIIGXKwM3KPfnMSSUpqxjInmxDf9TKCkD7j1pNGf5U4rnDMfOa5QeBHb325gylGxg== +"@abp/lodash@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-3.3.0.tgz#5402a779ef1e8ecd585644a68607425587560305" + integrity sha512-QFm9hpWs0/J5TFFiE7vO5oxTsLgMcibmgg/CxYvmQZXhHGZpx3mdoAzC48CvRu8quxr6Xo8pIxlCyYXniR6/Dw== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" lodash "^4.17.15" -"@abp/luxon@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0-rc.2.tgz#a60ff4ca764f13d632c65ade58b22d58af965bbc" - integrity sha512-Ur/6f4Ycl51qsOgJq49HLlj5ghg0dxRACgCdZkU1wee10bXwgnGpfMU8ExEIlxB2PCtuuhdtj601LkTOo7vMhA== +"@abp/luxon@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-3.3.0.tgz#2d669786308df997c6738dd205363edaae670d15" + integrity sha512-1oSUuzgehSBxaxJLfD06ktXK4jisILPKFnEaKCBuPiKiQSDFvdQbepHAYJcpU1Jye6sVrheUKDUyJhnSwDb+0w== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" luxon "^1.24.1" -"@abp/malihu-custom-scrollbar-plugin@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0-rc.2.tgz#3d558e169950691a676a425d82179bc472a4dbdc" - integrity sha512-O1XkLeW17JMuxLlSRszCNbVjXEbUnKtDr8oLS0DtekA233s2DYvf179tp9oJnw5VdQU/F3gk8ZVFq30pdetnpg== +"@abp/malihu-custom-scrollbar-plugin@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-3.3.0.tgz#3bb48e0d68c0b76f3460eb19706927af2168a6c3" + integrity sha512-44JvJOfxJ5ihfNCPyc5U8D8N8CmLh8UBMkzjH7YJQZJO+7PGgjx+uEqbQhTtBDftUz5C5oFkGoQ7i2pil7YSYQ== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" malihu-custom-scrollbar-plugin "^3.1.5" -"@abp/select2@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0-rc.2.tgz#43091fe2671e2e61ed03764f29d10a0b84102358" - integrity sha512-kGYF2rrymPr8bw15gfZc+FphMtLWUJaeJBqTo7+OwICbTrl+j/0dolsS1NjNJDHe7j1MkqFoVWGGaQkDXNH03w== +"@abp/select2@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-3.3.0.tgz#207460dd128a1620c332af5eea2df88bfdfd0520" + integrity sha512-dbOnzQVARBQp/ynJvNyJqE1ArtsWCV8nGMUablB1ILPonsJy+0ADJ+GXWa1nIsHdj3zPW0MLi8pdqpepRCTAFg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" select2 "^4.0.13" -"@abp/sweetalert@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0-rc.2.tgz#ca478b689a2ea96ceb404d8ca225433097f99a4c" - integrity sha512-hdnVwJ1WzuivmCdyc/mmzcd6f5FnIRP7E9j53wIj88DV9DgdsRewuAIgSy8Kc1iDh88td4hZblfAlTEz7Zd8Xg== +"@abp/sweetalert@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/sweetalert/-/sweetalert-3.3.0.tgz#457a05af37819fc54082254022551ed0233c471e" + integrity sha512-6KXwPVC1zwNwlZBS9x0uPLTmieu3nmBp0G+ZH1aP+GTMphSa0ejI7nuPFqUeqfEMg+an1yj51SKKUfKtmlx6Zg== dependencies: - "@abp/core" "~3.3.0-rc.2" + "@abp/core" "~3.3.0" sweetalert "^2.1.2" -"@abp/timeago@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0-rc.2.tgz#3a6b071d0a345c30a7c594a942de102502fc7d24" - integrity sha512-ToJMX3vZ0GIwgmyRzdJZQ1UGlmupWCZJuU6aqbgEft5oh15aN9BdfzI4zkh/Bp+4R696lXaBh58iE6latu5jhg== +"@abp/timeago@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-3.3.0.tgz#f0da23577630cec21255fc9c71dd2f7a3a3a3388" + integrity sha512-f5sb4vxgGPyIzTj6lxDzUx/qJiC8pAqWPasdxHDMzhKlkRuFWO+GfblR5DC/sj9fQPcyV8+yX/VQPY3JW8i62Q== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" timeago "^1.6.7" -"@abp/toastr@~3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0-rc.2.tgz#01693f9448e379edbcb5cb121a9329e986c3a416" - integrity sha512-D9cGD1ML8TYAIW7ORv7U7jO6mJufjNYjSLiXadwkO84EvG0mWrbYfskYo7PHcemT363egt0DHgfoJQf5F6EM+w== +"@abp/toastr@~3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-3.3.0.tgz#c4f7d761eb4d93e993cb8e8cb54a0d670b20bdd3" + integrity sha512-GGqtVUCX8WalpkCnhiYUs+XxxBnhxGOLe87qFe/2tr0XNDJ3BSHXxiKynDetjlNAq/Qnf4U5P4Eg9FnHWFdWZg== dependencies: - "@abp/jquery" "~3.3.0-rc.2" + "@abp/jquery" "~3.3.0" toastr "^2.1.4" -"@abp/utils@^3.3.0-rc.2": - version "3.3.0-rc.2" - resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0-rc.2.tgz#f7b8ce37a88ee870212c39fb7bc1aa112ae41765" - integrity sha512-Q9ZB1Qiosz7WbeVS5fqUHdu6GvsnZyzOzJFNCD4rmN80hfDcEWgh5va9LZLO2EZiqZvHlDkOn9UlXzGU1ecbSA== +"@abp/utils@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-3.3.0.tgz#44ccacf4c415227e94981d907017de1c6f7225bb" + integrity sha512-/JIcygVJu/Ob1G5IicL2XgOVjIIePC2t3QzgEbwaq6NDGMHiOm2quyS8Lj7TfjBeUFTJhCFEbXJMq0lGQ+KMww== dependencies: just-compare "^1.3.0" From c8c1e5b936083f7bf571c25a64def4eefe092568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 14:27:28 +0300 Subject: [PATCH 24/59] Resolved #3810: Change app to div for app container in blazor UI. --- .../MyProjectNameBlazorModule.cs | 2 +- .../src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs index 8097475d64..9a0a915d60 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs @@ -82,7 +82,7 @@ namespace MyCompanyName.MyProjectName.Blazor private static void ConfigureUI(WebAssemblyHostBuilder builder) { - builder.RootComponents.Add("app"); + builder.RootComponents.Add("#ApplicationContainer"); } private static void ConfigureHttpClient(ServiceConfigurationContext context, IWebAssemblyHostEnvironment environment) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html index abb0d111bd..c9a25182e4 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/wwwroot/index.html @@ -17,7 +17,7 @@ - Loading... +
Loading...
From cc5ba6cd564e7f7b9c3ccc470ddf96da56b3d78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 14:38:05 +0300 Subject: [PATCH 25/59] #5930 Initial AbpComponentBase --- .../Volo.Abp.AspNetCore.Components.csproj | 2 +- .../AbpAspNetCoreComponentsModule.cs | 4 ++ .../AspNetCore/Components/AbpComponentBase.cs | 48 +++++++++++++++++++ .../Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 43 ++--------------- 4 files changed, 56 insertions(+), 41 deletions(-) create mode 100644 framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj b/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj index d1168a2f17..5ce18bc7f0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj @@ -15,7 +15,7 @@
- + diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs index 9f45ee2b8a..e125ee5f8d 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs @@ -3,9 +3,13 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Components.DependencyInjection; using Volo.Abp.DynamicProxy; using Volo.Abp.Modularity; +using Volo.Abp.ObjectMapping; namespace Volo.Abp.AspNetCore.Components { + [DependsOn( + typeof(AbpObjectMappingModule) + )] public class AbpAspNetCoreComponentsModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs new file mode 100644 index 0000000000..94b61cdc66 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs @@ -0,0 +1,48 @@ +using System; +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.ObjectMapping; + +namespace Volo.Abp.AspNetCore.Components +{ + public class AbpComponentBase : OwningComponentBase + { + //TODO: IStringLocalizer, CurrentUser, Logger, AuthorizationService + + protected IObjectMapper ObjectMapper + { + get + { + if (_objectMapper != null) + { + return _objectMapper; + } + + if (ObjectMapperContext == null) + { + return LazyGetRequiredService(ref _objectMapper); + } + + return LazyGetRequiredService( + typeof(IObjectMapper<>).MakeGenericType(ObjectMapperContext), + ref _objectMapper + ); + } + } + + private IObjectMapper _objectMapper; + protected Type ObjectMapperContext { get; set; } + + protected TService LazyGetRequiredService(ref TService reference) => LazyGetRequiredService(typeof(TService), ref reference); + + protected TRef LazyGetRequiredService(Type serviceType, ref TRef reference) + { + if (reference == null) + { + reference = (TRef)ScopedServices.GetRequiredService(serviceType); + } + + return reference; + } + } +} diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 315cc42a73..5154c88cd1 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -12,6 +12,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; +using Volo.Abp.AspNetCore.Components; using Volo.Abp.AspNetCore.Components.WebAssembly; using Volo.Abp.Authorization; using Volo.Abp.ObjectMapping; @@ -151,7 +152,7 @@ namespace Volo.Abp.BlazoriseUI TListViewModel, TCreateViewModel, TUpdateViewModel> - : OwningComponentBase + : AbpComponentBase where TAppService : ICrudAppService< TGetOutputDto, TGetListOutputDto, @@ -195,44 +196,6 @@ namespace Volo.Abp.BlazoriseUI public bool HasUpdatePermission { get; set; } public bool HasDeletePermission { get; set; } - protected Type ObjectMapperContext { get; set; } - - protected IObjectMapper ObjectMapper - { - get - { - if (_objectMapper != null) - { - return _objectMapper; - } - - if (ObjectMapperContext == null) - { - return LazyGetRequiredService(ref _objectMapper); - } - - return LazyGetRequiredService( - typeof(IObjectMapper<>).MakeGenericType(ObjectMapperContext), - ref _objectMapper - ); - } - } - - private IObjectMapper _objectMapper; - - protected TService LazyGetRequiredService(ref TService reference) - => LazyGetRequiredService(typeof(TService), ref reference); - - protected TRef LazyGetRequiredService(Type serviceType, ref TRef reference) - { - if (reference == null) - { - reference = (TRef)ScopedServices.GetRequiredService(serviceType); - } - - return reference; - } - protected AbpCrudPageBase() { NewEntity = new TCreateViewModel(); @@ -297,7 +260,7 @@ namespace Volo.Abp.BlazoriseUI { limitedResultRequestInput.MaxResultCount = PageSize; } - + return Task.CompletedTask; } From e15f566068f25db427711ebf3db00ce341985327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 15:14:05 +0300 Subject: [PATCH 26/59] Complete the AbpComponentBase --- .../Volo.Abp.AspNetCore.Components.csproj | 2 + .../AbpAspNetCoreComponentsModule.cs | 6 +- .../AspNetCore/Components/AbpComponentBase.cs | 63 ++++++++++++++++++- 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj b/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj index 5ce18bc7f0..973f49118c 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo.Abp.AspNetCore.Components.csproj @@ -15,7 +15,9 @@
+ + diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs index e125ee5f8d..08c7ed8e9f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpAspNetCoreComponentsModule.cs @@ -2,13 +2,17 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Components.DependencyInjection; using Volo.Abp.DynamicProxy; +using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.ObjectMapping; +using Volo.Abp.Security; namespace Volo.Abp.AspNetCore.Components { [DependsOn( - typeof(AbpObjectMappingModule) + typeof(AbpObjectMappingModule), + typeof(AbpSecurityModule), + typeof(AbpLocalizationModule) )] public class AbpAspNetCoreComponentsModule : AbpModule { diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs index 94b61cdc66..ebc56dd4a2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs @@ -1,13 +1,57 @@ using System; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Components; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.Localization; using Volo.Abp.ObjectMapping; +using Volo.Abp.Users; namespace Volo.Abp.AspNetCore.Components { public class AbpComponentBase : OwningComponentBase { - //TODO: IStringLocalizer, CurrentUser, Logger, AuthorizationService + protected IStringLocalizerFactory StringLocalizerFactory => LazyGetRequiredService(ref _stringLocalizerFactory); + private IStringLocalizerFactory _stringLocalizerFactory; + + protected IStringLocalizer L + { + get + { + if (_localizer == null) + { + _localizer = CreateLocalizer(); + } + + return _localizer; + } + } + private IStringLocalizer _localizer; + + protected Type LocalizationResource + { + get => _localizationResource; + set + { + _localizationResource = value; + _localizer = null; + } + } + private Type _localizationResource = typeof(DefaultResource); + + protected ILogger Logger => _lazyLogger.Value; + private Lazy _lazyLogger => new Lazy(() => LoggerFactory?.CreateLogger(GetType().FullName) ?? NullLogger.Instance, true); + + protected ILoggerFactory LoggerFactory => LazyGetRequiredService(ref _loggerFactory); + private ILoggerFactory _loggerFactory; + + protected IAuthorizationService AuthorizationService => LazyGetRequiredService(ref _authorizationService); + private IAuthorizationService _authorizationService; + + protected ICurrentUser CurrentUser => LazyGetRequiredService(ref _currentUser); + private ICurrentUser _currentUser; protected IObjectMapper ObjectMapper { @@ -31,6 +75,7 @@ namespace Volo.Abp.AspNetCore.Components } private IObjectMapper _objectMapper; + protected Type ObjectMapperContext { get; set; } protected TService LazyGetRequiredService(ref TService reference) => LazyGetRequiredService(typeof(TService), ref reference); @@ -44,5 +89,21 @@ namespace Volo.Abp.AspNetCore.Components return reference; } + + protected virtual IStringLocalizer CreateLocalizer() + { + if (LocalizationResource != null) + { + return StringLocalizerFactory.Create(LocalizationResource); + } + + var localizer = StringLocalizerFactory.CreateDefaultOrNull(); + if (localizer == null) + { + throw new AbpException($"Set {nameof(LocalizationResource)} or define the default localization resource type (by configuring the {nameof(AbpLocalizationOptions)}.{nameof(AbpLocalizationOptions.DefaultResourceType)}) to be able to use the {nameof(L)} object!"); + } + + return localizer; + } } } From bba47d445005468aeab6d7cf59b213fa38094660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 15:15:59 +0300 Subject: [PATCH 27/59] #5961 Apply AbpComponentBase usage for the startup template and the identity module. --- .../Pages/Identity/RoleManagement.razor | 3 --- .../Pages/Identity/RoleManagement.razor.cs | 2 ++ .../Pages/Identity/UserManagement.razor | 5 +---- .../Pages/Identity/UserManagement.razor.cs | 2 ++ .../MyProjectNameComponentBase.cs | 13 +++++++++++++ .../Pages/Index.razor | 8 ++------ 6 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameComponentBase.cs diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor index 781756dd71..67e7e9290c 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor @@ -2,11 +2,8 @@ @attribute [Authorize(IdentityPermissions.Roles.Default)] @using Volo.Abp.Identity @using Microsoft.AspNetCore.Authorization -@using Microsoft.Extensions.Localization -@using Volo.Abp.Identity.Localization @using Volo.Abp.PermissionManagement.Blazor.Components @inherits RoleManagementBase -@inject IStringLocalizer L @* ************************* PAGE HEADER ************************* *@ diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs index 434a2604d2..2a77f22a92 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.BlazoriseUI; +using Volo.Abp.Identity.Localization; using Volo.Abp.PermissionManagement.Blazor.Components; namespace Volo.Abp.Identity.Blazor.Pages.Identity @@ -19,6 +20,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity public RoleManagementBase() { ObjectMapperContext = typeof(AbpIdentityBlazorModule); + LocalizationResource = typeof(IdentityResource); CreatePolicyName = IdentityPermissions.Roles.Create; UpdatePolicyName = IdentityPermissions.Roles.Update; diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor index bfbd2150c6..991b8d1606 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor @@ -1,11 +1,8 @@ @page "/identity/users" @attribute [Authorize(IdentityPermissions.Users.Default)] @using Microsoft.AspNetCore.Authorization -@using Microsoft.Extensions.Localization -@using Volo.Abp.Identity.Localization @using Volo.Abp.PermissionManagement.Blazor.Components @inherits UserManagementBase -@inject IStringLocalizer L @* ************************* PAGE HEADER ************************* *@ @@ -219,4 +216,4 @@ } - \ No newline at end of file + diff --git a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs index a488cbd358..423f452cd8 100644 --- a/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs +++ b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.BlazoriseUI; +using Volo.Abp.Identity.Localization; using Volo.Abp.PermissionManagement.Blazor.Components; namespace Volo.Abp.Identity.Blazor.Pages.Identity @@ -32,6 +33,7 @@ namespace Volo.Abp.Identity.Blazor.Pages.Identity public UserManagementBase() { ObjectMapperContext = typeof(AbpIdentityBlazorModule); + LocalizationResource = typeof(IdentityResource); CreatePolicyName = IdentityPermissions.Users.Create; UpdatePolicyName = IdentityPermissions.Users.Update; diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameComponentBase.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameComponentBase.cs new file mode 100644 index 0000000000..91384e47c3 --- /dev/null +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameComponentBase.cs @@ -0,0 +1,13 @@ +using MyCompanyName.MyProjectName.Localization; +using Volo.Abp.AspNetCore.Components; + +namespace MyCompanyName.MyProjectName.Blazor +{ + public class MyProjectNameComponentBase : AbpComponentBase + { + public MyProjectNameComponentBase() + { + LocalizationResource = typeof(MyProjectNameResource); + } + } +} diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/Index.razor b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/Index.razor index 8ae9643f63..0b7e52b0f0 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/Index.razor +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/Index.razor @@ -1,12 +1,8 @@ @page "/" -@using Volo.Abp.Users @using Volo.Abp.MultiTenancy -@using Microsoft.Extensions.Localization -@using MyCompanyName.MyProjectName.Localization -@inject ICurrentUser CurrentUser +@inherits MyProjectNameComponentBase @inject ICurrentTenant CurrentTenant @inject AuthenticationStateProvider AuthenticationStateProvider -@inject IStringLocalizer L \ No newline at end of file + From 2559606e139c101898c1130257e036d9f5d08abc Mon Sep 17 00:00:00 2001 From: Ahmet Date: Tue, 27 Oct 2020 15:22:52 +0300 Subject: [PATCH 28/59] closes: #5801 --- .../EfCoreAuditLogRepository.cs | 17 +++++++++++++++-- .../MongoDB/MongoAuditLogRepository.cs | 16 ++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs index 9ce2bee070..03051e2655 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.EntityFrameworkCore/Volo/Abp/AuditLogging/EntityFrameworkCore/EfCoreAuditLogRepository.cs @@ -7,6 +7,7 @@ using System.Threading; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Volo.Abp.Auditing; +using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore; @@ -141,9 +142,21 @@ namespace Volo.Abp.AuditLogging.EntityFrameworkCore return GetQueryable().IncludeDetails(); } - public Task GetEntityChange(Guid entityChangeId) + public virtual async Task GetEntityChange(Guid entityChangeId) { - return DbContext.Set().AsNoTracking().IncludeDetails().OrderBy(x => x.Id).Where(x => x.Id == entityChangeId).FirstAsync(); + var entityChange = await DbContext.Set() + .AsNoTracking() + .IncludeDetails() + .OrderBy(x => x.Id) + .Where(x => x.Id == entityChangeId) + .FirstOrDefaultAsync(); + + if (entityChange == null) + { + throw new EntityNotFoundException(typeof(EntityChange)); + } + + return entityChange; } public virtual async Task> GetEntityChangeListAsync( diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs index e2f21bfe24..03f61ca378 100644 --- a/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.MongoDB/Volo/Abp/AuditLogging/MongoDB/MongoAuditLogRepository.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; using Volo.Abp.Auditing; +using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Repositories.MongoDB; using Volo.Abp.MongoDB; @@ -142,10 +143,17 @@ namespace Volo.Abp.AuditLogging.MongoDB public virtual async Task GetEntityChange(Guid entityChangeId) { - return (await GetMongoQueryable() - .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) - .FirstAsync() - ).EntityChanges.First(x => x.Id == entityChangeId); + var entityChange = (await GetMongoQueryable() + .Where(x => x.EntityChanges.Any(y => y.Id == entityChangeId)) + .FirstAsync()).EntityChanges.FirstOrDefault(x => x.Id == entityChangeId); + + + if (entityChange == null) + { + throw new EntityNotFoundException(typeof(EntityChange)); + } + + return entityChange; } public virtual async Task> GetEntityChangeListAsync( From 9743fe13ea8bc2c2842e70379b3776f1ba3dc5ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 15:35:13 +0300 Subject: [PATCH 29/59] Resolved #5950: Additional IDS4 data migration & upgrade notes. --- docs/en/Migration-Guides/Abp-4_0.md | 42 ++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/docs/en/Migration-Guides/Abp-4_0.md b/docs/en/Migration-Guides/Abp-4_0.md index b562c8573c..0d193d476b 100644 --- a/docs/en/Migration-Guides/Abp-4_0.md +++ b/docs/en/Migration-Guides/Abp-4_0.md @@ -41,13 +41,13 @@ Setting it globally effects all the modules in a modular application. ABP Framework upgrades the [IdentityServer4](https://www.nuget.org/packages/IdentityServer4) library from 3.x to 4.x with the ABP Framework version 4.0. IdentityServer 4.x has a lot of changes, some of them are **breaking changes in the data structure**. -### Database Changes +### Entity Changes -**So, if you are upgrading from 3.x, then there are some change should be done in your database.** +Entity changed don't directly affect your application, however it is good to know. #### ApiScope -As the **most important breaking change**, Identity Server 4.x places the `ApiScope` as an independent aggregate root. Previously it was a part of the to `ApiResource` aggregate. This requires manual operation. See the *Database Migration* section. +As the **most important breaking change**, Identity Server 4.x places the `ApiScope` as an independent aggregate root. Previously it was a part of the to `ApiResource` aggregate. This requires manual operation. See the *Database Changes* section. Also, added `Enabled(string)` and `Description(bool,true)` properties. @@ -69,18 +69,48 @@ Also, added `Enabled(string)` and `Description(bool,true)` properties. * Added `SessionId (string)` and `Description(string)` and `ConsumedTime (DateTime?)` properties -## Migrating the Database +### Database Changes > Attention: **Please backup your database** before the migration! -If you are using **Entity Framework Core**, you need to add a new database migration, using the `Add-Migration` command, and apply changes to the database. Please **review the migration** script to understand if it effects your existing data. Otherwise, you may **loose some of your configuration**. +**If you are upgrading from 3.x, then there are some change should be done in your database.** + +#### Database Schema Migration + +If you are using **Entity Framework Core**, you need to add a new database migration, using the `Add-Migration` command, and apply changes to the database. Please **review the migration** script and read the sections below to understand if it affects your existing data. Otherwise, you may **loose some of your configuration**, which may not be easy to remember and re-configure. + +#### Seed Code If you haven't customize the `IdentityServerDataSeedContributor` and haven't customized the initial data inside the `IdentityServer*` tables; 1. Update `IdentityServerDataSeedContributor` class by comparing to [the latest code](https://github.com/abpframework/abp/blob/dev/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs). You probably only need to add the `CreateApiScopesAsync` method and the code related to it. 2. Then you can simply clear all the **table data** in these tables then execute the `DbMigrator` application again to fill it with the new configuration. -If you've customize your IdentityServer configuration in the database or in the seed data, you should understand the changes and upgrade your code/data accordingly. +#### Migrating the Configuration Data + +If you've customize your IdentityServer configuration in the database or in the seed data, you should understand the changes and upgrade your code/data accordingly. Especially, the following changes will affect your application: + +- `IdentityServerApiScopes` table's `Enabled` field is dropped and re-created. So, you need to manually enable the api scopes again. +- `IdentityServerApiResourceScopes` table is dropped and recreated. So, you need to backup and move your current data to the new table. +- `IdentityServerIdentityResourceClaims` table is dropped and recreated. So, you need to backup and move your current data to the new table. + +You may need to perform additional steps based on how much you made custom configurations. + +### Other IdentityServer Changes + +IdentityServer has removed the [public origin option](https://github.com/IdentityServer/IdentityServer4/pull/4335). It was resolving http/https conversion problems, but they decided to leave this to the developer. This is especially needed if you use a reverse proxy where your external protocol is HTTPS but internal protocol is HTTP. + +One simple solution is to add such a middleware into your ASP.NET Core pipeline, at the beginning. + +``` +app.Use((httpContext, next) => +{ + httpContext.Request.Scheme = "https"; + return next(); +}); +``` + +> This sample is obtained from the [ASP.NET Core documentation](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer#scenarios-and-use-cases). You can use it if you always use HTTPS in all environments. ### Related Resources * https://leastprivilege.com/2020/06/19/announcing-identityserver4-v4-0/ From 52b64a36769aa3a8386cb8ea4b1c54c908941a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 15:37:20 +0300 Subject: [PATCH 30/59] AbpComponentBase should be abstract. --- .../Volo/Abp/AspNetCore/Components/AbpComponentBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs index ebc56dd4a2..a4b4c7740e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components/Volo/Abp/AspNetCore/Components/AbpComponentBase.cs @@ -11,7 +11,7 @@ using Volo.Abp.Users; namespace Volo.Abp.AspNetCore.Components { - public class AbpComponentBase : OwningComponentBase + public abstract class AbpComponentBase : OwningComponentBase { protected IStringLocalizerFactory StringLocalizerFactory => LazyGetRequiredService(ref _stringLocalizerFactory); private IStringLocalizerFactory _stringLocalizerFactory; From bc6f21e06b9e2daebbf7ef771b8c6f5db60ceef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 15:52:21 +0300 Subject: [PATCH 31/59] Remove "Inject the IAuthorizationService" part --- docs/en/Tutorials/Part-5.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/en/Tutorials/Part-5.md b/docs/en/Tutorials/Part-5.md index d083d18a2e..a293ec586e 100644 --- a/docs/en/Tutorials/Part-5.md +++ b/docs/en/Tutorials/Part-5.md @@ -476,14 +476,6 @@ Adding this attribute prevents to enter this page if the current hasn't logged i The book management page has a *New Book* button and *Edit* and *Delete* actions for each book. We should hide these buttons/actions if the current user has not granted for the related permissions. -#### Inject the IAuthorizationService - -Inject the `IAuthorizationService` into the `Books.razor`: - -````csharp -@inject IAuthorizationService AuthorizationService -```` - #### Get the Permissions On Initialization Add the following code block to the end of the `Books.razor` file: @@ -506,7 +498,7 @@ Add the following code block to the end of the `Books.razor` file: } ```` -We will use these `bool` fields to check the permissions. +We will use these `bool` fields to check the permissions. `AuthorizationService` comes from the base class as an injected property. > **Blazor Tip**: While adding the C# code into a `@code` block is fine for small code parts, it is suggested to use the code behind approach to develop a more maintainable code base when the code block becomes longer. We will use this approach for the authors part. From ac36601371194117adec28bd309a503c9fd28f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 16:05:32 +0300 Subject: [PATCH 32/59] #3819 3.3.0 release blog post --- .../2020-10-27 v3_3_Release_Stable/POST.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/en/Blog-Posts/2020-10-27 v3_3_Release_Stable/POST.md diff --git a/docs/en/Blog-Posts/2020-10-27 v3_3_Release_Stable/POST.md b/docs/en/Blog-Posts/2020-10-27 v3_3_Release_Stable/POST.md new file mode 100644 index 0000000000..4f7507cbfd --- /dev/null +++ b/docs/en/Blog-Posts/2020-10-27 v3_3_Release_Stable/POST.md @@ -0,0 +1,47 @@ +# ABP Framework & ABP Commercial 3.3 Final Have Been Released + +ABP Framework & ABP Commercial 3.3.0 have been released today. + +Since all the new features are already explained in details with the [3.3 RC Announcement Post](https://blog.abp.io/abp/ABP-Framework-ABP-Commercial-v3.3-RC-Have-Been-Released), I will not repeat all the details again. Please read [the RC post](https://blog.abp.io/abp/ABP-Framework-ABP-Commercial-v3.3-RC-Have-Been-Released) for **new feature and changes** you may need to do for your solution while upgrading to the version 3.3. + +## Creating New Solutions + +You can create a new solution with the ABP Framework version 3.3 by either using the `abp new` command or using the **direct download** tab on the [get started page](https://abp.io/get-started). + +> See the [getting started document](https://docs.abp.io/en/abp/latest/Getting-Started) for details. + +## How to Upgrade an Existing Solution + +### Install/Update the ABP CLI + +First of all, install the ABP CLI or upgrade to the latest version. + +If you haven't installed yet: + +````bash +dotnet tool install -g Volo.Abp.Cli +```` + +To update an existing installation: + +```bash +dotnet tool update -g Volo.Abp.Cli +``` + +### ABP UPDATE Command + +[ABP CLI](https://docs.abp.io/en/abp/latest/CLI) provides a handy command to update all the ABP related NuGet and NPM packages in your solution with a single command: + +````bash +abp update +```` + +Run this command in the root folder of your solution. After the update command, check [the RC blog post](https://blog.abp.io/abp/ABP-Framework-ABP-Commercial-v3.3-RC-Have-Been-Released) to learn if you need to make any changes in your solution. + +> You may want to see the new [upgrading document](https://docs.abp.io/en/abp/latest/Upgrading). + +## About the Next Version: 4.0 + +The next version will be 4.0 and it will be mostly related to completing the Blazor UI features and upgrading the ABP Framework & ecosystem to the .NET 5.0. + +The goal is to complete the version 4.0 with a stable Blazor UI with the fundamental features implemented and publish it just after the Microsoft lunches .NET 5 in this November. The planned 4.0 preview release date is November 11th. \ No newline at end of file From fa57e1a39c9b674403f24f51f966728804417877 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 27 Oct 2020 22:24:12 +0800 Subject: [PATCH 33/59] Update Index.md --- docs/zh-Hans/Startup-Templates/Index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh-Hans/Startup-Templates/Index.md b/docs/zh-Hans/Startup-Templates/Index.md index 6fe424d4f8..268f51e98b 100644 --- a/docs/zh-Hans/Startup-Templates/Index.md +++ b/docs/zh-Hans/Startup-Templates/Index.md @@ -7,4 +7,4 @@ * [**app**](Application.md): 应用程序模板. * [**module**](Module.md): 模块/服务模板. * [**console**](Console.md): 控制台模板. -* [**wpf**](WPF.md): WPF模板. \ No newline at end of file +* [**WPF**](WPF.md): WPF模板. From a7a76b604b7f10d233be1ff6c6c34149a71b4a92 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 27 Oct 2020 22:24:28 +0800 Subject: [PATCH 34/59] Update Index.md --- docs/en/Startup-Templates/Index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Startup-Templates/Index.md b/docs/en/Startup-Templates/Index.md index 6938182aa2..b73779ecb8 100644 --- a/docs/en/Startup-Templates/Index.md +++ b/docs/en/Startup-Templates/Index.md @@ -5,4 +5,4 @@ While you can start with an empty project and add needed packages manually, star * [**app**](Application.md): Application template. * [**module**](Module.md): Module/service template. * [**console**](Console.md): Console template. -* [**wpf**](WPF.md): WPF template. +* [**WPF**](WPF.md): WPF template. From 027a40f72a798daf1e98f4c81965c64f5d3a4930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 18:10:43 +0300 Subject: [PATCH 35/59] MVC theming introduction. --- docs/en/UI/AspNetCore/Basic-Theme.md | 3 + docs/en/UI/AspNetCore/Theming.md | 76 +++++++++++++++++- .../images/basic-theme-application-layout.png | Bin 0 -> 65523 bytes .../lepton-theme-application-layout.png | Bin 0 -> 216457 bytes 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 docs/en/UI/AspNetCore/Basic-Theme.md create mode 100644 docs/en/images/basic-theme-application-layout.png create mode 100644 docs/en/images/lepton-theme-application-layout.png diff --git a/docs/en/UI/AspNetCore/Basic-Theme.md b/docs/en/UI/AspNetCore/Basic-Theme.md new file mode 100644 index 0000000000..3435e94a8b --- /dev/null +++ b/docs/en/UI/AspNetCore/Basic-Theme.md @@ -0,0 +1,3 @@ +# ASP.NET Core MVC / Razor Pages: The Basic Theme + +This document is in progress. See the [Theming](Theming.md) document. \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index e41545635c..adce1e8e34 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -1,3 +1,75 @@ -# ASP.NET Core MVC / Razor Pages Theming +# ASP.NET Core MVC / Razor Pages: UI Theming -TODO \ No newline at end of file +ABP Framework provides a complete **UI Theming** system with the following goals: + +* Reusable [application modules](../../Modules/Index.md) are developed **theme-independent**, so they can work with any UI theme. +* UI theme is **decided by the final application**. +* The theme is distributed via NuGet/NPM packages, so it is **easily upgradable**. +* The final application can **customize** the selected theme. + +In order to accomplish these goals, ABP Framework; + +* Determines a set of **base libraries** used and adapted by all the themes. So, module and application developers can depend on and use these libraries without depending on a particular theme. +* Provides a system that consists of [navigation menus](Navigation-Menu.md), [toolbars](Toolbars.md), [layout hooks](Layout-Hooks.md)... that is implemented by all the themes. So, the modules and the application to contribute to the layout to compose a consistent application UI. + +## The Current Themes + +Currently, two themes are **officially provided**: + +* The [Basic Theme](Basic-Theme.md) is the minimalist theme with the plain Bootstrap style. It is **open source and free**. +* The [Lepton Theme](https://commercial.abp.io/themes) is a **commercial** theme developed by the core ABP team and is a part of the [ABP Commercial](https://commercial.abp.io/) license. + +There are also some community-driven themes for the ABP Framework (you can search on the web). + +## The Base Libraries + +All the themes must depend on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) NPM package, so they are indirectly depending on the following libraries: + +* [Twitter Bootstrap](https://getbootstrap.com/) as the fundamental HTML/CSS framework. +* [JQuery](https://jquery.com/) for DOM manipulation. +* [DataTables.Net](https://datatables.net/) for data grids. +* [JQuery Validation](https://jqueryvalidation.org/) for client side & [unobtrusive](https://github.com/aspnet/jquery-validation-unobtrusive) validation +* [FontAwesome](https://fontawesome.com/) as the fundamental CSS font library. +* [SweetAlert](https://sweetalert.js.org/) to show fancy alert message and confirmation dialogs. +* [Toastr](https://github.com/CodeSeven/toastr) to show toast notifications. +* [Lodesh](https://lodash.com/) as a utility library. +* [Luxon](https://moment.github.io/luxon/) for date/time operations. +* [JQuery Form](https://github.com/jquery-form/form) for AJAX forms. +* [bootstrap-datepicker](https://github.com/uxsolutions/bootstrap-datepicker) to show date pickers. +* [Select2](https://select2.org/) for better select/combo boxes. +* [Timeago](http://timeago.yarp.com/) to show automatically updating fuzzy timestamps. +* [malihu-custom-scrollbar-plugin](https://github.com/malihu/malihu-custom-scrollbar-plugin) for custom scrollbars. + +These libraries are selected as the base libraries and available to the applications and modules. + +### Abstractions / Wrappers + +There are some abstractions in the ABP Framework to make your code independent from some of these libraries too. Examples; + +* [Tag Helpers](Tag-Helpers/Index.md) makes it easy to generate the Bootstrap UIs. +* JavaScript [Message](JavaScript-API/Message.md) and [Notification](JavaScript-API/Notify.md) APIs provides abstractions to use the Sweetalert and Toastr. +* [Forms & Validation](Forms-Validation.md) system automatically handles the validation, so you mostly don't directly type any validation code. + +## The Layouts + +The main responsibility of a theme is to provide the layouts. There are **three pre-defined layouts must be supported by all the themes**: + +* **Application**: The default layout which is used by the main application pages. +* **Account**: Mostly used by the [account module](../../Modules/Account.md) for login, register, forgot password... pages. +* **Empty**: The Minimal layout that has no layout components at all. + +Layout names are constants defined in the `Volo.Abp.AspNetCore.Mvc.UI.Theming.StandardLayouts` class. + +### The Application Layout + +This is the default layout which is used by the main application pages. The following image shows the user management page in the [Basic Theme](Basic-Theme.md) application layout: + +![basic-theme-application-layout](../../images/basic-theme-application-layout.png) + +And the same page is shown below with the [Lepton Theme](https://commercial.abp.io/themes) application layout: + +![basic-theme-application-layout](../../images/lepton-theme-application-layout.png) + +As you can see, the page is the same, but the look is completely different in the themes above. + +TODO... \ No newline at end of file diff --git a/docs/en/images/basic-theme-application-layout.png b/docs/en/images/basic-theme-application-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..353e29405633ab1828012c31d301ade4251827f8 GIT binary patch literal 65523 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%0AUG;mH{a~96q;diJVu<2qN+~ z``-80zhh;A_I0E%D_~dj(>Kwwu_<4bw(9}KzI{Oc1JcnzG-(#dSJQ*%-CP_#ZvORi zWTe6aK;)J@#_$-TO8|WXu)00LZvtfBXtwyu%7raE=&_(Ly!k!FbBi!hPn)Y8;nTmJ z;NoNkvn5>*tyq5jcTeJ=fu+Mn#sW5Nzp}+^OQ~WBI@XEJ{^E4`k^ARn=_Jrf9 zYH9IWj8le*L*OHTU^-w?Jdh!~!*CxH#hRI!sZ|(sC9zoo{#CmBUW4w=?8Si!N1O9Q>kAKwA6)S^ zvqs|1bI?7CSxo*vYVTcLWR)kU6S7YZ%#X)Dv-NrM3@1M~kTB`|lAfJoB$^;~b8_gG zC3rF(XGt_%MkL{Iz~@N5P(+IEC6MIv!D9r5_;xHF(=XyDzLuhpF#7(GWD=HXjnLUz zK~nwltv8RL@M`>et#a+Y+gADZT;yP67=8h!w82E=>Fxxg>GPwe>#k&863>KWJLIwOQ>B2b#FI zt3>xW*rvBj>{!5ak+EnK*eoYQ8CvTtCJKS-Ehi`EMdNlU^0y||X-p`z5}3kTfBdz( z7?_W5C|~FY+Rr~|f^J0VH8f!eV-eD(>$H6#vPj8yV<(#e(slSQvB5-3s<$1r_TV=U zdwtHCQD0$ptn@yUlK9p6#GDn*8tFdqq%G^HbWjc+Nqo#e1RW)$oP|psjVyaeCMX@1 zjxv#2$$SrkCpqj|hu+Efx=?Pd%R32`g+hq+h;%=N*6mKM&6&;IVm|CmH`>Vgz4M>n z*qEb23k_#k`>BMNRlk#NU*xf;ZJ&38jwgC%K%yVkO?J0`f45)Pc54j?>FEN1esi?^ z8KqFE5R9!%qs9W5K4F_DJ{aSto*8q=k2%w)Y)rpM&`9Z>*q}RgG|jL@Yt{OhigF%2 z?x?ED=C!dlB0>&pVH-g!myhMdh$gXW4jHFE_xi?qwA`M3FHibRgs9r$$tB9{5mDR| z!C;u;AgBi#B=&Y=JZZmEBYhE3VDVXL{vv;;NC8t24y{1wx?b1ExKjv?%t$v*qav&E zOwTaAjl@t;!9{}-4T&1Y%X0V4lDwOJ?2~hIyy1RoH+sV(IKOs1P9QA;6hd=)S^)2k zpMoNQNd*wF0IUDitE99vdT@8=Ippf;d3(6pv%S6jL=cC|-pIzLbRn>F>+}jR`22;U z6B7%RsKF0`=63$rCcI!TkTm%5LmmiRCjkyKa0Bg_8!Rj)G$?I?ISlM<-A z*Ort3kx%JHlqQc=>bSy!f=v)P0ry$>OHvXyU~Pqqt}bA|{MLWscI)%_DIgmIF;YVV z1E4SypOP|wLj&|)Ef2hJ4tuhF1ga&j~bW^!5r1ZTj@i(liTqqBg8 z2U0wjfs79+iiOiGRAok412ve5!dQ3rnLr-ck$omh8DB{W>~R7(DduEZ-0J0mC%!K5 z%a#A}%g_70PT}Go1c`^-XQ47fir(J6D8^i>IsW9Q8ycEwF%%nxtf~RzF{a%GLUGp0 zS6@Fks#Q{0+hoSdyfcEan|y>vPbld4=w(`B40(rHD3ykrC%rkVY#l;z9il{kbhSDt zo%eB6I+Hv31?F54f%VTly6o&h>hWjhJm7!fbC!R5DZ*aN-a0}$a5ru`gV6!|9+*@O zEzq)#*LIqjP}SAe(z^K-%0RDHuJ^9l&~l8(gZRDxG#9wrQf&)~j0B29>P=3SrQ9H|`?oH@E(n8b z*X18pz896Xa&vO3X#lm5ht3Q@+*3f7@AS(@X~ovV2h#5KUK4lfP^EuZSQyV}p;{l4t zC;~SJpa;O~r9hx>*Ghp;NrSXJKXi2&NfC z$XSp}(bdhz0L^YXY!N#kt z_jzbp;Qg9Fd#Vh5Q83O0_Y9^ise-&x~$r5W+0*4AK*lFJhZ~Xqc58; z*OQO*gKKMR>lWQCL9c@&)qy=*5Qjgt_dm8qa&}My{UzZtSyom$@ja?(0GJUg9YskmjtQp>{+Wg^oOQR3hydfvqn(yb7T_m4K=g%;K*en_8hKPa5L5UY9xiUOLNnzn{-~z<66>m*iI}84|lk zAR?S8&wC-d*@_)1wh$HVEbTTXp6Zc8eEI9*`%-u?A?6TBbJrg~< zce`AwdD=%O!W(6>n~fp1L<<`p1fSY}0d;(k1KR^_PZ^nqZWl4Jv0NK~6??UwY%4{f z2wGW9Tmi8x(B9+@Y_M#v27R9(Q^=;_V_<+~sRb!Bum;d{W_*NU79>od-H7+?w(iF7 z-$3vg^y=`sJ)Ht6;iN^)l$OJw`+m#R%*-W-kU+o+Xrk`|rYexoPWQSh5Y1}1IqJVo zA=Oe+dQgg?Rj)Jx3i?2$v%2~tNH73l_aUWRa9&D{iTUND`s`aBXb8~+MA3oPE9i)D z3DdOs(cjOKJa~P+f8Qf;2PA;4dccM_O9-q5WFo+WKqnbbU_YR_78fhn z`W}J_P{*jYU+V*+_Wk{>=3}`)x%85uW*R)q^L&BB`|bv~?(9*eH`rAod5?ld%pO!i zv^}t#H8tk|A$qb{9i4#SHc;S3AN&&p=FCh3&>{!;GziLnz&>Cyn6%cH3!(;b6cz4v z>m-F_4EdXWVb=mKrmuMf7cG)Z19O-jdOa_9Lm;x%G|g#dlJGI4ma^e(EF8Qwri`D0 zP8?I4()sKy-c2nFPOecY5)GjQ$1TJsDoTpXMc3qA&3mo;X8-JrilFGY+_%JN2PYl0 z3PaKk7NHVCDZazBX5S^FBB3~nmWET0CbM`>|YczduM8Ym}UUO*I{0AU}fRp8k+R{(CcM+@+~Sfrhg*FsQySRA9tQAgFl(`mnkil2aN8u0Q zv+Yl2=w8eDBFL-yZ0kR6jTZo=om#Sx-yk~4% zFV`RXHGxJiYBd%UfK;O@sVIEKvg8Il7o=QU#%)(yMMUm96>&7GKyAPd(C=k*D3La9 zK&Ke>Didja{S}(BW@e`ywf;IR2AyVb91;NY0Q5N&bac{=-QR)J#M@L1(% zQ_v+=Xrn_y4NdRU@TW(Bj~~llyuR#y-RMeu6VA`mdUqL`9gWb<`DSKHJGj;_GR{Ne z?sDSZntRMb{ksVDb>k>Ag`jXAdkW2UV@xQYz{JPg)8nFh%_DQy^f}oi!aPK1QoqLV zZhpbMwxtr^)Io^W!yd!5STF_F1R?aM(if!nJ<(+C`mu#tw9 z*gKB0z4v3eOCH__HPEVdEA|AGR+Y-VKHEv%s@sdF#|MHHz-SGCJy!%u9)hIEZ!r#U zwT0cns7R@#ASfl$AR$PHAe|Bl(nw2phX@kV-AIc_NW(*^NDI=^A)V3<=YHJ!p7(s$ zw|?x4Ev%Yr&U@Z9#<&TD52|Vhw!bQ1$Ad}O{qh$$(h%Zf;-&K1w`@pZKB8n|WIW#P zWQFyF^x>YfgvkPZCCsBwAd}L03)VO2k3 z5KwO9GH3~bCkMLw^{K{-F#e4QU0;)s`{1*}EQ8m`Q`lqg&8V(+nXGetb_dcl)yuib zflIJZz~uLRc^rTZ9Q2AwoD3{1-K7S_jprauxecb=qKcBR3<9UIfdRu2BvSryb{_E*K?>U)gMe6t+X%ogy)I6sZr!{IF5CR! zmQMfe23Q5F#f_8uMvd_7am>#%`W|ONL2I7W*6B)ZuI?U*OC<~6ZpF}tQd`+d8jH>o8DwP z7{KdI{C+D*VfChn=$CAr_|peO)Mogid@KCk9-q|DOM(q9c(k`HAL7x-1(UEp9NL>o zX7?5|6_qk6+iEJH=_`(lu`b}-U658m@G@%hAGciZw4;6U{neYt*1O|38kb`>nk9{L zo$PI5_*jIa0&j|3R>8;&O5PRhS!Frt@n1Q+k@~$QaF4cJcmXTRK3o-vuquv; zjis3g*HHlZoT`XYEhmTOjg}yK_~`fUWmQxVe#K|2w&?~cqDNv7?j%kSFhV#3`%Ek= z%q>RvGiK%#e&?d~8VJz6_sh~pgmioZX%$iu($lRgo@6`;As5s*wgSz=L1#!;+uPd* zwN-wa>1YWu1?pvB83fkmzJBH|<1&YgMtDp+wfErbSpoGJSbdnXpC&{>Z9zmt1cG*8 zY#ywFW%S+H-re0Dvy03nn-lOHEBfu!`bXc|1LSs5$G03u<4TgfjtnV;LM&P&;3@a3Dt-mOBU)Zlc&JE+L^o%iqa+ghz#ig;iSrxSkRN{IQ#>(Lo4KxRR5YH)QA-2MKS6;7>=f%Krj z1N`6{RkRA_-uEOyPa`_|G1o8lEQ!!kGWA$$T3UdUP|$6(L7b3HVY|C6!|$;% z&RefDwK(+0X>`rKKVucOL#mE=LGQq<5FHDXsil0#(5(6`Y_OGb)~vW^AfAvFzh(c^94y^`qw;)N6L7A_mF%^-%lF2>QG| z?-^$YIpX~Wo4R=m&93)>N34o9d#&lZN9}9N;e=wwW~mqNnjbuP1)I+3$Bm~{CI^w% zK?*gDk_u|@M)b&=VcZoKo>CqIT^tC%2i)I%c_u3A zTel2axe{Wa`xDoBjERXE#x<|1xNDt%Z@}MQT7zV=%1JSk1+ydI#@$ zszN}Lc z!S2bDf4HQKhnq(Zf&(+e{)O*aKEAI{rQhb6#d;T>%8UF1b5dcU6*|_N8(s@i{S4ZM zaZW4uj<$ZeYjB5EZS=0_?~UUiqV~`8PvY-_K^{@t9k0qbaxkBbNtjFA zLf2uk&9UpX?$A3KzMSx*$658L^24^}Q--ox4iv#4?`s-jdqzm z6s+26EP|+a^rWI#RQPHTf%Dy)aeEJM%NrPEfrOmkjS zh#AceM5e?H*@#IeD7)JwUx0w^#2%R^_0aI}!I1;$H8ZJvP#Z2QQ_1T6SwuMz&O$@; z?OP=lOjT6o&!5-aH!Eqz<;MieqfOPSQ~u1*FYY85SyzQt)eny`WbWM%ycgER*c;IC_g$bX7+u56q^c5zI+GgS9v;h_wi11;sv*mRoz#!w94!>F;m~v8*fbf zWE!QM8`8N0g{!g_5Ju=i+U4t6S9Rk(wezn(3u$0i@ls^;(U&TG2C_c*z03W1p%Pi^ zSl|ym3oj2136YbRF9brV{QOUd?>mb<={&s$J`^ZCc%-CYe5I&H8@(GRBx!(sR~9F| z1Z)UoSJ!|M>m#{}wG!mgK+n|0z*p;AJ=i$qkUFP5)Kb|bVk%j*+8!L<%szT5~lv}DP`D57u81JYvAxs4@egMuGS<$yqCh1F^qY5=ln@jpkVQV(Y^2L9FXy~2i_BI!`I_&ng7xp}T>e6SypoSI z0V3+?(HegN`mpB?jW(9~WuLp0na+)tKRL25L~yx?zf@Na{PbPbd*D1pQc~ia z`KZO3wSFe~Y8<+3xtjA$L2p&(B0+jlLgC(S4zEjZV*jWhzX!tsti}b_w%s7}NhioL zL;oWP8RZYaI)on!F8!0^T0z z72+$&$P9bGvgvMwJQ~DV+HT7^;ED7Rl-}~140DL zQsAGm1BJpVcox_kkh%C%P4GM*6I*doTKv51O<=BE;){b%W6z+X2J;P6l6FT-(nrGH zB4-w;LMh70rEpuPtybW}r^S%lAH(MY$8hFS9LuRVEIH(+@Edv@ipj2(GhHsy?%gY* z4A>+p_=NR4=@&&x{>ap$jfR$#m;2nL7t>9bBu}P4zc#j4OYYEPvj9g5=;t67k1H-# z&S$BaivlG}$V?-v0&$wDHr-52Oj9nuLYte#ma!R8*l@umLl#qAU5_Y$DH&=Q8Z64I zd&kJ659qme%X3dq>k8A;FSXpUmIKD-GUM+^jVW*i&3G42A!7`ci3_N)KpMdF%%qwY zvek?PZLK)QJ!v4;aoFR1zEiW9RwlqYYWTo%vhD~}m67SJ{1birlpV;FT`VhlGt$#n zL&6Li0kUIR;fX;3@)jYXAgC$BG$jyM(tu8g?Q#1a@YSY26cm*rgt;di`jMKw5EyiJ zPC{O=7*dBIati8;kPNT{u`Z7@&|4?D{s!{T&vl%r_}ur`AR}A~xnHnex~}uFA)kQz zvhf1K3`ja6$y#53);n>B*gc;4c~o3nB_sksJfQml`Muy-SR+6anKnB+t7%nZ^u-Tz zqu~ooEL_tyVQ?9P<~WuFIZe`UFF?ax%}6w(i!5$;2q#p_jGKb9woT*C>$6b24zDbciBN zXx1Al)*mbyHO~wlkB&E&P|HI?>$SOzISv>3vHP<4L3j`;iPN%qzXsD@ zi&Hc$7d;POVBkv}ZuqU)0nQM2>VQA3-<)=I+TPC1vdniBFRcT2R4l>R*^6fFg zA%o56x~F-V(O&!?%0_-xh)CQwvP9ProY^qA53Y=YB@efknZi(J%u?NNh)U!>N9DF$ zl|+A-V#-_9f39tc@&+eX#&JGY4H=0cjVzltH(vh5K(fV6egB zOiZ$FBS4_2Y7YW8o=|_u(GLO9&l`8RkdZS~E)bBeBRhM!Oj)GK({{eaB{EQyS~r6 zo%q*RT6CASV^@!Q-e)s1tyH*0%O@6dP3|LVnxYXoXFbZuQk*SR&!z-Q;u+Kpq_5$n zYU#2=>J(4KV189~qiF1+12cafH}+2V_qyen?p`z%<8P9NezuVx4!D2TAA4`V4esSO zl9)Fop#6p$i?6iR*x|4^N_V#T{^uvWQPmrGczNAK21ndakvUQ8xq!TIId@LsPi)Wf zl`t5Mol*S*VG<52PjYQ-z&&3)CU~5^C`~*jM|e>q1$VQI7Ajuxvn&OA>^ekQ%j}Ym408 zwkv$*4hj1ys8)caUY~Zz9I*kCB^UH0R|X59cZO1%sHdmL8z^Y4YL{up5JgvGz!3t9 zX)kCH0>;qoi}80dm(!g9}|Pr zHHSBpmW6A(Lduj?tNKS@ON6YHlnaasYwc1dTtn7v9%#d@>$W78Z`GXhNuk?<^#kJF z6w>jCnSMy@eOkw}~u7 z>FnsM86*Utp(|e%Ya-j5MdK{1H{69=>E?IiGWuY&*BMz^pyoNEGRB$w9qly`E?et5 z47_%?TAj_Kozw1LO>dwR;ysxty%IKb@Nr-SQv`1%x1VphMg9sml-x{31JSwPLk!px zLJ%VgO)Y14W`4gJxzqZ_&+q-0bl&2=FWa=^nqLMI

-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 f>~OAF|t&pcrep3&R`d*ejxm+MruK! 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�<_w-uy~$ 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 W)2+o~$JS0KO;J`20)J={^nU<5o_84l literal 0 HcmV?d00001 From f0a0e07ea21685844a4245e2bd2a95e2e9f849bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 18:13:00 +0300 Subject: [PATCH 36/59] Initial theming doc. --- docs/en/UI/AspNetCore/Basic-Theme.md | 3 + docs/en/UI/AspNetCore/Theming.md | 76 +++++++++++++++++- .../images/basic-theme-application-layout.png | Bin 0 -> 65523 bytes .../lepton-theme-application-layout.png | Bin 0 -> 216457 bytes 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 docs/en/UI/AspNetCore/Basic-Theme.md create mode 100644 docs/en/images/basic-theme-application-layout.png create mode 100644 docs/en/images/lepton-theme-application-layout.png diff --git a/docs/en/UI/AspNetCore/Basic-Theme.md b/docs/en/UI/AspNetCore/Basic-Theme.md new file mode 100644 index 0000000000..3435e94a8b --- /dev/null +++ b/docs/en/UI/AspNetCore/Basic-Theme.md @@ -0,0 +1,3 @@ +# ASP.NET Core MVC / Razor Pages: The Basic Theme + +This document is in progress. See the [Theming](Theming.md) document. \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index e41545635c..adce1e8e34 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -1,3 +1,75 @@ -# ASP.NET Core MVC / Razor Pages Theming +# ASP.NET Core MVC / Razor Pages: UI Theming -TODO \ No newline at end of file +ABP Framework provides a complete **UI Theming** system with the following goals: + +* Reusable [application modules](../../Modules/Index.md) are developed **theme-independent**, so they can work with any UI theme. +* UI theme is **decided by the final application**. +* The theme is distributed via NuGet/NPM packages, so it is **easily upgradable**. +* The final application can **customize** the selected theme. + +In order to accomplish these goals, ABP Framework; + +* Determines a set of **base libraries** used and adapted by all the themes. So, module and application developers can depend on and use these libraries without depending on a particular theme. +* Provides a system that consists of [navigation menus](Navigation-Menu.md), [toolbars](Toolbars.md), [layout hooks](Layout-Hooks.md)... that is implemented by all the themes. So, the modules and the application to contribute to the layout to compose a consistent application UI. + +## The Current Themes + +Currently, two themes are **officially provided**: + +* The [Basic Theme](Basic-Theme.md) is the minimalist theme with the plain Bootstrap style. It is **open source and free**. +* The [Lepton Theme](https://commercial.abp.io/themes) is a **commercial** theme developed by the core ABP team and is a part of the [ABP Commercial](https://commercial.abp.io/) license. + +There are also some community-driven themes for the ABP Framework (you can search on the web). + +## The Base Libraries + +All the themes must depend on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) NPM package, so they are indirectly depending on the following libraries: + +* [Twitter Bootstrap](https://getbootstrap.com/) as the fundamental HTML/CSS framework. +* [JQuery](https://jquery.com/) for DOM manipulation. +* [DataTables.Net](https://datatables.net/) for data grids. +* [JQuery Validation](https://jqueryvalidation.org/) for client side & [unobtrusive](https://github.com/aspnet/jquery-validation-unobtrusive) validation +* [FontAwesome](https://fontawesome.com/) as the fundamental CSS font library. +* [SweetAlert](https://sweetalert.js.org/) to show fancy alert message and confirmation dialogs. +* [Toastr](https://github.com/CodeSeven/toastr) to show toast notifications. +* [Lodesh](https://lodash.com/) as a utility library. +* [Luxon](https://moment.github.io/luxon/) for date/time operations. +* [JQuery Form](https://github.com/jquery-form/form) for AJAX forms. +* [bootstrap-datepicker](https://github.com/uxsolutions/bootstrap-datepicker) to show date pickers. +* [Select2](https://select2.org/) for better select/combo boxes. +* [Timeago](http://timeago.yarp.com/) to show automatically updating fuzzy timestamps. +* [malihu-custom-scrollbar-plugin](https://github.com/malihu/malihu-custom-scrollbar-plugin) for custom scrollbars. + +These libraries are selected as the base libraries and available to the applications and modules. + +### Abstractions / Wrappers + +There are some abstractions in the ABP Framework to make your code independent from some of these libraries too. Examples; + +* [Tag Helpers](Tag-Helpers/Index.md) makes it easy to generate the Bootstrap UIs. +* JavaScript [Message](JavaScript-API/Message.md) and [Notification](JavaScript-API/Notify.md) APIs provides abstractions to use the Sweetalert and Toastr. +* [Forms & Validation](Forms-Validation.md) system automatically handles the validation, so you mostly don't directly type any validation code. + +## The Layouts + +The main responsibility of a theme is to provide the layouts. There are **three pre-defined layouts must be supported by all the themes**: + +* **Application**: The default layout which is used by the main application pages. +* **Account**: Mostly used by the [account module](../../Modules/Account.md) for login, register, forgot password... pages. +* **Empty**: The Minimal layout that has no layout components at all. + +Layout names are constants defined in the `Volo.Abp.AspNetCore.Mvc.UI.Theming.StandardLayouts` class. + +### The Application Layout + +This is the default layout which is used by the main application pages. The following image shows the user management page in the [Basic Theme](Basic-Theme.md) application layout: + +![basic-theme-application-layout](../../images/basic-theme-application-layout.png) + +And the same page is shown below with the [Lepton Theme](https://commercial.abp.io/themes) application layout: + +![basic-theme-application-layout](../../images/lepton-theme-application-layout.png) + +As you can see, the page is the same, but the look is completely different in the themes above. + +TODO... \ No newline at end of file diff --git a/docs/en/images/basic-theme-application-layout.png b/docs/en/images/basic-theme-application-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..353e29405633ab1828012c31d301ade4251827f8 GIT binary patch literal 65523 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%0AUG;mH{a~96q;diJVu<2qN+~ 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

-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 f>~OAF|t&pcrep3&R`d*ejxm+MruK! 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�<_w-uy~$ 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 W)2+o~$JS0KO;J`20)J={^nU<5o_84l literal 0 HcmV?d00001 From 3f1d2a246f1563bf62ff377bff37cb8a021ae831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 21:10:07 +0300 Subject: [PATCH 37/59] Added sections to the theming doc. --- docs/en/UI/AspNetCore/Breadcrumbs.md | 3 + docs/en/UI/AspNetCore/Theming.md | 66 +++++++++++++++--- docs/en/images/basic-theme-account-layout.png | Bin 0 -> 47749 bytes .../en/images/lepton-theme-account-layout.png | Bin 0 -> 91462 bytes 4 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 docs/en/UI/AspNetCore/Breadcrumbs.md create mode 100644 docs/en/images/basic-theme-account-layout.png create mode 100644 docs/en/images/lepton-theme-account-layout.png diff --git a/docs/en/UI/AspNetCore/Breadcrumbs.md b/docs/en/UI/AspNetCore/Breadcrumbs.md new file mode 100644 index 0000000000..cc3bcd95be --- /dev/null +++ b/docs/en/UI/AspNetCore/Breadcrumbs.md @@ -0,0 +1,3 @@ +# Toolbars + +TODO \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index adce1e8e34..2eb837283b 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -1,5 +1,7 @@ # ASP.NET Core MVC / Razor Pages: UI Theming +## Introduction + ABP Framework provides a complete **UI Theming** system with the following goals: * Reusable [application modules](../../Modules/Index.md) are developed **theme-independent**, so they can work with any UI theme. @@ -12,7 +14,7 @@ In order to accomplish these goals, ABP Framework; * Determines a set of **base libraries** used and adapted by all the themes. So, module and application developers can depend on and use these libraries without depending on a particular theme. * Provides a system that consists of [navigation menus](Navigation-Menu.md), [toolbars](Toolbars.md), [layout hooks](Layout-Hooks.md)... that is implemented by all the themes. So, the modules and the application to contribute to the layout to compose a consistent application UI. -## The Current Themes +### Current Themes Currently, two themes are **officially provided**: @@ -21,7 +23,9 @@ Currently, two themes are **officially provided**: There are also some community-driven themes for the ABP Framework (you can search on the web). -## The Base Libraries +## Overall + +### The Base Libraries All the themes must depend on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) NPM package, so they are indirectly depending on the following libraries: @@ -42,7 +46,7 @@ All the themes must depend on the [@abp/aspnetcore.mvc.ui.theme.shared](https:// These libraries are selected as the base libraries and available to the applications and modules. -### Abstractions / Wrappers +#### Abstractions / Wrappers There are some abstractions in the ABP Framework to make your code independent from some of these libraries too. Examples; @@ -50,9 +54,9 @@ There are some abstractions in the ABP Framework to make your code independent f * JavaScript [Message](JavaScript-API/Message.md) and [Notification](JavaScript-API/Notify.md) APIs provides abstractions to use the Sweetalert and Toastr. * [Forms & Validation](Forms-Validation.md) system automatically handles the validation, so you mostly don't directly type any validation code. -## The Layouts +### The Layouts -The main responsibility of a theme is to provide the layouts. There are **three pre-defined layouts must be supported by all the themes**: +The main responsibility of a theme is to provide the layouts. There are **three pre-defined layouts must be implemented by all the themes**: * **Application**: The default layout which is used by the main application pages. * **Account**: Mostly used by the [account module](../../Modules/Account.md) for login, register, forgot password... pages. @@ -60,7 +64,7 @@ The main responsibility of a theme is to provide the layouts. There are **three Layout names are constants defined in the `Volo.Abp.AspNetCore.Mvc.UI.Theming.StandardLayouts` class. -### The Application Layout +#### The Application Layout This is the default layout which is used by the main application pages. The following image shows the user management page in the [Basic Theme](Basic-Theme.md) application layout: @@ -68,8 +72,54 @@ This is the default layout which is used by the main application pages. The foll And the same page is shown below with the [Lepton Theme](https://commercial.abp.io/themes) application layout: -![basic-theme-application-layout](../../images/lepton-theme-application-layout.png) +![lepton-theme-application-layout](../../images/lepton-theme-application-layout.png) As you can see, the page is the same, but the look is completely different in the themes above. -TODO... \ No newline at end of file +The application layout typically includes the following parts; + +* A [main menu](Navigation-Menu.md) +* Main [Toolbar](Toolbars.md) with the following components; + * User menu + * Language switch dropdown +* [Page alerts](Page-Alerts.md) +* The page content (aka `RenderBody()`) +* [Layout hooks](Layout-Hooks.md) + +Some themes may provide more parts like breadcrumbs, page header & toolbar... etc. See the *Layout Parts* section. + +#### The Account Layout + +The Account layout is typically used by the [account module](../../Modules/Account.md) for login, register, forgot password... pages. + +![basic-theme-account-layout](../../images/basic-theme-account-layout.png) + +This layout typically provides the following parts; + +* Language switch dropdown +* Tenant switch area (if the application is [multi-tenant](../../Multi-Tenancy.md) and the current is resolved by the cookie) +* [Page alerts](Page-Alerts.md) +* The page content (aka `RenderBody()`) +* [Layout hooks](Layout-Hooks.md) + +The [Basic Theme](Basic-Theme.md) renders the top navigation bar for this layout too (as shown above) + +Here, the account layout of the Lepton Theme: + +![lepton-theme-account-layout](../../images/lepton-theme-account-layout.png) + +The [Lepton Theme](https://commercial.abp.io/themes) shows the application logo and footer in this layout. + +> You can override theme layouts completely or partially in an application to [customize](Customization-User-Interface.md) it. + +#### The Empty Layout + +The empty layout provides an empty page, however it typically includes the following parts; + +* [Page alerts](Page-Alerts.md) +* The page content (aka `RenderBody()`) +* [Layout hooks](Layout-Hooks.md) + +## Implementing a Theme + +TODO \ No newline at end of file diff --git a/docs/en/images/basic-theme-account-layout.png b/docs/en/images/basic-theme-account-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..bccd0e20ccd00ce4185033d55234fa1731d67e71 GIT binary patch literal 47749 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⩔1m$}vc1fCm~CCZ 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 b@3J_Lr)1}Pp&~x9%htVZbgSg1-HZPO6?2T! literal 0 HcmV?d00001 diff --git a/docs/en/images/lepton-theme-account-layout.png b/docs/en/images/lepton-theme-account-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..e627ba3eae843ca20975f737e9c5130a2eb58cd8 GIT binary patch literal 91462 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 Date: Tue, 27 Oct 2020 21:24:55 +0300 Subject: [PATCH 38/59] Added The ITheme Interface section. --- docs/en/UI/AspNetCore/Theming.md | 55 ++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index 2eb837283b..a1a35de159 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -54,7 +54,7 @@ There are some abstractions in the ABP Framework to make your code independent f * JavaScript [Message](JavaScript-API/Message.md) and [Notification](JavaScript-API/Notify.md) APIs provides abstractions to use the Sweetalert and Toastr. * [Forms & Validation](Forms-Validation.md) system automatically handles the validation, so you mostly don't directly type any validation code. -### The Layouts +### The Standard Layouts The main responsibility of a theme is to provide the layouts. There are **three pre-defined layouts must be implemented by all the themes**: @@ -122,4 +122,55 @@ The empty layout provides an empty page, however it typically includes the follo ## Implementing a Theme -TODO \ No newline at end of file +### The ITheme Interface + +`ITheme` interface is used by the ABP Framework to select the layout for the current page. A theme must implement this interface to provide the requested layout path. + +This is the `ITheme` implementation of the [Basic Theme](Basic-Theme.md). + +````csharp +using Volo.Abp.AspNetCore.Mvc.UI.Theming; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic +{ + [ThemeName(Name)] + public class BasicTheme : ITheme, ITransientDependency + { + public const string Name = "Basic"; + + public virtual string GetLayout(string name, bool fallbackToDefault = true) + { + switch (name) + { + case StandardLayouts.Application: + return "~/Themes/Basic/Layouts/Application.cshtml"; + case StandardLayouts.Account: + return "~/Themes/Basic/Layouts/Account.cshtml"; + case StandardLayouts.Empty: + return "~/Themes/Basic/Layouts/Empty.cshtml"; + default: + return fallbackToDefault + ? "~/Themes/Basic/Layouts/Application.cshtml" + : null; + } + } + } +} +```` + +* `[ThemeName]` attribute is required and a theme must have a unique name, `Basic` in this sample. +* `GetLayout` method should return a path if the requested layout (`name`) is provided by the theme. *The Standard Layouts* should be implemented if the theme is aimed to be used by a standard application. It may implement additional layouts. + +Once the theme implements the `ITheme` interface, it should add the theme to the `AbpThemingOptions` in the `ConfigureServices` method of the [module](../../Module-Development-Basics.md). + +````csharp +Configure(options => +{ + options.Themes.Add(); +}); +```` + +#### The IThemeSelector Service + +ABP Framework allows to use multiple themes together. This is why `options.Themes` is a list. `IThemeSelector` service selects the theme on the runtime. The application developer can set the `AbpThemingOptions.DefaultThemeName` to set the theme to be used, or replace the `IThemeSelector` service implementation (the default implementation is `DefaultThemeSelector`) to completely control the theme selection on runtime. \ No newline at end of file From 9051ff99136f7a81d154edcdf77d43cf05435d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 27 Oct 2020 21:48:36 +0300 Subject: [PATCH 39/59] Update Theming.md --- docs/en/UI/AspNetCore/Theming.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index a1a35de159..594a882821 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -122,6 +122,10 @@ The empty layout provides an empty page, however it typically includes the follo ## Implementing a Theme +### The Easy Way + +The easiest way to create a new theme is to copy the [Basic Theme Source Code](https://github.com/abpframework/abp/tree/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic) and customize it. Once you get a copy of the theme in your solution, remove the `Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic` NuGet package and reference to the local project. + ### The ITheme Interface `ITheme` interface is used by the ABP Framework to select the layout for the current page. A theme must implement this interface to provide the requested layout path. From 0dcbb61e1982eb3a80f6a21e8191eefa60e72f00 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 28 Oct 2020 09:38:09 +0800 Subject: [PATCH 40/59] Remove the unique index of IdentityResource, ApiResource and ApiScope. Resolve #5932 --- .../IdentityServerDbContextModelCreatingExtensions.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs index eb6d424c16..f63109f1f1 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs @@ -193,8 +193,6 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore b.Property(x => x.DisplayName).HasMaxLength(IdentityResourceConsts.DisplayNameMaxLength); b.Property(x => x.Description).HasMaxLength(IdentityResourceConsts.DescriptionMaxLength); - b.HasIndex(x => x.Name).IsUnique(); - b.HasMany(x => x.UserClaims).WithOne().HasForeignKey(x => x.IdentityResourceId).IsRequired(); b.HasMany(x => x.Properties).WithOne().HasForeignKey(x => x.IdentityResourceId).IsRequired(); }); @@ -236,8 +234,6 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore b.ConfigureByConvention(); - b.HasIndex(x => x.Name).IsUnique(); - b.Property(x => x.Name).HasMaxLength(ApiResourceConsts.NameMaxLength).IsRequired(); b.Property(x => x.DisplayName).HasMaxLength(ApiResourceConsts.DisplayNameMaxLength); b.Property(x => x.Description).HasMaxLength(ApiResourceConsts.DescriptionMaxLength); @@ -320,8 +316,6 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore b.Property(x => x.DisplayName).HasMaxLength(ApiScopeConsts.DisplayNameMaxLength); b.Property(x => x.Description).HasMaxLength(ApiScopeConsts.DescriptionMaxLength); - b.HasIndex(x => x.Name).IsUnique(); - b.HasMany(x => x.UserClaims).WithOne().HasForeignKey(x => x.ApiScopeId).IsRequired(); b.HasMany(x => x.Properties).WithOne().HasForeignKey(x => x.ApiScopeId).IsRequired(); }); From ea9f3347df2a95463f9195162599a115bbf1f1fe Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 28 Oct 2020 09:58:06 +0800 Subject: [PATCH 41/59] Update template projects migrations. --- ...r.cs => 20201028014149_Initial.Designer.cs} | 11 +---------- ...35_Initial.cs => 20201028014149_Initial.cs} | 18 ------------------ ...jectNameMigrationsDbContextModelSnapshot.cs | 9 --------- ...r.cs => 20201028014236_Initial.Designer.cs} | 11 +---------- ...20_Initial.cs => 20201028014236_Initial.cs} | 18 ------------------ ...rverHostMigrationsDbContextModelSnapshot.cs | 9 --------- ...r.cs => 20201028014311_Initial.Designer.cs} | 2 +- ...01_Initial.cs => 20201028014311_Initial.cs} | 0 8 files changed, 3 insertions(+), 75 deletions(-) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/{20201019020935_Initial.Designer.cs => 20201028014149_Initial.Designer.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/{20201019020935_Initial.cs => 20201028014149_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/{20201019021120_Initial.Designer.cs => 20201028014236_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/{20201019021120_Initial.cs => 20201028014236_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20201019021101_Initial.Designer.cs => 20201028014311_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20201019021101_Initial.cs => 20201028014311_Initial.cs} (100%) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.Designer.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.Designer.cs index 7e948c753c..748f6c7638 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.Designer.cs @@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameMigrationsDbContext))] - [Migration("20201019020935_Initial")] + [Migration("20201028014149_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -1042,9 +1042,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiResources"); }); @@ -1192,9 +1189,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiScopes"); }); @@ -1770,9 +1764,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerIdentityResources"); }); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.cs index dfa2b7fbd5..af7fb7ee1b 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201019020935_Initial.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/20201028014149_Initial.cs @@ -1181,18 +1181,6 @@ namespace MyCompanyName.MyProjectName.Migrations table: "AbpUsers", column: "UserName"); - migrationBuilder.CreateIndex( - name: "IX_IdentityServerApiResources_Name", - table: "IdentityServerApiResources", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerApiScopes_Name", - table: "IdentityServerApiScopes", - column: "Name", - unique: true); - migrationBuilder.CreateIndex( name: "IX_IdentityServerClients_ClientId", table: "IdentityServerClients", @@ -1214,12 +1202,6 @@ namespace MyCompanyName.MyProjectName.Migrations table: "IdentityServerDeviceFlowCodes", column: "UserCode"); - migrationBuilder.CreateIndex( - name: "IX_IdentityServerIdentityResources_Name", - table: "IdentityServerIdentityResources", - column: "Name", - unique: true); - migrationBuilder.CreateIndex( name: "IX_IdentityServerPersistedGrants_Expiration", table: "IdentityServerPersistedGrants", diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs index 657232cff2..82d01f075c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/Migrations/MyProjectNameMigrationsDbContextModelSnapshot.cs @@ -1040,9 +1040,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiResources"); }); @@ -1190,9 +1187,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiScopes"); }); @@ -1768,9 +1762,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerIdentityResources"); }); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.Designer.cs index 0f3b3b90b9..bda1f6108d 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.Designer.cs @@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(IdentityServerHostMigrationsDbContext))] - [Migration("20201019021120_Initial")] + [Migration("20201028014236_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -984,9 +984,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiResources"); }); @@ -1134,9 +1131,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiScopes"); }); @@ -1712,9 +1706,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerIdentityResources"); }); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.cs index 2296a18f25..78dcb6359e 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201019021120_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/20201028014236_Initial.cs @@ -1155,18 +1155,6 @@ namespace MyCompanyName.MyProjectName.Migrations table: "AbpUsers", column: "UserName"); - migrationBuilder.CreateIndex( - name: "IX_IdentityServerApiResources_Name", - table: "IdentityServerApiResources", - column: "Name", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerApiScopes_Name", - table: "IdentityServerApiScopes", - column: "Name", - unique: true); - migrationBuilder.CreateIndex( name: "IX_IdentityServerClients_ClientId", table: "IdentityServerClients", @@ -1188,12 +1176,6 @@ namespace MyCompanyName.MyProjectName.Migrations table: "IdentityServerDeviceFlowCodes", column: "UserCode"); - migrationBuilder.CreateIndex( - name: "IX_IdentityServerIdentityResources_Name", - table: "IdentityServerIdentityResources", - column: "Name", - unique: true); - migrationBuilder.CreateIndex( name: "IX_IdentityServerPersistedGrants_Expiration", table: "IdentityServerPersistedGrants", diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs index beb40e7827..29deeab756 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/Migrations/IdentityServerHostMigrationsDbContextModelSnapshot.cs @@ -982,9 +982,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiResources"); }); @@ -1132,9 +1129,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerApiScopes"); }); @@ -1710,9 +1704,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); - b.ToTable("IdentityServerIdentityResources"); }); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201019021101_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201028014311_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201019021101_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201028014311_Initial.Designer.cs index cd2f885a7d..4958727637 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201019021101_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201028014311_Initial.Designer.cs @@ -11,7 +11,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20201019021101_Initial")] + [Migration("20201028014311_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201019021101_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201028014311_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201019021101_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20201028014311_Initial.cs From 25b95c5c4ef96f9f548f832ebfc07371c1de1f09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 28 Oct 2020 14:42:38 +0300 Subject: [PATCH 42/59] Update Theming.md --- docs/en/UI/AspNetCore/Theming.md | 81 +++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index 594a882821..fb9d7ccd0e 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -114,7 +114,7 @@ The [Lepton Theme](https://commercial.abp.io/themes) shows the application logo #### The Empty Layout -The empty layout provides an empty page, however it typically includes the following parts; +The empty layout provides an empty page. It typically includes the following parts; * [Page alerts](Page-Alerts.md) * The page content (aka `RenderBody()`) @@ -177,4 +177,81 @@ Configure(options => #### The IThemeSelector Service -ABP Framework allows to use multiple themes together. This is why `options.Themes` is a list. `IThemeSelector` service selects the theme on the runtime. The application developer can set the `AbpThemingOptions.DefaultThemeName` to set the theme to be used, or replace the `IThemeSelector` service implementation (the default implementation is `DefaultThemeSelector`) to completely control the theme selection on runtime. \ No newline at end of file +ABP Framework allows to use multiple themes together. This is why `options.Themes` is a list. `IThemeSelector` service selects the theme on the runtime. The application developer can set the `AbpThemingOptions.DefaultThemeName` to set the theme to be used, or replace the `IThemeSelector` service implementation (the default implementation is `DefaultThemeSelector`) to completely control the theme selection on runtime. + +### Bundles + +[Bundling system](Bundling-Minification.md) provides a standard way to import style & script files into pages. There are two standard bundles defined by the ABP Framework: + +* `StandardBundles.Styles.Global`: The global bundle that includes the style files used in all the pages. Typically, it includes the CSS files of the Base Libraries. +* `StandardBundles.Scripts.Global`: The global bundle that includes the script files used in all the pages. Typically, it includes the JavaScript files of the Base Libraries. + +A theme generally extends these standard bundles by adding theme specific CSS/JavaScript files. + +The best way to define new bundles, inherit from the standard bundles and add to the `AbpBundlingOptions` as shown below (this code is from the [Basic Theme](Basic-Theme.md)): + +````csharp +Configure(options => +{ + options + .StyleBundles + .Add(BasicThemeBundles.Styles.Global, bundle => + { + bundle + .AddBaseBundles(StandardBundles.Styles.Global) + .AddContributors(typeof(BasicThemeGlobalStyleContributor)); + }); + + options + .ScriptBundles + .Add(BasicThemeBundles.Scripts.Global, bundle => + { + bundle + .AddBaseBundles(StandardBundles.Scripts.Global) + .AddContributors(typeof(BasicThemeGlobalScriptContributor)); + }); +}); +```` + +`BasicThemeGlobalStyleContributor` and `BasicThemeGlobalScriptContributor` are bundle contributors. For example, `BasicThemeGlobalStyleContributor` is defined as shown below: + +```csharp +public class BasicThemeGlobalStyleContributor : BundleContributor +{ + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.Add("/themes/basic/layout.css"); + } +} +``` + +Then the theme can render these bundles in a layout. For example, you can render the Global Styles as shown below: + +````html + +```` + +See the [Bundle & Minification](Bundling-Minification.md) document to understand the Bundling system better. + +### Layout Parts + +#### Branding + +#### Main Menu + +#### Main Toolbar + +##### Language Selection + +##### User Menu + +#### Page Alerts + +#### Layout Hooks + +### The NPM Package + +A theme should have a NPM package that depends on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) package. In this way, it inherits all the Base Libraries. If the theme requires additional libraries, then it should define these dependencies too. + +Applications use the [Client Side Package Management](Client-Side-Package-Management.md) system to add client side libraries to the project. So, if an application uses your theme, it should add dependency to your theme's NPM package as well as the NuGet package dependency. + From 79be09c125087be2ff63e50bef5c65a1e062e5d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 28 Oct 2020 15:39:51 +0300 Subject: [PATCH 43/59] Added sections to the themind document. --- docs/en/UI/AspNetCore/Theming.md | 141 ++++++++++++++++++ .../basic-theme-application-layout-parts.png | Bin 0 -> 77932 bytes 2 files changed, 141 insertions(+) create mode 100644 docs/en/images/basic-theme-application-layout-parts.png diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index fb9d7ccd0e..1811213d6f 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -235,20 +235,161 @@ See the [Bundle & Minification](Bundling-Minification.md) document to understand ### Layout Parts +A typical Layout consists of several parts. The theme should include the necessary parts in each layout. + +**Example: The Basic Theme has the following parts for the Application Layout** + +![basic-theme-application-layout-parts](../../images/basic-theme-application-layout-parts.png) + +The application code and the modules can only show contents in the Page Content part. If they need to change the other parts (to add a menu item, to add a toolbar item, to change the application name in the branding area...) they should use the ABP Framework APIs. + +The following sections explain the fundamental parts pre-defined by the ABP Framework and can be implemented by the themes. + +> It is a good practice to split the layout into components/partials, so the final application can override them partially for customization purpose. + #### Branding +`IBrandingProvider` service should be used to get the name and the logo URL of the application to render in the Branding part. + +The [Application Startup Template](../../Startup-Templates/Application.md) has an implementation of this interface to set the values by the application developer. + #### Main Menu +`IMenuManager` service is used to get the main menu items and render on the layout. + +**Example: Get the Main Menu to render in a view component** + +```csharp +public class MainNavbarMenuViewComponent : AbpViewComponent +{ + private readonly IMenuManager _menuManager; + + public MainNavbarMenuViewComponent(IMenuManager menuManager) + { + _menuManager = menuManager; + } + + public async Task InvokeAsync() + { + var menu = await _menuManager.GetAsync(StandardMenus.Main); + return View("~/Themes/Basic/Components/Menu/Default.cshtml", menu); + } +} +``` + +See the [Navigation / Menus](Navigation-Menu.md) document to learn more about the navigation system. + #### Main Toolbar +`IToolbarManager` service is used to get the Main Toolbar items and render on the layout. Each item of this toolbar is a View Component, so it may include any type of UI elements. Inject the `IToolbarManager` and use the `GetAsync` to get the toolbar items: + +````csharp +var toolbar = await _toolbarManager.GetAsync(StandardToolbars.Main); +```` + +> See the [Toolbars](Toolbars.md) document to learn more on the toolbar system. + +The theme has a responsibility to add two pre-defined items to the main toolbar: Language Selection and User Menu. To do that, create a class implementing the `IToolbarContributor` interface and add it to the `AbpToolbarOptions` as shown below: + +```csharp +Configure(options => +{ + options.Contributors.Add(new BasicThemeMainTopToolbarContributor()); +}); +``` + ##### Language Selection +Language Selection toolbar item is generally a dropdown that is used to switch between languages. `ILanguageProvider` is used to get the list of available languages and `CultureInfo.CurrentUICulture` is used to learn the current language. + +`/Abp/Languages/Switch` endpoint can be used to switch the language using such a link: + +````html +@language.DisplayName +```` + +This endpoint accepts the following query string parameters: + +* `culture`: The selected culture, like `en-US` or `en`. +* `uiCulture`: The selected UI culture, like `en-US` or `en`. +* `returnUrl` (optional): Can be used to return a given URL after switching the language. + +`culture` and `uiCulture` should match one of the available languages. ABP Framework sets a culture cookie in the `/Abp/Languages/Switch` endpoint. + ##### User Menu +User menu includes links related to the user account. `IMenuManager` is used just like the Main Menu, but this time with `StandardMenus.User` parameter like shown below: + +````csharp +var menu = await _menuManager.GetAsync(StandardMenus.User); +```` + +[ICurrentUser](../../CurrentUser.md) and [ICurrentTenant](../../Multi-Tenancy.md) services can be used to obtain the current user and tenant names. + #### Page Alerts +`IAlertManager` service is used to get the current page alerts to render on the layout. Use the `Alerts` list of the `IAlertManager`. It is generally rendered just before the page content (`RenderBody()`). + +See the [Page Alerts](Page-Alerts.md) document to learn more. + #### Layout Hooks +Since the Layout is in the theme package, the final application or any module can't directly manipulate the layout content. The [Layout Hook](Layout-Hooks.md) system allows to inject components to some specific points of the layout. + +The theme is responsible to render the hooks in the correct place. + +**Example: Render the `LayoutHooks.Head.First` Hook in the Application Layout** + +````html + + @await Component.InvokeLayoutHookAsync(LayoutHooks.Head.First, StandardLayouts.Application) + ... +```` + +See the [Layout Hook](Layout-Hooks.md) document to learn the standard layout hooks. + +#### Script / Style Sections + +Every layout should render the following optional sections: + +* `styles` section is rendered in the end of the `head`, just before the `LayoutHooks.Head.Last`. +* `scripts` section is rendered in the end of the `body`, just before the `LayoutHooks.Body.Last`. + +In this way, the page can import styles and scripts to the layout. + +**Example: Render the `styles` section** + +````csharp +@await RenderSectionAsync("styles", required: false) +```` + +#### Widget Scripts + +The [Widget System](Widgets.md) allows to define reusable widgets with their own style/script files. All the layouts should render the widget style and scripts. + +**Widget Styles** is rendered as shown below, just before the `styles` section, after the global style bundle: + +````csharp +@await Component.InvokeAsync(typeof(WidgetStylesViewComponent)) +```` + +**Widget Scripts** is rendered as shown below, just before the `scripts` section, after the global script bundle: + +````csharp +@await Component.InvokeAsync(typeof(WidgetScriptsViewComponent)) +```` + +#### ABP Scripts + +ABP has some special scripts those should be included into every layout. They are not included in the global bundles since they are dynamically created based on the current user. + +ABP scripts (`ApplicationConfigurationScript` and `ServiceProxyScript`) should be added just after the global script bundle, as shown below: + +````html + + +```` + ### The NPM Package A theme should have a NPM package that depends on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) package. In this way, it inherits all the Base Libraries. If the theme requires additional libraries, then it should define these dependencies too. diff --git a/docs/en/images/basic-theme-application-layout-parts.png b/docs/en/images/basic-theme-application-layout-parts.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8f9147a9b6aed79252130716925c77c7b36014 GIT binary patch literal 77932 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%0A*6^qQsGkep6SPlzCscbz;oX0!N!e9W9 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

y&FziT5V}tS4Iv;g6{|r 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 Date: Wed, 28 Oct 2020 15:58:32 +0300 Subject: [PATCH 44/59] Complete the theming document. --- docs/en/UI/AspNetCore/Theming.md | 42 +++++++++++++++++++++++++ docs/en/images/breadcrumbs-example.png | Bin 0 -> 9794 bytes 2 files changed, 42 insertions(+) create mode 100644 docs/en/images/breadcrumbs-example.png diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index 1811213d6f..9f3534b565 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -363,6 +363,20 @@ In this way, the page can import styles and scripts to the layout. @await RenderSectionAsync("styles", required: false) ```` +#### Content Toolbar Section + +Another pre-defined section is the Content Toolbar section which can be used by the pages to add code just before the page content. The Basic Theme renders it as shown below: + +````html +

+
+ @RenderSection("content_toolbar", false) +
+
+```` + +The container div's id must be `AbpContentToolbar`. This section should come before the `RenderBody()`. + #### Widget Scripts The [Widget System](Widgets.md) allows to define reusable widgets with their own style/script files. All the layouts should render the widget style and scripts. @@ -390,6 +404,34 @@ ABP scripts (`ApplicationConfigurationScript` and `ServiceProxyScript`) should b ```` +#### Page Title, Selected Menu Item and Breadcrumbs + +`IPageLayout` service can be injected by any page to set the Page Title, the selected menu item name and the breadcrumb items. Then the theme can use this service to get these values and render on the UI. + +The Basic Theme doesn't implement this service, but the Lepton Theme implements: + +![breadcrumbs-example](../../images/breadcrumbs-example.png) + +#### Tenant Switch + +The Account Layout should allow the user to switch the current tenant if the application is multi-tenant and the tenant was resolved from the cookies. See the [Basic Theme Account Layout](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml) as an example implementation. + +### Layout Classes + +The Standard Layouts (`Application`, `Account` and `Empty`) should add the following CSS classes to the `body` tag: + +* `abp-application-layout` for the `Application` layout. +* `abp-account-layout` for the `Account` layout. +* `abp-empty-layout` for the `Empty` layout. + +In this way, applications or modules can have selectors based on the current layout. + +### RTL + +To support Right-To-Left languages, the Layout should check the current culture and add `dir="rtl"` to the `html` tag and `rtl` CSS class the the `body` tag. + +You can check `CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft` to understand if the current language is a RTL language. + ### The NPM Package A theme should have a NPM package that depends on the [@abp/aspnetcore.mvc.ui.theme.shared](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.shared) package. In this way, it inherits all the Base Libraries. If the theme requires additional libraries, then it should define these dependencies too. diff --git a/docs/en/images/breadcrumbs-example.png b/docs/en/images/breadcrumbs-example.png new file mode 100644 index 0000000000000000000000000000000000000000..17ae5f8ba5741e78e98cbf6c4ab2ff1caba42614 GIT binary patch literal 9794 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 Tc#;+z3M06#s;yG2gvI?Ic4{8J literal 0 HcmV?d00001 From dda43e6a2b58699585412f3c910487f92d9b6ada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 28 Oct 2020 16:03:53 +0300 Subject: [PATCH 45/59] Update Theming.md --- docs/en/UI/AspNetCore/Theming.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index 9f3534b565..69e6b33769 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -302,13 +302,7 @@ Configure(options => Language Selection toolbar item is generally a dropdown that is used to switch between languages. `ILanguageProvider` is used to get the list of available languages and `CultureInfo.CurrentUICulture` is used to learn the current language. -`/Abp/Languages/Switch` endpoint can be used to switch the language using such a link: - -````html -@language.DisplayName -```` - -This endpoint accepts the following query string parameters: +`/Abp/Languages/Switch` endpoint can be used to switch the language This endpoint accepts the following query string parameters: * `culture`: The selected culture, like `en-US` or `en`. * `uiCulture`: The selected UI culture, like `en-US` or `en`. @@ -377,7 +371,7 @@ Another pre-defined section is the Content Toolbar section which can be used by The container div's id must be `AbpContentToolbar`. This section should come before the `RenderBody()`. -#### Widget Scripts +#### Widget Resources The [Widget System](Widgets.md) allows to define reusable widgets with their own style/script files. All the layouts should render the widget style and scripts. From f9ca7c638c5d511c31c539bfda572244a1ee8ce2 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 29 Oct 2020 10:46:42 +0800 Subject: [PATCH 46/59] Use global namespace in blazor. Fix #5982 --- .../Pages/MyProjectName/Index.razor | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor index d54a229594..2d155b021c 100644 --- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor +++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/MyProjectName/Index.razor @@ -1,6 +1,6 @@ -@page "/MyProjectName" +@page "/MyProjectName" @using Microsoft.Extensions.Localization -@using MyCompanyName.MyProjectName.Localization +@using global::MyCompanyName.MyProjectName.Localization @inject IStringLocalizer L @{ } From 095e4b2508c2e17565f294a1c819b566e211c61f Mon Sep 17 00:00:00 2001 From: Jervis Date: Wed, 21 Oct 2020 11:52:34 +0800 Subject: [PATCH 47/59] remove duplicate section. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit remove duplicate section, "指定移动应用程序框架" --- docs/zh-Hans/Startup-Templates/Application.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/docs/zh-Hans/Startup-Templates/Application.md b/docs/zh-Hans/Startup-Templates/Application.md index 58287cef5a..534a26d8fb 100644 --- a/docs/zh-Hans/Startup-Templates/Application.md +++ b/docs/zh-Hans/Startup-Templates/Application.md @@ -59,20 +59,6 @@ abp new Acme.BookStore -d mongodb ### 指定移动应用程序框架 -此模板支持以下移动应用程序框架: - -- `react-native`: React Native - -使用 `-m` (或 `--mobile`) 选项指定移动应用程序框架: - -````bash -abp new Acme.BookStore -m react-native -```` - -如果未指定,不会创建移动应用程序. - -### 指定移动应用程序框架 - 该模板支持以下移动应用程序框架: - `react-native`: React Native From 58a304bd0c1e12ee0eebab2a6f6b856f0639a2e3 Mon Sep 17 00:00:00 2001 From: ZFmY Date: Thu, 29 Oct 2020 16:14:17 +0800 Subject: [PATCH 48/59] sync from the English doc --- .../Getting-Started-AspNetCore-Application.md | 354 ++++++++---------- 1 file changed, 160 insertions(+), 194 deletions(-) diff --git a/docs/zh-Hans/Getting-Started-AspNetCore-Application.md b/docs/zh-Hans/Getting-Started-AspNetCore-Application.md index 0334609bd3..be5e50c2bd 100644 --- a/docs/zh-Hans/Getting-Started-AspNetCore-Application.md +++ b/docs/zh-Hans/Getting-Started-AspNetCore-Application.md @@ -1,194 +1,160 @@ -## 在AspNet Core MVC Web Application中使用ABP - -本教程将介绍如何开始以最少的依赖关系开始使用ABP开发. - -通常情况下你需要下载一个 ***[启动模板](Getting-Started-AspNetCore-MVC-Template.md)*** - -### 创建一个新项目 - -1. 使用Visual Studio创建一个空的AspNet Core Web Application: - -![](images/create-new-aspnet-core-application.png) - -2. 选择空模板 - -![](images/select-empty-web-application.png) - -你可以选择其它模板,但是我想要从一个简洁的项目演示它. - -### 安装 Volo.Abp.AspNetCore.Mvc 包 - -Volo.Abp.AspNetCore.Mvc是ABP集成AspNet Core MVC的包,请安装它到你项目中: - -```` -Install-Package Volo.Abp.AspNetCore.Mvc -```` - -### 创建ABP模块 - -ABP是一个模块化框架,它需要一个**启动 (根) 模块**继承自``AbpModule``: - -````C# -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.Hosting; -using Volo.Abp; -using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.Modularity; - -namespace BasicAspNetCoreApplication -{ - [DependsOn(typeof(AbpAspNetCoreMvcModule))] - public class AppModule : AbpModule - { - public override void OnApplicationInitialization( - ApplicationInitializationContext context) - { - var app = context.GetApplicationBuilder(); - var env = context.GetEnvironment(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Error"); - } - - app.UseStaticFiles(); - app.UseRouting(); - app.UseConfiguredEndpoints(); - } - } -} -```` - -``AppModule`` 是应用程序启动模块的好名称(建议你的启动模块也使用这个命名). - -ABP的包定义了这个模块类,模块可以依赖其它模块.在上面的代码中 ``AppModule`` 依赖于 ``AbpAspNetCoreMvcModule`` (模块存在于Volo.Abp.AspNetCore.Mvc包中). 安装新的ABP的包后添加``DependsOn``是很常见的做法. - -我们在此模块类中配置ASP.NET Core管道,而不是Startup类中. - -### 启动类 - -接下来修改启动类集成ABP模块系统: - -````C# -using System; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; - -namespace BasicAspNetCoreApplication -{ - public class Startup - { - public IServiceProvider ConfigureServices(IServiceCollection services) - { - services.AddApplication(); - - return services.BuildServiceProviderFromFactory(); - } - - public void Configure(IApplicationBuilder app) - { - app.InitializeApplication(); - } - } -} - -```` - -修改``ConfigureServices``方法的返回值为``IServiceProvider``(默认是``void``).这个修改允许我们替换AspNet Core的依赖注入框架. (参阅下面的Autofac集成部分). ``services.AddApplication()``添加了所有模块中定义的全部服务. - -``app.InitializeApplication()`` 调用 ``Configure`` 方法初始化并启动应用程序 - -### Hello World! - -上面的应用程序没有什么功能,让我们创建一个MVC控制器实现一些功能: - -````C# -using Microsoft.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc; - -namespace BasicAspNetCoreApplication.Controllers -{ - public class HomeController : AbpController - { - public IActionResult Index() - { - return Content("Hello World!"); - } - } -} - -```` - -如果运行这个应用程序你会在页面中看到"Hello World!". - -Derived ``HomeController`` from ``AbpController`` instead of standard ``Controller`` class. This is not required, but ``AbpController`` class has useful base properties and methods to make your development easier. - -从``AbpController``派生``HomeController`` 而不是继承自``Controller``类.虽然这不是强制要求,但是``AbpController``类有很多有用的有属性和方法,使你的开发更容易. - -### 使用 Autofac 依赖注入框架 - -虽然AspNet Core的依赖注入(DI)系统适用于基本要求,但Autofac提供了属性注入和方法拦截等高级功能,这些功能是ABP执行高级应用程序框架功能所必需的. - -用Autofac取代AspNet Core的DI系统并集成到ABP非常简单. - -1. 安装 Volo.Abp.Autofac 包 - -```` -Install-Package Volo.Abp.Autofac -```` - -2. 添加 ``AbpAutofacModule`` 依赖 - -````C# -[DependsOn(typeof(AbpAspNetCoreMvcModule))] -[DependsOn(typeof(AbpAutofacModule))] // 在模块上添加依赖AbpAutofacModule -public class AppModule : AbpModule -{ - ... -} -```` - -3. 修改在``Startup``类下的``services.AddApplication();``如下所示: - -````C# -services.AddApplication(options => -{ - options.UseAutofac(); // 集成 Autofac -}); -```` - -4. 更新 `Program.cs`代码, 不再使用`WebHost.CreateDefaultBuilder()`方法(因为它使用默认的DI容器): - - ````csharp -public class Program -{ - public static void Main(string[] args) - { - /* - https://github.com/aspnet/AspNetCore/issues/4206#issuecomment-445612167 - CurrentDirectoryHelpers 文件位于: \framework\src\Volo.Abp.AspNetCore.Mvc\Microsoft\AspNetCore\InProcess\CurrentDirectoryHelpers.cs - 当升级到ASP.NET Core 3.0的时候将会删除这个类. - */ - CurrentDirectoryHelpers.SetCurrentDirectory(); - - BuildWebHostInternal(args).Run(); - } - public static IWebHost BuildWebHostInternal(string[] args) => - new WebHostBuilder() - .UseKestrel() - .UseContentRoot(Directory.GetCurrentDirectory()) - .UseIIS() - .UseIISIntegration() - .UseStartup() - .Build(); -} -```` - - -### 源码 - -从[此处](https://github.com/abpframework/abp-samples/tree/master/BasicAspNetCoreApplication)获取本教程中创建的示例项目的源代码. +# 在AspNet Core MVC Web Application中使用ABP + +本教程将介绍如何开始以最少的依赖关系开始使用ABP开发. + +通常情况下你需要下载一个 **[启动模板](Getting-Started-AspNetCore-MVC-Template.md)** + +## 创建一个新项目 + +1. 使用Visual Studio 2019 (16.4.0+)创建一个新的AspNet Core Web Application: + +![](images/create-new-aspnet-core-application-v2.png) + +2. 配置新的项目: + +![](images/select-empty-web-application-v2.png) + +3. 完成创建: + +![](images/create-aspnet-core-application.png) + + +## 安装 Volo.Abp.AspNetCore.Mvc 包 + +Volo.Abp.AspNetCore.Mvc是ABP集成AspNet Core MVC的包,请安装它到你项目中: + +```` +Install-Package Volo.Abp.AspNetCore.Mvc +```` + +## 创建ABP模块 + +ABP是一个模块化框架,它需要一个**启动 (根) 模块**继承自``AbpModule``: + +````C# +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.Hosting; +using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Modularity; + +namespace BasicAspNetCoreApplication +{ + [DependsOn(typeof(AbpAspNetCoreMvcModule))] + public class AppModule : AbpModule + { + public override void OnApplicationInitialization( + ApplicationInitializationContext context) + { + var app = context.GetApplicationBuilder(); + var env = context.GetEnvironment(); + + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + else + { + app.UseExceptionHandler("/Error"); + } + + app.UseStaticFiles(); + app.UseRouting(); + app.UseConfiguredEndpoints(); + } + } +} +```` + +``AppModule`` 是应用程序启动模块的好名称. + +ABP的包定义了这个模块类,模块可以依赖其它模块.在上面的代码中 ``AppModule`` 依赖于 ``AbpAspNetCoreMvcModule`` (模块存在于[Volo.Abp.AspNetCore.Mvc](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc)包中). 安装新的ABP的包后添加``DependsOn``是很常见的做法. + +我们在此模块类中配置ASP.NET Core管道,而不是Startup类中. + +### 启动类 + +接下来修改启动类集成ABP模块系统: + +````C# +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; + +namespace BasicAspNetCoreApplication +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddApplication(); + } + + public void Configure(IApplicationBuilder app) + { + app.InitializeApplication(); + } + } +} + +```` + +``services.AddApplication()``添加了所有``AppModule``模块中定义的全部服务. + +``Configure``方法中的``app.InitializeApplication()``完成初始化并启动应用程序. + +## 运行应用程序! + +启动该应用,它将按预期运行. + +## 使用 Autofac 依赖注入框架 + +虽然AspNet Core的依赖注入(DI)系统适用于基本要求,但[Autofac](https://autofac.org/)提供了属性注入和方法拦截等高级功能,这些功能是ABP执行高级应用程序框架功能所必需的. + +用Autofac取代AspNet Core的DI系统并集成到ABP非常简单. + +1. 安装 [Volo.Abp.Autofac](https://www.nuget.org/packages/Volo.Abp.Autofac) 包 + +```` +Install-Package Volo.Abp.Autofac +```` + +2. 添加 ``AbpAutofacModule`` 依赖 + +````C# +[DependsOn(typeof(AbpAspNetCoreMvcModule))] +[DependsOn(typeof(AbpAutofacModule))] // 在模块上添加依赖AbpAutofacModule +public class AppModule : AbpModule +{ + ... +} +```` + +3. 修改``Program.cs``以使用Autofac: + +````C# +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; + +namespace BasicAspNetCoreApplication +{ + public class Program + { + public static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => + { + webBuilder.UseStartup(); + }) + .UseAutofac(); // 添加这一行 + } +} +```` + +## 源码 + +从[此处](https://github.com/abpframework/abp-samples/tree/master/BasicAspNetCoreApplication)获取本教程中创建的示例项目的源代码. From ed8857832c2d390bba78446a4fad78d557103b1d Mon Sep 17 00:00:00 2001 From: ZFmY Date: Thu, 29 Oct 2020 18:32:47 +0800 Subject: [PATCH 49/59] fix typo --- docs/zh-Hans/Entity-Framework-Core-Migrations.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh-Hans/Entity-Framework-Core-Migrations.md b/docs/zh-Hans/Entity-Framework-Core-Migrations.md index c6f1086540..266c0f46b0 100644 --- a/docs/zh-Hans/Entity-Framework-Core-Migrations.md +++ b/docs/zh-Hans/Entity-Framework-Core-Migrations.md @@ -235,7 +235,7 @@ public static class BackgroundJobsDbContextModelCreatingExtensions } ```` -此u还获取选项用于更改此模块的数据库表前缀和模式,但在这里并不重要. +此扩展方法还提供了选项用于更改此模块的数据库表前缀和模式,但在这里并不重要. 最终的应用程序在 `MigrationsDbContext` 类中调用扩展方法, 因此它可以确定此 `MigrationsDbContext` 维护的数据库中包含哪些模块. 如果要创建第二个数据库并将某些模块表移动到第二个数据库,则需要有第二个`MigrationsDbContext` 类,该类仅调用相关模块的扩展方法. 下一部分将详细介绍该主题. @@ -883,4 +883,4 @@ public class BookStoreDbMigratorModule : AbpModule ## 结论 -本文档说明了如何拆分数据库以及管理Entity Framework Core解决方案的数据库迁移. 简而言之,你需要为每个不同的数据库创建一个单独的迁移项目. \ No newline at end of file +本文档说明了如何拆分数据库以及管理Entity Framework Core解决方案的数据库迁移. 简而言之,你需要为每个不同的数据库创建一个单独的迁移项目. From 6c1d09db932d3801fd9f3e1128b601b174c7d1fc Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 29 Oct 2020 13:38:06 +0300 Subject: [PATCH 50/59] use Blazorise latest preview version volosoft/volo#3826 --- templates/app/aspnet-core/NuGet.Config | 6 ++++++ .../MyCompanyName.MyProjectName.Blazor.csproj | 4 ++-- templates/module/aspnet-core/NuGet.Config | 6 ++++++ .../MyCompanyName.MyProjectName.Blazor.Host.csproj | 4 ++-- 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 templates/app/aspnet-core/NuGet.Config create mode 100644 templates/module/aspnet-core/NuGet.Config diff --git a/templates/app/aspnet-core/NuGet.Config b/templates/app/aspnet-core/NuGet.Config new file mode 100644 index 0000000000..be8a1ece10 --- /dev/null +++ b/templates/app/aspnet-core/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj index cfaf51eee7..0da1f2822a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj @@ -7,8 +7,8 @@ - - + + diff --git a/templates/module/aspnet-core/NuGet.Config b/templates/module/aspnet-core/NuGet.Config new file mode 100644 index 0000000000..be8a1ece10 --- /dev/null +++ b/templates/module/aspnet-core/NuGet.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj index 9d0ce4f54d..ab9baf3b70 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/MyCompanyName.MyProjectName.Blazor.Host.csproj @@ -8,8 +8,8 @@ - - + + From 0cbdb692ae98d1a061d09a25be064a0188bbe70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 14:45:53 +0300 Subject: [PATCH 51/59] Documented The Basic Theme --- docs/en/Themes/Basic.md | 3 +- docs/en/UI/AspNetCore/Basic-Theme.md | 89 +++++++++++++++++- .../Customization-User-Interface.md | 2 +- docs/en/docs-nav.json | 8 +- docs/en/images/example-global-styles.png | Bin 0 -> 14635 bytes 5 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 docs/en/images/example-global-styles.png diff --git a/docs/en/Themes/Basic.md b/docs/en/Themes/Basic.md index a0165c803a..819138de5f 100644 --- a/docs/en/Themes/Basic.md +++ b/docs/en/Themes/Basic.md @@ -1,3 +1,2 @@ -## Basic Theme +This document has been moved to [here](../UI/AspNetCore/Basic-Theme.md). -TODO \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Basic-Theme.md b/docs/en/UI/AspNetCore/Basic-Theme.md index 3435e94a8b..5f28475f43 100644 --- a/docs/en/UI/AspNetCore/Basic-Theme.md +++ b/docs/en/UI/AspNetCore/Basic-Theme.md @@ -1,3 +1,90 @@ # ASP.NET Core MVC / Razor Pages: The Basic Theme -This document is in progress. See the [Theming](Theming.md) document. \ No newline at end of file +The Basic Theme is a theme implementation for the ASP.NET Core MVC / Razor Pages UI. It is a minimalist theme that doesn't add any styling on top of the plain [Bootstrap](https://getbootstrap.com/). You can take the Basic Theme as the **base theme** and build your own theme or styling on top of it. See the *Customization* section. + +The Basic Theme has RTL (Right-to-Left language) support. + +> If you are looking for a professional, enterprise ready theme, you can check the [Lepton Theme](https://commercial.abp.io/themes), which is a part of the [ABP Commercial](https://commercial.abp.io/). + +> See the [Theming document](Theming.md) to learn about themes. + +## Installation + +**This theme is already installed** when you create a new solution using the [startup templates](../../Startup-Templates/Index.md). If you need to manually install it, follow the steps below: + +* Install the [Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic) NuGet package to your web project. +* Add `AbpAspNetCoreMvcUiBasicThemeModule` into the `[DependsOn(...)]` attribute for your [module class](../../Module-Development-Basics.md) in the web project. +* Install the [@abp/aspnetcore.mvc.ui.theme.basic](https://www.npmjs.com/package/@abp/aspnetcore.mvc.ui.theme.basic) NPM package to your web project (e.g. `npm install @abp/aspnetcore.mvc.ui.theme.basic` or `yarn add @abp/aspnetcore.mvc.ui.theme.basic`). +* Run `gulp` command in a command line terminal in the web project's folder. + +## Layouts + +The Basic Theme implements the standard layouts. All the layouts implement the following parts; + +* Global [Bundles](Bundling-Minification.md) +* [Page Alerts](Page-Alerts.md) +* [Layout Hooks](Layout-Hooks.md) +* [Widget](Widgets.md) Resources + +### The Application Layout + +![basic-theme-application-layout](../../images/basic-theme-application-layout.png) + +Application Layout implements the following parts, in addition to the common parts mentioned above; + +* Branding +* Main [Menu](Navigation-Menu.md) +* Main [Toolbar](Toolbars.md) with Language Selection & User Menu + +### The Account Layout + +![basic-theme-account-layout](D:\Github\abp\docs\en\images\basic-theme-account-layout.png) + +Application Layout implements the following parts, in addition to the common parts mentioned above; + +* Branding +* Main [Menu](Navigation-Menu.md) +* Main [Toolbar](Toolbars.md) with Language Selection & User Menu +* Tenant Switch Area + +### Empty Layout + +Empty layout is empty, as its name stands for. However, it implements the common parts mentioned above. + +## Customization + +You have two options two customize this theme: + +### Overriding Styles/Components + +In this approach, you continue to use the the theme as NuGet and NPM packages and customize the parts you need to. There are several ways to customize it; + +#### Override the Styles + +1. Create a CSS file in the `wwwroot` folder of your project: + +![example-global-styles](../../images/example-global-styles.png) + +2. Add the style file to the global bundle, in the `ConfigureServices` method of your [module](../../Module-Development-Basics.md): + +````csharp +Configure(options => +{ + options.StyleBundles.Configure(BasicThemeBundles.Styles.Global, bundle => + { + bundle.AddFiles("/styles/global-styles.css"); + }); +}); +```` + +#### Override the Components + +See the [User Interface Customization Guide](Customization-User-Interface.md) to learn how you can replace components, customize and extend the user interface. + +### Copy & Customize + +You can download the [source code](https://github.com/abpframework/abp/tree/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic) of the Basic Theme, copy the project content into your solution, re-arrange the package/module dependencies (see the Installation section above to understand how it was installed to the project) and freely customize the theme based on your application requirements. + +## See Also + +* [Theming](Theming.md) \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Customization-User-Interface.md b/docs/en/UI/AspNetCore/Customization-User-Interface.md index c4e196fbb9..d2a1193a53 100644 --- a/docs/en/UI/AspNetCore/Customization-User-Interface.md +++ b/docs/en/UI/AspNetCore/Customization-User-Interface.md @@ -132,7 +132,7 @@ The screenshot below was taken from the **basic theme** comes with the applicati ![bookstore-brand-area-highlighted](../../images/bookstore-brand-area-highlighted.png) -[The basic theme](../../Themes/Basic.md) defines some view components for the layout. For example, the highlighted area with the red rectangle above is called **Brand component**. You probably want to customize this component by adding your **own application logo**. Let's see how to do it. +[The basic theme](Basic-Theme.md) defines some view components for the layout. For example, the highlighted area with the red rectangle above is called **Brand component**. You probably want to customize this component by adding your **own application logo**. Let's see how to do it. First, create your logo and place under a folder in your web application. We used `wwwroot/logos/bookstore-logo.png` path. Then copy the Brand component's view ([from here](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Brand/Default.cshtml)) from the basic theme files under the `Themes/Basic/Components/Brand` folder. The result should be similar the picture below: diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 9510da38eb..c5bc0eeb3a 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -450,7 +450,13 @@ }, { "text": "Theming", - "path": "UI/AspNetCore/Theming.md" + "path": "UI/AspNetCore/Theming.md", + "items": [ + { + "text": "The Basic Theme", + "path": "UI/AspNetCore/Basic-Theme.md" + } + ] }, { "text": "JavaScript API", diff --git a/docs/en/images/example-global-styles.png b/docs/en/images/example-global-styles.png new file mode 100644 index 0000000000000000000000000000000000000000..04232aa62d43d513a516ae85ae459461237ae6f7 GIT binary patch literal 14635 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 ajGy4TMK-bK>)YLrfRvcLXqB*`|NjT#7Dy8S literal 0 HcmV?d00001 From b6761195d08dd11f72e568332e0afe7d86d1c378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 14:48:46 +0300 Subject: [PATCH 52/59] Update Basic-Theme.md --- docs/en/UI/AspNetCore/Basic-Theme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/UI/AspNetCore/Basic-Theme.md b/docs/en/UI/AspNetCore/Basic-Theme.md index 5f28475f43..67977ffd4e 100644 --- a/docs/en/UI/AspNetCore/Basic-Theme.md +++ b/docs/en/UI/AspNetCore/Basic-Theme.md @@ -38,7 +38,7 @@ Application Layout implements the following parts, in addition to the common par ### The Account Layout -![basic-theme-account-layout](D:\Github\abp\docs\en\images\basic-theme-account-layout.png) +![basic-theme-account-layout](../../images/basic-theme-account-layout.png) Application Layout implements the following parts, in addition to the common parts mentioned above; From 47224d242f5a3b11d74a9ead60596244c1e32fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 16:09:18 +0300 Subject: [PATCH 53/59] Documented Toolbars for the aspnet core mvc UI --- docs/en/UI/AspNetCore/Toolbars.md | 73 ++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/docs/en/UI/AspNetCore/Toolbars.md b/docs/en/UI/AspNetCore/Toolbars.md index cc3bcd95be..524ef3f18b 100644 --- a/docs/en/UI/AspNetCore/Toolbars.md +++ b/docs/en/UI/AspNetCore/Toolbars.md @@ -1,3 +1,74 @@ # Toolbars -TODO \ No newline at end of file +The Toolbar system is used to define **toolbars** on the user interface. Modules (or your application) can add **items** to a toolbar, then the [theme](Theming.md) renders the toolbar on the **layout**. + +There is only one **standard toolbar** named "Main" (defined as a constant: `StandardToolbars.Main`). The [Basic Theme](Basic-Theme) renders the main toolbar as shown below: + +![bookstore-toolbar-highlighted](../../images/bookstore-toolbar-highlighted.png) + +In the screenshot above, there are two items added to the main toolbar: Language switch component & user menu. You can add your own items here. + +## Example: Add a Notification Icon + +In this example, we will add a **notification (bell) icon** to the left of the language switch item. A item in the toolbar should be a **view component**. So, first, create a new view component in your project: + +![bookstore-notification-view-component](../../images/bookstore-notification-view-component.png) + +**NotificationViewComponent.cs** + +````csharp +public class NotificationViewComponent : AbpViewComponent +{ + public async Task InvokeAsync() + { + return View("/Pages/Shared/Components/Notification/Default.cshtml"); + } +} +```` + +**Default.cshtml** + +````xml +
+ +
+```` + +Now, we can create a class implementing the `IToolbarContributor` interface: + +````csharp +public class MyToolbarContributor : IToolbarContributor +{ + public Task ConfigureToolbarAsync(IToolbarConfigurationContext context) + { + if (context.Toolbar.Name == StandardToolbars.Main) + { + context.Toolbar.Items + .Insert(0, new ToolbarItem(typeof(NotificationViewComponent))); + } + + return Task.CompletedTask; + } +} +```` + +This class adds the `NotificationViewComponent` as the first item in the `Main` toolbar. + +Finally, you need to add this contributor to the `AbpToolbarOptions`, in the `ConfigureServices` of your [module](../../Module-Development-Basics.md): + +````csharp +Configure(options => +{ + options.Contributors.Add(new MyToolbarContributor()); +}); +```` + +That's all, you will see the notification icon on the toolbar when you run the application: + +![bookstore-notification-icon-on-toolbar](../../images/bookstore-notification-icon-on-toolbar.png) + +`NotificationViewComponent` in this sample simply returns a view without any data. In real life, you probably want to **query database** (or call an HTTP API) to get notifications and pass to the view. If you need, you can add a `JavaScript` or `CSS` file to the global [bundle](Bundling-Minification.md) for your toolbar item. + +## IToolbarManager + +`IToolbarManager` is used to render the toolbar. It returns the toolbar items by a toolbar name. This is generally used by the [themes](Theming.md) to render the toolbar on the layout. \ No newline at end of file From 6b73be814ff0887cf184267416f0d9d54a599e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 16:10:48 +0300 Subject: [PATCH 54/59] Update docs-nav.json --- docs/en/docs-nav.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index c5bc0eeb3a..8b9a889974 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -444,6 +444,10 @@ "text": "Widgets", "path": "UI/AspNetCore/Widgets.md" }, + { + "text": "Toolbars", + "path": "UI/AspNetCore/Toolbars.md" + }, { "text": "Layout Hooks", "path": "UI/AspNetCore/Layout-Hooks.md" From a865f0f8ec9fda67183ef9cbeb81e60926a123a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 17:04:35 +0300 Subject: [PATCH 55/59] Initial ASP.NET Core MVC / Razor Pages: Data Tables document --- docs/en/UI/AspNetCore/Breadcrumbs.md | 2 +- docs/en/UI/AspNetCore/Data-Tables.md | 102 ++++++++++++++++++++++++++ docs/en/docs-nav.json | 4 + docs/en/images/datatables-example.png | Bin 0 -> 49745 bytes 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 docs/en/UI/AspNetCore/Data-Tables.md create mode 100644 docs/en/images/datatables-example.png diff --git a/docs/en/UI/AspNetCore/Breadcrumbs.md b/docs/en/UI/AspNetCore/Breadcrumbs.md index cc3bcd95be..6147f71236 100644 --- a/docs/en/UI/AspNetCore/Breadcrumbs.md +++ b/docs/en/UI/AspNetCore/Breadcrumbs.md @@ -1,3 +1,3 @@ -# Toolbars +# Breadcrumbs TODO \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Data-Tables.md b/docs/en/UI/AspNetCore/Data-Tables.md new file mode 100644 index 0000000000..b7c4dd3b43 --- /dev/null +++ b/docs/en/UI/AspNetCore/Data-Tables.md @@ -0,0 +1,102 @@ +# ASP.NET Core MVC / Razor Pages: Data Tables + +A Data Table (aka Data Grid) is a UI component to show tabular data to the users. There are a lot of Data table components/libraries and **you can use any one you like** with the ABP Framework. However, the startup templates come with the [DataTables.Net](https://datatables.net/) library as **pre-installed and configured**. ABP Framework provides adapters for this library and make it easy to use with the API endpoints. + +An example screenshot from the user management page that shows the user list in a data table: + +![datatables-example](../../images/datatables-example.png) + +## DataTables.Net Integration + +First of all, you can follow the official documentation to understand how the [DataTables.Net](https://datatables.net/) works. This section will focus on the ABP addons & integration points rather than fully covering the usage of this library. + +### A Quick Example + +You can follow the [web application development tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Part-1?UI=MVC) for a complete example application that uses the DataTables.Net as the Data Table. This section shows a minimalist example. + +You do nothing to add DataTables.Net library to the page since it is already added to the global [bundle](Bundling-Minification.md) by default. + +First, add an `abp-table` as shown below, with an `id`: + +````html + +```` + +> `abp-table` is a [Tag Helper](Tag-Helpers/Index.md) defined by the ABP Framework, but a simple `` tag would also work. + +Then call the `DataTable` plugin on the table selector: + +````js +var dataTable = $('#BooksTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + serverSide: true, + paging: true, + order: [[1, "asc"]], + searching: false, + ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList), + columnDefs: [ + { + title: l('Actions'), + rowAction: { + items: + [ + { + text: l('Edit'), + action: function (data) { + ///... + } + } + ] + } + }, + { + title: l('Name'), + data: "name" + }, + { + title: l('PublishDate'), + data: "publishDate", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(); + } + }, + { + title: l('Price'), + data: "price" + } + ] + }) +); +```` + +The example code above uses some ABP integration features those will be explained in the next sections. + +### Configuration Normalization + +`abp.libs.datatables.normalizeConfiguration` function takes a DataTables configuration and normalizes to simplify it; + +* Sets `scrollX` option to `true`, if not set. +* Sets `target` index for the column definitions. +* Sets the `language` option to [localize](../../Localization.md) the table in the current language. + +#### Default Configuration + +`normalizeConfiguration` uses the default configuration. You can change the default configuration using the `abp.libs.datatables.defaultConfigurations` object. Example: + +````js +abp.libs.datatables.defaultConfigurations.scrollX = false; +```` + +Here, the all configuration options; + +* `scrollX`: `false` by default. +* `dom`: Default value is `<"dataTable_filters"f>rt<"row dataTable_footer"<"col-auto"l><"col-auto"i><"col"p>>`. +* `language`: A function that returns the localization text using the current language. + +## Other Data Grids + +You can use any library you like. For example, [see this article](https://community.abp.io/articles/using-devextreme-components-with-the-abp-framework-zb8z7yqv) to learn how to use DevExtreme Data Grid in your applications. \ No newline at end of file diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 8b9a889974..978d40a5b5 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -414,6 +414,10 @@ "text": "Modals", "path": "UI/AspNetCore/Modals.md" }, + { + "text": "Data Tables", + "path": "UI/AspNetCore/Data-Tables.md" + }, { "text": "Page Alerts", "path": "UI/AspNetCore/Page-Alerts.md" diff --git a/docs/en/images/datatables-example.png b/docs/en/images/datatables-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3e74576b3bd1641981115ec230fb6a06d3361c GIT binary patch literal 49745 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 literal 0 HcmV?d00001 From 8a143af6287424e4662295da545d4f23fa79c6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 17:44:56 +0300 Subject: [PATCH 56/59] Documented the Row Actions --- docs/en/UI/AspNetCore/Data-Tables.md | 78 ++++++++++++++++++ .../datatables-row-actions-confirmation.png | Bin 0 -> 42410 bytes docs/en/images/datatables-row-actions.png | Bin 0 -> 19872 bytes 3 files changed, 78 insertions(+) create mode 100644 docs/en/images/datatables-row-actions-confirmation.png create mode 100644 docs/en/images/datatables-row-actions.png diff --git a/docs/en/UI/AspNetCore/Data-Tables.md b/docs/en/UI/AspNetCore/Data-Tables.md index b7c4dd3b43..023c61ad87 100644 --- a/docs/en/UI/AspNetCore/Data-Tables.md +++ b/docs/en/UI/AspNetCore/Data-Tables.md @@ -97,6 +97,84 @@ Here, the all configuration options; * `dom`: Default value is `<"dataTable_filters"f>rt<"row dataTable_footer"<"col-auto"l><"col-auto"i><"col"p>>`. * `language`: A function that returns the localization text using the current language. +### Row Actions + +`rowAction` is an option defined by the ABP Framework to the column definitions to show a drop down button to take actions for a row in the table. + +The example screenshot below shows the actions for each user in the user management table: + +![datatables-example](../../images/datatables-row-actions.png) + +`rowAction` is defined as a part of a column definition: + +````csharp +{ + title: l('Actions'), + rowAction: { + //TODO: CONFIGURATION + } +}, +```` + +**Example: Show *Edit* and *Delete* actions for a book row** + +````js +{ + title: l('Actions'), + rowAction: { + items: + [ + { + text: l('Edit'), + action: function (data) { + //TODO: Open a modal to edit the book + } + }, + { + text: l('Delete'), + confirmMessage: function (data) { + return "Are you sure to delete the book " + data.record.name; + }, + action: function (data) { + acme.bookStore.books.book + .delete(data.record.id) + .then(function() { + abp.notify.info("Successfully deleted!"); + data.table.ajax.reload(); + }); + } + } + ] + } +}, +```` + +#### Action Items + +`items` is an array of action definitions. An action definition can have the following options; + +* `text`: The text (a `string`) for this action to be shown in the actions drop down. +* `action`: A `function` that is executed when the user clicks to the action. The function takes a `data` argument that has the following fields; + * `data.record`: This is the data object related to the row. You can access the data fields like `data.record.id`, `data.record.name`... etc. + * `data.table`: The DataTables instance. +* `confirmMessage`: A function (see the example above) that returns a message (`string`) to show a dialog to get a confirmation from the user before executing the `action`. Example confirmation dialog: + +![datatables-row-actions-confirmation](D:\Github\abp\docs\en\images\datatables-row-actions-confirmation.png) + +You can use the [localization](JavaScript-API/Localization.md) system to show a localized message. + +* `visible`: A `bool` or a `function` that returns a `bool`. If the result is `false`, then the action is not shown in the actions dropdown. This is generally combined by the [authorization](JavaScript-API/Auth.md) system to hide the action if the user has no permission to take this action. Example: + +````js +visible: abp.auth.isGranted('BookStore.Books.Delete'); +```` + +If you define a `function`, then the `function` has two arguments: `record` (the data object of the related row) and the `table` (the DataTable instance). So, you can decide to show/hide the action dynamically, based on the row data and other conditions. + +* `iconClass`: Can be used to show a font-icon, like a [Font-Awesome](https://fontawesome.com/) icon (ex: `fas fa-trash-alt`), near to the action text. +* `enabled`: A `function` that returns a `bool` to disable the action. The `function` takes a `data` object with two fields: `data.record` is the data object related to the row and `data.table` is the DataTables instance. +* `displayNameHtml`: An alternative to use `text` and/or `icon`. You can directly set an HTML content as the display name of the action. + ## Other Data Grids You can use any library you like. For example, [see this article](https://community.abp.io/articles/using-devextreme-components-with-the-abp-framework-zb8z7yqv) to learn how to use DevExtreme Data Grid in your applications. \ No newline at end of file diff --git a/docs/en/images/datatables-row-actions-confirmation.png b/docs/en/images/datatables-row-actions-confirmation.png new file mode 100644 index 0000000000000000000000000000000000000000..9be8433f9c451c60c4fd6993d33cc3f261aae01c GIT binary patch literal 42410 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 literal 0 HcmV?d00001 diff --git a/docs/en/images/datatables-row-actions.png b/docs/en/images/datatables-row-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..4eae0f098af1fd42fb44b0f803c31f695b76d347 GIT binary patch literal 19872 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 Date: Thu, 29 Oct 2020 19:36:08 +0300 Subject: [PATCH 57/59] Update Data-Tables.md --- docs/en/UI/AspNetCore/Data-Tables.md | 11 +++++++---- docs/en/images/datatables-row-actions-icon.png | Bin 0 -> 12576 bytes 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 docs/en/images/datatables-row-actions-icon.png diff --git a/docs/en/UI/AspNetCore/Data-Tables.md b/docs/en/UI/AspNetCore/Data-Tables.md index 023c61ad87..f21d69fe51 100644 --- a/docs/en/UI/AspNetCore/Data-Tables.md +++ b/docs/en/UI/AspNetCore/Data-Tables.md @@ -157,9 +157,9 @@ The example screenshot below shows the actions for each user in the user managem * `action`: A `function` that is executed when the user clicks to the action. The function takes a `data` argument that has the following fields; * `data.record`: This is the data object related to the row. You can access the data fields like `data.record.id`, `data.record.name`... etc. * `data.table`: The DataTables instance. -* `confirmMessage`: A function (see the example above) that returns a message (`string`) to show a dialog to get a confirmation from the user before executing the `action`. Example confirmation dialog: +* `confirmMessage`: A `function` (see the example above) that returns a message (`string`) to show a dialog to get a confirmation from the user before executing the `action`. Example confirmation dialog: -![datatables-row-actions-confirmation](D:\Github\abp\docs\en\images\datatables-row-actions-confirmation.png) +![datatables-row-actions-confirmation](../../images/datatables-row-actions-confirmation.png) You can use the [localization](JavaScript-API/Localization.md) system to show a localized message. @@ -171,9 +171,12 @@ visible: abp.auth.isGranted('BookStore.Books.Delete'); If you define a `function`, then the `function` has two arguments: `record` (the data object of the related row) and the `table` (the DataTable instance). So, you can decide to show/hide the action dynamically, based on the row data and other conditions. -* `iconClass`: Can be used to show a font-icon, like a [Font-Awesome](https://fontawesome.com/) icon (ex: `fas fa-trash-alt`), near to the action text. +* `iconClass`: Can be used to show a font-icon, like a [Font-Awesome](https://fontawesome.com/) icon (ex: `fas fa-trash-alt`), near to the action text. Example screenshot: + +![datatables-row-actions-confirmation](../../images/datatables-row-actions-icon.png) + * `enabled`: A `function` that returns a `bool` to disable the action. The `function` takes a `data` object with two fields: `data.record` is the data object related to the row and `data.table` is the DataTables instance. -* `displayNameHtml`: An alternative to use `text` and/or `icon`. You can directly set an HTML content as the display name of the action. +* `displayNameHtml`: Set this to `true` is the `text` value contains HTML tags. ## Other Data Grids diff --git a/docs/en/images/datatables-row-actions-icon.png b/docs/en/images/datatables-row-actions-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70111fc1ac181302c0d2ca3d8fd2e147b0c7895c GIT binary patch literal 12576 zcmch8XEfZ=*Y1c&(M3XZhD4MQJ;IPOdJw%6C3=b8XGDS#ErjSLdK;qGL88~udkv#A z>L{b!U)~S*!~foO@B8ImYnC-QzjOASv-f`X+0P^Nor)Y8F+DK|1R_(AhpK}>H)KH| z0)jg?fZyCBzH|YBSV0QVSDIcaJ9EB<8pqeS_r#u83%q9~C3yA4^p164!ONtV^XiQz z>H^BVhcTF(#z)afiL^aRxuG`mibMC6iFoioz)5CA**DI^ya^d^1QK?LuAW{Bw3Rv2 zJxgFVMu%K~9GDWvy0)Nj;%kRzebC1`-+pRYzbnw>jw{?V{gj-X{F_2E`S0JqG!ir* zkRX-rs@JgFw%2g2_Ojhc}{cfk33c1w9D*!Oi(? zlaD~4mrCZA*>#>D1wHP9K!d{{m#O~exKHwgAW-njYyuGI&Hp;BWu%gwa8QhkQh}~Y z4zW62!^3BHG{8#adga}}11C>?Z@(A5pe>C(`*zjMCSb{ADlDhuQvmUvq;DVxSu-Pq z>ouV9yF;JV%_j)@RSjS7i*?Tj8gIz+`I+kwf`Z4V({muaSrs+ktdL5^T$g;AHwwzO z07LA?q8~rat7YJbW@sR{c8;=eJAd3A*HJ8d^}V1mRMf&~iGn8zP*shFWBqfxRmP6`MUJ#X*ANa> z3G-MYP=5=s@elp-9?%2(u9(B^r@OeiYPm-!(tc8)shf-X*xsZRS*=Z>)Y~2vYhh*< zUf(jv&CQ6MnbiB(M#1tFe)s_ySG{@^T&mV{1Jr7lBgRb9YuiX~WMejtJn&~dJ2>39S7pb089|rws&foh zLcjNLXyHKs7cgW)bf{#$2krkQYKt`fP#&fgTUtel6b5xz=S1h?`7CX1^*Lm)V!^%~ z$Y*19IpOkz@58m}Z5-UvV&}T!7SHGo6BA|!;;f(ghN}vK-VQ0U1HO`Q`@ekUKYSpK zsh~*G|4W)wk$Sih!nj(cRXF0mDQxffVB3Sa)jA?m~R+wO*wsF!$$V#^Cq+H z*ZQf&lP8^iXQhF~w@PNIAFTGn>w{a@W)2Bu`NJojQ1iG6cV{SzYpE$YZR~xjGET<=9<)9|;~0HX>RlbrpNR^cKT2<=xq8Q+^!r1)dPn5e zH`b*8qO_bdrqzc{tJv*h9^nH$NzLV41YODmPbU z66<4e?EA(Sf0swqbaR$}U}Awq6aw?*rg9HU8H&&9^tQ>jy8~55nO4Czl17`yZ(Wqj z$G{FYx^IytTr7FUA8+6d^bRLcP-vyt+lsYkU}WfNgY+S)s_R1_6ICKQWh&<*N{Lm~ zmz{wke#W4lkyMm3GZJNZrMs4VMPuS=;_hKpad2*UlNfnJK~wp)F3kz6~D@3t?U z-^AeagO#y2gt^6#IKH)Cq4Lq``}kd=*5DGAG4BPm)Pdv6me{Ji7{><{M6U@9qSKu% zv42caRu|vS-on~nYF}hhy&}vjg~Y{1m%b2)-T=k*U& zZ78%olP6D#0*l9$6(@NjuVqF`higxQ`II%k;U|$2QY6Fc8(;-}X|VNV;H8z|!2|8x z*F`;lZrmz;u5-xX;(S1B+WLc8g-bhLZ-UAn|K;gC-q%O!F0dfiflx`xbhK{onN(b& z%Zp@0qwMW^;cZ4T*|e+vtxc0Hq?s9D*x7dzZOf;n-wfxURh~?G`@&VxI=Xk~komf? zZs!$TzX_#=*#FptSlK8GIz{`|Qir85nrY9J#8o?2lw7jkh?3Y>F8wyxDSAVQkLvF1 zb#3x_;T77ZbNaLZpIobt{FP-Bv2AZAjz!`s>RsEVFJ}VYyb0@_J%H&}W6#scBQ>O# z@xVr*ae&Xj9R@O|Y5B}^`)Wp1N@5>VtRst~b$IBJ9!m{@va9jf&LtsG`k^4k~h!lXkEb zxZYh@L9;4R(sV2Hkk~A0;qv=x$H4FOUEPIv`AS#3lg|R&&*vmJ7w!+fNBU7e#-v#{ zF@x1(VXXP`^p#c`6;)?D+~bSKz3g-}`4tTNH&37iE9ELT3IeM$LQLMYDxt%2DZG1v z1-_qzjT$`-*7g;Sqie8iKy-O}&qk>pgd`V;T3i7^h*{Z6I)KItF78am3$ zzX9ihj(VOqX5<;TYzO@olCxV#8GYQ{`xw}0nssNFU{3LhrDeeE=5pi1bL!4Vi>aTb zk>r|B+>F`OrOyrx=os)EXaoWaVe^@|Z>7%R=PZdVYiAv%kGSlAY1f&%-7@WS6-zJG zJlZnA)fR`a5KtfnyKHSg|H;)EWR-S^C+VdP z>Bqq5$K-68LRKY}Z9*cD4{7s^rL3E@RnC>hHJ!Km64&zF%`RGgmQqrM9=KzbH#~=q zzPa14uB2`d129kvnKpW=PEmXnkAT=LJ=wugcEY#Ya8U8v_uK^gPf~3Nj>Ue6YXe!t zyFKD6&N)B$FC~dZw>cCMe$1RI0OW?|M2HHy-G{I z!T@wCWI)8jk#^S0zIb5Zv(eUUhT$W2u+Rv-PnhJ=#F%)3V`>rh-S6e%M#Q?~eqh4a z7E0p`5&lLoruxa2z;vD^|80+EOfLF|FaP~7aL)$sA{*z=7q$sge`MBGW92iqCBeSn z7_00Q&P?O)=i`H|5l;N9V8sU?)Zi@s;N_`R?BY1$QoR>bXw?2-xYDY8DMQ6OfjVvzU@w4oBL`0?hP+J2!HA52WQa<9! zkuCl>Jmt3A2un*RJGVkq+o_3eoSCq!wBdy^!3T$gEjG)W6{uzXucE}e%R3_eVB zl@vv_6?mIhh{B-9GD#Rewh(#u4SgCarsf&G!B$?5woiPkqweE#u^-K3($-+nPaFoiWrk=6lLrU`Kom0nkPF)_RCB6I#V<)0pG zDwd*~on9El{mU50{)tq5rZ?wL^K-sWwB5Kye}9c%__Sz0X*(LK=t@b9{y_fvg+$Vr zJ0+uE(dGLHruhNhJ5fEus2jd~_bJs-1sz?I?BL-wf&>ofFvNP#Uzk*w-OOW&>!}TJ zOgtqGhni|9eWk8>-2c8(Wl3EK z3U)$xc9{j!=VNI;cstx-^G39ssI;-{<3Q!lCcfkJcvQ%@b;;-_5>b9tg2?InqQR%u znNRs8z9YKkjIqz+5P}E;3nE1w6K{aVm z$J6<6H#npxJX-?Ba#5pa6;wSR`RPWc%f?g|6uK3YBM2@j>W`rp#bB?BmEPt@q>F?Z zl-ys7r;VeI?kaO>3-y0p5)6(5)&L;QD;d~_9za&<{l2?bx7yB(FZ1ciQN z74;A68N*5Qmrxy+nI}_X4wqipQhfV;7Z(y~sRjGEu_|*PXlH1NrD!&H4={UCS2$+1 z=ddUz076TgJ4UAy-Y+D(d}vV8tk`;X>%^TibNjFpJvP((i|(W3W9YU2M&CeAs~__I zS!hFiFwybD3PsL`A(T|9*Cypdj>06T5jGlh%=$LUANi%X%}JW`kSt(uy@Bv~ z5-zye{;A>==G_ho4~zD!G(I`WJ3nL$weSp+Qor`A-&4>3a0l)37phO2RmbMrFBtWa zb7a#2dO(Jo9MzI>tHBpHKzFVthuOa5N&04|4g6rb?bUI#V@q?@k zogSN7U7W=B`xE8-x>}szrgae;8j%H~@cwWZ#MGMJUU$FB`Q}cj%dpHDbXxUY8l844 z*uyIh-J20NO*ee6DEE!-qGm~29XqKk|3vFI)DGN)_E z3n77hO*UHN=)DNIBHTEldx3&D4rKhIX=>a=KcUmpdvOvNijW6Sz_K*19|_ywR;GW( zS-zK1pWB5%v!BF>I>N~-8v78MT-{nVbS#X`MI7Mffw9~9#~x%S&&F)n)i>+abT9)K*e&oq0;^4bfOxzI7I_QR8CWOhUIGU1 zOyx31K7JY@e(5%~N|Iv+cEObHT(~VYO3_3@%ljnfM9n_Cd)&EC8NI!BS>L+Aap=^A z=o;#NTs!Te)f2I88`V$TMt26aur)_s)fsB5KzXI%A;GX`BZ?v`Q`CPJe>prz@+UvbkBAw^clDdrSo}G;yB`{ro3vi?KciO4R!+EOVpVP)ycebyFc{FjeLQwvEOQJ zS~ARCm57n#KfLffJfXu#B<%$4+Jj%f&vlU5m{Y#_=Q6-%NVxaKnA>=(E(~xat~Kj1 zIW?BP8vDH;A=xOGYHM2RH0YJLdUHURxh;1awe%*QQE_0{OYVnKxq2kh_K)7mBR{-R z;1gBXc)c}GY(J}+Dt$(0{C8(Rc27q-9u9R5*+^3Q7x0DdBYTApGfI5X7J2PE$@pFU z)F!r+mY>U0(4(31y4yuD@6z18-%QSgGG02Go`;{YB9u9%Swy{CbMhvjF*FVK>qk7F z{N2B*jj4dbM5Tou%BO%(9v)jAhDdw_9tH(~8rZ6Y&(4_({zvtsz zE|}(rUyjX64p)m?$oKwpsg~K+1(PbeY0P&JzG!3<4TC}%o1<{{Ps!6=B`a8SRM=$_E84VaYgz>28N{u^->)oAGa4Slfg!PikT1KVjqFLSX zgX>tKj<@rPY4xt^&8blB*KDECcIb9Sm2>(~PsZVkxX3A&clT+k*_YQ3er5HBPTp{$ z^{&r9;J$@SEkSQgQzSeKPxa#Vz0OXsEdWU~}i)yqyKL}&=#m@cQ z63PPY44M0!IlwmF$|EV`?8mcDu_vX$jD6C+CJGjttC(L_uR14^v@Pw{?$KYK)DiM@ zQXJj;75Y_%?u=s(w<%`x;V7}$Ew{~qZN7qn#qhzjGDOalCNFtVF>C%)`ZaE1s9z}f z<{c#B{#mBqJukA9TECO>E3_dCZTyfg%$TX|vCL+N0G7EhN$~sf$*WnJ2#u~l{5N%r$(X$0wh+tVr+f zxxihPrf%?;exi;qS%7n6^#7zK>JwgVhd4>N+Aha(!e37@F0ip+rKuU_1Ds76n<@TY zJ+Fn?N;@4(l|P>+%(cJbGDRm$ufAP!GkKVNG(ubP+P47x+(^^@(b2zkul5qHAc~0Xbc6q>Vppi)S4l@!R75(t*Ug0}oyo8%38JZNB9)T0{gvDm;@&K{ zxsl?Y<8vbz3i#SNoBb+rF=Q%g7h@@u{X|Ag>slu?ydY2#nZ8Ygb_VSEs2659f&Sb? z@+Who?156AJ8(l)tPWer7I^86-vAA2A}Tu?s9pJ2n+mUXY;$|$>uWM_Pz?&Xtc!AGG28jYSt$(V6bl{MCnr~1a(?3`w9A;kmp znC|aPI~uM^DZb=*I)C3Nb3#uF^UF8#P_zGbppnEaVnqH$wK1v?1lkPQWm8rYbTF@; z`AW{l5he~MrruX=o`8LPN->GhtSMa$pXRum!ezLH&I#ZCy)YI{yt!oUhIibF_<3VL zrvV2mS>bfsmiNRCe%8sV>lWI%EPlF%_HiDc>B*FPU}z`AAjIAC1a?5*?h);m8L)hs zX)r~z2DW8aQQ0*fG5Rebkf_9j8gH^*#i@738Zmuk=K9(<87Zm3N2QQ6ljSrny%8$v zxTqAk7tdG|Ut|$=Uyykw+DZ{BL-$uNJgxX1NdF#CYijH*j-6bKdSClY)(O_fOIRqB zFO*!6rt0NdoE*05a5OmeDCd-~uWvalTs1h1ewGl~DIKOfuF2}=ztoo7=CWM)cF%_N zU4usro_Hv?NU$un){QWY;-|{$V7yd;_yK%yp38X8|~OPSQAr0Cs?N0E+SM#^^wV2^GF_dNEdA~H$ec( zU>k&FtG70UjLOatWld*hhWk2XF^`r*DtX-~2;TEm{ud*&$J@X7)r@bi&PZHT@&^N2 z6DQ9GS}7H4vuEw`WcwLeq}_ZbnTw))qpd|>#A~Ce#D=4Yt?aWRGV`> zKrhANdDH7py$ zcjq5Glw&Y9OH6vxaa$i0o*ySmPv!2Op(&uSGTnRoc>8&N9uCFzo`Z+n-Q9ZQv!Wn6 zJzN~Nc@Vb}?ngvLWw7|@h_Xpg)P6Jr#8z*9Ls(`jLih()#6fP>L_y{3WKMv9Zo-hY zlUdaY@}&4QindttTjAKb&We=<@G^{CsH?@&#(M@$*Swbjk&gJVM<9ypgol&OM&xsa zJ-7zTpF3E`is`u;>>~86egvV#`M}^J;}P)c+s&;H=(R&}j(GWla%wb_WTn)qqQJ(i zFeo6{dMsKN>LKaV8m}^!F?-KE{>IZB)Po?O7;h5XTzp>f-E>z&s6Dp800%u9vk!4T z^`nKYGo%MMl|8$Zw^!*MyV(LoLWU6tE7|1+_0>1$oFQ#@L}gtov*V|~hdA^yi}1r% zS1!TerBPHFRa45e=(2AV$%$ik{Xcd`ySw#=q`kt=>{)egwRfQ@njL(1N&m!l1uAPZ zy8L3Trn;KP#8>kwy`wziiz;D91AHQ-&Dbx!75f}+Ufz}Dt`(O$_0SOeaMm2b%o$m6 zx9)U<%4D=I66#l)OOawE!kZg|N;U>CK;#l_j#&?LOU=p-5@aBOhw+sDAy!AGJm zRymxezLxm?`}exKx-vTgukk9Ik&fYiU*)<(82(SGo9+9p(N^#65tWMEam3!Y2JdK> z%!&C?JveL`SI+^DXus%WmSm^2iQ~8zdTyCjMnd3qb>yETCM~7|j-H&HeAqx^J+>EJ zsII4%n3I!JRs`}gb}z5w<>3(mVtJZvn7i9TkgtY_^E>E04S5Lr_wH~bqDl{7ISdAq z>qQD0)a9iqYGgdj35;G+X8dpRw*Lzq{2vtG|BXHVKM(&=Mq=%*$vsxJWg{aaW7ObL z<}fopi2)es+hC*&S6q+7jHe&Up+UW1dtd#8Ol|9h+eZNpHGq}=#1QpVu0Ydq>byU< zv`L#g4tjJV-R(;2_vGH3pa(#1lYWx76OZTP^ryZ=uEvbQOJTKMT8rCGQUo#QPimg#=orgRVlrYt%awwNzm)E zjiORcRsXG})<2^6?&pI*lr#Ud0Ke{*ZsjIDKlxtC&dK(|7eqsT@|QZKufT5Am*=aTOR?Us@; zzPGh491uEw?Oy0#wciUEMLkqFW*4i7kr-J>61aSd^hhqD0yrbR%L2f!Uk$wO{}Wh) zJJhQ0by}!990}D3l95rOfxVw(zX1~Ff$FzD7Z>kO5im;Mw;&FBErcEw*645h!Ysv` zB4Yj`x!g$0WJNo=LzyAMkOI^+TwBMZN%fv{2pQAp6%3eo|1tZvg)GHoJtX zvU%XCU!~__9ua^lZy|&Ui^R}~b(E)-a++{iBJnrH9BJkVCJCv&k-X$Q)ta*9R+Y4` zIuyI(>e||(*PmrxtFpLrUKO&$^M!F_Qs@1xKgGQ}DT4CDL0)`|9a(G}iB?#YL{VZ| zdMLC;%CJ%Rc%cZ|W?8|+#2BNY{#`@;x;Mqh*m#~%?k32~1Hjylb#L6_tNHRSOu@CW zzX-?r@&}eWcQ+9MAeC5fsv&~ixg8<~~qR#-J@#93+i9B&U@kLe_D3x!>wjUR_<_>G%``%6*+JGM3ulX=k8ye6c+t)GXqemY9@Ou3OyTiB;_Fahu?d z>k&*W)*}I8{RLECBksqK@mj+QY5BVHsm?FrFP^(?uXESCZw;iX0S(LWnsB=<85`EaD8r9Cd%lHAqm>L^Bg!@|Ov=d1m%KYgCN^gEu_ zlGD+l2|EUoN{!=!V~Gm^D2br{p77nUcK!18R`Cie;N$25sW>4)c;u5Uqpk9ooB{r1 z^Gu;lt`{87f)ICOU8PJ%*DUVuhPC@i!MAi6sQC@wswj-D>83&;goGEskBp)&#bIF; zZyzs|Z}ft$jc-W-8k;w7c#s9Uygwo$MAFetO_C$uLqogQ)!1QQFP;B>nIO9H2@2-Y z;pSBFx@;?B!5_i&t}iDib>)zke#32d{iLLMcxHNr|NQxrdDe3a^z1%$qM_+ts`h`} zx-4FbIn5s(6`Ou5Px6^=&1I3PP$O!2=6=n2!?V5dFA^m8}n~Q1fT#K zAPHUg9+Ph36{$V{SXRhI(RZ&MlBwSVD$rLal&Cw~+tp5&o10ZzKyW9d&Q@K?Ns6<97ZO;F?)S-NE>thum|Dr!2X{m$#KLkhrXUO<}3rPQs*>yYk7SA3> z%irU_@?P#x?hn$|*8W6rW#reW{Pu0Q)uTyl$y7OZUY_27V- zQ+2K(erz2Q&M5WviCd{>#s35haVh}9V`7G9JRQ@O~3OY#{rCdgT|D40ST2|9UR~@fxd8oAB1*rj&ynL$q5J@pF z$$233`_srw~DvI1%q6LibTs{h9wAAOmirkdM_hlgVJ=iK=VFaIf7behHTl%>Q&R}b;aCIqnb-6`G$9Hr@^E>(ux$@A? zW&b+o!-Z>(2^1Q@ev}yYb7p2H(cyfl&)H8x{M_7&-T4ast0Vr+{*EXHp87=G*2edN zof(N5r)%I{X0i?NQljzCpJ#2(cs~^LA(WP{iT<7&4&KaR^j5w;VQ=lMqBWTO44=MI zTJ6|+>Ievu5S43DNF=hwIHQhZ?dlSX+h)%MN=;yaBA}OKR(6Ym{&Xlt=3XcVZc>#v zD6^W0hL#pyW0em0i*EfXP>$?-NrDAMM0Un1IuE+;kcapmP3~uA${o{atEo}ZdY+?| z;%}3$H*fSlao31KFfvZd@EQ#-=j=*fAK2;p$Z8BQfilSdneqDPU{78f2`vzB_!E-5 zd)S=1*|xT9&-Vc#A$#euv9q(ct9G6}g)B!^tQl`lf7rA8T-ij~iLNp5lwN?B8l(Kz zJWxRpUS3IO?#OmC<)r8HJw1x9ai8Bbd|S*IR=0VR*K-pz$O7Iu(@<9jdvlakR8>`0 za)1GlbUeR#vQs2+HT`G!&+xE1FAc3EZ@xnakf;=M1fR7u8%g*gwJa?ys~sGGf>`{d z{g~!4&DuQ57d=zt8qX(HZ@05U1dWYLMLyv#_0$1@A_9JnqthEaD*#t+M4`5~?L+e$ z8yoX~ArL=g_)KW(8mo1>F;(+ketWD@h^DzJ{ESh9-ArzFcJ}-qMMXtopltLy9lXXg zRXJ!pe(GDS8I!1o@+AaWKLIXVLW(&Dz`i2#XTppe$RMvlpvAgi?P=G?8g5%_CIk5m zuwVUsh zGyoVT+tV00{K6Si+MKNZvt^*f^ZiQ?m4UKl&S!c+i6sf07D5&m^EPL&0-;F6!Uucm zcA6f~hxhQ^pV^ri?Jws}ec}Dq%ij=q=!mXD6>z693l{FU%_d#O%bk+g(a{%?!vOfK zi2Ye{X`dw`X_o%@tF~4b)d)n@;!-P1R7ctsMyG#grrKeqB-P(TMP)dySvap3C@V{& z7`ArD_mkJ1*mVGH%si@4+gwj?DyLUrrW)Jw&JGA1uOGNRacAz5j?!PI6;n%2D&Fvc zZNNP$waavi=|&a?`u%~FHYAQkbAms;Y{9scmzR$*FkZl%nB;^71n3|xZI}4Jr8N%M z7VU+q+Qokl&pfIfoaUOc=HKtE6$#hWILvswyoPmi6|lg|T`p-EcI;=!>7T!Zd_t^| zq)Hj>cLxS3kuyoTtnX3Lgkd(P*?4#iAm1F@e*KJSd;$Xbyv!C+w<*wk{5|f6wn{sm zl^;l#DE<=0My;yCR~78zUG434VNoY7SC{yv;m)S>Y_=o-l+xkVE~mc+FQpk9-Nd=1 zrPJHZ+;M(CRk87%k<4Rt6;^X{0BB&*iF4SoZ;d*+19qQW21pA=Jmu*q zi^Tv~(uooQh_n}~jsKVo4_|2{)?cC$$jdG z8R@Y0bJK-gV~DTtE(U~d^0}ra5EheE8leqob#`268sc}tu5kRS5PA;*fij4q$3d;Z z!SxO9_Oo_!kq^gzehxF;0#w_|UO&b`fRCT=4}OAQDX5@pf5JK4B_tYv4|9Usw730A zK?&Sp?nIA2+Z=!qo}UPLumSUt?EotA|BY_^|7RJ;4LDq96bnNGalqQxa%Yqt?~k&g zfN}C@?a~V`FQ}O%vuVnFh3H>gv3cMIFM8?zad5J%t{N@|c)=1)7`d>s`zH;Xv(?*tJ6Z z8C&`K^S{=UW)KC*?CdNlEMpZoZ(o8M|Ea2Kb zX%Qko3OnTH=6ZN|bd&)9WI#`vj{LvM`2T+#$0;2B^i`w@sWjjhAdrHL3bf?)`@sJJ Dx0h|f literal 0 HcmV?d00001 From e1c754386992efc54a905fdff5c70ae45b9cb577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 20:21:49 +0300 Subject: [PATCH 58/59] Resolved #3300: Completed the datatables document. --- docs/en/UI/AspNetCore/Data-Tables.md | 80 ++++++++++++++++++ .../images/datatables-custom-render-date.png | Bin 0 -> 12093 bytes .../images/datatables-default-render-date.png | Bin 0 -> 16046 bytes 3 files changed, 80 insertions(+) create mode 100644 docs/en/images/datatables-custom-render-date.png create mode 100644 docs/en/images/datatables-default-render-date.png diff --git a/docs/en/UI/AspNetCore/Data-Tables.md b/docs/en/UI/AspNetCore/Data-Tables.md index f21d69fe51..79fd6a3be1 100644 --- a/docs/en/UI/AspNetCore/Data-Tables.md +++ b/docs/en/UI/AspNetCore/Data-Tables.md @@ -97,6 +97,14 @@ Here, the all configuration options; * `dom`: Default value is `<"dataTable_filters"f>rt<"row dataTable_footer"<"col-auto"l><"col-auto"i><"col"p>>`. * `language`: A function that returns the localization text using the current language. +### AJAX Adapter + +DataTables.Net has its own expected data format while getting results of an AJAX call to the server to get the table data. They are especially related how paging and sorting parameters are sent and received. ABP Framework also offers its own conventions for the client-server [AJAX](JavaScript-API/Ajax.md) communication. + +The `abp.libs.datatables.createAjax` method (used in the example above) adapts request and response data format and perfectly works with the [Dynamic JavaScript Client Proxy](Dynamic-JavaScript-Client-Proxies.md) system. + +This works automatically, so most of the times you don't need to know how it works. See the [DTO document](../../Data-Transfer-Objects.md) if you want to learn more about `IPagedAndSortedResultRequest`, `IPagedResult` and other standard interfaces and base DTO classes those are used in client to server communication. + ### Row Actions `rowAction` is an option defined by the ABP Framework to the column definitions to show a drop down button to take actions for a row in the table. @@ -178,6 +186,78 @@ If you define a `function`, then the `function` has two arguments: `record` (the * `enabled`: A `function` that returns a `bool` to disable the action. The `function` takes a `data` object with two fields: `data.record` is the data object related to the row and `data.table` is the DataTables instance. * `displayNameHtml`: Set this to `true` is the `text` value contains HTML tags. +There are some rules with the action items; + +* If none of the action items is visible then the actions column is not rendered. + +### Data Format + +#### The Problem + +See the *Creation Time* column in the example below: + +````js +{ + title: l('CreationTime'), + data: "creationTime", + render: function (data) { + return luxon + .DateTime + .fromISO(data, { + locale: abp.localization.currentCulture.name + }).toLocaleString(luxon.DateTime.DATETIME_SHORT); + } +} +```` + +The `render` is a standard DataTables option to render the column content by a custom function. This example uses the [luxon](https://moment.github.io/luxon/) library (which is installed by default) to write a human readable value of the `creationTime` in the current user's language. Example output of the column: + +![datatables-custom-render-date](../../images/datatables-custom-render-date.png) + +If you don't define the render option, then the result will be ugly and not user friendly: + +![datatables-custom-render-date](../../images/datatables-default-render-date.png) + +However, rendering a `DateTime` is almost same and repeating the same rendering logic everywhere is against to the DRY (Don't Repeat Yourself!) principle. + +#### dataFormat Option + +`dataFormat` column option specifies the data format that is used to render the column data. The same output could be accomplished using the following column definition: + +````js +{ + title: l('CreationTime'), + data: "creationTime", + dataFormat: 'datetime' +} +```` + +`dataFormat: 'datetime'` specifies the data format for this column. There are a few pre-defined `dataFormat`s: + +* `boolean`: Shows a `check` icon for `true` and `times` icon for `false` value and useful to render `bool` values. +* `date`: Shows date part of a `DateTime` value, formatted based on the current culture. +* `datetime`: Shows date & time (excluding seconds) of a `DateTime` value, formatted based on the current culture. + +### Default Renderers + +`abp.libs.datatables.defaultRenderers` option allows you to define new data formats and set renderers for them. + +**Example: Render male / female icons based on the gender** + +````js +abp.libs.datatables.defaultRenderers['gender'] = function(value) { + if (value === 'f') { + return ''; + } else { + return ''; + } +}; +```` + +Assuming that the possible values for a column data is `f` and `m`, the `gender` data format shows female/male icons instead of `f` and `m` texts. You can now set `dataFormat: 'gender'` for a column definition that has the proper data values. + +> You can write the default renderers in a single JavaScript file and add it to the [Global Script Bundle](Bundling-Minification.md), so you can reuse them in all the pages. + ## Other Data Grids You can use any library you like. For example, [see this article](https://community.abp.io/articles/using-devextreme-components-with-the-abp-framework-zb8z7yqv) to learn how to use DevExtreme Data Grid in your applications. \ No newline at end of file diff --git a/docs/en/images/datatables-custom-render-date.png b/docs/en/images/datatables-custom-render-date.png new file mode 100644 index 0000000000000000000000000000000000000000..344237aea7f85b1c6d385727b0baa553bd317107 GIT binary patch literal 12093 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 aAntK{`mOOCg*k_gB`c)_D*I^s{r>_iq>4iT literal 0 HcmV?d00001 From 65048eb45531d934e0f9562eb15511bd583ab528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 29 Oct 2020 21:46:52 +0300 Subject: [PATCH 59/59] Added Page Header document --- docs/en/UI/AspNetCore/Branding.md | 3 ++ docs/en/UI/AspNetCore/Breadcrumbs.md | 3 -- docs/en/UI/AspNetCore/Layout-Hooks.md | 2 +- docs/en/UI/AspNetCore/Navigation-Menu.md | 2 +- docs/en/UI/AspNetCore/Page-Header.md | 58 ++++++++++++++++++++++++ docs/en/UI/AspNetCore/Theming.md | 2 + docs/en/docs-nav.json | 4 ++ 7 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 docs/en/UI/AspNetCore/Branding.md delete mode 100644 docs/en/UI/AspNetCore/Breadcrumbs.md create mode 100644 docs/en/UI/AspNetCore/Page-Header.md diff --git a/docs/en/UI/AspNetCore/Branding.md b/docs/en/UI/AspNetCore/Branding.md new file mode 100644 index 0000000000..b262c13d46 --- /dev/null +++ b/docs/en/UI/AspNetCore/Branding.md @@ -0,0 +1,3 @@ +# ASP.NET Core MVC / Razor Pages: Branding + +TODO \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Breadcrumbs.md b/docs/en/UI/AspNetCore/Breadcrumbs.md deleted file mode 100644 index 6147f71236..0000000000 --- a/docs/en/UI/AspNetCore/Breadcrumbs.md +++ /dev/null @@ -1,3 +0,0 @@ -# Breadcrumbs - -TODO \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Layout-Hooks.md b/docs/en/UI/AspNetCore/Layout-Hooks.md index 7039749142..168454a7c2 100644 --- a/docs/en/UI/AspNetCore/Layout-Hooks.md +++ b/docs/en/UI/AspNetCore/Layout-Hooks.md @@ -1,4 +1,4 @@ -# ASP.NET Core MVC / Razor Pages Layout Hooks +# ASP.NET Core MVC / Razor Pages: Layout Hooks ABP Framework theming system places the page layout into the [theme](Theming.md) NuGet packages. That means the final application doesn't include a `Layout.cshtml`, so you can't directly change the layout code to customize it. diff --git a/docs/en/UI/AspNetCore/Navigation-Menu.md b/docs/en/UI/AspNetCore/Navigation-Menu.md index ddbfbbd857..13a6e1678c 100644 --- a/docs/en/UI/AspNetCore/Navigation-Menu.md +++ b/docs/en/UI/AspNetCore/Navigation-Menu.md @@ -83,7 +83,7 @@ Here, a few notes on the menu contributors; There are more options of a menu item (the constructor of the `ApplicationMenuItem` class). Here, the list of all available options; -* `name` (`string`, required): The unique name of the menu item. +* `name` (`string`, required): The **unique name** of the menu item. * `displayName` (`string`, required): Display name/text of the menu item. You can [localize](../../Localization.md) this as shown before. * `url` (`string`): The URL of the menu item. * `icon` (`string`): An icon name. Free [Font Awesome](https://fontawesome.com/) icon classes are supported out of the box. Example: `fa fa-book`. You can use any CSS font icon class as long as you include the necessary CSS files to your application. diff --git a/docs/en/UI/AspNetCore/Page-Header.md b/docs/en/UI/AspNetCore/Page-Header.md new file mode 100644 index 0000000000..f6ec3074de --- /dev/null +++ b/docs/en/UI/AspNetCore/Page-Header.md @@ -0,0 +1,58 @@ +# ASP.NET Core MVC / Razor Pages: Page Header + +`IPageLayout` service can be used to set the page title, selected menu item and the breadcrumb items for a page. It's the [theme](Theming.md)'s responsibility to render these on the page. + +## IPageLayout + +`IPageLayout` can be injected in any page/view to set the page header properties. + +### Page Title + +Page Title can be set as shown in the example below: + +````csharp +@inject IPageLayout PageLayout +@{ + PageLayout.Content.Title = "Book List"; +} +```` + +* The Page Title is set to the HTML `title` tag (in addition to the [brand/application name](Branding.md)). +* The theme may render the Page Title before the Page Content (not implemented by the Basic Theme). + +### Breadcrumb + +> **The [Basic Theme](Basic-Theme.md) currently doesn't implement the breadcrumbs.** + +Breadcrumb items can be added to the `PageLayout.Content.BreadCrumb`. + +**Example: Add Language Management to the breadcrumb items.** + +```` +PageLayout.Content.BreadCrumb.Add("Language Management"); +```` + +The theme then renders the breadcrumb. An example render result can be: + +![breadcrumbs-example](../../images/breadcrumbs-example.png) + +* The Home icon is rendered by default. Set `PageLayout.Content.BreadCrumb.ShowHome` to `false` to hide it. +* Current Page name (got from the `PageLayout.Content.Title`) is added as the last by default. Set `PageLayout.Content.BreadCrumb.ShowCurrent` to `false` to hide it. + +Any item that you add is inserted between Home and Current Page items. You can add as many item as you need. `BreadCrumb.Add(...)` method gets three parameters: + +* `text`: The text to show for the breadcrumb item. +* `url` (optional): A URL to navigate to, if the user clicks to the breadcrumb item. +* `icon` (optional): An icon class (like `fas fa-user-tie` for Font-Awesome) to show with the `text`. + +### The Selected Menu Item + +> **The [Basic Theme](Basic-Theme.md) currently doesn't implement the selected menu item since it is not applicable to the top menu which is the only option for the Basic Theme for now.** + +You can set the Menu Item name related to this page: + +````csharp +PageLayout.Content.MenuItemName = "BookStore.Books"; +```` + +Menu item name should match a unique menu item name defined using the [Navigation / Menu](Navigation-Menu.md) system. In this case, it is expected from the theme to make the menu item "active" in the main menu. \ No newline at end of file diff --git a/docs/en/UI/AspNetCore/Theming.md b/docs/en/UI/AspNetCore/Theming.md index 69e6b33769..8c680973b8 100644 --- a/docs/en/UI/AspNetCore/Theming.md +++ b/docs/en/UI/AspNetCore/Theming.md @@ -406,6 +406,8 @@ The Basic Theme doesn't implement this service, but the Lepton Theme implements: ![breadcrumbs-example](../../images/breadcrumbs-example.png) +See the [Page Header](Page-Header.md) document for more. + #### Tenant Switch The Account Layout should allow the user to switch the current tenant if the application is multi-tenant and the tenant was resolved from the cookies. See the [Basic Theme Account Layout](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Layouts/Account.cshtml) as an example implementation. diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 978d40a5b5..536c5d9a03 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -452,6 +452,10 @@ "text": "Toolbars", "path": "UI/AspNetCore/Toolbars.md" }, + { + "text": "Page Header", + "path": "UI/AspNetCore/Page-Header.md" + }, { "text": "Layout Hooks", "path": "UI/AspNetCore/Layout-Hooks.md"