From eb2842baabd83e4c66ed75c1ee867b638902601a Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 21 Oct 2021 15:42:13 +0800 Subject: [PATCH] Add EnabledAllModules to DynamicJavaScriptProxyOptions --- .../Volo/Abp/Cli/AbpCliCoreModule.cs | 6 ++++++ .../JQuery/DynamicJavaScriptProxyOptions.cs | 2 ++ .../JQuery/JQueryProxyScriptGenerator.cs | 17 ++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs index cd166ea302..6e7936f163 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs @@ -9,6 +9,7 @@ using Volo.Abp.Cli.ServiceProxying.CSharp; using Volo.Abp.Cli.ServiceProxying.JavaScript; using Volo.Abp.Domain; using Volo.Abp.Http; +using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.IdentityModel; using Volo.Abp.Json; using Volo.Abp.Json.SystemTextJson; @@ -71,6 +72,11 @@ namespace Volo.Abp.Cli options.Generators[AngularServiceProxyGenerator.Name] = typeof(AngularServiceProxyGenerator); options.Generators[CSharpServiceProxyGenerator.Name] = typeof(CSharpServiceProxyGenerator); }); + + Configure(options => + { + options.EnabledAllModules = true; + }); } } } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/DynamicJavaScriptProxyOptions.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/DynamicJavaScriptProxyOptions.cs index 6aa5410fef..d542dd5854 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/DynamicJavaScriptProxyOptions.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/DynamicJavaScriptProxyOptions.cs @@ -6,6 +6,8 @@ public class DynamicJavaScriptProxyOptions { public HashSet EnabledModules { get; set; } + public bool EnabledAllModules { get; set; } + public DynamicJavaScriptProxyOptions() { EnabledModules = new HashSet { "app" }; diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/JQueryProxyScriptGenerator.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/JQueryProxyScriptGenerator.cs index d23349a231..ab161bb22d 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/JQueryProxyScriptGenerator.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/ProxyScripting/Generators/JQuery/JQueryProxyScriptGenerator.cs @@ -36,7 +36,7 @@ namespace Volo.Abp.Http.ProxyScripting.Generators.JQuery foreach (var module in model.Modules) { - if (_dynamicJavaScriptProxyOptions.EnabledModules.All(m => !m.Equals(module.Key, StringComparison.CurrentCultureIgnoreCase))) + if (!ShouldCreateModuleScript(module)) { continue; } @@ -50,6 +50,21 @@ namespace Volo.Abp.Http.ProxyScripting.Generators.JQuery return script.ToString(); } + private bool ShouldCreateModuleScript(KeyValuePair module) + { + if (_dynamicJavaScriptProxyOptions.EnabledAllModules) + { + return true; + } + + if (_dynamicJavaScriptProxyOptions.EnabledModules.Any(m => m.Equals(module.Key, StringComparison.CurrentCultureIgnoreCase))) + { + return true; + } + + return false; + } + private static void AddModuleScript(StringBuilder script, ModuleApiDescriptionModel module) { //TODO: Eleminate repeating module.RootPath.Replace("/", ".").ToCamelCase() !