├── .DS_Store ├── .gitattributes ├── .gitignore ├── Directory.Packages.props ├── LICENSE ├── README.Blazor.md ├── README.WebApp.md ├── README.md ├── common.props ├── configureawait.props ├── delete-bin-obj-folders.bat ├── icon.png ├── img ├── 1.png ├── 2.png ├── 3.png └── introduce.gif ├── lsw.Abp.AntDesignUI.sln ├── lsw.Abp.AntDesignUI.slnLaunch ├── modules ├── AntDesignTheme │ ├── Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme │ │ ├── AbpAspNetCoreComponentsServerAntDesignThemeModule.cs │ │ ├── AntDesignThemeToolbarContributor.cs │ │ ├── Bundling │ │ │ ├── BlazorAntDesignThemeBundles.cs │ │ │ ├── BlazorAntDesignThemeScriptContributor.cs │ │ │ ├── BlazorAntDesignThemeStyleContributor.cs │ │ │ ├── BlazorGlobalBundles.cs │ │ │ ├── BlazorGlobalScriptContributor.cs │ │ │ ├── BlazorGlobalStyleContributor.cs │ │ │ └── BlazorServerComponentBundleManager.cs │ │ ├── FodyWeavers.xml │ │ ├── Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj │ │ └── Themes │ │ │ └── AntDesignTheme │ │ │ ├── LanguageSwitch.razor │ │ │ ├── LoginDisplay.razor │ │ │ ├── LoginDisplay.razor.cs │ │ │ └── _Imports.razor │ ├── Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme │ │ ├── AbpAntDesignThemeOptions.cs │ │ ├── AbpAspNetCoreComponentsWebAntDesignThemeModule.cs │ │ ├── Bundling │ │ │ ├── AbpScripts.razor │ │ │ ├── AbpStyles.razor │ │ │ └── IComponentBundleManager.cs │ │ ├── FodyWeavers.xml │ │ ├── Layout │ │ │ ├── AbpPageHeader.razor │ │ │ ├── AbpPageHeader.razor.cs │ │ │ ├── PageHeaderOptions.cs │ │ │ └── PageLayout.cs │ │ ├── Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj │ │ ├── PageToolbars │ │ │ ├── IPageToolbarContributor.cs │ │ │ ├── IPageToolbarManager.cs │ │ │ ├── PageToolbar.cs │ │ │ ├── PageToolbarContributionContext.cs │ │ │ ├── PageToolbarContributor.cs │ │ │ ├── PageToolbarContributorList.cs │ │ │ ├── PageToolbarDictionary.cs │ │ │ ├── PageToolbarExtensions.cs │ │ │ ├── PageToolbarItem.cs │ │ │ ├── PageToolbarItemList.cs │ │ │ ├── PageToolbarManager.cs │ │ │ └── SimplePageToolbarContributor.cs │ │ ├── Routing │ │ │ ├── AbpRouterOptions.cs │ │ │ └── RouterAssemblyList.cs │ │ ├── Settings │ │ │ ├── AntDesignSettingDefinitionProvider.cs │ │ │ ├── AntDesignSettingNames.cs │ │ │ ├── AntDesignSettingsProvider.cs │ │ │ ├── IAntDesignSettingsProvider.cs │ │ │ └── MenuPlacement.cs │ │ ├── Themes │ │ │ └── AntDesignTheme │ │ │ │ ├── App.razor │ │ │ │ ├── AppWithoutAuth.razor │ │ │ │ ├── Branding.razor │ │ │ │ ├── Branding.razor.cs │ │ │ │ ├── DefaultLayout.razor │ │ │ │ ├── DefaultLayout.razor.cs │ │ │ │ ├── MainMenu.razor │ │ │ │ ├── MainMenu.razor.cs │ │ │ │ ├── MainMenuItem.razor │ │ │ │ ├── MainMenuItem.razor.cs │ │ │ │ ├── NavToolbar.razor │ │ │ │ ├── NavToolbar.razor.cs │ │ │ │ └── RedirectToLogin.razor │ │ ├── Toolbars │ │ │ ├── AbpToolbarOptions.cs │ │ │ ├── IToolbarConfigurationContext.cs │ │ │ ├── IToolbarContributor.cs │ │ │ ├── IToolbarManager.cs │ │ │ ├── StandardToolbars.cs │ │ │ ├── Toolbar.cs │ │ │ ├── ToolbarConfigurationContext.cs │ │ │ ├── ToolbarItem.cs │ │ │ └── ToolbarManager.cs │ │ ├── _Imports.razor │ │ └── wwwroot │ │ │ └── libs │ │ │ └── abp │ │ │ └── css │ │ │ └── theme.css │ └── Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme │ │ ├── AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule.cs │ │ ├── AntDesignThemeToolbarContributor.cs │ │ ├── AuthenticationOptions.cs │ │ ├── Bundling │ │ └── WebAssemblyComponentBundleManager.cs │ │ ├── ComponentsComponentsBundleContributor.cs │ │ ├── FodyWeavers.xml │ │ ├── Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj │ │ ├── Pages │ │ └── Authentication.razor │ │ └── Themes │ │ └── AntDesignTheme │ │ ├── LanguageSwitch.razor │ │ ├── LoginDisplay.razor │ │ ├── LoginDisplay.razor.cs │ │ ├── WebAssemblyRedirectToLogin.razor │ │ └── _Imports.razor ├── FeatureManagement │ ├── Lsw.Abp.FeatureManagement.Blazor.AntDesignUI │ │ ├── AbpFeatureManagementBlazorAntDesignModule.cs │ │ ├── AbpFeatureManagementComponentBase.cs │ │ ├── Components │ │ │ ├── FeatureManagementModal.razor │ │ │ └── FeatureManagementModal.razor.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj │ ├── Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI │ │ ├── AbpFeatureManagementBlazorWebServerAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj │ └── Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI │ │ ├── AbpFeatureManagementBlazorWebAssemblyAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj ├── IdentityManagement │ ├── Lsw.Abp.IdentityManagement.Blazor.AntDesignUI │ │ ├── AbpIdentityBlazorAntDesignAutoMapperProfile.cs │ │ ├── AbpIdentityBlazorAntDesignModule.cs │ │ ├── AbpIdentityWebMainMenuContributor.cs │ │ ├── FodyWeavers.xml │ │ ├── IdentityMenuNames.cs │ │ ├── Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj │ │ ├── Pages │ │ │ ├── RoleManagement.razor │ │ │ ├── RoleManagement.razor.cs │ │ │ ├── RoleNameComponent.razor │ │ │ ├── RoleNameComponent.razor.cs │ │ │ ├── UserManagement.razor │ │ │ └── UserManagement.razor.cs │ │ └── _Imports.razor │ ├── Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI │ │ ├── AbpIdentityBlazorServerAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj │ └── Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI │ │ ├── AbpIdentityBlazorWebAssemblyAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj ├── PermissionManagement │ ├── Lsw.Abp.PermissionManagement.Blazor.AntDesignUI │ │ ├── AbpPermissionManagementBlazorAntDesignModule.cs │ │ ├── Components │ │ │ ├── PermissionManagementModal.razor │ │ │ └── PermissionManagementModal.razor.cs │ │ ├── FodyWeavers.xml │ │ ├── Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj │ │ └── _Imports.razor │ ├── Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI │ │ ├── AbpPermissionManagementBlazorServerAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj │ └── Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI │ │ ├── AbpPermissionManagementBlazorWebAssemblyAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj ├── SettingManagement │ ├── Lsw.Abp.SettingManagement.Blazor.AntDesignUI │ │ ├── AbpSettingManagementBlazorAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ ├── ISettingComponentContributor.cs │ │ ├── Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj │ │ ├── Pages │ │ │ └── SettingManagement │ │ │ │ ├── AntDesignThemeGroup │ │ │ │ ├── AntDesignThemeGroupViewComponent.razor │ │ │ │ └── AntDesignThemeGroupViewComponent.razor.cs │ │ │ │ ├── EmailSettingGroup │ │ │ │ ├── EmailSettingGroupViewComponent.razor │ │ │ │ └── EmailSettingGroupViewComponent.razor.cs │ │ │ │ ├── SettingManagement.razor │ │ │ │ ├── SettingManagement.razor.cs │ │ │ │ └── TimeZoneSettingGroup │ │ │ │ ├── TimeZoneSettingGroupViewComponent.razor │ │ │ │ └── TimeZoneSettingGroupViewComponent.razor.cs │ │ ├── SettingComponentCreationContext.cs │ │ ├── SettingComponentGroup.cs │ │ ├── SettingManagementBlazorAutoMapperProfile.cs │ │ ├── SettingManagementComponentOptions.cs │ │ ├── SettingManagementMenuContributor.cs │ │ ├── SettingManagementMenus.cs │ │ ├── Settings │ │ │ ├── AntDesignSettingDefultPageContributor.cs │ │ │ └── AntDesignTimeZonePageContributor.cs │ │ └── _Imports.razor │ ├── Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI │ │ ├── AbpSettingManagementBlazorServerAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj │ └── Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI │ │ ├── AbpSettingManagementBlazorWebAssemblyAntDesignModule.cs │ │ ├── FodyWeavers.xml │ │ └── Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj └── TenantManagement │ ├── Lsw.Abp.TenantManagement.Blazor.AntDesignUI │ ├── AbpTenantManagementBlazorAntDesignModule.cs │ ├── AbpTenantManagementBlazorAutoMapperProfile.cs │ ├── FodyWeavers.xml │ ├── Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj │ ├── Pages │ │ ├── TenantManagement.razor │ │ └── TenantManagement.razor.cs │ ├── TenantManagementBlazorMenuContributor.cs │ ├── TenantManagementMenuNames.cs │ └── _Imports.razor │ ├── Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI │ ├── AbpTenantManagementBlazorServerAntDesignModule.cs │ ├── FodyWeavers.xml │ └── Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj │ └── Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI │ ├── AbpTenantManagementBlazorWebAssemblyAntDesignModule.cs │ ├── FodyWeavers.xml │ └── Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj ├── nuget ├── 0 ├── pack.ps1 └── push_packages.ps1 ├── samples ├── .DS_Store ├── BookStore │ ├── .gitattributes │ ├── .gitignore │ ├── .prettierrc │ ├── BookStore.sln │ ├── BookStore.sln.DotSettings │ ├── common.props │ ├── src │ │ ├── BookStore.Application.Contracts │ │ │ ├── BookStore.Application.Contracts.csproj │ │ │ ├── BookStoreApplicationContractsModule.cs │ │ │ ├── BookStoreDtoExtensions.cs │ │ │ └── Permissions │ │ │ │ ├── BookStorePermissionDefinitionProvider.cs │ │ │ │ └── BookStorePermissions.cs │ │ ├── BookStore.Application │ │ │ ├── BookStore.Application.csproj │ │ │ ├── BookStoreAppService.cs │ │ │ ├── BookStoreApplicationAutoMapperProfile.cs │ │ │ ├── BookStoreApplicationModule.cs │ │ │ └── Properties │ │ │ │ └── AssemblyInfo.cs │ │ ├── BookStore.Blazor │ │ │ ├── BookStore.Blazor.csproj │ │ │ ├── BookStoreBlazorAutoMapperProfile.cs │ │ │ ├── BookStoreBlazorModule.cs │ │ │ ├── BookStoreBrandingProvider.cs │ │ │ ├── BookStoreBundleContributor.cs │ │ │ ├── BookStoreComponentBase.cs │ │ │ ├── Menus │ │ │ │ ├── BookStoreMenuContributor.cs │ │ │ │ └── BookStoreMenus.cs │ │ │ ├── Pages │ │ │ │ ├── Index.razor │ │ │ │ ├── Index.razor.cs │ │ │ │ └── Index.razor.css │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── _Imports.razor │ │ │ └── wwwroot │ │ │ │ ├── appsettings.Development.json │ │ │ │ ├── appsettings.json │ │ │ │ ├── favicon.ico │ │ │ │ ├── global.css │ │ │ │ ├── global.js │ │ │ │ ├── index.html │ │ │ │ ├── logo.svg │ │ │ │ └── main.css │ │ ├── BookStore.BlazorServer │ │ │ ├── BookStore.BlazorServer.csproj │ │ │ ├── BookStoreBlazorModule.cs │ │ │ ├── BookStoreBrandingProvider.cs │ │ │ ├── BookStoreComponentBase.cs │ │ │ ├── Menus │ │ │ │ ├── BookStoreMenuContributor.cs │ │ │ │ └── BookStoreMenus.cs │ │ │ ├── Pages │ │ │ │ ├── Index.razor │ │ │ │ ├── Index.razor.cs │ │ │ │ ├── Index.razor.css │ │ │ │ ├── _Host.cshtml │ │ │ │ └── _ViewImports.cshtml │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── _Imports.razor │ │ │ ├── abp.resourcemapping.js │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── appsettings.secrets.json │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── tempkey.jwk │ │ │ ├── wwwroot │ │ │ │ ├── blazor-global-styles.css │ │ │ │ ├── favicon.ico │ │ │ │ └── global-styles.css │ │ │ └── yarn.lock │ │ ├── BookStore.DbMigrator │ │ │ ├── BookStore.DbMigrator.csproj │ │ │ ├── BookStoreDbMigratorModule.cs │ │ │ ├── DbMigratorHostedService.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── appsettings.json │ │ │ ├── appsettings.secrets.json │ │ │ ├── tempkey.jwk │ │ │ └── tempkey.rsa │ │ ├── BookStore.Domain.Shared │ │ │ ├── BookStore.Domain.Shared.csproj │ │ │ ├── BookStoreDomainErrorCodes.cs │ │ │ ├── BookStoreDomainSharedModule.cs │ │ │ ├── BookStoreGlobalFeatureConfigurator.cs │ │ │ ├── BookStoreModuleExtensionConfigurator.cs │ │ │ ├── Identity │ │ │ │ └── IdentityUserType.cs │ │ │ ├── Localization │ │ │ │ ├── BookStore │ │ │ │ │ ├── ar.json │ │ │ │ │ ├── cs.json │ │ │ │ │ ├── de-DE.json │ │ │ │ │ ├── en-GB.json │ │ │ │ │ ├── en.json │ │ │ │ │ ├── es.json │ │ │ │ │ ├── fi.json │ │ │ │ │ ├── fr.json │ │ │ │ │ ├── hi.json │ │ │ │ │ ├── hu.json │ │ │ │ │ ├── is.json │ │ │ │ │ ├── it.json │ │ │ │ │ ├── nl.json │ │ │ │ │ ├── pl-PL.json │ │ │ │ │ ├── pt-BR.json │ │ │ │ │ ├── ro-RO.json │ │ │ │ │ ├── ru.json │ │ │ │ │ ├── sk.json │ │ │ │ │ ├── sl.json │ │ │ │ │ ├── tr.json │ │ │ │ │ ├── vi.json │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ └── zh-Hant.json │ │ │ │ └── BookStoreResource.cs │ │ │ └── MultiTenancy │ │ │ │ └── MultiTenancyConsts.cs │ │ ├── BookStore.Domain │ │ │ ├── BookStore.Domain.csproj │ │ │ ├── BookStoreConsts.cs │ │ │ ├── BookStoreDomainModule.cs │ │ │ ├── Data │ │ │ │ ├── BookStoreDbMigrationService.cs │ │ │ │ ├── IBookStoreDbSchemaMigrator.cs │ │ │ │ └── NullBookStoreDbSchemaMigrator.cs │ │ │ ├── IdentityServer │ │ │ │ └── IdentityServerDataSeedContributor.cs │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ └── Settings │ │ │ │ ├── BookStoreSettingDefinitionProvider.cs │ │ │ │ └── BookStoreSettings.cs │ │ ├── BookStore.EntityFrameworkCore │ │ │ ├── BookStore.EntityFrameworkCore.csproj │ │ │ ├── EntityFrameworkCore │ │ │ │ ├── BookStoreDbContext.cs │ │ │ │ ├── BookStoreDbContextFactory.cs │ │ │ │ ├── BookStoreEfCoreEntityExtensionMappings.cs │ │ │ │ ├── BookStoreEntityFrameworkCoreModule.cs │ │ │ │ └── EntityFrameworkCoreBookStoreDbSchemaMigrator.cs │ │ │ ├── Migrations │ │ │ │ ├── 20250516090951_initial.Designer.cs │ │ │ │ ├── 20250516090951_initial.cs │ │ │ │ └── BookStoreDbContextModelSnapshot.cs │ │ │ └── Properties │ │ │ │ └── AssemblyInfo.cs │ │ ├── BookStore.HttpApi.Client │ │ │ ├── BookStore.HttpApi.Client.csproj │ │ │ └── BookStoreHttpApiClientModule.cs │ │ ├── BookStore.HttpApi.Host │ │ │ ├── BookStore.HttpApi.Host.csproj │ │ │ ├── BookStoreBrandingProvider.cs │ │ │ ├── BookStoreHttpApiHostModule.cs │ │ │ ├── Controllers │ │ │ │ └── HomeController.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ ├── abp.resourcemapping.js │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── appsettings.secrets.json │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── tempkey.jwk │ │ │ ├── tempkey.rsa │ │ │ ├── wwwroot │ │ │ │ └── global-styles.css │ │ │ └── yarn.lock │ │ └── BookStore.HttpApi │ │ │ ├── BookStore.HttpApi.csproj │ │ │ ├── BookStoreHttpApiModule.cs │ │ │ ├── Controllers │ │ │ └── BookStoreController.cs │ │ │ └── Models │ │ │ └── Test │ │ │ └── TestModel.cs │ └── test │ │ ├── BookStore.Application.Tests │ │ ├── BookStore.Application.Tests.csproj │ │ ├── BookStoreApplicationTestBase.cs │ │ ├── BookStoreApplicationTestModule.cs │ │ └── Samples │ │ │ └── SampleAppServiceTests.cs │ │ ├── BookStore.Domain.Tests │ │ ├── BookStore.Domain.Tests.csproj │ │ ├── BookStoreDomainTestBase.cs │ │ ├── BookStoreDomainTestModule.cs │ │ └── Samples │ │ │ └── SampleDomainTests.cs │ │ ├── BookStore.EntityFrameworkCore.Tests │ │ ├── BookStore.EntityFrameworkCore.Tests.csproj │ │ └── EntityFrameworkCore │ │ │ ├── BookStoreEntityFrameworkCoreTestBase.cs │ │ │ ├── BookStoreEntityFrameworkCoreTestModule.cs │ │ │ └── Samples │ │ │ └── SampleRepositoryTests.cs │ │ ├── BookStore.HttpApi.Client.ConsoleTestApp │ │ ├── BookStore.HttpApi.Client.ConsoleTestApp.csproj │ │ ├── BookStoreConsoleApiClientModule.cs │ │ ├── ClientDemoService.cs │ │ ├── ConsoleTestAppHostedService.cs │ │ ├── Program.cs │ │ ├── appsettings.json │ │ └── appsettings.secrets.json │ │ └── BookStore.TestBase │ │ ├── BookStore.TestBase.csproj │ │ ├── BookStoreTestBase.cs │ │ ├── BookStoreTestBaseModule.cs │ │ ├── BookStoreTestDataSeedContributor.cs │ │ └── Security │ │ └── FakeCurrentPrincipalAccessor.cs └── BookStoreWebApp │ ├── .DS_Store │ ├── .gitattributes │ ├── .gitignore │ ├── .prettierrc │ ├── BookStoreWebApp.sln │ ├── BookStoreWebApp.sln.DotSettings │ ├── README.md │ ├── common.props │ ├── src │ ├── BookStoreWebApp.Application.Contracts │ │ ├── BookStoreWebApp.Application.Contracts.csproj │ │ ├── BookStoreWebAppApplicationContractsModule.cs │ │ ├── BookStoreWebAppDtoExtensions.cs │ │ └── Permissions │ │ │ ├── BookStoreWebAppPermissionDefinitionProvider.cs │ │ │ └── BookStoreWebAppPermissions.cs │ ├── BookStoreWebApp.Application │ │ ├── BookStoreWebApp.Application.csproj │ │ ├── BookStoreWebAppAppService.cs │ │ ├── BookStoreWebAppApplicationAutoMapperProfile.cs │ │ ├── BookStoreWebAppApplicationModule.cs │ │ └── Properties │ │ │ └── AssemblyInfo.cs │ ├── BookStoreWebApp.Blazor.Client │ │ ├── BookStoreWebApp.Blazor.Client.csproj │ │ ├── BookStoreWebAppBlazorAutoMapperProfile.cs │ │ ├── BookStoreWebAppBlazorClientModule.cs │ │ ├── BookStoreWebAppBrandingProvider.cs │ │ ├── BookStoreWebAppBundleContributor.cs │ │ ├── BookStoreWebAppComponentBase.cs │ │ ├── Menus │ │ │ ├── BookStoreWebAppMenuContributor.cs │ │ │ └── BookStoreWebAppMenus.cs │ │ ├── Pages │ │ │ ├── Index.razor │ │ │ ├── Index.razor.cs │ │ │ └── Index.razor.css │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Routes.razor │ │ ├── _Imports.razor │ │ └── wwwroot │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── appsettings.secrets.json │ │ │ ├── global.css │ │ │ ├── global.js │ │ │ ├── icon-192.png │ │ │ ├── icon-512.png │ │ │ ├── main.css │ │ │ ├── manifest.json │ │ │ ├── service-worker.js │ │ │ └── service-worker.published.js │ ├── BookStoreWebApp.Blazor │ │ ├── BookStoreWebApp.Blazor.csproj │ │ ├── BookStoreWebAppBlazorModule.cs │ │ ├── BookStoreWebAppBrandingProvider.cs │ │ ├── BookStoreWebAppComponentBase.cs │ │ ├── Components │ │ │ └── App.razor │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── _Imports.razor │ │ ├── abp.resourcemapping.js │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── appsettings.secrets.json │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── web.config │ │ ├── wwwroot │ │ │ ├── blazor-global-styles.css │ │ │ ├── favicon.ico │ │ │ ├── global-styles.css │ │ │ └── images │ │ │ │ └── logo │ │ │ │ └── leptonx │ │ │ │ ├── logo-dark-thumbnail.png │ │ │ │ ├── logo-dark.png │ │ │ │ ├── logo-light-thumbnail.png │ │ │ │ └── logo-light.png │ │ └── yarn.lock │ ├── BookStoreWebApp.DbMigrator │ │ ├── BookStoreWebApp.DbMigrator.csproj │ │ ├── BookStoreWebAppDbMigratorModule.cs │ │ ├── DbMigratorHostedService.cs │ │ ├── Program.cs │ │ ├── appsettings.json │ │ └── appsettings.secrets.json │ ├── BookStoreWebApp.Domain.Shared │ │ ├── BookStoreWebApp.Domain.Shared.csproj │ │ ├── BookStoreWebAppDomainErrorCodes.cs │ │ ├── BookStoreWebAppDomainSharedModule.cs │ │ ├── BookStoreWebAppGlobalFeatureConfigurator.cs │ │ ├── BookStoreWebAppModuleExtensionConfigurator.cs │ │ ├── Localization │ │ │ ├── BookStoreWebApp │ │ │ │ ├── ar.json │ │ │ │ ├── cs.json │ │ │ │ ├── de.json │ │ │ │ ├── en-GB.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ ├── fi.json │ │ │ │ ├── fr.json │ │ │ │ ├── hi.json │ │ │ │ ├── hr.json │ │ │ │ ├── hu.json │ │ │ │ ├── is.json │ │ │ │ ├── it.json │ │ │ │ ├── nl.json │ │ │ │ ├── pl-PL.json │ │ │ │ ├── pt-BR.json │ │ │ │ ├── ro-RO.json │ │ │ │ ├── ru.json │ │ │ │ ├── sk.json │ │ │ │ ├── sl.json │ │ │ │ ├── tr.json │ │ │ │ ├── vi.json │ │ │ │ ├── zh-Hans.json │ │ │ │ └── zh-Hant.json │ │ │ └── BookStoreWebAppResource.cs │ │ └── MultiTenancy │ │ │ └── MultiTenancyConsts.cs │ ├── BookStoreWebApp.Domain │ │ ├── BookStoreWebApp.Domain.csproj │ │ ├── BookStoreWebAppConsts.cs │ │ ├── BookStoreWebAppDomainModule.cs │ │ ├── Data │ │ │ ├── BookStoreWebAppDbMigrationService.cs │ │ │ ├── IBookStoreWebAppDbSchemaMigrator.cs │ │ │ └── NullBookStoreWebAppDbSchemaMigrator.cs │ │ ├── OpenIddict │ │ │ └── OpenIddictDataSeedContributor.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── Settings │ │ │ ├── BookStoreWebAppSettingDefinitionProvider.cs │ │ │ └── BookStoreWebAppSettings.cs │ ├── BookStoreWebApp.HttpApi.Client │ │ ├── BookStoreWebApp.HttpApi.Client.csproj │ │ └── BookStoreWebAppHttpApiClientModule.cs │ ├── BookStoreWebApp.HttpApi │ │ ├── BookStoreWebApp.HttpApi.csproj │ │ ├── BookStoreWebAppHttpApiModule.cs │ │ ├── Controllers │ │ │ └── BookStoreWebAppController.cs │ │ └── Models │ │ │ └── Test │ │ │ └── TestModel.cs │ └── BookStoreWebApp.MongoDB │ │ ├── BookStoreWebApp.MongoDB.csproj │ │ ├── MongoDb │ │ ├── BookStoreWebAppMongoDbContext.cs │ │ ├── BookStoreWebAppMongoDbModule.cs │ │ └── MongoDbBookStoreWebAppDbSchemaMigrator.cs │ │ └── Properties │ │ └── AssemblyInfo.cs │ └── test │ ├── BookStoreWebApp.Application.Tests │ ├── BookStoreWebApp.Application.Tests.csproj │ ├── BookStoreWebAppApplicationTestBase.cs │ ├── BookStoreWebAppApplicationTestModule.cs │ └── Samples │ │ └── SampleAppServiceTests.cs │ ├── BookStoreWebApp.Domain.Tests │ ├── BookStoreWebApp.Domain.Tests.csproj │ ├── BookStoreWebAppDomainTestBase.cs │ ├── BookStoreWebAppDomainTestModule.cs │ └── Samples │ │ └── SampleDomainTests.cs │ ├── BookStoreWebApp.HttpApi.Client.ConsoleTestApp │ ├── BookStoreWebApp.HttpApi.Client.ConsoleTestApp.csproj │ ├── BookStoreWebAppConsoleApiClientModule.cs │ ├── ClientDemoService.cs │ ├── ConsoleTestAppHostedService.cs │ ├── Program.cs │ ├── appsettings.json │ └── appsettings.secrets.json │ ├── BookStoreWebApp.MongoDB.Tests │ ├── BookStoreWebApp.MongoDB.Tests.csproj │ └── MongoDb │ │ ├── Applications │ │ └── MongoDBSampleAppServiceTests.cs │ │ ├── BookStoreWebAppMongoCollection.cs │ │ ├── BookStoreWebAppMongoDbCollectionFixtureBase.cs │ │ ├── BookStoreWebAppMongoDbFixture.cs │ │ ├── BookStoreWebAppMongoDbTestBase.cs │ │ ├── BookStoreWebAppMongoDbTestModule.cs │ │ ├── Domains │ │ └── MongoDBSampleDomainTests.cs │ │ └── Samples │ │ └── SampleRepositoryTests.cs │ └── BookStoreWebApp.TestBase │ ├── BookStoreWebApp.TestBase.csproj │ ├── BookStoreWebAppTestBase.cs │ ├── BookStoreWebAppTestBaseModule.cs │ ├── BookStoreWebAppTestConsts.cs │ ├── BookStoreWebAppTestDataSeedContributor.cs │ └── Security │ └── FakeCurrentPrincipalAccessor.cs └── src └── Lsw.Abp.AntDesignUI ├── AbpAntDesignUIModule.cs ├── AbpBreadcrumbItem.cs ├── AbpCrudPageBase.cs ├── AntDesignExtensions.cs ├── AntDesignUiMessageService.cs ├── AntDesignUiNotificationService.cs ├── AntDesignUiObjectExtensionPropertyInfoExtensions.cs ├── AntDesignUiPageProgressService.cs ├── Components ├── AbpExtensibleDataGrid.razor ├── AbpExtensibleDataGrid.razor.cs ├── ActionType.cs ├── EntityAction.razor ├── EntityAction.razor.cs ├── EntityActions.razor ├── EntityActions.razor.cs ├── ObjectExtending │ ├── CheckExtensionProperty.razor │ ├── CheckExtensionProperty.razor.cs │ ├── DateTimeExtensionProperty.razor │ ├── DateTimeExtensionProperty.razor.cs │ ├── ExtensionProperties.razor │ ├── ExtensionProperties.razor.cs │ ├── ExtensionPropertyComponentBase.cs │ ├── LookupExtensionProperty.razor │ ├── LookupExtensionProperty.razor.cs │ ├── SelectExtensionProperty.razor │ ├── SelectExtensionProperty.razor.cs │ ├── TextExtensionProperty.razor │ ├── TextExtensionProperty.razor.cs │ ├── TimeExtensionProperty.razor │ └── TimeExtensionProperty.razor.cs ├── PageAlert.razor ├── TableEntityActionsColumn.razor ├── ToolbarButton.razor ├── UiPageProgress.razor └── UiPageProgress.razor.cs ├── FodyWeavers.xml ├── Lsw.Abp.AntDesignUI.csproj ├── ObjectExtensionPropertyInfoBlazorExtensions.cs └── _Imports.razor /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/.DS_Store -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 liangshiwei 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lsw.Abp.AntDesignUI 2 | 3 | **An Abp Blazor Theme based [Ant-Design-Blazor](https://github.com/ant-design-blazor/ant-design-blazor) !** 4 | 5 | [![NuGet](https://img.shields.io/nuget/v/Lsw.Abp.AntDesignUI.svg)](https://www.nuget.org/packages/Lsw.Abp.AntDesignUI/) 6 | [![NuGet](https://img.shields.io/nuget/dt/Lsw.Abp.AntDesignUI.svg)](https://www.nuget.org/packages/Lsw.Abp.AntDesignUI/) 7 | 8 | ## Samples 9 | 10 | * [Blazor WebApp sample](/samples/BookStoreWebApp/) 11 | * [Blazor WebAssembly and Blazor server samples](/samples/BookStore/) 12 | 13 | ![1](img/1.png) 14 | ![2](img/2.png) 15 | 16 | ## Quick Start 17 | 18 | [Change the theme of the ABP project to AntBlazorTheme for Blazor WebApp.](./README.WebApp.md) 19 | 20 | [Change the theme of the ABP project to AntBlazorTheme for Blazor.](./README.Blazor.md) 21 | 22 | ## Road map 23 | 24 | Updating... 25 | -------------------------------------------------------------------------------- /common.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | latest 4 | 0.9.7 5 | https://raw.githubusercontent.com/realliangshiwei/Lsw.Abp.AntDesignUI/main/icon.png 6 | https://github.com/realLiangshiwei/Lsw.Abp.AntDesignUI 7 | MIT 8 | git 9 | https://github.com/realLiangshiwei/Lsw.Abp.AntDesignUI 10 | 11 | -------------------------------------------------------------------------------- /configureawait.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | All 6 | runtime; build; native; contentfiles; analyzers 7 | 8 | 9 | -------------------------------------------------------------------------------- /delete-bin-obj-folders.bat: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | cls 3 | 4 | ECHO Deleting all BIN and OBJ folders... 5 | ECHO. 6 | 7 | FOR /d /r . %%d in (bin,obj,LocalNuget) DO ( 8 | IF EXIST "%%d" ( 9 | ECHO %%d | FIND /I "\node_modules\" > Nul && ( 10 | ECHO.Skipping: %%d 11 | ) || ( 12 | ECHO.Deleting: %%d 13 | rd /s/q "%%d" 14 | ) 15 | ) 16 | ) 17 | 18 | ECHO. 19 | ECHO.BIN and OBJ folders have been successfully deleted. Press any key to exit. 20 | pause > nul -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/icon.png -------------------------------------------------------------------------------- /img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/img/1.png -------------------------------------------------------------------------------- /img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/img/2.png -------------------------------------------------------------------------------- /img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/img/3.png -------------------------------------------------------------------------------- /img/introduce.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/img/introduce.gif -------------------------------------------------------------------------------- /lsw.Abp.AntDesignUI.slnLaunch: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Name": "New Profile", 4 | "Projects": [ 5 | { 6 | "Path": "samples\\BookStore\\src\\BookStore.HttpApi.Host\\BookStore.HttpApi.Host.csproj", 7 | "Action": "Start" 8 | }, 9 | { 10 | "Path": "samples\\BookStore\\src\\BookStore.Blazor\\BookStore.Blazor.csproj", 11 | "Action": "Start" 12 | } 13 | ] 14 | } 15 | ] -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/AntDesignThemeToolbarContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Themes.AntDesignTheme; 3 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme; 6 | 7 | 8 | public class AntDesignThemeToolbarContributor: IToolbarContributor 9 | { 10 | public Task ConfigureToolbarAsync(IToolbarConfigurationContext context) 11 | { 12 | if (context.Toolbar.Name == StandardToolbars.Main) 13 | { 14 | context.Toolbar.Items.Add(new ToolbarItem(typeof(LanguageSwitch))); 15 | context.Toolbar.Items.Add(new ToolbarItem(typeof(LoginDisplay))); 16 | } 17 | 18 | return Task.CompletedTask; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorAntDesignThemeBundles.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 2 | 3 | public class BlazorAntDesignThemeBundles 4 | { 5 | public static class Styles 6 | { 7 | public static string Global = "Blazor.AntDesignTheme.Global"; 8 | } 9 | 10 | public static class Scripts 11 | { 12 | public static string Global = "Blazor.AntDesignTheme.Global"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorAntDesignThemeScriptContributor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.AspNetCore.Mvc.UI.Bundling; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 4 | 5 | public class BlazorAntDesignThemeScriptContributor: BundleContributor 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorAntDesignThemeStyleContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Volo.Abp.AspNetCore.Mvc.UI.Bundling; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 5 | 6 | public class BlazorAntDesignThemeStyleContributor: BundleContributor 7 | { 8 | public override void ConfigureBundle(BundleConfigurationContext context) 9 | { 10 | context.Files.AddIfNotContains("/_content/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/libs/abp/css/theme.css"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalBundles.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 2 | 3 | public class BlazorStandardBundles 4 | { 5 | public static class Styles 6 | { 7 | public static string Global = "Blazor.Global"; 8 | } 9 | 10 | public static class Scripts 11 | { 12 | public static string Global = "Blazor.Global"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalScriptContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Volo.Abp.AspNetCore.Mvc.UI.Bundling; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 5 | 6 | public class BlazorGlobalScriptContributor : BundleContributor 7 | { 8 | public override void ConfigureBundle(BundleConfigurationContext context) 9 | { 10 | context.Files.AddIfNotContains("/_framework/blazor.server.js"); 11 | context.Files.AddIfNotContains("/_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); 12 | context.Files.AddIfNotContains("/_content/AntDesign/js/ant-design-blazor.js"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Bundling/BlazorGlobalStyleContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Volo.Abp.AspNetCore.Mvc.UI.Bundling; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Bundling; 5 | 6 | public class BlazorGlobalStyleContributor : BundleContributor 7 | { 8 | public override void ConfigureBundle(BundleConfigurationContext context) 9 | { 10 | context.Files.AddIfNotContains("/_content/AntDesign/css/ant-design-blazor.css"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | net9.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Themes/AntDesignTheme/LoginDisplay.razor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Microsoft.AspNetCore.Components; 4 | using Microsoft.AspNetCore.Components.Routing; 5 | using Volo.Abp.UI.Navigation; 6 | 7 | namespace Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme.Themes.AntDesignTheme; 8 | 9 | public partial class LoginDisplay : IDisposable 10 | { 11 | [Inject] 12 | protected IMenuManager MenuManager { get; set; } 13 | 14 | protected ApplicationMenu Menu { get; set; } 15 | 16 | protected override async Task OnInitializedAsync() 17 | { 18 | Menu = await MenuManager.GetAsync(StandardMenus.User); 19 | 20 | Navigation.LocationChanged += OnLocationChanged; 21 | } 22 | 23 | protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e) 24 | { 25 | InvokeAsync(StateHasChanged); 26 | } 27 | 28 | public void Dispose() 29 | { 30 | Navigation.LocationChanged -= OnLocationChanged; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using System.Net.Http 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.JSInterop 7 | @using AntDesign 8 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAntDesignThemeOptions.cs: -------------------------------------------------------------------------------- 1 | using AntDesign; 2 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; 5 | 6 | public class AbpAntDesignThemeOptions 7 | { 8 | public MenuOptions Menu { get; set; } 9 | 10 | /// 11 | /// 是否启用多标签页 12 | /// 13 | public bool EnableMultipleTabs { get; set; } 14 | 15 | public AbpAntDesignThemeOptions() 16 | { 17 | Menu = new MenuOptions(); 18 | } 19 | } 20 | 21 | public class MenuOptions 22 | { 23 | public MenuTheme Theme { get; set; } 24 | 25 | public MenuPlacement Placement { get; set; } 26 | 27 | public MenuOptions() 28 | { 29 | Theme = MenuTheme.Dark; 30 | Placement = MenuPlacement.Left; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/AbpAspNetCoreComponentsWebAntDesignThemeModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AntDesignUI; 2 | using Microsoft.Extensions.DependencyInjection; 3 | using Volo.Abp.Modularity; 4 | using Volo.Abp.UI.Navigation; 5 | 6 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; 7 | 8 | [DependsOn( 9 | typeof(AbpAntDesignUIModule), 10 | typeof(AbpUiNavigationModule) 11 | )] 12 | public class AbpAspNetCoreComponentsWebAntDesignThemeModule : AbpModule 13 | { 14 | public override void ConfigureServices(ServiceConfigurationContext context) 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Bundling/IComponentBundleManager.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Bundling; 5 | 6 | public interface IComponentBundleManager 7 | { 8 | Task> GetStyleBundleFilesAsync(string bundleName); 9 | 10 | Task> GetScriptBundleFilesAsync(string bundleName); 11 | } 12 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageHeaderOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout; 2 | 3 | public class PageHeaderOptions 4 | { 5 | public bool RenderPageTitle { get; set; } = true; 6 | public bool RenderBreadcrumbs { get; set; } = true; 7 | public bool RenderToolbar { get; set; } = true; 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Layout/PageLayout.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | using System.ComponentModel; 3 | using Lsw.Abp.AntDesignUI; 4 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 5 | using Volo.Abp.DependencyInjection; 6 | 7 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout; 8 | 9 | public class PageLayout : IScopedDependency, INotifyPropertyChanged 10 | { 11 | private string _title; 12 | 13 | // TODO: Consider using this property for setting Page Title too. 14 | public virtual string Title 15 | { 16 | get => _title; 17 | set 18 | { 19 | _title = value; 20 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Title))); 21 | } 22 | } 23 | 24 | public virtual ObservableCollection BreadcrumbItems { get; set; } = new(); 25 | 26 | public virtual ObservableCollection ToolbarItems { get; set; } = new(); 27 | 28 | public event PropertyChangedEventHandler PropertyChanged; 29 | } 30 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | net9.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/IPageToolbarContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 5 | 6 | public interface IPageToolbarContributor 7 | { 8 | Task ContributeAsync(PageToolbarContributionContext context); 9 | } 10 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/IPageToolbarManager.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 4 | 5 | public interface IPageToolbarManager 6 | { 7 | Task GetItemsAsync(PageToolbar toolbar); 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbar.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 2 | 3 | public class PageToolbar 4 | { 5 | public PageToolbarContributorList Contributors { get; set; } 6 | 7 | public PageToolbar() 8 | { 9 | Contributors = new PageToolbarContributorList(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarContributionContext.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using System; 3 | using Volo.Abp; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 6 | 7 | public class PageToolbarContributionContext 8 | { 9 | [NotNull] 10 | public IServiceProvider ServiceProvider { get; } 11 | 12 | [NotNull] 13 | public PageToolbarItemList Items { get; } 14 | 15 | public PageToolbarContributionContext( 16 | [NotNull] IServiceProvider serviceProvider) 17 | { 18 | ServiceProvider = Check.NotNull(serviceProvider, nameof(serviceProvider)); 19 | Items = new PageToolbarItemList(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 5 | 6 | public abstract class PageToolbarContributor : IPageToolbarContributor 7 | { 8 | public abstract Task ContributeAsync(PageToolbarContributionContext context); 9 | } 10 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarContributorList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 5 | 6 | public class PageToolbarContributorList : List 7 | { 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarDictionary.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 4 | 5 | public class PageToolbarDictionary : Dictionary 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarItem.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using System; 3 | using System.Collections.Generic; 4 | using Volo.Abp; 5 | 6 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 7 | 8 | public class PageToolbarItem 9 | { 10 | [NotNull] 11 | public Type ComponentType { get; } 12 | 13 | [CanBeNull] 14 | public Dictionary Arguments { get; set; } 15 | 16 | public int Order { get; set; } 17 | 18 | public PageToolbarItem( 19 | [NotNull] Type componentType, 20 | [CanBeNull] Dictionary arguments = null, 21 | int order = 0) 22 | { 23 | ComponentType = Check.NotNull(componentType, nameof(componentType)); 24 | Arguments = arguments; 25 | Order = order; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/PageToolbars/PageToolbarItemList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; 4 | 5 | public class PageToolbarItemList : List 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Routing/AbpRouterOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; 4 | 5 | public class AbpRouterOptions 6 | { 7 | public Assembly AppAssembly { get; set; } 8 | 9 | public RouterAssemblyList AdditionalAssemblies { get; } 10 | 11 | public AbpRouterOptions() 12 | { 13 | AdditionalAssemblies = new RouterAssemblyList(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Routing/RouterAssemblyList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Reflection; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing; 5 | 6 | public class RouterAssemblyList : List 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Settings/AntDesignSettingDefinitionProvider.cs: -------------------------------------------------------------------------------- 1 | using AntDesign; 2 | using Volo.Abp.Settings; 3 | 4 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 5 | 6 | public class AntDesignSettingDefinitionProvider : SettingDefinitionProvider 7 | { 8 | public override void Define(ISettingDefinitionContext context) 9 | { 10 | context.Add( 11 | new SettingDefinition(AntDesignSettingNames.MenuPlacement, MenuPlacement.Left.ToString()), 12 | new SettingDefinition(AntDesignSettingNames.MenuTheme, MenuTheme.Dark.ToString()) 13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Settings/AntDesignSettingNames.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 2 | 3 | public class AntDesignSettingNames 4 | { 5 | public const string MenuPlacement = "AntDesignTheme.Menu.MenuPlacement"; 6 | 7 | public const string MenuTheme = "AntDesignTheme.Menu.Theme"; 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Settings/IAntDesignSettingsProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using AntDesign; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 6 | 7 | public interface IAntDesignSettingsProvider 8 | { 9 | Task GetMenuPlacementAsync(); 10 | 11 | Task GetMenuThemeAsync(); 12 | 13 | Task TriggerSettingChanged(); 14 | 15 | public event AntDesignSettingsProvider.AntDesignSettingChangedHandler SettingChanged; 16 | } 17 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Settings/MenuPlacement.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 2 | 3 | public enum MenuPlacement 4 | { 5 | Top = 1, 6 | Left = 2 7 | } 8 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/AppWithoutAuth.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.Extensions.Options 2 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing 3 | @inject IOptions RouterOptions 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 |

Sorry, there's nothing at this address.

13 |
14 |
15 |
16 | 17 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor: -------------------------------------------------------------------------------- 1 | @using Volo.Abp.Ui.Branding 2 | @inject IBrandingProvider BrandingProvider 3 | 15 | 16 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/Branding.razor.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme; 4 | 5 | public partial class Branding 6 | { 7 | [Parameter] 8 | public bool Collapsed { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenu.razor: -------------------------------------------------------------------------------- 1 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings 2 | 3 | @if (Menu != null) 4 | { 5 | foreach (var menu in Menu.Items) 6 | { 7 | 8 | } 9 | } 10 | 11 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/MainMenuItem.razor.cs: -------------------------------------------------------------------------------- 1 | using AntDesign; 2 | using Microsoft.AspNetCore.Components; 3 | using Volo.Abp.UI.Navigation; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme; 6 | 7 | public partial class MainMenuItem : ComponentBase 8 | { 9 | [Parameter] 10 | public ApplicationMenuItem Menu { get; set; } 11 | } 12 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/NavToolbar.razor: -------------------------------------------------------------------------------- 1 | @foreach (var render in ToolbarItemRenders) 2 | { 3 | @render 4 | } 5 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Themes/AntDesignTheme/RedirectToLogin.razor: -------------------------------------------------------------------------------- 1 | @inject NavigationManager Navigation 2 | 3 | @code { 4 | protected override void OnInitialized() 5 | { 6 | Navigation.NavigateTo($"account/login?returnUrl={Uri.EscapeDataString(Navigation.Uri)}", true); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/AbpToolbarOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 6 | 7 | public class AbpToolbarOptions 8 | { 9 | [NotNull] 10 | public List Contributors { get; } 11 | 12 | public AbpToolbarOptions() 13 | { 14 | Contributors = new List(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/IToolbarConfigurationContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using JetBrains.Annotations; 4 | using Microsoft.AspNetCore.Authorization; 5 | using Microsoft.Extensions.Localization; 6 | using Volo.Abp.DependencyInjection; 7 | 8 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 9 | 10 | public interface IToolbarConfigurationContext : IServiceProviderAccessor 11 | { 12 | Toolbar Toolbar { get; } 13 | 14 | IAuthorizationService AuthorizationService { get; } 15 | 16 | IStringLocalizerFactory StringLocalizerFactory { get; } 17 | 18 | Task IsGrantedAsync(string policyName); 19 | 20 | [CanBeNull] 21 | IStringLocalizer GetDefaultLocalizer(); 22 | 23 | [NotNull] 24 | public IStringLocalizer GetLocalizer(); 25 | 26 | [NotNull] 27 | public IStringLocalizer GetLocalizer(Type resourceType); 28 | } 29 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/IToolbarContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 4 | 5 | public interface IToolbarContributor 6 | { 7 | Task ConfigureToolbarAsync(IToolbarConfigurationContext context); 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/IToolbarManager.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 4 | 5 | public interface IToolbarManager 6 | { 7 | Task GetAsync(string name); 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/StandardToolbars.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 2 | 3 | public static class StandardToolbars 4 | { 5 | public const string Main = "Main"; 6 | } 7 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/Toolbar.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using Volo.Abp; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 6 | 7 | public class Toolbar 8 | { 9 | public string Name { get; } 10 | 11 | public List Items { get; } 12 | 13 | public Toolbar([NotNull] string name) 14 | { 15 | Name = Check.NotNull(name, nameof(name)); 16 | Items = new List(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/Toolbars/ToolbarItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using Volo.Abp; 4 | 5 | namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Toolbars; 6 | 7 | public class ToolbarItem 8 | { 9 | public Type ComponentType { 10 | get => _componentType; 11 | set => _componentType = Check.NotNull(value, nameof(value)); 12 | } 13 | private Type _componentType; 14 | 15 | public int Order { get; set; } 16 | 17 | public ToolbarItem([NotNull] Type componentType, int order = 0) 18 | { 19 | Order = order; 20 | ComponentType = Check.NotNull(componentType, nameof(componentType)); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Components.Authorization 3 | @using Microsoft.AspNetCore.Components.Forms 4 | @using Microsoft.AspNetCore.Components.Routing 5 | @using Microsoft.AspNetCore.Components.Web 6 | @using Microsoft.JSInterop 7 | @using AntDesign 8 | @using Lsw.Abp.AntDesignUI 9 | @using Lsw.Abp.AntDesignUI.Components 10 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/AuthenticationOptions.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; 2 | 3 | public class AuthenticationOptions 4 | { 5 | public string LoginUrl { get; set; } = "authentication/login"; 6 | 7 | public string LogoutUrl { get; set; } = "authentication/logout"; 8 | } 9 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Bundling/WebAssemblyComponentBundleManager.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Bundling; 4 | using Volo.Abp.DependencyInjection; 5 | 6 | namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.Bundling; 7 | 8 | public class WebAssemblyComponentBundleManager : IComponentBundleManager, ITransientDependency 9 | { 10 | public virtual Task> GetStyleBundleFilesAsync(string bundleName) 11 | { 12 | return Task.FromResult>(new List()); 13 | } 14 | 15 | public virtual Task> GetScriptBundleFilesAsync(string bundleName) 16 | { 17 | return Task.FromResult>(new List()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/ComponentsComponentsBundleContributor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Bundling; 2 | 3 | namespace Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; 4 | 5 | public class ComponentsComponentsBundleContributor : IBundleContributor 6 | { 7 | public void AddScripts(BundleContext context) 8 | { 9 | context.Add("_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"); 10 | context.Add("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/abp.js"); 11 | context.Add("_content/Volo.Abp.AspNetCore.Components.Web/libs/abp/js/lang-utils.js"); 12 | context.Add("_content/AntDesign/js/ant-design-blazor.js"); 13 | } 14 | 15 | public void AddStyles(BundleContext context) 16 | { 17 | context.Add("_content/AntDesign/css/ant-design-blazor.css"); 18 | context.Add("_content/Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme/libs/abp/css/theme.css"); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Pages/Authentication.razor: -------------------------------------------------------------------------------- 1 | @page "/authentication/{action}" 2 | @using Microsoft.AspNetCore.Components.WebAssembly.Authentication 3 | @using Volo.Abp.AspNetCore.Components.Web.Security 4 | @using Volo.Abp.AspNetCore.Components.WebAssembly 5 | 6 | @inject WebAssemblyCachedApplicationConfigurationClient WebAssemblyCachedApplicationConfigurationClient 7 | 8 | @code{ 9 | [Parameter] public string Action { get; set; } 10 | 11 | 12 | private async Task OnLogInSucceeded(RemoteAuthenticationState state) 13 | { 14 | await WebAssemblyCachedApplicationConfigurationClient.InitializeAsync(); 15 | } 16 | 17 | private async Task OnLogOutSucceeded(RemoteAuthenticationState state) 18 | { 19 | await WebAssemblyCachedApplicationConfigurationClient.InitializeAsync(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /modules/AntDesignTheme/Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme/Themes/AntDesignTheme/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using AntDesign 3 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/AbpFeatureManagementBlazorAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; 2 | using Volo.Abp.AutoMapper; 3 | using Volo.Abp.FeatureManagement; 4 | using Volo.Abp.Features; 5 | using Volo.Abp.Modularity; 6 | 7 | namespace Lsw.Abp.FeatureManagement.Blazor.AntDesignUI; 8 | 9 | [DependsOn( 10 | typeof(AbpAspNetCoreComponentsWebAntDesignThemeModule), 11 | typeof(AbpAutoMapperModule), 12 | typeof(AbpFeatureManagementApplicationContractsModule), 13 | typeof(AbpFeaturesModule) 14 | )] 15 | public class AbpFeatureManagementBlazorAntDesignModule : AbpModule 16 | { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/AbpFeatureManagementComponentBase.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.AspNetCore.Components; 2 | using Volo.Abp.FeatureManagement.Localization; 3 | 4 | namespace Lsw.Abp.FeatureManagement.Blazor.AntDesignUI; 5 | 6 | public abstract class AbpFeatureManagementComponentBase : AbpComponentBase 7 | { 8 | protected AbpFeatureManagementComponentBase() 9 | { 10 | LocalizationResource = typeof(AbpFeatureManagementResource); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/AbpFeatureManagementBlazorWebServerAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme; 2 | using Lsw.Abp.FeatureManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI; 6 | 7 | [DependsOn( 8 | typeof(AbpFeatureManagementBlazorAntDesignModule), 9 | typeof(AbpAspNetCoreComponentsServerAntDesignThemeModule) 10 | )] 11 | public class AbpFeatureManagementBlazorWebServerAntDesignModule : AbpModule 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/AbpFeatureManagementBlazorWebAssemblyAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; 2 | using Lsw.Abp.FeatureManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.FeatureManagement; 4 | using Volo.Abp.Modularity; 5 | 6 | namespace Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI; 7 | 8 | [DependsOn( 9 | typeof(AbpFeatureManagementBlazorAntDesignModule), 10 | typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), 11 | typeof(AbpFeatureManagementHttpApiClientModule) 12 | )] 13 | public class AbpFeatureManagementBlazorWebAssemblyAntDesignModule : AbpModule 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/FeatureManagement/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/AbpIdentityBlazorAntDesignAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using Volo.Abp.AutoMapper; 3 | using Volo.Abp.Identity; 4 | 5 | namespace Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; 6 | 7 | public class AbpIdentityBlazorAntDesignAutoMapperProfile: Profile 8 | { 9 | public AbpIdentityBlazorAntDesignAutoMapperProfile() 10 | { 11 | CreateMap() 12 | .MapExtraProperties() 13 | .Ignore(x => x.Password) 14 | .Ignore(x => x.RoleNames); 15 | 16 | CreateMap() 17 | .MapExtraProperties(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/IdentityMenuNames.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; 2 | 3 | public class IdentityMenuNames 4 | { 5 | public const string GroupName = "AbpIdentity"; 6 | 7 | public const string Roles = GroupName + ".Roles"; 8 | public const string Users = GroupName + ".Users"; 9 | } 10 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleNameComponent.razor: -------------------------------------------------------------------------------- 1 | @using System; 2 | @using Volo.Abp.Identity 3 | @using Microsoft.Extensions.Localization 4 | @using Volo.Abp.Identity.Localization 5 | 6 | @inject IStringLocalizer L 7 | 8 | @(Data.As().Name) 9 | @if (Data.As().IsDefault) 10 | { 11 | 15 | } 16 | @if (Data.As().IsPublic) 17 | { 18 | 22 | } 23 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/Pages/RoleNameComponent.razor.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Components; 2 | 3 | namespace Lsw.Abp.IdentityManagement.Blazor.AntDesignUI.Pages; 4 | 5 | public partial class RoleNameComponent: ComponentBase 6 | { 7 | [Parameter] 8 | public object Data { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.AntDesignUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using Volo.Abp.AspNetCore.Components.Web 3 | @using Lsw.Abp.AntDesignUI 4 | @using Lsw.Abp.AntDesignUI.Components 5 | @using Lsw.Abp.AntDesignUI.Components.ObjectExtending 6 | @using AntDesign 7 | @using AntDesign.TableModels 8 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout 9 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/AbpIdentityBlazorServerAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; 2 | using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI; 6 | 7 | [DependsOn( 8 | typeof(AbpIdentityBlazorAntDesignModule), 9 | typeof(AbpPermissionManagementBlazorAntDesignModule) 10 | )] 11 | public class AbpIdentityBlazorServerAntDesignModule : AbpModule 12 | { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.Server.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/AbpIdentityBlazorWebAssemblyAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.IdentityManagement.Blazor.AntDesignUI; 2 | using Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI; 3 | using Volo.Abp.Identity; 4 | using Volo.Abp.Modularity; 5 | 6 | namespace Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI; 7 | 8 | [DependsOn( 9 | typeof(AbpIdentityBlazorAntDesignModule), 10 | typeof(AbpPermissionManagementBlazorWebAssemblyAntDesignModule), 11 | typeof(AbpIdentityHttpApiClientModule) 12 | )] 13 | public class AbpIdentityBlazorWebAssemblyAntDesignModule: AbpModule 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/IdentityManagement/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.IdentityManagement.Blazor.WebAssembly.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/AbpPermissionManagementBlazorAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AntDesignUI; 2 | using Volo.Abp.AutoMapper; 3 | using Volo.Abp.Modularity; 4 | using Volo.Abp.PermissionManagement; 5 | 6 | namespace Lsw.Abp.PermissionManagement.Blazor.AntDesignUI; 7 | 8 | [DependsOn( 9 | typeof(AbpAntDesignUIModule), 10 | typeof(AbpAutoMapperModule), 11 | typeof(AbpPermissionManagementApplicationContractsModule) 12 | )] 13 | public class AbpPermissionManagementBlazorAntDesignModule : AbpModule 14 | { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.AntDesignUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using Volo.Abp.AspNetCore.Components.Web 3 | @using AntDesign 4 | @using Lsw.Abp.AntDesignUI 5 | @using Lsw.Abp.AntDesignUI.Components 6 | @using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI.Components 7 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/AbpPermissionManagementBlazorServerAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme; 2 | using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI; 6 | 7 | [DependsOn( 8 | typeof(AbpPermissionManagementBlazorAntDesignModule), 9 | typeof(AbpAspNetCoreComponentsServerAntDesignThemeModule) 10 | )] 11 | public class AbpPermissionManagementBlazorServerAntDesignModule : AbpModule 12 | { 13 | } 14 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.Server.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/AbpPermissionManagementBlazorWebAssemblyAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; 2 | using Lsw.Abp.PermissionManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | using Volo.Abp.PermissionManagement; 5 | 6 | namespace Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI; 7 | 8 | [DependsOn( 9 | typeof(AbpPermissionManagementBlazorAntDesignModule), 10 | typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), 11 | typeof(AbpPermissionManagementHttpApiClientModule) 12 | )] 13 | public class AbpPermissionManagementBlazorWebAssemblyAntDesignModule : AbpModule 14 | { 15 | } 16 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/PermissionManagement/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.PermissionManagement.Blazor.WebAssembly.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/ISettingComponentContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | // ReSharper disable once CheckNamespace 4 | namespace Volo.Abp.SettingManagement.Blazor; 5 | 6 | public interface ISettingComponentContributor 7 | { 8 | Task ConfigureAsync(SettingComponentCreationContext context); 9 | 10 | Task CheckPermissionsAsync(SettingComponentCreationContext context); 11 | } 12 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/Pages/SettingManagement/TimeZoneSettingGroup/TimeZoneSettingGroupViewComponent.razor: -------------------------------------------------------------------------------- 1 | @using Volo.Abp.SettingManagement.Localization 2 | @inherits Volo.Abp.AspNetCore.Components.AbpComponentBase 3 | @inject AbpBlazorMessageLocalizerHelper LH 4 | 5 |
6 | 7 | 8 | 13 | 14 | 15 | 16 | 19 | 20 |
21 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/SettingComponentCreationContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Volo.Abp.DependencyInjection; 4 | 5 | // ReSharper disable once CheckNamespace 6 | namespace Volo.Abp.SettingManagement.Blazor; 7 | 8 | public class SettingComponentCreationContext : IServiceProviderAccessor 9 | { 10 | public IServiceProvider ServiceProvider { get; } 11 | 12 | public List Groups { get; } 13 | 14 | public SettingComponentCreationContext(IServiceProvider serviceProvider) 15 | { 16 | ServiceProvider = serviceProvider; 17 | 18 | Groups = new List(); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/SettingManagementBlazorAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using Volo.Abp.SettingManagement; 3 | 4 | namespace Lsw.Abp.SettingManagement.Blazor.AntDesignUI; 5 | 6 | public class SettingManagementBlazorAutoMapperProfile : Profile 7 | { 8 | public SettingManagementBlazorAutoMapperProfile() 9 | { 10 | CreateMap(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/SettingManagementComponentOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | // ReSharper disable once CheckNamespace 4 | namespace Volo.Abp.SettingManagement.Blazor; 5 | 6 | public class SettingManagementComponentOptions 7 | { 8 | public List Contributors { get; } 9 | 10 | public SettingManagementComponentOptions() 11 | { 12 | Contributors = new List(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/SettingManagementMenus.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.SettingManagement.Blazor.AntDesignUI; 2 | 3 | public class SettingManagementMenus 4 | { 5 | public const string GroupName = "SettingManagement"; 6 | } 7 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.AntDesignUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using Volo.Abp.AspNetCore.Components.Web 3 | @using AntDesign 4 | @using Lsw.Abp.AntDesignUI 5 | @using Lsw.Abp.AntDesignUI.Components 6 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/AbpSettingManagementBlazorServerAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.Server.AntDesignTheme; 2 | using Volo.Abp.Modularity; 3 | using Lsw.Abp.SettingManagement.Blazor.AntDesignUI; 4 | 5 | namespace Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI; 6 | 7 | [DependsOn( 8 | typeof(AbpSettingManagementBlazorAntDesignModule), 9 | typeof(AbpAspNetCoreComponentsServerAntDesignThemeModule) 10 | )] 11 | public class AbpSettingManagementBlazorServerAntDesignModule : AbpModule 12 | { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.Server.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/AbpSettingManagementBlazorWebAssemblyAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.AspnetCore.Components.WebAssembly.AntDesignTheme; 2 | using Volo.Abp.Modularity; 3 | using Lsw.Abp.SettingManagement.Blazor.AntDesignUI; 4 | using Volo.Abp.SettingManagement; 5 | 6 | namespace Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI; 7 | 8 | [DependsOn( 9 | typeof(AbpSettingManagementBlazorAntDesignModule), 10 | typeof(AbpAspNetCoreComponentsWebAssemblyAntDesignThemeModule), 11 | typeof(AbpSettingManagementHttpApiClientModule) 12 | )] 13 | public class AbpSettingManagementBlazorWebAssemblyAntDesignModule : AbpModule 14 | { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/SettingManagement/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.SettingManagement.Blazor.WebAssembly.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/AbpTenantManagementBlazorAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using Volo.Abp.TenantManagement; 3 | 4 | namespace Lsw.Abp.TenantManagement.Blazor.AntDesignUI; 5 | 6 | public class AbpTenantManagementBlazorAutoMapperProfile : Profile 7 | { 8 | public AbpTenantManagementBlazorAutoMapperProfile() 9 | { 10 | CreateMap() 11 | .MapExtraProperties(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/TenantManagementMenuNames.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.TenantManagement.Blazor.AntDesignUI; 2 | 3 | public class TenantManagementMenuNames 4 | { 5 | public const string GroupName = "TenantManagement"; 6 | 7 | public const string Tenants = GroupName + ".Tenants"; 8 | } 9 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.AntDesignUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Components.Web 2 | @using Volo.Abp.AspNetCore.Components.Web 3 | @using AntDesign 4 | @using Lsw.Abp.AntDesignUI 5 | @using Lsw.Abp.AntDesignUI.Components 6 | @using Lsw.Abp.AntDesignUI.Components.ObjectExtending 7 | @using Lsw.Abp.FeatureManagement.Blazor.AntDesignUI.Components 8 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout 9 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/AbpTenantManagementBlazorServerAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.FeatureManagement.Blazor.Server.AntDesignUI; 2 | using Lsw.Abp.TenantManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI; 6 | 7 | [DependsOn( 8 | typeof(AbpTenantManagementBlazorAntDesignModule), 9 | typeof(AbpFeatureManagementBlazorWebServerAntDesignModule) 10 | )] 11 | public class AbpTenantManagementBlazorServerAntDesignModule : AbpModule 12 | { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.Server.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/AbpTenantManagementBlazorWebAssemblyAntDesignModule.cs: -------------------------------------------------------------------------------- 1 | using Lsw.Abp.FeatureManagement.Blazor.WebAssembly.AntDesignUI; 2 | using Lsw.Abp.TenantManagement.Blazor.AntDesignUI; 3 | using Volo.Abp.Modularity; 4 | using Volo.Abp.TenantManagement; 5 | 6 | namespace Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI; 7 | 8 | 9 | [DependsOn( 10 | typeof(AbpTenantManagementBlazorAntDesignModule), 11 | typeof(AbpFeatureManagementBlazorWebAssemblyAntDesignModule), 12 | typeof(AbpTenantManagementHttpApiClientModule) 13 | )] 14 | public class AbpTenantManagementBlazorWebAssemblyAntDesignModule : AbpModule 15 | { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /modules/TenantManagement/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI/Lsw.Abp.TenantManagement.Blazor.WebAssembly.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | net9.0 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /nuget/0: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /samples/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/.DS_Store -------------------------------------------------------------------------------- /samples/BookStore/.gitattributes: -------------------------------------------------------------------------------- 1 | **/wwwroot/libs/** linguist-vendored 2 | -------------------------------------------------------------------------------- /samples/BookStore/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "useTabs": false, 4 | "tabWidth": 4 5 | } 6 | -------------------------------------------------------------------------------- /samples/BookStore/common.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | latest 4 | 1.0.0 5 | $(NoWarn);CS1591 6 | app 7 | 8 | 9 | 10 | 11 | 12 | $(NoWarn);0436 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application.Contracts/BookStore.Application.Contracts.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application.Contracts/BookStoreApplicationContractsModule.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Account; 2 | using Volo.Abp.FeatureManagement; 3 | using Volo.Abp.Identity; 4 | using Volo.Abp.Modularity; 5 | using Volo.Abp.ObjectExtending; 6 | using Volo.Abp.PermissionManagement; 7 | using Volo.Abp.SettingManagement; 8 | using Volo.Abp.TenantManagement; 9 | 10 | namespace BookStore; 11 | 12 | [DependsOn( 13 | typeof(BookStoreDomainSharedModule), 14 | typeof(AbpAccountApplicationContractsModule), 15 | typeof(AbpFeatureManagementApplicationContractsModule), 16 | typeof(AbpIdentityApplicationContractsModule), 17 | typeof(AbpPermissionManagementApplicationContractsModule), 18 | typeof(AbpSettingManagementApplicationContractsModule), 19 | typeof(AbpTenantManagementApplicationContractsModule), 20 | typeof(AbpObjectExtendingModule) 21 | )] 22 | public class BookStoreApplicationContractsModule : AbpModule 23 | { 24 | public override void PreConfigureServices(ServiceConfigurationContext context) 25 | { 26 | BookStoreDtoExtensions.Configure(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application.Contracts/BookStoreDtoExtensions.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Identity; 2 | using Volo.Abp.ObjectExtending; 3 | using Volo.Abp.Threading; 4 | 5 | namespace BookStore; 6 | 7 | public static class BookStoreDtoExtensions 8 | { 9 | private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); 10 | 11 | public static void Configure() 12 | { 13 | OneTimeRunner.Run(() => 14 | { 15 | /* You can add extension properties to DTOs 16 | * defined in the depended modules. 17 | * 18 | * Example: 19 | * 20 | * ObjectExtensionManager.Instance 21 | * .AddOrUpdateProperty("Title"); 22 | * 23 | * See the documentation for more: 24 | * https://docs.abp.io/en/abp/latest/Object-Extensions 25 | */ 26 | }); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissionDefinitionProvider.cs: -------------------------------------------------------------------------------- 1 | using BookStore.Localization; 2 | using Volo.Abp.Authorization.Permissions; 3 | using Volo.Abp.Localization; 4 | 5 | namespace BookStore.Permissions; 6 | 7 | public class BookStorePermissionDefinitionProvider : PermissionDefinitionProvider 8 | { 9 | public override void Define(IPermissionDefinitionContext context) 10 | { 11 | var myGroup = context.AddGroup(BookStorePermissions.GroupName); 12 | //Define your own permissions here. Example: 13 | //myGroup.AddPermission(BookStorePermissions.MyPermission1, L("Permission:MyPermission1")); 14 | } 15 | 16 | private static LocalizableString L(string name) 17 | { 18 | return LocalizableString.Create(name); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application.Contracts/Permissions/BookStorePermissions.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.Permissions; 2 | 3 | public static class BookStorePermissions 4 | { 5 | public const string GroupName = "BookStore"; 6 | 7 | //Add your own permission names. Example: 8 | //public const string MyPermission1 = GroupName + ".MyPermission1"; 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application/BookStore.Application.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application/BookStoreAppService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using BookStore.Localization; 5 | using Volo.Abp.Application.Services; 6 | 7 | namespace BookStore; 8 | 9 | /* Inherit your application services from this class. 10 | */ 11 | public abstract class BookStoreAppService : ApplicationService 12 | { 13 | protected BookStoreAppService() 14 | { 15 | LocalizationResource = typeof(BookStoreResource); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application/BookStoreApplicationAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | 3 | namespace BookStore; 4 | 5 | public class BookStoreApplicationAutoMapperProfile : Profile 6 | { 7 | public BookStoreApplicationAutoMapperProfile() 8 | { 9 | /* You can configure your AutoMapper mapping configuration here. 10 | * Alternatively, you can split your mapping configurations 11 | * into multiple profile classes for a better organization. */ 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application/BookStoreApplicationModule.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Account; 2 | using Volo.Abp.AutoMapper; 3 | using Volo.Abp.FeatureManagement; 4 | using Volo.Abp.Identity; 5 | using Volo.Abp.Modularity; 6 | using Volo.Abp.PermissionManagement; 7 | using Volo.Abp.SettingManagement; 8 | using Volo.Abp.TenantManagement; 9 | 10 | namespace BookStore; 11 | 12 | [DependsOn( 13 | typeof(BookStoreDomainModule), 14 | typeof(AbpAccountApplicationModule), 15 | typeof(BookStoreApplicationContractsModule), 16 | typeof(AbpIdentityApplicationModule), 17 | typeof(AbpPermissionManagementApplicationModule), 18 | typeof(AbpTenantManagementApplicationModule), 19 | typeof(AbpFeatureManagementApplicationModule), 20 | typeof(AbpSettingManagementApplicationModule) 21 | )] 22 | public class BookStoreApplicationModule : AbpModule 23 | { 24 | public override void ConfigureServices(ServiceConfigurationContext context) 25 | { 26 | Configure(options => 27 | { 28 | options.AddMaps(); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Application/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStore.Application.Tests")] 3 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/BookStoreBlazorAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | 3 | namespace BookStore.Blazor; 4 | 5 | public class BookStoreBlazorAutoMapperProfile : Profile 6 | { 7 | public BookStoreBlazorAutoMapperProfile() 8 | { 9 | //Define your AutoMapper configuration here for the Blazor project. 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/BookStoreBrandingProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.DependencyInjection; 2 | using Volo.Abp.Ui.Branding; 3 | 4 | namespace BookStore.Blazor; 5 | 6 | [Dependency(ReplaceServices = true)] 7 | public class BookStoreBrandingProvider : DefaultBrandingProvider 8 | { 9 | public override string AppName => "BookStore"; 10 | 11 | public override string LogoUrl => "logo.svg"; 12 | 13 | // public override string LogoReverseUrl => "logo.svg"; 14 | } 15 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/BookStoreBundleContributor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Bundling; 2 | 3 | namespace BookStore.Blazor; 4 | 5 | /* Add your global styles/scripts here. 6 | * See https://docs.abp.io/en/abp/latest/UI/Blazor/Global-Scripts-Styles to learn how to use it 7 | */ 8 | public class BookStoreBundleContributor : IBundleContributor 9 | { 10 | public void AddScripts(BundleContext context) 11 | { 12 | 13 | } 14 | 15 | public void AddStyles(BundleContext context) 16 | { 17 | context.Add("main.css", true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/BookStoreComponentBase.cs: -------------------------------------------------------------------------------- 1 | using BookStore.Localization; 2 | using Volo.Abp.AspNetCore.Components; 3 | 4 | namespace BookStore.Blazor; 5 | 6 | public abstract class BookStoreComponentBase : AbpComponentBase 7 | { 8 | protected BookStoreComponentBase() 9 | { 10 | LocalizationResource = typeof(BookStoreResource); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Menus/BookStoreMenus.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.Blazor.Menus; 2 | 3 | public class BookStoreMenus 4 | { 5 | private const string Prefix = "BookStore"; 6 | public const string Home = Prefix + ".Home"; 7 | 8 | //Add your menu items here... 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @using Volo.Abp.MultiTenancy 3 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings 4 | @inherits BookStoreComponentBase 5 | @* @inject ICurrentTenant CurrentTenant *@ 6 | @inject AuthenticationStateProvider AuthenticationStateProvider 7 | 8 |
9 |
10 | 11 | 15 | 16 | 17 | 18 |

@L["LongWelcomeMessage"]

19 | 20 | @if (!CurrentUser.IsAuthenticated) 21 | { 22 | 23 | @L["Login"] 24 | 25 | } 26 |
27 |
28 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using AntDesign; 3 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme; 4 | using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Settings; 5 | using Microsoft.AspNetCore.Components; 6 | using Microsoft.Extensions.Options; 7 | 8 | namespace BookStore.Blazor.Pages; 9 | 10 | public partial class Index 11 | { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Pages/Index.razor.css: -------------------------------------------------------------------------------- 1 | /* Write here your styles for the Index page */ -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Microsoft.AspNetCore.Components.WebAssembly.Hosting; 3 | 4 | namespace BookStore.Blazor; 5 | 6 | public class Program 7 | { 8 | public async static Task Main(string[] args) 9 | { 10 | var builder = WebAssemblyHostBuilder.CreateDefault(args); 11 | 12 | var application = await builder.AddApplicationAsync(options => 13 | { 14 | options.UseAutofac(); 15 | }); 16 | 17 | var host = builder.Build(); 18 | 19 | await application.InitializeApplicationAsync(host.Services); 20 | 21 | await host.RunAsync(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "https://localhost:44307", 7 | "sslPort": 44307 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", 15 | "environmentVariables": { 16 | "ASPNETCORE_ENVIRONMENT": "Development" 17 | } 18 | }, 19 | "BookStore.Blazor": { 20 | "commandName": "Project", 21 | "launchBrowser": true, 22 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", 23 | "applicationUrl": "https://localhost:44307", 24 | "environmentVariables": { 25 | "ASPNETCORE_ENVIRONMENT": "Development" 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http 8 | @using Microsoft.JSInterop 9 | @using Volo.Abp.AspNetCore.Components.Web 10 | @using BookStore.Blazor 11 | @using AntDesign 12 | @using Lsw.Abp.AntDesignUI 13 | @using Lsw.Abp.AntDesignUI.Components 14 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/wwwroot/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "App": { 3 | "SelfUrl": "https://localhost:44307" 4 | }, 5 | "AuthServer": { 6 | "Authority": "https://localhost:44306", 7 | "ClientId": "BookStore_Blazor", 8 | "ResponseType": "code" 9 | }, 10 | "RemoteServices": { 11 | "Default": { 12 | "BaseUrl": "https://localhost:44306" 13 | } 14 | }, 15 | "AbpCli": { 16 | "Bundle": { 17 | "Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */ 18 | "Name": "global", 19 | "Parameters": { 20 | 21 | } 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStore/src/BookStore.Blazor/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Blazor/wwwroot/index.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | BookStore.Blazor 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 |
22 |
23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/BookStoreBrandingProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.DependencyInjection; 2 | using Volo.Abp.Ui.Branding; 3 | 4 | namespace BookStore.Blazor; 5 | 6 | [Dependency(ReplaceServices = true)] 7 | public class BookStoreBrandingProvider : DefaultBrandingProvider 8 | { 9 | public override string AppName => "BookStore"; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/BookStoreComponentBase.cs: -------------------------------------------------------------------------------- 1 | using BookStore.Localization; 2 | using Volo.Abp.AspNetCore.Components; 3 | 4 | namespace BookStore.Blazor; 5 | 6 | public abstract class BookStoreComponentBase : AbpComponentBase 7 | { 8 | protected BookStoreComponentBase() 9 | { 10 | LocalizationResource = typeof(BookStoreResource); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Menus/BookStoreMenus.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.Blazor.Menus; 2 | 3 | public class BookStoreMenus 4 | { 5 | private const string Prefix = "BookStore"; 6 | public const string Home = Prefix + ".Home"; 7 | 8 | //Add your menu items here... 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @using Volo.Abp.MultiTenancy 3 | @inherits BookStoreComponentBase 4 | @inject ICurrentTenant CurrentTenant 5 | @inject AuthenticationStateProvider AuthenticationStateProvider 6 | 7 |
8 |
9 | 10 | 14 | 15 | 16 | 17 |

@L["LongWelcomeMessage"]

18 | 19 | @if (!CurrentUser.IsAuthenticated) 20 | { 21 | @L["Login"] 22 | } 23 |
24 |
25 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Text.Json; 6 | using System.Threading.Tasks; 7 | using AntDesign; 8 | using AntDesign.TableModels; 9 | 10 | namespace BookStore.BlazorServer.Pages; 11 | 12 | public partial class Index 13 | { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Pages/Index.razor.css: -------------------------------------------------------------------------------- 1 | /* Write here your styles for the Index page */ -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Pages/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | @addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI 3 | @addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap 4 | @addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "https://localhost:44313/", 7 | "sslPort": 44313 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "BookStore.Blazor": { 19 | "commandName": "Project", 20 | "dotnetRunMessages": "true", 21 | "launchBrowser": true, 22 | "applicationUrl": "https://localhost:44313/", 23 | "environmentVariables": { 24 | "ASPNETCORE_ENVIRONMENT": "Development" 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using Microsoft.JSInterop 9 | @using BookStore.Blazor 10 | @using AntDesign 11 | @using Lsw.Abp.AntDesignUI 12 | @using Lsw.Abp.AntDesignUI.Components 13 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/abp.resourcemapping.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | aliases: { 3 | 4 | }, 5 | clean: [ 6 | 7 | ], 8 | mappings: { 9 | 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "App": { 3 | "SelfUrl": "https://localhost:44313", 4 | "RedirectAllowedUrls": "https://localhost:44313" 5 | }, 6 | "ConnectionStrings": { 7 | "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" 8 | }, 9 | "AuthServer": { 10 | "Authority": "https://localhost:44313", 11 | "RequireHttpsMetadata": "false" 12 | }, 13 | "StringEncryption": { 14 | "DefaultPassPhrase": "PkQhKQMtlOiqySK3" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "my-app", 4 | "private": true, 5 | "dependencies": { 6 | "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0", 7 | "@abp/aspnetcore.components.server.basictheme": "~9.0.0" 8 | } 9 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/wwwroot/blazor-global-styles.css: -------------------------------------------------------------------------------- 1 | #blazor-error-ui { 2 | background: lightyellow; 3 | bottom: 0; 4 | box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); 5 | display: none; 6 | left: 0; 7 | padding: 0.6rem 1.25rem 0.7rem 1.25rem; 8 | position: fixed; 9 | width: 100%; 10 | z-index: 1000; 11 | } 12 | 13 | #blazor-error-ui .dismiss { 14 | cursor: pointer; 15 | position: absolute; 16 | right: 0.75rem; 17 | top: 0.5rem; 18 | } 19 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStore/src/BookStore.BlazorServer/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.BlazorServer/wwwroot/global-styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | 3 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.DbMigrator/BookStoreDbMigratorModule.cs: -------------------------------------------------------------------------------- 1 | using BookStore.EntityFrameworkCore; 2 | using Volo.Abp.Autofac; 3 | using Volo.Abp.BackgroundJobs; 4 | using Volo.Abp.Modularity; 5 | 6 | namespace BookStore.DbMigrator; 7 | 8 | [DependsOn( 9 | typeof(AbpAutofacModule), 10 | typeof(BookStoreEntityFrameworkCoreModule), 11 | typeof(BookStoreApplicationContractsModule) 12 | )] 13 | public class BookStoreDbMigratorModule : AbpModule 14 | { 15 | public override void ConfigureServices(ServiceConfigurationContext context) 16 | { 17 | Configure(options => options.IsJobExecutionEnabled = false); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.DbMigrator/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "BookStore.DbMigrator": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "DOTNET_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.DbMigrator/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" 4 | }, 5 | "IdentityServer": { 6 | "Clients": { 7 | "BookStore_Web": { 8 | "ClientId": "BookStore_Web", 9 | "ClientSecret": "1q2w3e*", 10 | "RootUrl": "https://localhost:44364" 11 | }, 12 | "BookStore_App": { 13 | "ClientId": "BookStore_App", 14 | "ClientSecret": "1q2w3e*", 15 | "RootUrl": "http://localhost:4200" 16 | }, 17 | "BookStore_Blazor": { 18 | "ClientId": "BookStore_Blazor", 19 | "RootUrl": "https://localhost:44307" 20 | }, 21 | "BookStore_BlazorServerTiered": { 22 | "ClientId": "BookStore_BlazorServerTiered", 23 | "ClientSecret": "1q2w3e*", 24 | "RootUrl": "https://localhost:44314" 25 | }, 26 | "BookStore_Swagger": { 27 | "ClientId": "BookStore_Swagger", 28 | "ClientSecret": "1q2w3e*", 29 | "RootUrl": "https://localhost:44306" 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.DbMigrator/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/BookStoreDomainErrorCodes.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore; 2 | 3 | public static class BookStoreDomainErrorCodes 4 | { 5 | /* You can add your business exception error codes here, as constants */ 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/BookStoreGlobalFeatureConfigurator.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Threading; 2 | 3 | namespace BookStore; 4 | 5 | public static class BookStoreGlobalFeatureConfigurator 6 | { 7 | private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); 8 | 9 | public static void Configure() 10 | { 11 | OneTimeRunner.Run(() => 12 | { 13 | /* You can configure (enable/disable) global features of the used modules here. 14 | * 15 | * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! 16 | * 17 | * Please refer to the documentation to lear more about the Global Features System: 18 | * https://docs.abp.io/en/abp/latest/Global-Features 19 | */ 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Identity/IdentityUserType.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.Identity; 2 | 3 | public enum IdentityUserType 4 | { 5 | Normal, 6 | Basic 7 | } 8 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ar.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ar", 3 | "texts": { 4 | "Menu:Home": "الرئيسية", 5 | "Welcome": "مرحبا", 6 | "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ، يرجى زيارة abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/cs.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "cs", 3 | "texts": { 4 | "Menu:Home": "Úvod", 5 | "Welcome": "Vítejte", 6 | "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/de-DE.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "de-DE", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Willkommen", 6 | "LongWelcomeMessage": "Willkommen bei der Anwendung. Dies ist ein Startup-Projekt, das auf dem ABP-Framework basiert. Weitere Informationen finden Sie unter abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en-GB.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "en-GB", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welcome", 6 | "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "en", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welcome", 6 | "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io.", 7 | "IdentityUserType": "User Type", 8 | "Enum:IdentityUserType.Normal": "Normal User", 9 | "Enum:IdentityUserType.Basic": "Basic User" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "es", 3 | "texts": { 4 | "Menu:Home": "Inicio", 5 | "Welcome": "Bienvenido", 6 | "LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "fi", 3 | "texts": { 4 | "Menu:Home": "Koti", 5 | "Welcome": "Tervetuloa", 6 | "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "fr", 3 | "texts": { 4 | "Menu:Home": "Accueil", 5 | "Welcome": "Bienvenue", 6 | "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "hi", 3 | "texts": { 4 | "Menu:Home": "घर", 5 | "Welcome": "स्वागत हे", 6 | "LongWelcomeMessage": "आवेदन करने के लिए आपका स्वागत है। यह एबीपी ढांचे पर आधारित एक स्टार्टअप परियोजना है। अधिक जानकारी के लिए, abp.io पर जाएं।" 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/hu.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "hu", 3 | "texts": { 4 | "Menu:Home": "Kezdőlap", 5 | "Welcome": "Üdvözlöm", 6 | "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információkért látogasson el az abp.io oldalra." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/is.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "is", 3 | "texts": { 4 | "Menu:Home": "Heim", 5 | "Welcome": "Velkomin", 6 | "LongWelcomeMessage": "Verið velkomin í forritið. Þetta er startup verkefni sem byggir á ABP. Nánari upplýsingar er að finna á abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/it.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "it", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Benvenuto", 6 | "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per ulteriori informazioni, visita abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "nl", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welkom", 6 | "LongWelcomeMessage": "Welkom bij de applicatie. Dit is een startup-project gebaseerd op het ABP-framework. Bezoek abp.io voor meer informatie." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pl-PL.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "pl-PL", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Witaj", 6 | "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/pt-BR.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "pt-BR", 3 | "texts": { 4 | "Menu:Home": "Principal", 5 | "Welcome": "Seja bem-vindo!", 6 | "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ro-RO.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ro-RO", 3 | "texts": { 4 | "Menu:Home": "Acasă", 5 | "Welcome": "Bun venit", 6 | "LongWelcomeMessage": "Bun venit la aplicaţie. Acesta este un proiect de pornire bazat pe framework-ul ABP. Pentru mai multe informaţii, vizitaţi, visit abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ru", 3 | "texts": { 4 | "Menu:Home": "Главная", 5 | "Welcome": "Добро пожаловать", 6 | "LongWelcomeMessage": "Добро пожаловать в приложение. Этот запущенный проект основан на фреймворке ABP. Для получения дополнительной информации посетите сайт abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sk.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "sk", 3 | "texts": { 4 | "Menu:Home": "Domov", 5 | "Welcome": "Vitajte", 6 | "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovací projekt založený na ABP frameworku. Viac informácií nájdete na stránke abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/sl.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "sl", 3 | "texts": { 4 | "Menu:Home": "Domov", 5 | "Welcome": "Dobrodošli", 6 | "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "tr", 3 | "texts": { 4 | "Menu:Home": "Ana sayfa", 5 | "Welcome": "Hoşgeldiniz", 6 | "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/vi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "vi", 3 | "texts": { 4 | "Menu:Home": "Trang chủ", 5 | "Welcome": "Chào mừng bạn", 6 | "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "zh-Hans", 3 | "texts": { 4 | "Menu:Home": "首页", 5 | "Welcome": "欢迎", 6 | "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io.", 7 | "IdentityUserType": "用户类型", 8 | "Enum:IdentityUserType.Normal": "标准用户", 9 | "Enum:IdentityUserType.Basic": "基础用户" 10 | } 11 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStore/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "zh-Hant", 3 | "texts": { 4 | "Menu:Home": "首頁", 5 | "Welcome": "歡迎", 6 | "LongWelcomeMessage": "歡迎來到此應用程式. 這是一個基於ABP框架的起始專案. 有關更多訊息, 請瀏覽 abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/Localization/BookStoreResource.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Localization; 2 | 3 | namespace BookStore.Localization; 4 | 5 | [LocalizationResourceName("BookStore")] 6 | public class BookStoreResource 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.MultiTenancy; 2 | 3 | public static class MultiTenancyConsts 4 | { 5 | /* Enable/disable multi-tenancy easily in a single point. 6 | * If you will never need to multi-tenancy, you can remove 7 | * related modules and code parts, including this file. 8 | */ 9 | public const bool IsEnabled = true; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/BookStoreConsts.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore; 2 | 3 | public static class BookStoreConsts 4 | { 5 | public const string DbTablePrefix = "App"; 6 | 7 | public const string DbSchema = null; 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/Data/IBookStoreDbSchemaMigrator.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BookStore.Data; 4 | 5 | public interface IBookStoreDbSchemaMigrator 6 | { 7 | Task MigrateAsync(); 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/Data/NullBookStoreDbSchemaMigrator.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Volo.Abp.DependencyInjection; 3 | 4 | namespace BookStore.Data; 5 | 6 | /* This is used if database provider does't define 7 | * IBookStoreDbSchemaMigrator implementation. 8 | */ 9 | public class NullBookStoreDbSchemaMigrator : IBookStoreDbSchemaMigrator, ITransientDependency 10 | { 11 | public Task MigrateAsync() 12 | { 13 | return Task.CompletedTask; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStore.Domain.Tests")] 3 | [assembly:InternalsVisibleToAttribute("BookStore.TestBase")] 4 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettingDefinitionProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Settings; 2 | 3 | namespace BookStore.Settings; 4 | 5 | public class BookStoreSettingDefinitionProvider : SettingDefinitionProvider 6 | { 7 | public override void Define(ISettingDefinitionContext context) 8 | { 9 | //Define your own settings here. Example: 10 | //context.Add(new SettingDefinition(BookStoreSettings.MySetting1)); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.Domain/Settings/BookStoreSettings.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore.Settings; 2 | 3 | public static class BookStoreSettings 4 | { 5 | private const string Prefix = "BookStore"; 6 | 7 | //Add your own setting names here. Example: 8 | //public const string MySetting1 = Prefix + ".MySetting1"; 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.EntityFrameworkCore/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStore.EntityFrameworkCore.Tests")] 3 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/BookStoreBrandingProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.DependencyInjection; 2 | using Volo.Abp.Ui.Branding; 3 | 4 | namespace BookStore; 5 | 6 | [Dependency(ReplaceServices = true)] 7 | public class BookStoreBrandingProvider : DefaultBrandingProvider 8 | { 9 | public override string AppName => "BookStore"; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | using Volo.Abp.AspNetCore.Mvc; 3 | 4 | namespace BookStore.Controllers; 5 | 6 | public class HomeController : AbpController 7 | { 8 | public ActionResult Index() 9 | { 10 | return Redirect("~/swagger"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "https://localhost:44306", 7 | "sslPort": 44306 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "BookStore.HttpApi.Host": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "applicationUrl": "https://localhost:44306", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/abp.resourcemapping.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | aliases: { 3 | 4 | }, 5 | clean: [ 6 | 7 | ], 8 | mappings: { 9 | 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "App": { 3 | "SelfUrl": "https://localhost:44306", 4 | "CorsOrigins": "https://*.BookStore.com,https://localhost:44307", 5 | "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307" 6 | }, 7 | "ConnectionStrings": { 8 | "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=AntBlazorDemo;Trusted_Connection=True" 9 | }, 10 | "AuthServer": { 11 | "Authority": "https://localhost:44306", 12 | "RequireHttpsMetadata": "true", 13 | "SwaggerClientId": "BookStore_Swagger", 14 | "SwaggerClientSecret": "1q2w3e*" 15 | }, 16 | "StringEncryption": { 17 | "DefaultPassPhrase": "N0yMKQDLXvxaIxyD" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "my-app", 4 | "private": true, 5 | "dependencies": { 6 | "@abp/aspnetcore.mvc.ui.theme.basic": "~9.0.0" 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi.Host/wwwroot/global-styles.css: -------------------------------------------------------------------------------- 1 | /* Your Global Styles */ 2 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi/BookStore.HttpApi.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi/Controllers/BookStoreController.cs: -------------------------------------------------------------------------------- 1 | using BookStore.Localization; 2 | using Volo.Abp.AspNetCore.Mvc; 3 | 4 | namespace BookStore.Controllers; 5 | 6 | /* Inherit your controllers from this class. 7 | */ 8 | public abstract class BookStoreController : AbpControllerBase 9 | { 10 | protected BookStoreController() 11 | { 12 | LocalizationResource = typeof(BookStoreResource); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /samples/BookStore/src/BookStore.HttpApi/Models/Test/TestModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BookStore.Models.Test; 4 | 5 | public class TestModel 6 | { 7 | public string Name { get; set; } 8 | 9 | public DateTime BirthDate { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Application.Tests/BookStore.Application.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestBase.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore; 2 | 3 | public abstract class BookStoreApplicationTestBase : BookStoreTestBase 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Application.Tests/BookStoreApplicationTestModule.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Modularity; 2 | 3 | namespace BookStore; 4 | 5 | [DependsOn( 6 | typeof(BookStoreApplicationModule), 7 | typeof(BookStoreDomainTestModule) 8 | )] 9 | public class BookStoreApplicationTestModule : AbpModule 10 | { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Application.Tests/Samples/SampleAppServiceTests.cs: -------------------------------------------------------------------------------- 1 | using Shouldly; 2 | using System.Threading.Tasks; 3 | using Volo.Abp.Identity; 4 | using Xunit; 5 | 6 | namespace BookStore.Samples; 7 | 8 | /* This is just an example test class. 9 | * Normally, you don't test code of the modules you are using 10 | * (like IIdentityUserAppService here). 11 | * Only test your own application services. 12 | */ 13 | public class SampleAppServiceTests : BookStoreApplicationTestBase 14 | { 15 | private readonly IIdentityUserAppService _userAppService; 16 | 17 | public SampleAppServiceTests() 18 | { 19 | _userAppService = GetRequiredService(); 20 | } 21 | 22 | [Fact] 23 | public async Task Initial_Data_Should_Contain_Admin_User() 24 | { 25 | //Act 26 | var result = await _userAppService.GetListAsync(new GetIdentityUsersInput()); 27 | 28 | //Assert 29 | result.TotalCount.ShouldBeGreaterThan(0); 30 | result.Items.ShouldContain(u => u.UserName == "admin"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Domain.Tests/BookStore.Domain.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestBase.cs: -------------------------------------------------------------------------------- 1 | namespace BookStore; 2 | 3 | public abstract class BookStoreDomainTestBase : BookStoreTestBase 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.Domain.Tests/BookStoreDomainTestModule.cs: -------------------------------------------------------------------------------- 1 | using BookStore.EntityFrameworkCore; 2 | using Volo.Abp.Modularity; 3 | 4 | namespace BookStore; 5 | 6 | [DependsOn( 7 | typeof(BookStoreEntityFrameworkCoreTestModule) 8 | )] 9 | public class BookStoreDomainTestModule : AbpModule 10 | { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/BookStore.EntityFrameworkCore.Tests.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | net9.0 7 | BookStore 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.EntityFrameworkCore.Tests/EntityFrameworkCore/BookStoreEntityFrameworkCoreTestBase.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp; 2 | 3 | namespace BookStore.EntityFrameworkCore; 4 | 5 | public abstract class BookStoreEntityFrameworkCoreTestBase : BookStoreTestBase 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Volo.Abp.Account; 4 | using Volo.Abp.DependencyInjection; 5 | 6 | namespace BookStore.HttpApi.Client.ConsoleTestApp; 7 | 8 | public class ClientDemoService : ITransientDependency 9 | { 10 | private readonly IProfileAppService _profileAppService; 11 | 12 | public ClientDemoService(IProfileAppService profileAppService) 13 | { 14 | _profileAppService = profileAppService; 15 | } 16 | 17 | public async Task RunAsync() 18 | { 19 | var output = await _profileAppService.GetAsync(); 20 | Console.WriteLine($"UserName : {output.UserName}"); 21 | Console.WriteLine($"Email : {output.Email}"); 22 | Console.WriteLine($"Name : {output.Name}"); 23 | Console.WriteLine($"Surname : {output.Surname}"); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Microsoft.Extensions.Configuration; 3 | using Microsoft.Extensions.DependencyInjection; 4 | using Microsoft.Extensions.Hosting; 5 | 6 | namespace BookStore.HttpApi.Client.ConsoleTestApp; 7 | 8 | class Program 9 | { 10 | static async Task Main(string[] args) 11 | { 12 | await CreateHostBuilder(args).RunConsoleAsync(); 13 | } 14 | 15 | public static IHostBuilder CreateHostBuilder(string[] args) => 16 | Host.CreateDefaultBuilder(args) 17 | .AddAppSettingsSecretsJson() 18 | .ConfigureServices((hostContext, services) => 19 | { 20 | services.AddHostedService(); 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "RemoteServices": { 3 | "Default": { 4 | "BaseUrl": "https://localhost:44306" 5 | } 6 | }, 7 | "IdentityClients": { 8 | "Default": { 9 | "GrantType": "password", 10 | "ClientId": "BookStore_App", 11 | "ClientSecret": "1q2w3e*", 12 | "UserName": "admin", 13 | "UserPassword": "1q2w3E*", 14 | "Authority": "https://localhost:44306", 15 | "Scope": "BookStore" 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStore/test/BookStore.TestBase/BookStoreTestDataSeedContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Volo.Abp.Data; 3 | using Volo.Abp.DependencyInjection; 4 | 5 | namespace BookStore; 6 | 7 | public class BookStoreTestDataSeedContributor : IDataSeedContributor, ITransientDependency 8 | { 9 | public Task SeedAsync(DataSeedContext context) 10 | { 11 | /* Seed additional test data... */ 12 | 13 | return Task.CompletedTask; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/.DS_Store -------------------------------------------------------------------------------- /samples/BookStoreWebApp/.gitattributes: -------------------------------------------------------------------------------- 1 | **/wwwroot/libs/** linguist-vendored 2 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "useTabs": false, 4 | "tabWidth": 4 5 | } 6 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/common.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | latest 4 | 1.0.0 5 | $(NoWarn);CS1591 6 | 7 | 8 | 9 | 10 | 11 | $(NoWarn);0436 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/BookStoreWebAppDtoExtensions.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Identity; 2 | using Volo.Abp.ObjectExtending; 3 | using Volo.Abp.Threading; 4 | 5 | namespace BookStoreWebApp; 6 | 7 | public static class BookStoreWebAppDtoExtensions 8 | { 9 | private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); 10 | 11 | public static void Configure() 12 | { 13 | OneTimeRunner.Run(() => 14 | { 15 | /* You can add extension properties to DTOs 16 | * defined in the depended modules. 17 | * 18 | * Example: 19 | * 20 | * ObjectExtensionManager.Instance 21 | * .AddOrUpdateProperty("Title"); 22 | * 23 | * See the documentation for more: 24 | * https://docs.abp.io/en/abp/latest/Object-Extensions 25 | */ 26 | }); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissionDefinitionProvider.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.Localization; 2 | using Volo.Abp.Authorization.Permissions; 3 | using Volo.Abp.Localization; 4 | 5 | namespace BookStoreWebApp.Permissions; 6 | 7 | public class BookStoreWebAppPermissionDefinitionProvider : PermissionDefinitionProvider 8 | { 9 | public override void Define(IPermissionDefinitionContext context) 10 | { 11 | var myGroup = context.AddGroup(BookStoreWebAppPermissions.GroupName); 12 | //Define your own permissions here. Example: 13 | //myGroup.AddPermission(BookStoreWebAppPermissions.MyPermission1, L("Permission:MyPermission1")); 14 | } 15 | 16 | private static LocalizableString L(string name) 17 | { 18 | return LocalizableString.Create(name); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application.Contracts/Permissions/BookStoreWebAppPermissions.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.Permissions; 2 | 3 | public static class BookStoreWebAppPermissions 4 | { 5 | public const string GroupName = "BookStoreWebApp"; 6 | 7 | //Add your own permission names. Example: 8 | //public const string MyPermission1 = GroupName + ".MyPermission1"; 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebApp.Application.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | net9.0 7 | enable 8 | BookStoreWebApp 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppAppService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using BookStoreWebApp.Localization; 5 | using Volo.Abp.Application.Services; 6 | 7 | namespace BookStoreWebApp; 8 | 9 | /* Inherit your application services from this class. 10 | */ 11 | public abstract class BookStoreWebAppAppService : ApplicationService 12 | { 13 | protected BookStoreWebAppAppService() 14 | { 15 | LocalizationResource = typeof(BookStoreWebAppResource); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application/BookStoreWebAppApplicationAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | public class BookStoreWebAppApplicationAutoMapperProfile : Profile 6 | { 7 | public BookStoreWebAppApplicationAutoMapperProfile() 8 | { 9 | /* You can configure your AutoMapper mapping configuration here. 10 | * Alternatively, you can split your mapping configurations 11 | * into multiple profile classes for a better organization. */ 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Application/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStoreWebApp.Application.Tests")] 3 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBlazorAutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | 3 | namespace BookStoreWebApp.Blazor.Client; 4 | 5 | public class BookStoreWebAppBlazorAutoMapperProfile : Profile 6 | { 7 | public BookStoreWebAppBlazorAutoMapperProfile() 8 | { 9 | //Define your AutoMapper configuration here for the Blazor project. 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBrandingProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.DependencyInjection; 2 | using Volo.Abp.Ui.Branding; 3 | 4 | namespace BookStoreWebApp.Blazor.Client; 5 | 6 | [Dependency(ReplaceServices = true)] 7 | public class BookStoreWebAppBrandingProvider : DefaultBrandingProvider 8 | { 9 | public override string AppName => "BookStoreWebApp"; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppBundleContributor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Bundling; 2 | 3 | namespace BookStoreWebApp.Blazor.Client; 4 | 5 | /* Add your global styles/scripts here. 6 | * See https://docs.abp.io/en/abp/latest/UI/Blazor/Global-Scripts-Styles to learn how to use it 7 | */ 8 | public class BookStoreWebAppBundleContributor : IBundleContributor 9 | { 10 | public void AddScripts(BundleContext context) 11 | { 12 | 13 | } 14 | 15 | public void AddStyles(BundleContext context) 16 | { 17 | context.Add("main.css", true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/BookStoreWebAppComponentBase.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.Localization; 2 | using Volo.Abp.AspNetCore.Components; 3 | 4 | namespace BookStoreWebApp.Blazor.Client; 5 | 6 | public abstract class BookStoreWebAppComponentBase : AbpComponentBase 7 | { 8 | protected BookStoreWebAppComponentBase() 9 | { 10 | LocalizationResource = typeof(BookStoreWebAppResource); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Menus/BookStoreWebAppMenus.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.Blazor.Client.Menus; 2 | 3 | public class BookStoreWebAppMenus 4 | { 5 | private const string Prefix = "BookStoreWebApp"; 6 | public const string Home = Prefix + ".Home"; 7 | 8 | //Add your menu items here... 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor: -------------------------------------------------------------------------------- 1 | @page "/" 2 | @inherits BookStoreWebAppComponentBase 3 | 4 | 5 | 6 |
7 |
8 | 9 | 13 | 14 | 15 | 16 |
17 |
-------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.Blazor.Client.Pages; 2 | 3 | public partial class Index 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Pages/Index.razor.css: -------------------------------------------------------------------------------- 1 | /* Write here your styles for the Index page */ -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Microsoft.AspNetCore.Components.WebAssembly.Hosting; 3 | 4 | namespace BookStoreWebApp.Blazor.Client; 5 | 6 | public class Program 7 | { 8 | public async static Task Main(string[] args) 9 | { 10 | var builder = WebAssemblyHostBuilder.CreateDefault(args); 11 | var application = await builder.AddApplicationAsync(options => 12 | { 13 | options.UseAutofac(); 14 | }); 15 | 16 | var host = builder.Build(); 17 | 18 | await application.InitializeApplicationAsync(host.Services); 19 | 20 | await host.RunAsync(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "BookStoreWebApp.Blazor.Client": { 4 | "commandName": "Project", 5 | "launchBrowser": true, 6 | "environmentVariables": { 7 | "ASPNETCORE_ENVIRONMENT": "Development" 8 | }, 9 | "applicationUrl": "https://localhost:57104;http://localhost:57105" 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/Routes.razor: -------------------------------------------------------------------------------- 1 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Routing 2 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Themes.AntDesignTheme 3 | @using Microsoft.Extensions.Options 4 | @inject IOptions RouterOptions 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.WebAssembly.Http 8 | @using static Microsoft.AspNetCore.Components.Web.RenderMode 9 | @using Microsoft.JSInterop 10 | @using Volo.Abp.AspNetCore.Components.Web 11 | @* @using Blazorise *@ 12 | @* @using Blazorise.DataGrid *@ 13 | @* @using Volo.Abp.BlazoriseUI *@ 14 | @* @using Volo.Abp.BlazoriseUI.Components *@ 15 | @using AntDesign 16 | @using Lsw.Abp.AntDesignUI 17 | @using Lsw.Abp.AntDesignUI.Components 18 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout 19 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "RemoteServices": { 3 | "Default": { 4 | "BaseUrl": "https://localhost:44390" 5 | } 6 | }, 7 | "AbpCli": { 8 | "Bundle": { 9 | "Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */ 10 | "Name": "global", 11 | "IsBlazorWebApp": true, 12 | "InteractiveAuto": true, 13 | "Parameters": { 14 | 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-192.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/icon-512.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BookStoreWebApp", 3 | "short_name": "BookStoreWebApp", 4 | "start_url": "./", 5 | "display": "standalone", 6 | "background_color": "#ffffff", 7 | "theme_color": "#03173d", 8 | "prefer_related_applications": false, 9 | "icons": [ 10 | { 11 | "src": "icon-512.png", 12 | "type": "image/png", 13 | "sizes": "512x512" 14 | }, 15 | { 16 | "src": "icon-192.png", 17 | "type": "image/png", 18 | "sizes": "192x192" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor.Client/wwwroot/service-worker.js: -------------------------------------------------------------------------------- 1 | // In development, always fetch from the network and do not enable offline support. 2 | // This is because caching would make development more difficult (changes would not 3 | // be reflected on the first load after each change). 4 | self.addEventListener('fetch', () => { }); 5 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppBrandingProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.DependencyInjection; 2 | using Volo.Abp.Ui.Branding; 3 | 4 | namespace BookStoreWebApp.Blazor; 5 | 6 | [Dependency(ReplaceServices = true)] 7 | public class BookStoreWebAppBrandingProvider : DefaultBrandingProvider 8 | { 9 | public override string AppName => "BookStoreWebApp"; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/BookStoreWebAppComponentBase.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.Localization; 2 | using Volo.Abp.AspNetCore.Components; 3 | 4 | namespace BookStoreWebApp.Blazor; 5 | 6 | public abstract class BookStoreWebAppComponentBase : AbpComponentBase 7 | { 8 | protected BookStoreWebAppComponentBase() 9 | { 10 | LocalizationResource = typeof(BookStoreWebAppResource); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "https://localhost:44390/", 7 | "sslPort": 44390 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "BookStoreWebApp.Blazor": { 19 | "commandName": "Project", 20 | "dotnetRunMessages": "true", 21 | "launchBrowser": true, 22 | "applicationUrl": "https://localhost:44390/", 23 | "environmentVariables": { 24 | "ASPNETCORE_ENVIRONMENT": "Development" 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Authorization 3 | @using Microsoft.AspNetCore.Components.Authorization 4 | @using Microsoft.AspNetCore.Components.Forms 5 | @using Microsoft.AspNetCore.Components.Routing 6 | @using Microsoft.AspNetCore.Components.Web 7 | @using Microsoft.AspNetCore.Components.Web.Virtualization 8 | @using static Microsoft.AspNetCore.Components.Web.RenderMode 9 | @using Microsoft.JSInterop 10 | @using BookStoreWebApp.Blazor.Client 11 | @* @using Blazorise *@ 12 | @* @using Blazorise.DataGrid *@ 13 | @* @using Volo.Abp.BlazoriseUI *@ 14 | @* @using Volo.Abp.BlazoriseUI.Components *@ 15 | @using AntDesign 16 | @using Lsw.Abp.AntDesignUI 17 | @using Lsw.Abp.AntDesignUI.Components 18 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme 19 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Layout 20 | @using Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.Bundling -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/abp.resourcemapping.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | aliases: { 3 | 4 | }, 5 | clean: [ 6 | 7 | ], 8 | mappings: { 9 | 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | } 3 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "App": { 3 | "SelfUrl": "https://localhost:44390", 4 | "RedirectAllowedUrls": "https://localhost:44390" 5 | }, 6 | "ConnectionStrings": { 7 | "Default": "mongodb://localhost:27017/BookStoreWebApp" 8 | }, 9 | "AuthServer": { 10 | "Authority": "https://localhost:44390", 11 | "RequireHttpsMetadata": false 12 | }, 13 | "StringEncryption": { 14 | "DefaultPassPhrase": "ADLoA9exOjkj7Duu" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "my-app", 4 | "private": true, 5 | "dependencies": { 6 | "@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~3.3.1", 7 | "@abp/aspnetcore.components.server.leptonxlitetheme": "~3.3.1" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/blazor-global-styles.css: -------------------------------------------------------------------------------- 1 | #blazor-error-ui { 2 | background: lightyellow; 3 | bottom: 0; 4 | box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); 5 | display: none; 6 | left: 0; 7 | padding: 0.6rem 1.25rem 0.7rem 1.25rem; 8 | position: fixed; 9 | width: 100%; 10 | z-index: 1000; 11 | } 12 | 13 | #blazor-error-ui .dismiss { 14 | cursor: pointer; 15 | position: absolute; 16 | right: 0.75rem; 17 | top: 0.5rem; 18 | } 19 | :root .lpx-brand-logo { 20 | --lpx-logo: url('/images/logo/leptonx/logo-light.png'); 21 | --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); 22 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/favicon.ico -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/global-styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | 3 | } 4 | 5 | :root .lpx-brand-logo { 6 | --lpx-logo: url('/images/logo/leptonx/logo-light.png'); 7 | --lpx-logo-icon: url('/images/logo/leptonx/logo-light-thumbnail.png'); 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-dark.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light-thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light-thumbnail.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.AntDesignUI/f21ac53fa001d35e15a5751806cd855c5a411ee0/samples/BookStoreWebApp/src/BookStoreWebApp.Blazor/wwwroot/images/logo/leptonx/logo-light.png -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/BookStoreWebAppDbMigratorModule.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.MongoDB; 2 | using Volo.Abp.Autofac; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace BookStoreWebApp.DbMigrator; 6 | 7 | [DependsOn( 8 | typeof(AbpAutofacModule), 9 | typeof(BookStoreWebAppMongoDbModule), 10 | typeof(BookStoreWebAppApplicationContractsModule) 11 | )] 12 | public class BookStoreWebAppDbMigratorModule : AbpModule 13 | { 14 | } 15 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "Default": "mongodb://localhost:27017/BookStoreWebApp" 4 | }, 5 | "OpenIddict": { 6 | "Applications": { 7 | "BookStoreWebApp_Swagger": { 8 | "ClientId": "BookStoreWebApp_Swagger", 9 | "RootUrl": "https://localhost:44352" 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.DbMigrator/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppDomainErrorCodes.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp; 2 | 3 | public static class BookStoreWebAppDomainErrorCodes 4 | { 5 | /* You can add your business exception error codes here, as constants */ 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/BookStoreWebAppGlobalFeatureConfigurator.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Threading; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | public static class BookStoreWebAppGlobalFeatureConfigurator 6 | { 7 | private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); 8 | 9 | public static void Configure() 10 | { 11 | OneTimeRunner.Run(() => 12 | { 13 | /* You can configure (enable/disable) global features of the used modules here. 14 | * 15 | * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! 16 | * 17 | * Please refer to the documentation to lear more about the Global Features System: 18 | * https://docs.abp.io/en/abp/latest/Global-Features 19 | */ 20 | }); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ar.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ar", 3 | "texts": { 4 | "Menu:Home": "الصفحة الرئيسية", 5 | "Welcome": "مرحباً", 6 | "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ، يرجى زيارة abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/cs.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "cs", 3 | "texts": { 4 | "Menu:Home": "Úvod", 5 | "Welcome": "Vítejte", 6 | "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/de.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "de", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Willkommen", 6 | "LongWelcomeMessage": "Willkommen bei der Anwendung. Dies ist ein Startup-Projekt, das auf dem ABP-Framework basiert. Weitere Informationen finden Sie unter abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en-GB.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "en-GB", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welcome", 6 | "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "en", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welcome", 6 | "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "es", 3 | "texts": { 4 | "Menu:Home": "Inicio", 5 | "Welcome": "Bienvenido", 6 | "LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "fi", 3 | "texts": { 4 | "Menu:Home": "Koti", 5 | "Welcome": "Tervetuloa", 6 | "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "fr", 3 | "texts": { 4 | "Menu:Home": "Accueil", 5 | "Welcome": "Bienvenue", 6 | "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "hi", 3 | "texts": { 4 | "Menu:Home": "घर", 5 | "Welcome": "स्वागत हे", 6 | "LongWelcomeMessage": "आवेदन करने के लिए आपका स्वागत है। यह एबीपी ढांचे पर आधारित एक स्टार्टअप परियोजना है। अधिक जानकारी के लिए, abp.io पर जाएं।" 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hr.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "hr", 3 | "texts": { 4 | "Menu:Home": "Početna", 5 | "Welcome": "Dobrodošli", 6 | "LongWelcomeMessage": "Dobrodošli u aplikaciju. Ovo je startup projekt temeljen na ABP framework-u. Za više informacija posjetite abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/hu.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "hu", 3 | "texts": { 4 | "Menu:Home": "Kezdőlap", 5 | "Welcome": "Üdvözlöm", 6 | "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információkért látogasson el az abp.io oldalra." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/is.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "is", 3 | "texts": { 4 | "Menu:Home": "Heim", 5 | "Welcome": "Velkomin", 6 | "LongWelcomeMessage": "Verið velkomin í forritið. Þetta er startup verkefni sem byggir á ABP. Nánari upplýsingar er að finna á abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/it.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "it", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Benvenuto", 6 | "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per ulteriori informazioni, visita abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/nl.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "nl", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Welkom", 6 | "LongWelcomeMessage": "Welkom bij de applicatie. Dit is een startup-project gebaseerd op het ABP-framework. Bezoek abp.io voor meer informatie." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pl-PL.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "pl-PL", 3 | "texts": { 4 | "Menu:Home": "Home", 5 | "Welcome": "Witaj", 6 | "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/pt-BR.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "pt-BR", 3 | "texts": { 4 | "Menu:Home": "Principal", 5 | "Welcome": "Seja bem-vindo!", 6 | "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ro-RO.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ro-RO", 3 | "texts": { 4 | "Menu:Home": "Acasă", 5 | "Welcome": "Bun venit", 6 | "LongWelcomeMessage": "Bun venit la aplicaţie. Acesta este un proiect de pornire bazat pe framework-ul ABP. Pentru mai multe informaţii, vizitaţi, visit abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "ru", 3 | "texts": { 4 | "Menu:Home": "Главная", 5 | "Welcome": "Добро пожаловать", 6 | "LongWelcomeMessage": "Добро пожаловать в приложение. Этот запущенный проект основан на фреймворке ABP. Для получения дополнительной информации посетите сайт abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sk.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "sk", 3 | "texts": { 4 | "Menu:Home": "Domov", 5 | "Welcome": "Vitajte", 6 | "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovací projekt založený na ABP frameworku. Viac informácií nájdete na stránke abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/sl.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "sl", 3 | "texts": { 4 | "Menu:Home": "Domov", 5 | "Welcome": "Dobrodošli", 6 | "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "tr", 3 | "texts": { 4 | "Menu:Home": "Ana sayfa", 5 | "Welcome": "Hoşgeldiniz", 6 | "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/vi.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "vi", 3 | "texts": { 4 | "Menu:Home": "Trang chủ", 5 | "Welcome": "Chào mừng bạn", 6 | "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "zh-Hans", 3 | "texts": { 4 | "Menu:Home": "首页", 5 | "Welcome": "欢迎", 6 | "LongWelcomeMessage": "欢迎使用本应用程序。这是一个基于 ABP 框架的启动项目。更多信息,请访问 abp.io。" 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebApp/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "culture": "zh-Hant", 3 | "texts": { 4 | "Menu:Home": "首頁", 5 | "Welcome": "歡迎", 6 | "LongWelcomeMessage": "歡迎來到此應用程式. 這是一個基於ABP框架的起始專案. 有關更多訊息, 請瀏覽 abp.io." 7 | } 8 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/Localization/BookStoreWebAppResource.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Localization; 2 | 3 | namespace BookStoreWebApp.Localization; 4 | 5 | [LocalizationResourceName("BookStoreWebApp")] 6 | public class BookStoreWebAppResource 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.MultiTenancy; 2 | 3 | public static class MultiTenancyConsts 4 | { 5 | /* Enable/disable multi-tenancy easily in a single point. 6 | * If you will never need to multi-tenancy, you can remove 7 | * related modules and code parts, including this file. 8 | */ 9 | public const bool IsEnabled = true; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/BookStoreWebAppConsts.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp; 2 | 3 | public static class BookStoreWebAppConsts 4 | { 5 | public const string DbTablePrefix = "App"; 6 | 7 | public const string DbSchema = null; 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/IBookStoreWebAppDbSchemaMigrator.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace BookStoreWebApp.Data; 4 | 5 | public interface IBookStoreWebAppDbSchemaMigrator 6 | { 7 | Task MigrateAsync(); 8 | } 9 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Data/NullBookStoreWebAppDbSchemaMigrator.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Volo.Abp.DependencyInjection; 3 | 4 | namespace BookStoreWebApp.Data; 5 | 6 | /* This is used if database provider does't define 7 | * IBookStoreWebAppDbSchemaMigrator implementation. 8 | */ 9 | public class NullBookStoreWebAppDbSchemaMigrator : IBookStoreWebAppDbSchemaMigrator, ITransientDependency 10 | { 11 | public Task MigrateAsync() 12 | { 13 | return Task.CompletedTask; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStoreWebApp.Domain.Tests")] 3 | [assembly:InternalsVisibleToAttribute("BookStoreWebApp.TestBase")] 4 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettingDefinitionProvider.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Settings; 2 | 3 | namespace BookStoreWebApp.Settings; 4 | 5 | public class BookStoreWebAppSettingDefinitionProvider : SettingDefinitionProvider 6 | { 7 | public override void Define(ISettingDefinitionContext context) 8 | { 9 | //Define your own settings here. Example: 10 | //context.Add(new SettingDefinition(BookStoreWebAppSettings.MySetting1)); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.Domain/Settings/BookStoreWebAppSettings.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.Settings; 2 | 3 | public static class BookStoreWebAppSettings 4 | { 5 | private const string Prefix = "BookStoreWebApp"; 6 | 7 | //Add your own setting names here. Example: 8 | //public const string MySetting1 = Prefix + ".MySetting1"; 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/BookStoreWebApp.HttpApi.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | net9.0 7 | enable 8 | BookStoreWebApp 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Controllers/BookStoreWebAppController.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.Localization; 2 | using Volo.Abp.AspNetCore.Mvc; 3 | 4 | namespace BookStoreWebApp.Controllers; 5 | 6 | /* Inherit your controllers from this class. 7 | */ 8 | public abstract class BookStoreWebAppController : AbpControllerBase 9 | { 10 | protected BookStoreWebAppController() 11 | { 12 | LocalizationResource = typeof(BookStoreWebAppResource); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.HttpApi/Models/Test/TestModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace BookStoreWebApp.Models.Test; 4 | 5 | public class TestModel 6 | { 7 | public string? Name { get; set; } 8 | 9 | public DateTime BirthDate { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/BookStoreWebApp.MongoDB.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | net9.0 7 | enable 8 | BookStoreWebApp 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/MongoDb/BookStoreWebAppMongoDbContext.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Data; 2 | using Volo.Abp.MongoDB; 3 | 4 | namespace BookStoreWebApp.MongoDB; 5 | 6 | [ConnectionStringName("Default")] 7 | public class BookStoreWebAppMongoDbContext : AbpMongoDbContext 8 | { 9 | /* Add mongo collections here. Example: 10 | * public IMongoCollection Questions => Collection(); 11 | */ 12 | 13 | protected override void CreateModel(IMongoModelBuilder modelBuilder) 14 | { 15 | base.CreateModel(modelBuilder); 16 | 17 | //modelBuilder.Entity(b => 18 | //{ 19 | // //... 20 | //}); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/src/BookStoreWebApp.MongoDB/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | [assembly:InternalsVisibleToAttribute("BookStoreWebApp.MongoDB.Tests")] 3 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebApp.Application.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | net9.0 7 | enable 8 | BookStoreWebApp 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestBase.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Modularity; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | public abstract class BookStoreWebAppApplicationTestBase : BookStoreWebAppTestBase 6 | where TStartupModule : IAbpModule 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Application.Tests/BookStoreWebAppApplicationTestModule.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Modularity; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | [DependsOn( 6 | typeof(BookStoreWebAppApplicationModule), 7 | typeof(BookStoreWebAppDomainTestModule) 8 | )] 9 | public class BookStoreWebAppApplicationTestModule : AbpModule 10 | { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebApp.Domain.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | net9.0 7 | enable 8 | BookStoreWebApp 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestBase.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Modularity; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | /* Inherit from this class for your domain layer tests. */ 6 | public abstract class BookStoreWebAppDomainTestBase : BookStoreWebAppTestBase 7 | where TStartupModule : IAbpModule 8 | { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.Domain.Tests/BookStoreWebAppDomainTestModule.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Modularity; 2 | 3 | namespace BookStoreWebApp; 4 | 5 | [DependsOn( 6 | typeof(BookStoreWebAppDomainModule), 7 | typeof(BookStoreWebAppTestBaseModule) 8 | )] 9 | public class BookStoreWebAppDomainTestModule : AbpModule 10 | { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Volo.Abp.Account; 4 | using Volo.Abp.DependencyInjection; 5 | 6 | namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; 7 | 8 | public class ClientDemoService : ITransientDependency 9 | { 10 | private readonly IProfileAppService _profileAppService; 11 | 12 | public ClientDemoService(IProfileAppService profileAppService) 13 | { 14 | _profileAppService = profileAppService; 15 | } 16 | 17 | public async Task RunAsync() 18 | { 19 | var output = await _profileAppService.GetAsync(); 20 | Console.WriteLine($"UserName : {output.UserName}"); 21 | Console.WriteLine($"Email : {output.Email}"); 22 | Console.WriteLine($"Name : {output.Name}"); 23 | Console.WriteLine($"Surname : {output.Surname}"); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Microsoft.Extensions.Configuration; 3 | using Microsoft.Extensions.DependencyInjection; 4 | using Microsoft.Extensions.Hosting; 5 | 6 | namespace BookStoreWebApp.HttpApi.Client.ConsoleTestApp; 7 | 8 | class Program 9 | { 10 | static async Task Main(string[] args) 11 | { 12 | await CreateHostBuilder(args).RunConsoleAsync(); 13 | } 14 | 15 | public static IHostBuilder CreateHostBuilder(string[] args) => 16 | Host.CreateDefaultBuilder(args) 17 | .AddAppSettingsSecretsJson() 18 | .ConfigureServices((hostContext, services) => 19 | { 20 | services.AddHostedService(); 21 | }); 22 | } 23 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "RemoteServices": { 3 | "Default": { 4 | "BaseUrl": "https://localhost:44313" 5 | } 6 | }, 7 | "IdentityClients": { 8 | "Default": { 9 | "GrantType": "password", 10 | "ClientId": "BookStoreWebApp_App", 11 | "UserName": "admin", 12 | "UserPassword": "1q2w3E*", 13 | "Authority": "https://localhost:44313", 14 | "Scope": "BookStoreWebApp" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | } -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Applications/MongoDBSampleAppServiceTests.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.MongoDB; 2 | using BookStoreWebApp.Samples; 3 | using Xunit; 4 | 5 | namespace BookStoreWebApp.MongoDb.Applications; 6 | 7 | [Collection(BookStoreWebAppTestConsts.CollectionDefinitionName)] 8 | public class MongoDBSampleAppServiceTests : SampleAppServiceTests 9 | { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoCollection.cs: -------------------------------------------------------------------------------- 1 | using Xunit; 2 | 3 | namespace BookStoreWebApp.MongoDB; 4 | 5 | [CollectionDefinition(BookStoreWebAppTestConsts.CollectionDefinitionName)] 6 | public class BookStoreWebAppMongoCollection : BookStoreWebAppMongoDbCollectionFixtureBase 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbCollectionFixtureBase.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.MongoDB; 2 | using Xunit; 3 | 4 | namespace BookStoreWebApp.MongoDB; 5 | 6 | public class BookStoreWebAppMongoDbCollectionFixtureBase : ICollectionFixture 7 | { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbFixture.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using EphemeralMongo; 3 | 4 | namespace BookStoreWebApp.MongoDB; 5 | 6 | public class BookStoreWebAppMongoDbFixture : IDisposable 7 | { 8 | public readonly static IMongoRunner MongoDbRunner; 9 | 10 | static BookStoreWebAppMongoDbFixture() 11 | { 12 | MongoDbRunner = MongoRunner.Run(new MongoRunnerOptions 13 | { 14 | UseSingleNodeReplicaSet = true 15 | }); 16 | } 17 | 18 | public static string GetRandomConnectionString() 19 | { 20 | return GetConnectionString("Db_" + Guid.NewGuid().ToString("N")); 21 | } 22 | 23 | public static string GetConnectionString(string databaseName) 24 | { 25 | var stringArray = MongoDbRunner.ConnectionString.Split('?'); 26 | var connectionString = stringArray[0].EnsureEndsWith('/') + databaseName + "/?" + stringArray[1]; 27 | return connectionString; 28 | } 29 | 30 | public void Dispose() 31 | { 32 | MongoDbRunner?.Dispose(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestBase.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp.MongoDB; 2 | 3 | public abstract class BookStoreWebAppMongoDbTestBase : BookStoreWebAppTestBase 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/BookStoreWebAppMongoDbTestModule.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Volo.Abp.Data; 3 | using Volo.Abp.Modularity; 4 | 5 | namespace BookStoreWebApp.MongoDB; 6 | 7 | [DependsOn( 8 | typeof(BookStoreWebAppApplicationTestModule), 9 | typeof(BookStoreWebAppMongoDbModule) 10 | )] 11 | public class BookStoreWebAppMongoDbTestModule : AbpModule 12 | { 13 | public override void ConfigureServices(ServiceConfigurationContext context) 14 | { 15 | Configure(options => 16 | { 17 | options.ConnectionStrings.Default = BookStoreWebAppMongoDbFixture.GetRandomConnectionString(); 18 | }); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.MongoDB.Tests/MongoDb/Domains/MongoDBSampleDomainTests.cs: -------------------------------------------------------------------------------- 1 | using BookStoreWebApp.Samples; 2 | using Xunit; 3 | 4 | namespace BookStoreWebApp.MongoDB.Domains; 5 | 6 | [Collection(BookStoreWebAppTestConsts.CollectionDefinitionName)] 7 | public class MongoDBSampleDomainTests : SampleDomainTests 8 | { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestConsts.cs: -------------------------------------------------------------------------------- 1 | namespace BookStoreWebApp; 2 | 3 | public static class BookStoreWebAppTestConsts 4 | { 5 | public const string CollectionDefinitionName = "BookStoreWebApp collection"; 6 | } 7 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/BookStoreWebAppTestDataSeedContributor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Volo.Abp.Data; 3 | using Volo.Abp.DependencyInjection; 4 | 5 | namespace BookStoreWebApp; 6 | 7 | public class BookStoreWebAppTestDataSeedContributor : IDataSeedContributor, ITransientDependency 8 | { 9 | public Task SeedAsync(DataSeedContext context) 10 | { 11 | /* Seed additional test data... */ 12 | 13 | return Task.CompletedTask; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/BookStoreWebApp/test/BookStoreWebApp.TestBase/Security/FakeCurrentPrincipalAccessor.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | using Volo.Abp.DependencyInjection; 4 | using Volo.Abp.Security.Claims; 5 | 6 | namespace BookStoreWebApp.Security; 7 | 8 | [Dependency(ReplaceServices = true)] 9 | public class FakeCurrentPrincipalAccessor : ThreadCurrentPrincipalAccessor 10 | { 11 | protected override ClaimsPrincipal GetClaimsPrincipal() 12 | { 13 | return GetPrincipal(); 14 | } 15 | 16 | private ClaimsPrincipal GetPrincipal() 17 | { 18 | return new ClaimsPrincipal(new ClaimsIdentity(new List 19 | { 20 | new Claim(AbpClaimTypes.UserId, "2e701e62-0953-4dd3-910b-dc6cc93ccb0d"), 21 | new Claim(AbpClaimTypes.UserName, "admin"), 22 | new Claim(AbpClaimTypes.Email, "admin@abp.io") 23 | })); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/AbpAntDesignUIModule.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using Volo.Abp.Application; 3 | using Volo.Abp.AspNetCore.Components.Web; 4 | using Volo.Abp.Authorization; 5 | using Volo.Abp.Modularity; 6 | 7 | namespace Lsw.Abp.AntDesignUI; 8 | 9 | [DependsOn( 10 | typeof(AbpAspNetCoreComponentsWebModule), 11 | typeof(AbpDddApplicationContractsModule), 12 | typeof(AbpAuthorizationModule) 13 | )] 14 | public class AbpAntDesignUIModule : AbpModule 15 | { 16 | public override void ConfigureServices(ServiceConfigurationContext context) 17 | { 18 | context.Services.AddAntDesign(); 19 | context.Services.AddSingleton(typeof(AbpBlazorMessageLocalizerHelper<>)); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/AbpBreadcrumbItem.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AntDesignUI; 2 | 3 | public class AbpBreadcrumbItem 4 | { 5 | public string Text { get; set; } 6 | 7 | public string Icon { get; set; } 8 | 9 | public string Url { get; set; } 10 | 11 | public AbpBreadcrumbItem(string text, string url = null, string icon = null) 12 | { 13 | Text = text; 14 | Url = url; 15 | Icon = icon; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/AntDesignExtensions.cs: -------------------------------------------------------------------------------- 1 | using AntDesign; 2 | 3 | namespace Lsw.Abp.AntDesignUI; 4 | 5 | public static class AntDesignExtensions 6 | { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/AntDesignUiPageProgressService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using Volo.Abp.AspNetCore.Components.Progression; 4 | using Volo.Abp.DependencyInjection; 5 | 6 | namespace Lsw.Abp.AntDesignUI; 7 | 8 | [Dependency(ReplaceServices = true)] 9 | public class AntDesignUiPageProgressService: IUiPageProgressService, IScopedDependency 10 | { 11 | public event EventHandler ProgressChanged; 12 | 13 | public Task Go(int? percentage, Action options = null) 14 | { 15 | var uiPageProgressOptions = CreateDefaultOptions(); 16 | options?.Invoke(uiPageProgressOptions); 17 | 18 | ProgressChanged?.Invoke(this, new UiPageProgressEventArgs(percentage, uiPageProgressOptions)); 19 | 20 | return Task.CompletedTask; 21 | } 22 | 23 | protected virtual UiPageProgressOptions CreateDefaultOptions() 24 | { 25 | return new UiPageProgressOptions(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ActionType.cs: -------------------------------------------------------------------------------- 1 | namespace Lsw.Abp.AntDesignUI.Components; 2 | 3 | public enum ActionType 4 | { 5 | Dropdown, 6 | Button 7 | } 8 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/EntityAction.razor: -------------------------------------------------------------------------------- 1 | @typeparam TItem 2 | 3 | @if (Visible && HasPermission) 4 | { 5 | if (ParentActions.Type == ActionType.Dropdown) 6 | { 7 | if (!Primary) 8 | { 9 | 10 | @Text 11 | 12 | } 13 | else 14 | { 15 | 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/CheckExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | @if (PropertyInfo != null && Entity != null) 7 | { 8 | 9 | 10 | @PropertyInfo.GetLocalizedDisplayName(StringLocalizerFactory) 11 | 12 | 13 | } -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/CheckExtensionProperty.razor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Data; 2 | 3 | namespace Lsw.Abp.AntDesignUI.Components.ObjectExtending; 4 | 5 | public partial class CheckExtensionProperty 6 | where TEntity : IHasExtraProperties 7 | { 8 | protected bool Value { 9 | get { 10 | return PropertyInfo.GetInputValueOrDefault(Entity.GetProperty(PropertyInfo.Name)); 11 | } 12 | set { 13 | Entity.SetProperty(PropertyInfo.Name, value, false); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/DateTimeExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | @if (PropertyInfo != null && Entity != null) 7 | { 8 | 9 | 14 | 15 | } -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/DateTimeExtensionProperty.razor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Volo.Abp.Data; 3 | 4 | namespace Lsw.Abp.AntDesignUI.Components.ObjectExtending; 5 | 6 | public partial class DateTimeExtensionProperty 7 | where TEntity : IHasExtraProperties 8 | { 9 | protected DateTime? Value { 10 | get { 11 | return PropertyInfo.GetInputValueOrDefault(Entity.GetProperty(PropertyInfo.Name)); 12 | } 13 | set { 14 | Entity.SetProperty(PropertyInfo.Name, value, false); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/ExtensionProperties.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntityType 2 | @typeparam TResourceType 3 | @using Volo.Abp.ObjectExtending 4 | @using Volo.Abp.Data 5 | 6 | @{ 7 | Entity.SetDefaultsForExtraProperties(); 8 | 9 | foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties()) 10 | { 11 | if (!propertyInfo.Name.EndsWith("_Text")) 12 | { 13 | if (propertyInfo.Type.IsEnum) 14 | { 15 | 16 | } 17 | else if (!propertyInfo.Lookup.Url.IsNullOrEmpty()) 18 | { 19 | 20 | } 21 | else 22 | { 23 | @ExtensionPropertyRender(propertyInfo) 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/LookupExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | 7 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/SelectExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/TextExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | @if (PropertyInfo != null && Entity != null) 7 | { 8 | 9 | 10 | 11 | } -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/TextExtensionProperty.razor.cs: -------------------------------------------------------------------------------- 1 | using Volo.Abp.Data; 2 | 3 | namespace Lsw.Abp.AntDesignUI.Components.ObjectExtending; 4 | 5 | public partial class TextExtensionProperty 6 | where TEntity : IHasExtraProperties 7 | { 8 | protected string Value { 9 | get { 10 | return PropertyInfo.GetTextInputValueOrNull(Entity.GetProperty(PropertyInfo.Name)); 11 | } 12 | set { 13 | Entity.SetProperty(PropertyInfo.Name, value, validate: false); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/TimeExtensionProperty.razor: -------------------------------------------------------------------------------- 1 | @typeparam TEntity 2 | @typeparam TResourceType 3 | @using Volo.Abp.Localization 4 | @inherits ExtensionPropertyComponentBase 5 | 6 | @if (PropertyInfo != null && Entity != null) 7 | { 8 | 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ObjectExtending/TimeExtensionProperty.razor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Volo.Abp.Data; 3 | 4 | namespace Lsw.Abp.AntDesignUI.Components.ObjectExtending; 5 | 6 | public partial class TimeExtensionProperty 7 | where TEntity : IHasExtraProperties 8 | { 9 | protected TimeSpan? Value { 10 | get { 11 | return PropertyInfo.GetInputValueOrDefault(Entity.GetProperty(PropertyInfo.Name)); 12 | } 13 | set { 14 | Entity.SetProperty(PropertyInfo.Name, value, false); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/TableEntityActionsColumn.razor: -------------------------------------------------------------------------------- 1 | @typeparam TItem 2 | @using Localization.Resources.AbpUi 3 | @using Microsoft.Extensions.Localization 4 | @inherits Column 5 | 6 | @ChildContent 7 | 8 | 9 | @code { 10 | [Inject] 11 | public IStringLocalizer UiLocalizer { get; set; } 12 | 13 | protected override void OnInitialized() 14 | { 15 | Title = UiLocalizer["Actions"]; 16 | Sortable = false; 17 | base.OnInitialized(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/ToolbarButton.razor: -------------------------------------------------------------------------------- 1 |  8 | 9 | @code { 10 | 11 | [Parameter] 12 | public ButtonType Color { get; set; } = ButtonType.Default; 13 | 14 | [Parameter] 15 | public string Icon { get; set; } 16 | 17 | [Parameter] 18 | public string Text { get; set; } 19 | 20 | [Parameter] 21 | public Func Clicked { get; set; } 22 | 23 | [Parameter] 24 | public bool Disabled { get; set; } 25 | } 26 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Components/UiPageProgress.razor: -------------------------------------------------------------------------------- 1 |  2 | @if (_progressStatus == ProgressStatus.Active) 3 | { 4 | 5 | } 6 | else 7 | { 8 | 9 | } 10 | 11 | 12 | 13 | 27 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/Lsw.Abp.AntDesignUI.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | net9.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Lsw.Abp.AntDesignUI/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Components.Authorization 3 | @using Microsoft.AspNetCore.Components.Forms 4 | @using Microsoft.AspNetCore.Components.Routing 5 | @using Microsoft.AspNetCore.Components.Web 6 | @using Microsoft.JSInterop 7 | @using AntDesign 8 | @using Lsw.Abp.AntDesignUI 9 | @using Lsw.Abp.AntDesignUI.Components 10 | --------------------------------------------------------------------------------