From 905370790b6b74b509fe6a999dfad9b41cf60a75 Mon Sep 17 00:00:00 2001 From: honurbu Date: Fri, 15 Mar 2024 22:02:40 +0300 Subject: [PATCH 01/10] Update localization for admin testimonial page --- .../Admin/Localization/Resources/en.json | 9 ++++++++- .../Admin/Localization/Resources/tr.json | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 3fd77f45a1..45e8fa9f3a 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -600,6 +600,13 @@ "NoChangesDetected": "No changes detected", "ProductCount": "Product Count", "Actions": "Actions", - "CreateInvoice": "Create Invoice" + "CreateInvoice": "Create Invoice", + "IsVisible": "Is visible", + "Menu:Testimonials": "Testimonials", + "TestimonialDeletionConfirmationMessage": "Are you sure you want to delete this testimonial ?", + "FullName": "Full name", + "TestimonialText": "Testimonial text", + "ExperienceYear": "Experience year", + "Position": "Position" } } diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json index 0aca0b7333..779831b5ff 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json @@ -443,6 +443,13 @@ "QuotationTemplate.Tax/VAT:": "Vergiler (%{0}) :", "QuotationTemplate.TotalDiscount:": "Toplam İndirim :", "QuotationTemplate.TOTALDUE:": "NET TOPLAM :", - "QuotationTemplate.BankAccount": "Banka hesabı bilgilerimiz {0} adresinde bulunabilir." + "QuotationTemplate.BankAccount": "Banka hesabı bilgilerimiz {0} adresinde bulunabilir.", + "Menu:Testimonials": "Referanslar", + "IsVisible": "Görünürlük", + "TestimonialDeletionConfirmationMessage": "Bu referansı silmek istediğinize emin misiniz ?", + "FullName": "Ad soyad", + "TestimonialText": "Tecrübe yazısı", + "ExperienceYear": "Sektörel deneyim", + "Position": "Başlık" } } From 139be84549c62618c25bbfbb84b85771d0b0cca8 Mon Sep 17 00:00:00 2001 From: honurbu Date: Fri, 15 Mar 2024 22:09:51 +0300 Subject: [PATCH 02/10] Update tr.json --- .../AbpIoLocalization/Admin/Localization/Resources/tr.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json index 779831b5ff..7e91668bbf 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json @@ -450,6 +450,7 @@ "FullName": "Ad soyad", "TestimonialText": "Tecrübe yazısı", "ExperienceYear": "Sektörel deneyim", - "Position": "Başlık" + "Position": "Başlık", + "Actions": "İşlemler" } } From a6bbbb3b75512222e016b9c894ecf1db5272307d Mon Sep 17 00:00:00 2001 From: honurbu Date: Thu, 21 Mar 2024 13:14:17 +0300 Subject: [PATCH 03/10] Update en.json --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 45e8fa9f3a..08f6713ba2 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -601,7 +601,7 @@ "ProductCount": "Product Count", "Actions": "Actions", "CreateInvoice": "Create Invoice", - "IsVisible": "Is visible", + "IsVisible": "Visible", "Menu:Testimonials": "Testimonials", "TestimonialDeletionConfirmationMessage": "Are you sure you want to delete this testimonial ?", "FullName": "Full name", From 538d26f10c52bb11c6c4fd1d6d4f5ef50f64a681 Mon Sep 17 00:00:00 2001 From: honurbu Date: Fri, 22 Mar 2024 13:51:16 +0300 Subject: [PATCH 04/10] Added Permission:Testimonials --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 3 ++- .../AbpIoLocalization/Admin/Localization/Resources/tr.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 75c87ed35b..959c7a14dc 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -612,6 +612,7 @@ "AllowedLicenses": "Allowed Licenses", "AllowedModules": "Allowed Modules", "ModuleName": "Module name", - "NonYet": "Non yet" + "NonYet": "Non yet", + "Permission:Testimonials": "Testimonials" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json index 7e91668bbf..0abca185de 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json @@ -451,6 +451,7 @@ "TestimonialText": "Tecrübe yazısı", "ExperienceYear": "Sektörel deneyim", "Position": "Başlık", - "Actions": "İşlemler" + "Actions": "İşlemler", + "Permission:Testimonials": "Referanslar" } } From 262df29f8cdca6cf92544c77661f7c3376c0a199 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 25 Mar 2024 10:26:30 +0300 Subject: [PATCH 05/10] Persist component state for WebApp Styles --- .../Bundling/AbpStyles.razor | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor index 488caba797..053e0efd01 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor @@ -1,11 +1,13 @@ @using Volo.Abp +@implements IDisposable @inject IComponentBundleManager BundleManager +@inject PersistentComponentState PersistentComponentState @if (StyleFiles != null) { foreach (var file in StyleFiles) { - + } } @@ -18,16 +20,37 @@ private List? StyleFiles { get; set; } + private PersistingComponentStateSubscription persistingSubscription; + protected override async Task OnInitializedAsync() { if (BundleName == null) { throw new AbpException("The BundleName parameter of the AbpStyles component can not be null!"); } - StyleFiles = (await BundleManager.GetStyleBundleFilesAsync(BundleName!)).ToList(); + + persistingSubscription = PersistentComponentState.RegisterOnPersisting(PersistStyleFiles); + + if (PersistentComponentState.TryTakeFromJson>(nameof(StyleFiles), out var restoredStyleFiles)) + { + StyleFiles = restoredStyleFiles; + } + else + { + StyleFiles = (await BundleManager.GetStyleBundleFilesAsync(BundleName!)).ToList(); + } + if (OperatingSystem.IsBrowser() && WebAssemblyStyleFiles != null) { - StyleFiles.AddRange(WebAssemblyStyleFiles); + StyleFiles!.AddRange(WebAssemblyStyleFiles); } } + + private Task PersistStyleFiles() + { + PersistentComponentState.PersistAsJson(nameof(StyleFiles), StyleFiles); + return Task.CompletedTask; + } + + public void Dispose() => persistingSubscription.Dispose(); } From 6107bc50640991af9d3608a98c713aa89c2d7960 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 25 Mar 2024 10:31:39 +0300 Subject: [PATCH 06/10] Update AbpStyles.razor --- .../Bundling/AbpStyles.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor index 053e0efd01..bae9b382f3 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpStyles.razor @@ -42,7 +42,7 @@ if (OperatingSystem.IsBrowser() && WebAssemblyStyleFiles != null) { - StyleFiles!.AddRange(WebAssemblyStyleFiles); + StyleFiles?.AddRange(WebAssemblyStyleFiles); } } From f02af6326d2c10f05f18091223bd0e89604b16e0 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 25 Mar 2024 10:31:52 +0300 Subject: [PATCH 07/10] Persist component state for WebApp Scripts --- .../Bundling/AbpScripts.razor | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor index 435e318afa..6735d54d14 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor +++ b/framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/Bundling/AbpScripts.razor @@ -1,5 +1,7 @@ @using Volo.Abp +@implements IDisposable @inject IComponentBundleManager BundleManager +@inject PersistentComponentState PersistentComponentState @if (ScriptFiles != null) { @@ -18,16 +20,37 @@ private List? ScriptFiles { get; set; } + private PersistingComponentStateSubscription persistingSubscription; + protected override async Task OnInitializedAsync() { if (BundleName == null) { throw new AbpException("The BundleName parameter of the AbpScripts component can not be null!"); } - ScriptFiles = (await BundleManager.GetScriptBundleFilesAsync(BundleName!)).ToList(); + + persistingSubscription = PersistentComponentState.RegisterOnPersisting(PersistScriptFiles); + + if (PersistentComponentState.TryTakeFromJson>(nameof(ScriptFiles), out var restoredStyleFiles)) + { + ScriptFiles = restoredStyleFiles; + } + else + { + ScriptFiles = (await BundleManager.GetScriptBundleFilesAsync(BundleName!)).ToList(); + } + if (OperatingSystem.IsBrowser() && WebAssemblyScriptFiles != null) { - ScriptFiles.AddRange(WebAssemblyScriptFiles); + ScriptFiles?.AddRange(WebAssemblyScriptFiles); } } + + private Task PersistScriptFiles() + { + PersistentComponentState.PersistAsJson(nameof(ScriptFiles), ScriptFiles); + return Task.CompletedTask; + } + + public void Dispose() => persistingSubscription.Dispose(); } From fd0fb4a6ebf8ea9496e7ec475d18d53cd0ed29b6 Mon Sep 17 00:00:00 2001 From: honurbu Date: Mon, 25 Mar 2024 14:56:45 +0300 Subject: [PATCH 08/10] update localization --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 5 ++++- .../AbpIoLocalization/Admin/Localization/Resources/tr.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 959c7a14dc..10f6d2d648 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -613,6 +613,9 @@ "AllowedModules": "Allowed Modules", "ModuleName": "Module name", "NonYet": "Non yet", - "Permission:Testimonials": "Testimonials" + "Permission:Testimonials": "Testimonials", + "SelectCompanySizePlaceholder": "Company Size", + "SelectExperienceYearPlaceholder": "Experience year", + "SelectCountryPlaceholder": "Country" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json index 0abca185de..4484e0f7e8 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json @@ -452,6 +452,9 @@ "ExperienceYear": "Sektörel deneyim", "Position": "Başlık", "Actions": "İşlemler", - "Permission:Testimonials": "Referanslar" + "Permission:Testimonials": "Referanslar", + "SelectCompanySizePlaceholder": "Şirket Büyüklüğü", + "SelectExperienceYearPlaceholder": "Sektörel deneyim", + "SelectCountryPlaceholder": "Ülke" } } From e612181b1540e51cdcbf44c2bc1a4b2f0f930639 Mon Sep 17 00:00:00 2001 From: honurbu Date: Mon, 25 Mar 2024 16:43:33 +0300 Subject: [PATCH 09/10] Update en.json --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 10f6d2d648..ab5e61a31f 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -608,7 +608,8 @@ "FullName": "Full name", "TestimonialText": "Testimonial text", "ExperienceYear": "Experience year", - "Position": "Position", + "Position": "Title", + "YearsOfExperience": "Experience year", "AllowedLicenses": "Allowed Licenses", "AllowedModules": "Allowed Modules", "ModuleName": "Module name", From a74c9f931b71b3523d5c4a5c9da59884c6328cbe Mon Sep 17 00:00:00 2001 From: yu_xianglong <87717663@qq.com> Date: Tue, 26 Mar 2024 00:16:08 +0800 Subject: [PATCH 10/10] Update ConcurrentDictionary to Dictionary --- .../Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs index 399b7caa10..f0cf747ac1 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs @@ -21,7 +21,7 @@ public class ApplicationApiDescriptionModel { return new ApplicationApiDescriptionModel { - Modules = new ConcurrentDictionary(), //TODO: Why ConcurrentDictionary? + Modules = new Dictionary(), Types = new SortedDictionary() }; }