From 73fadc0e02dd0ae903347077f681bfdea5ecde1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Sun, 21 Nov 2021 23:44:28 +0300 Subject: [PATCH] use file-scoped namespacing for virtualFileExplorer module --- .../AbpVirtualFileExplorerDemoAppModule.cs | 63 ++++---- ...tualFileExplorerDemoAppBrandingProvider.cs | 21 ++- .../Pages/Index.cshtml.cs | 23 ++- .../Program.cs | 61 ++++---- .../Startup.cs | 19 ++- .../AbpVirtualFileExplorerInstallerModule.cs | 23 ++- ...ualFileExplorerInstallerPipelineBuilder.cs | 15 +- .../AbpVirtualFileExplorerOptions.cs | 15 +- .../AbpVirtualFileExplorerWebModule.cs | 77 +++++----- ...mjsScriptBundleContributorDocsExtension.cs | 13 +- ...smjsStyleBundleContributorDocsExtension.cs | 11 +- .../VirtualFileExplorerResource.cs | 9 +- .../Models/FileInfoViewModel.cs | 21 ++- .../VirtualFileExplorerMenuContributor.cs | 21 ++- .../VirtualFileExplorerMenuNames.cs | 11 +- .../FileContentModal.cshtml.cs | 41 +++-- .../Pages/VirtualFileExplorer/Index.cshtml.cs | 143 +++++++++--------- .../VirtualFileExplorerPageModel.cs | 13 +- .../Properties/launchSettings.json | 27 ++++ .../VirtualFileExplorerConsts.cs | 9 +- 20 files changed, 322 insertions(+), 314 deletions(-) create mode 100644 modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Properties/launchSettings.json diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs index a48027f201..b55d7fd425 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs @@ -5,42 +5,41 @@ using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileExplorer.Web; -namespace Volo.Abp.VirtualFileExplorer.DemoApp +namespace Volo.Abp.VirtualFileExplorer.DemoApp; + +[DependsOn( + typeof(AbpAutofacModule), + typeof(AbpAspNetCoreMvcUiBasicThemeModule), + typeof(AbpVirtualFileExplorerWebModule) +)] +public class AbpVirtualFileExplorerDemoAppModule : AbpModule { - [DependsOn( - typeof(AbpAutofacModule), - typeof(AbpAspNetCoreMvcUiBasicThemeModule), - typeof(AbpVirtualFileExplorerWebModule) - )] - public class AbpVirtualFileExplorerDemoAppModule : AbpModule + public override void ConfigureServices(ServiceConfigurationContext context) { - public override void ConfigureServices(ServiceConfigurationContext context) + Configure(options => { - Configure(options => - { - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish")); - options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); - options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in")); - options.Languages.Add(new LanguageInfo("is", "is", "Icelandic", "is")); - options.Languages.Add(new LanguageInfo("it", "it", "Italiano", "it")); - options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); - options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română")); - options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - }); - } + options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); + options.Languages.Add(new LanguageInfo("en", "en", "English")); + options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish")); + options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); + options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in")); + options.Languages.Add(new LanguageInfo("is", "is", "Icelandic", "is")); + options.Languages.Add(new LanguageInfo("it", "it", "Italiano", "it")); + options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); + options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română")); + options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); + options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); + options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); + }); + } - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - var app = context.GetApplicationBuilder(); + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var app = context.GetApplicationBuilder(); - app.UseStaticFiles(); - app.UseRouting(); - app.UseAbpRequestLocalization(); - app.UseConfiguredEndpoints(); - } + app.UseStaticFiles(); + app.UseRouting(); + app.UseAbpRequestLocalization(); + app.UseConfiguredEndpoints(); } } diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Branding/AbpVirtualFileExplorerDemoAppBrandingProvider.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Branding/AbpVirtualFileExplorerDemoAppBrandingProvider.cs index ae8964cd1c..89659be15c 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Branding/AbpVirtualFileExplorerDemoAppBrandingProvider.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Branding/AbpVirtualFileExplorerDemoAppBrandingProvider.cs @@ -1,20 +1,19 @@ using Volo.Abp.Ui.Branding; using Volo.Abp.DependencyInjection; -namespace Volo.Abp.VirtualFileExplorer.DemoApp.Branding +namespace Volo.Abp.VirtualFileExplorer.DemoApp.Branding; + +[Dependency(ReplaceServices = true)] +public class AbpVirtualFileExplorerDemoAppBrandingProvider : DefaultBrandingProvider { - [Dependency(ReplaceServices = true)] - public class AbpVirtualFileExplorerDemoAppBrandingProvider : DefaultBrandingProvider + public AbpVirtualFileExplorerDemoAppBrandingProvider() { - public AbpVirtualFileExplorerDemoAppBrandingProvider() - { - AppName = "Virtual file explorer demo app"; - - - } + AppName = "Virtual file explorer demo app"; - public override string AppName { get; } - public override string LogoUrl { get; } } + + public override string AppName { get; } + + public override string LogoUrl { get; } } diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Pages/Index.cshtml.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Pages/Index.cshtml.cs index 27f305a740..779bdd97e8 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Pages/Index.cshtml.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Pages/Index.cshtml.cs @@ -6,19 +6,18 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Logging; -namespace Volo.Abp.VirtualFileExplorer.DemoApp.Pages +namespace Volo.Abp.VirtualFileExplorer.DemoApp.Pages; + +public class IndexModel : PageModel { - public class IndexModel : PageModel - { - private readonly ILogger _logger; + private readonly ILogger _logger; - public IndexModel(ILogger logger) - { - _logger = logger; - } + public IndexModel(ILogger logger) + { + _logger = logger; + } - public void OnGet() - { - } + public void OnGet() + { } -} \ No newline at end of file +} diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Program.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Program.cs index 60996fc2f0..27ef7ea355 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Program.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Program.cs @@ -4,40 +4,39 @@ using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events; -namespace Volo.Abp.VirtualFileExplorer.DemoApp +namespace Volo.Abp.VirtualFileExplorer.DemoApp; + +public class Program { - public class Program + public static int Main(string[] args) { - public static int Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Debug() - .MinimumLevel.Override("Microsoft", LogEventLevel.Information) - .Enrich.FromLogContext() - .WriteTo.File("Logs/logs.txt") - .CreateLogger(); + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Debug() + .MinimumLevel.Override("Microsoft", LogEventLevel.Information) + .Enrich.FromLogContext() + .WriteTo.File("Logs/logs.txt") + .CreateLogger(); - try - { - Log.Information("Starting web host."); - CreateHostBuilder(args).Build().Run(); - return 0; - } - catch (Exception ex) - { - Log.Fatal(ex, "Host terminated unexpectedly!"); - return 1; - } - finally - { - Log.CloseAndFlush(); - } + try + { + Log.Information("Starting web host."); + CreateHostBuilder(args).Build().Run(); + return 0; + } + catch (Exception ex) + { + Log.Fatal(ex, "Host terminated unexpectedly!"); + return 1; + } + finally + { + Log.CloseAndFlush(); } - - internal static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }) - .UseAutofac() - .UseSerilog(); } + + internal static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }) + .UseAutofac() + .UseSerilog(); } diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Startup.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Startup.cs index a60467c712..b963f84056 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Startup.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/Startup.cs @@ -3,18 +3,17 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -namespace Volo.Abp.VirtualFileExplorer.DemoApp +namespace Volo.Abp.VirtualFileExplorer.DemoApp; + +public class Startup { - public class Startup + public void ConfigureServices(IServiceCollection services) { - public void ConfigureServices(IServiceCollection services) - { - services.AddApplication(); - } + services.AddApplication(); + } - public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) - { - app.InitializeApplication(); - } + public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) + { + app.InitializeApplication(); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/AbpVirtualFileExplorerInstallerModule.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/AbpVirtualFileExplorerInstallerModule.cs index f2e0f800a5..74ffdeb7f4 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/AbpVirtualFileExplorerInstallerModule.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/AbpVirtualFileExplorerInstallerModule.cs @@ -2,20 +2,19 @@ using Volo.Abp.Studio; using Volo.Abp.VirtualFileSystem; -namespace Volo.Abp.VirtualFileExplorer +namespace Volo.Abp.VirtualFileExplorer; + +[DependsOn( + typeof(AbpStudioModuleInstallerModule), + typeof(AbpVirtualFileSystemModule) + )] +public class AbpVirtualFileExplorerInstallerModule : AbpModule { - [DependsOn( - typeof(AbpStudioModuleInstallerModule), - typeof(AbpVirtualFileSystemModule) - )] - public class AbpVirtualFileExplorerInstallerModule : AbpModule + public override void ConfigureServices(ServiceConfigurationContext context) { - public override void ConfigureServices(ServiceConfigurationContext context) + Configure(options => { - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - } + options.FileSets.AddEmbedded(); + }); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/VirtualFileExplorerInstallerPipelineBuilder.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/VirtualFileExplorerInstallerPipelineBuilder.cs index fe75a305f7..6d403dd6ab 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/VirtualFileExplorerInstallerPipelineBuilder.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Installer/Volo/Abp/VirtualFileExplorer/VirtualFileExplorerInstallerPipelineBuilder.cs @@ -3,15 +3,14 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.DependencyInjection; using Volo.Abp.Studio.ModuleInstalling; -namespace Volo.Abp.VirtualFileExplorer +namespace Volo.Abp.VirtualFileExplorer; + +[Dependency(ServiceLifetime.Transient, ReplaceServices = true)] +[ExposeServices(typeof(IModuleInstallingPipelineBuilder))] +public class VirtualFileExplorerInstallerPipelineBuilder : ModuleInstallingPipelineBuilderBase, IModuleInstallingPipelineBuilder, ITransientDependency { - [Dependency(ServiceLifetime.Transient, ReplaceServices = true)] - [ExposeServices(typeof(IModuleInstallingPipelineBuilder))] - public class VirtualFileExplorerInstallerPipelineBuilder : ModuleInstallingPipelineBuilderBase, IModuleInstallingPipelineBuilder, ITransientDependency + public async Task BuildAsync(ModuleInstallingContext context) { - public async Task BuildAsync(ModuleInstallingContext context) - { - return GetBasePipeline(context); - } + return GetBasePipeline(context); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerOptions.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerOptions.cs index 2dabdf3af9..3f6fb5b056 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerOptions.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerOptions.cs @@ -1,10 +1,9 @@ -namespace Volo.Abp.VirtualFileExplorer.Web +namespace Volo.Abp.VirtualFileExplorer.Web; + +public class AbpVirtualFileExplorerOptions { - public class AbpVirtualFileExplorerOptions - { - /// - /// Default: true. - /// - public bool IsEnabled { get; set; } = true; - } + /// + /// Default: true. + /// + public bool IsEnabled { get; set; } = true; } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs index 41c007e06d..9bf9c7aa5d 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs @@ -13,55 +13,54 @@ using Volo.Abp.VirtualFileExplorer.Web.Localization; using Volo.Abp.VirtualFileExplorer.Web.Navigation; using Volo.Abp.VirtualFileSystem; -namespace Volo.Abp.VirtualFileExplorer.Web +namespace Volo.Abp.VirtualFileExplorer.Web; + +[DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))] +[DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))] +public class AbpVirtualFileExplorerWebModule : AbpModule { - [DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))] - [DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))] - public class AbpVirtualFileExplorerWebModule : AbpModule + public override void PreConfigureServices(ServiceConfigurationContext context) { - public override void PreConfigureServices(ServiceConfigurationContext context) + PreConfigure(mvcBuilder => { - PreConfigure(mvcBuilder => - { - mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpVirtualFileExplorerWebModule).Assembly); - }); - } + mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpVirtualFileExplorerWebModule).Assembly); + }); + } - public override void ConfigureServices(ServiceConfigurationContext context) - { - var virtualFileExplorerOptions = context.Services.ExecutePreConfiguredActions(); + public override void ConfigureServices(ServiceConfigurationContext context) + { + var virtualFileExplorerOptions = context.Services.ExecutePreConfiguredActions(); - if (virtualFileExplorerOptions.IsEnabled) + if (virtualFileExplorerOptions.IsEnabled) + { + Configure(options => { - Configure(options => - { - options.MenuContributors.Add(new VirtualFileExplorerMenuContributor()); - }); + options.MenuContributors.Add(new VirtualFileExplorerMenuContributor()); + }); - Configure(options => - { - options.FileSets.AddEmbedded("Volo.Abp.VirtualFileExplorer.Web"); - }); + Configure(options => + { + options.FileSets.AddEmbedded("Volo.Abp.VirtualFileExplorer.Web"); + }); - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/Resources"); - }); + Configure(options => + { + options.Resources + .Add("en") + .AddBaseTypes(typeof(AbpValidationResource)) + .AddVirtualJson("/Localization/Resources"); + }); - Configure(options => - { - options - .Extensions() - .Add(); + Configure(options => + { + options + .Extensions() + .Add(); - options - .Extensions() - .Add(); - }); - } + options + .Extensions() + .Add(); + }); } } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs index 5c4df54812..e8884fe846 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs @@ -1,14 +1,13 @@ using System.Collections.Generic; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -namespace Volo.Abp.VirtualFileExplorer.Web.Bundling +namespace Volo.Abp.VirtualFileExplorer.Web.Bundling; + +public class PrismjsScriptBundleContributorDocsExtension : BundleContributor { - public class PrismjsScriptBundleContributorDocsExtension : BundleContributor + public override void ConfigureBundle(BundleConfigurationContext context) { - public override void ConfigureBundle(BundleConfigurationContext context) - { - context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.js"); - context.Files.AddIfNotContains("/libs/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.js"); - } + context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.js"); + context.Files.AddIfNotContains("/libs/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.js"); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs index 7ea9b143d7..4e262bc46c 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Bundling/PrismjsStyleBundleContributorDocsExtension.cs @@ -1,13 +1,12 @@ using System.Collections.Generic; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -namespace Volo.Abp.VirtualFileExplorer.Web.Bundling +namespace Volo.Abp.VirtualFileExplorer.Web.Bundling; + +public class PrismjsStyleBundleContributorDocsExtension : BundleContributor { - public class PrismjsStyleBundleContributorDocsExtension : BundleContributor + public override void ConfigureBundle(BundleConfigurationContext context) { - public override void ConfigureBundle(BundleConfigurationContext context) - { - context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.css"); - } + context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.css"); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/VirtualFileExplorerResource.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/VirtualFileExplorerResource.cs index f7586b73e9..78f1e6eb4b 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/VirtualFileExplorerResource.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/VirtualFileExplorerResource.cs @@ -1,10 +1,9 @@ using Volo.Abp.Localization; -namespace Volo.Abp.VirtualFileExplorer.Web.Localization +namespace Volo.Abp.VirtualFileExplorer.Web.Localization; + +[LocalizationResourceName("AbpVirtualFileExplorer")] +public class VirtualFileExplorerResource { - [LocalizationResourceName("AbpVirtualFileExplorer")] - public class VirtualFileExplorerResource - { - } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Models/FileInfoViewModel.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Models/FileInfoViewModel.cs index 43f2e57797..e17f4d421f 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Models/FileInfoViewModel.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Models/FileInfoViewModel.cs @@ -1,21 +1,20 @@ using System; -namespace Volo.Abp.VirtualFileExplorer.Web.Models +namespace Volo.Abp.VirtualFileExplorer.Web.Models; + +public class FileInfoViewModel { - public class FileInfoViewModel - { - public string FilePath { get; set; } + public string FilePath { get; set; } - public string Icon { get; set; } + public string Icon { get; set; } - public string FileType { get; set; } + public string FileType { get; set; } - public string Length { get; set; } + public string Length { get; set; } - public string FileName { get; set; } + public string FileName { get; set; } - public DateTime LastUpdateTime { get; set; } + public DateTime LastUpdateTime { get; set; } - public bool IsDirectory { get; set; } - } + public bool IsDirectory { get; set; } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuContributor.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuContributor.cs index 5555a054f5..a47f7585ad 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuContributor.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuContributor.cs @@ -4,22 +4,21 @@ using Microsoft.Extensions.Localization; using Volo.Abp.UI.Navigation; using Volo.Abp.VirtualFileExplorer.Web.Localization; -namespace Volo.Abp.VirtualFileExplorer.Web.Navigation +namespace Volo.Abp.VirtualFileExplorer.Web.Navigation; + +public class VirtualFileExplorerMenuContributor : IMenuContributor { - public class VirtualFileExplorerMenuContributor : IMenuContributor + public virtual Task ConfigureMenuAsync(MenuConfigurationContext context) { - public virtual Task ConfigureMenuAsync(MenuConfigurationContext context) + if (context.Menu.Name != StandardMenus.Main) { - if (context.Menu.Name != StandardMenus.Main) - { - return Task.CompletedTask; - } + return Task.CompletedTask; + } - var l = context.GetLocalizer(); + var l = context.GetLocalizer(); - context.Menu.Items.Add(new ApplicationMenuItem(VirtualFileExplorerMenuNames.Index, l["Menu:VirtualFileExplorer"], icon: "fa fa-file", url: "~/VirtualFileExplorer")); + context.Menu.Items.Add(new ApplicationMenuItem(VirtualFileExplorerMenuNames.Index, l["Menu:VirtualFileExplorer"], icon: "fa fa-file", url: "~/VirtualFileExplorer")); - return Task.CompletedTask; - } + return Task.CompletedTask; } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuNames.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuNames.cs index bcb87d2578..9a8f1c8971 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuNames.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Navigation/VirtualFileExplorerMenuNames.cs @@ -1,9 +1,8 @@ -namespace Volo.Abp.VirtualFileExplorer.Web.Navigation +namespace Volo.Abp.VirtualFileExplorer.Web.Navigation; + +public class VirtualFileExplorerMenuNames { - public class VirtualFileExplorerMenuNames - { - public const string GroupName = "AbpVirualFileExplorer"; + public const string GroupName = "AbpVirualFileExplorer"; - public const string Index = GroupName + ".Index"; - } + public const string Index = GroupName + ".Index"; } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/FileContentModal.cshtml.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/FileContentModal.cshtml.cs index 81e09b5cd2..181028eabd 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/FileContentModal.cshtml.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/FileContentModal.cshtml.cs @@ -6,34 +6,33 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.FileProviders; using Volo.Abp.VirtualFileSystem; -namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer +namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer; + +public class FileContentModal : PageModel { - public class FileContentModal : PageModel - { - [Required] - [BindProperty(SupportsGet = true)] - public string FilePath { get; set; } + [Required] + [BindProperty(SupportsGet = true)] + public string FilePath { get; set; } - public string Content { get; set; } + public string Content { get; set; } - protected IVirtualFileProvider VirtualFileProvider { get; } + protected IVirtualFileProvider VirtualFileProvider { get; } - public FileContentModal(IVirtualFileProvider virtualFileProvider) - { - VirtualFileProvider = virtualFileProvider; - } + public FileContentModal(IVirtualFileProvider virtualFileProvider) + { + VirtualFileProvider = virtualFileProvider; + } - public virtual async Task OnGetAsync() + public virtual async Task OnGetAsync() + { + var fileInfo = VirtualFileProvider.GetFileInfo(FilePath); + if (fileInfo == null || fileInfo.IsDirectory) { - var fileInfo = VirtualFileProvider.GetFileInfo(FilePath); - if (fileInfo == null || fileInfo.IsDirectory) - { - return NotFound(); - } + return NotFound(); + } - Content = await fileInfo.ReadAsStringAsync(); + Content = await fileInfo.ReadAsStringAsync(); - return Page(); - } + return Page(); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs index 14f9fc581f..fb8fab07c0 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs @@ -9,107 +9,106 @@ using Volo.Abp.VirtualFileExplorer.Web.Models; using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem.Embedded; -namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer +namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer; + +public class IndexModel : VirtualFileExplorerPageModel { - public class IndexModel : VirtualFileExplorerPageModel - { - [BindProperty(SupportsGet = true)] - public string Path { get; set; } = "/"; + [BindProperty(SupportsGet = true)] + public string Path { get; set; } = "/"; - [BindProperty(SupportsGet = true)] - public int CurrentPage { get; set; } = 1; + [BindProperty(SupportsGet = true)] + public int CurrentPage { get; set; } = 1; - [BindProperty(SupportsGet = true)] - public int PageSize { get; set; } = 10; + [BindProperty(SupportsGet = true)] + public int PageSize { get; set; } = 10; - public List FileInfoList { get; set; } + public List FileInfoList { get; set; } - public PagerModel PagerModel { get; set; } + public PagerModel PagerModel { get; set; } - public string PathNavigation { get; set; } + public string PathNavigation { get; set; } - protected IVirtualFileProvider VirtualFileProvider { get; } + protected IVirtualFileProvider VirtualFileProvider { get; } - public IndexModel(IVirtualFileProvider virtualFileProvider) - { - VirtualFileProvider = virtualFileProvider; - } + public IndexModel(IVirtualFileProvider virtualFileProvider) + { + VirtualFileProvider = virtualFileProvider; + } - public virtual IActionResult OnGet() - { - var query = VirtualFileProvider.GetDirectoryContents(Path) - .Where(d => VirtualFileExplorerConsts.AllowFileInfoTypes.Contains(d.GetType().Name)) - .OrderByDescending(f => f.IsDirectory).ToList(); + public virtual IActionResult OnGet() + { + var query = VirtualFileProvider.GetDirectoryContents(Path) + .Where(d => VirtualFileExplorerConsts.AllowFileInfoTypes.Contains(d.GetType().Name)) + .OrderByDescending(f => f.IsDirectory).ToList(); - PagerModel = new PagerModel(query.Count, PageSize, CurrentPage, PageSize, $"{Url.Content("~/")}VirtualFileExplorer?Path={Path}&PageSize={PageSize}"); + PagerModel = new PagerModel(query.Count, PageSize, CurrentPage, PageSize, $"{Url.Content("~/")}VirtualFileExplorer?Path={Path}&PageSize={PageSize}"); - SetViewModel(query.Skip((CurrentPage - 1) * PageSize).Take(PageSize)); - SetPathNavigation(); + SetViewModel(query.Skip((CurrentPage - 1) * PageSize).Take(PageSize)); + SetPathNavigation(); - return Page(); - } + return Page(); + } - private void SetViewModel(IEnumerable fileInfos) - { - FileInfoList = new List(); + private void SetViewModel(IEnumerable fileInfos) + { + FileInfoList = new List(); - foreach (var fileInfo in fileInfos) + foreach (var fileInfo in fileInfos) + { + var fileInfoViewModel = new FileInfoViewModel() { - var fileInfoViewModel = new FileInfoViewModel() - { - IsDirectory = fileInfo.IsDirectory, - Icon = "fas fa-file", - FileType = "file", - Length = fileInfo.Length+" bytes", - FileName = fileInfo.Name, - LastUpdateTime = fileInfo.LastModified.LocalDateTime - }; + IsDirectory = fileInfo.IsDirectory, + Icon = "fas fa-file", + FileType = "file", + Length = fileInfo.Length + " bytes", + FileName = fileInfo.Name, + LastUpdateTime = fileInfo.LastModified.LocalDateTime + }; - var filePath = fileInfo.PhysicalPath ?? $"{Path.EnsureEndsWith('/')}{fileInfo.Name}";; + var filePath = fileInfo.PhysicalPath ?? $"{Path.EnsureEndsWith('/')}{fileInfo.Name}"; ; - if (fileInfo.IsDirectory) + if (fileInfo.IsDirectory) + { + fileInfoViewModel.Icon = "fas fa-folder"; + fileInfoViewModel.FileType = "folder"; + fileInfoViewModel.Length = "/"; + fileInfoViewModel.FileName = $"{fileInfo.Name}"; + } + else + { + if (fileInfo is EmbeddedResourceFileInfo embeddedResourceFileInfo) { - fileInfoViewModel.Icon = "fas fa-folder"; - fileInfoViewModel.FileType = "folder"; - fileInfoViewModel.Length = "/"; - fileInfoViewModel.FileName =$"{fileInfo.Name}"; + fileInfoViewModel.FilePath = embeddedResourceFileInfo.VirtualPath; } else { - if (fileInfo is EmbeddedResourceFileInfo embeddedResourceFileInfo) - { - fileInfoViewModel.FilePath = embeddedResourceFileInfo.VirtualPath; - } - else - { - fileInfoViewModel.FilePath = filePath; - } - + fileInfoViewModel.FilePath = filePath; } - FileInfoList.Add(fileInfoViewModel); } + + FileInfoList.Add(fileInfoViewModel); } + } - private void SetPathNavigation() - { - var navigationBuild = new StringBuilder(); - var pathArray = Path.Split('/').Where(p => !p.IsNullOrWhiteSpace()); - var href = $"{Url.Content("~/")}VirtualFileExplorer?path="; + private void SetPathNavigation() + { + var navigationBuild = new StringBuilder(); + var pathArray = Path.Split('/').Where(p => !p.IsNullOrWhiteSpace()); + var href = $"{Url.Content("~/")}VirtualFileExplorer?path="; - navigationBuild.Append($""); - PathNavigation = navigationBuild.ToString(); - } + PathNavigation = navigationBuild.ToString(); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/VirtualFileExplorerPageModel.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/VirtualFileExplorerPageModel.cs index 8ab1876409..d9423788b3 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/VirtualFileExplorerPageModel.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/VirtualFileExplorerPageModel.cs @@ -1,14 +1,13 @@ using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Abp.VirtualFileExplorer.Web.Localization; -namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer +namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer; + +public abstract class VirtualFileExplorerPageModel : AbpPageModel { - public abstract class VirtualFileExplorerPageModel : AbpPageModel + protected VirtualFileExplorerPageModel() { - protected VirtualFileExplorerPageModel() - { - LocalizationResourceType = typeof(VirtualFileExplorerResource); - ObjectMapperContext = typeof(AbpVirtualFileExplorerWebModule); - } + LocalizationResourceType = typeof(VirtualFileExplorerResource); + ObjectMapperContext = typeof(AbpVirtualFileExplorerWebModule); } } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Properties/launchSettings.json b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Properties/launchSettings.json new file mode 100644 index 0000000000..1f0b210b45 --- /dev/null +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Properties/launchSettings.json @@ -0,0 +1,27 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:51151/", + "sslPort": 44302 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Volo.Abp.VirtualFileExplorer.Web": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:5001;http://localhost:5000" + } + } +} \ No newline at end of file diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs index 08a5916a0a..c050bb4132 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs @@ -1,7 +1,6 @@ -namespace Volo.Abp.VirtualFileExplorer.Web +namespace Volo.Abp.VirtualFileExplorer.Web; + +public static class VirtualFileExplorerConsts { - public static class VirtualFileExplorerConsts - { - public static readonly string[] AllowFileInfoTypes = {"VirtualDirectoryFileInfo", "EmbeddedResourceFileInfo", "ManifestDirectoryInfo" , "ManifestFileInfo"}; - } + public static readonly string[] AllowFileInfoTypes = { "VirtualDirectoryFileInfo", "EmbeddedResourceFileInfo", "ManifestDirectoryInfo", "ManifestFileInfo" }; }