diff --git a/Directory.Packages.props b/Directory.Packages.props
index 4365925adc..145c809f3e 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -6,7 +6,7 @@
-
+
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
index b5103b8b4f..89d13529a8 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": " نظام أساسي كامل لتطوير الويب span> span> مدمج
framework ",
"AbpCommercialShortDescription": "يوفر ABP Commercial وحدات تطبيق مسبقة الإنشاء وأدوات تطوير سريعة للتطبيقات وموضوعات واجهة مستخدم احترافية ودعمًا متميزًا والمزيد.",
"LiveDemo": "عرض حي",
- "LiveDemoLead": "{1} باستخدام حساب ABP الخاص بك، {3}إلى abp.io.
أو املأ النموذج أدناه لإنشاء عرض توضيحي مباشر الآن",
+ "LiveDemoLead": "{1} باستخدام حساب ABP الخاص بك، {3}إلى abp.io.أو املأ النموذج أدناه لإنشاء عرض توضيحي مباشر الآن",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "هناك حساب بالفعل باستخدام عنوان البريد الإلكتروني المحدد: {0}
يمكنك تسجيل الدخول باستخدام حسابك للمتابعة.",
"GetLicence": "احصل على ترخيص",
"Application": "تطبيق",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
index 8d58160eaf..2923ec57f6 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Kompletní platforma pro vývoj webuvestavěná na
framework",
"AbpCommercialShortDescription": "ABP Commercial poskytuje předpřipravené aplikační moduly, nástroje pro rychlý vývoj aplikací, profesionální témata uživatelského rozhraní, prémiovou podporu a další.",
"LiveDemo": "Živá ukázka",
- "LiveDemoLead": "{1} pomocí vašeho účtu ABP, {3} na abp.io.
Nebo vyplňte níže uvedený formulář a vytvořte si nyní živou ukázku",
+ "LiveDemoLead": "{1} pomocí vašeho účtu ABP, {3} na abp.io. Nebo vyplňte níže uvedený formulář a vytvořte si nyní živou ukázku",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Zadaná e-mailová adresa {0} je již registrována.
Můžete se přihlásit se svým účtem a pokračovat.",
"GetLicence": "Získejte licenci",
"Application": "aplikace",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json
index 26e63a2fd8..b17a24f3e9 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Eine komplette Webentwicklungsplattformaufgebaute
Framework",
"AbpCommercialShortDescription": "ABP Commercial bietet vorgefertigte Anwendungsmodule, schnelle Anwendungsentwicklungstools, professionelle UI-Themen, Premium-Support und mehr.",
"LiveDemo": "Live-Demo",
- "LiveDemoLead": "{1} mit Ihrem ABP-Konto, {3} zu abp.io.
Oder füllen Sie das Formular unten aus, um jetzt eine Live-Demo zu erstellen",
+ "LiveDemoLead": "{1} mit Ihrem ABP-Konto, {3} zu abp.io. Oder füllen Sie das Formular unten aus, um jetzt eine Live-Demo zu erstellen",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Es gibt bereits ein Konto mit der angegebenen E-Mail-Adresse: {0}
Sie können sich mit Ihrem Konto anmelden, um fortzufahren.",
"GetLicence": "Holen Sie sich eine Lizenz",
"Application": "Anwendung",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
index 795434ad89..9ce2577985 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
@@ -49,7 +49,7 @@
"IndexPageHeroSection": "A complete web development platformbuilt-on
framework",
"AbpCommercialShortDescription": "ABP Commercial provides pre-built application modules, rapid application development tooling, professional UI themes, premium support and more.",
"LiveDemo": "Live Demo",
- "LiveDemoLead": "{1} using your ABP account, {3} to abp.io
or fill the form below to create a live demo now",
+ "LiveDemoLead": "{1} using your ABP account, {3} to abp.io or fill the form below to create a live demo now",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "There is already an account with the given email address: {0}
You should login with your account to proceed.",
"GetLicence": "Get a License",
"Application": "Application",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
index 75a1d52ec0..dd2090cd26 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": " Una plataforma de desarrollo web completa integrada
marco ",
"AbpCommercialShortDescription": "ABP Commercial proporciona módulos de aplicaciones prediseñados, herramientas de desarrollo rápido de aplicaciones, temas de interfaz de usuario profesionales, soporte premium y más.",
"LiveDemo": "Demo en vivo",
- "LiveDemoLead": "{1} usando su cuenta ABP, {3} a abp.io.
O complete el siguiente formulario para crear una demostración en vivo ahora",
+ "LiveDemoLead": "{1} usando su cuenta ABP, {3} a abp.io. O complete el siguiente formulario para crear una demostración en vivo ahora",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Ya existe una cuenta con la dirección de correo electrónico especificada: {0}
Puede iniciar sesión con su cuenta para continuar.",
"GetLicence": "Obtener una licencia",
"Application": "Solicitud",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
index 5d5aa90c75..1311b5012a 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
@@ -49,7 +49,7 @@
"IndexPageHeroSection": " Täydellinen verkkokehitysympäristö sisäänrakennettu
kehys ",
"AbpCommercialShortDescription": "ABP Commercial tarjoaa valmiita sovellusmoduuleja, nopean sovelluskehitystyökalun, ammattimaiset käyttöliittymäteemat, ensiluokkaisen tuen ja paljon muuta.",
"LiveDemo": "Live-esittely",
- "LiveDemoLead": "{1} käyttämällä ABP-tiliäsi, {3} abp.io: lle.
Tai täytä alla oleva lomake luodaksesi live-esittelyn nyt",
+ "LiveDemoLead": "{1} käyttämällä ABP-tiliäsi, {3} abp.io: lle. Tai täytä alla oleva lomake luodaksesi live-esittelyn nyt",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Sähköpostiosoitteella {0} on jo tili.
Voit kirjautua sisään tilillesi jatkaaksesi.",
"GetLicence": "Hanki lisenssi",
"Application": "Sovellus",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
index bf3e156df7..5e7dc31332 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Une plate-forme de développement Web complète intégrée
cadre ",
"AbpCommercialShortDescription": "ABP Commercial fournit des modules d'application prédéfinis, des outils de développement rapide d'applications, des thèmes d'interface utilisateur professionnels, un support premium et plus encore.",
"LiveDemo": "Démo en direct",
- "LiveDemoLead": "{1} en utilisant votre compte ABP, {3} à abp.io.
Ou remplissez le formulaire ci-dessous pour créer une démo en direct maintenant",
+ "LiveDemoLead": "{1} en utilisant votre compte ABP, {3} à abp.io. Ou remplissez le formulaire ci-dessous pour créer une démo en direct maintenant",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Il existe déjà un compte avec l'adresse e-mail fournie: {0}
Vous pouvez vous connecter avec votre compte pour continuer.",
"GetLicence": "Obtenez une licence",
"Application": "Application",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
index d59067b0d3..60bd38cb55 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "एक पूर्ण वेब डेवलपमेंट प्लेटफॉर्मबिल्ट-ऑन
Framework",
"AbpCommercialShortDescription": "एबीपी कमर्शियल प्री-बिल्ट एप्लिकेशन मॉड्यूल, रैपिड एप्लिकेशन डेवलपमेंट टूलिंग, पेशेवर यूआई थीम, प्रीमियम सपोर्ट आदि प्रदान करता है।",
"LiveDemo": "लाइव डेमो",
- "LiveDemoLead": "{1} अपने एबीपी खाते का उपयोग करते हुए, {3} abp.io पर आपका स्वागत है।
या अब एक लाइव डेमो बनाने के लिए नीचे दिए गए फॉर्म को भरें",
+ "LiveDemoLead": "{1} अपने एबीपी खाते का उपयोग करते हुए, {3} abp.io पर आपका स्वागत है। या अब एक लाइव डेमो बनाने के लिए नीचे दिए गए फॉर्म को भरें",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "दिए गए ईमेल पते {0} के साथ पहले से ही एक खाता है।
आप अपने खाते से लॉगिन करके आगे बढ़ सकते हैं।",
"GetLicence": "एक लाइसेंस प्राप्त करें",
"Application": "आवेदन",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hr.json
index d671367ec5..7bd6c24cad 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hr.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hr.json
@@ -49,7 +49,7 @@
"IndexPageHeroSection": "Kompletna ugrađena platforma za web razvoj
okvir",
"AbpCommercialShortDescription": "ABP Commercial nudi unaprijed izgrađene aplikacijske module, alate za brzi razvoj aplikacija, profesionalne UI teme, vrhunsku podršku i više.",
"LiveDemo": "Demo uživo",
- "LiveDemoLead": "{1} koristeći svoj ABP račun, {3} na abp.io.
Ili ispunite obrazac u nastavku da sada napravite demo uživo",
+ "LiveDemoLead": "{1} koristeći svoj ABP račun, {3} na abp.io. Ili ispunite obrazac u nastavku da sada napravite demo uživo",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Već postoji račun s navedenom adresom e-pošte: {0}
Za nastavak se možete prijaviti svojim računom.",
"GetLicence": "Nabavite licencu",
"Application": "Primjena",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
index 77eafe8df7..7795f3830b 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
@@ -49,7 +49,7 @@
"IndexPageHeroSection": "Teljes webfejlesztői platformbeépített
keretrendszer",
"AbpCommercialShortDescription": "Az ABP Commercial előre beépített alkalmazásmodulokat, gyors alkalmazásfejlesztési eszközöket, professzionális felhasználói felületi témákat, prémium támogatást és még sok mást kínál.",
"LiveDemo": "Élő Demo",
- "LiveDemoLead": "{1} az ABP-fiókjával, {3} az abp.io-ra.
Vagy töltse ki az alábbi űrlapot, hogy most létrehozzon egy élő bemutatót",
+ "LiveDemoLead": "{1} az ABP-fiókjával, {3} az abp.io-ra. Vagy töltse ki az alábbi űrlapot, hogy most létrehozzon egy élő bemutatót",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Már van fiók a megadott e-mail címmel: {0}
Bejelentkezhet a fiókjával a folytatáshoz.",
"GetLicence": "Szerezzen engedélyt",
"Application": "Alkalmazás",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
index fb4ed42598..e5262ec3f9 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Heilstætt vefþróunar umhverfi byggt á
ABP",
"AbpCommercialShortDescription": "ABP Commercial býður upp á forsmíðaðar forritareiningar, tól sem hraða þróun, fagmanlega hannaðar UI þemur, úrvals stuðning og fleira.",
"LiveDemo": "Virkt sýnidæmi",
- "LiveDemoLead": "{1} með þínum ABP reikningi, {3} til abp.io.
Eða fylltu út formið hér að neðan til að búa til virkt sýnidæmi núna",
+ "LiveDemoLead": "{1} með þínum ABP reikningi, {3} til abp.io. Eða fylltu út formið hér að neðan til að búa til virkt sýnidæmi núna",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Það er nú þegar reikningur með þessu netfangi: {0}
Þú getur skráð þig inn með þínum reikningi til að halda áfram.",
"GetLicence": "Sækja Leyfi",
"Application": "Umsókn",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
index 361974dada..79bcbd5051 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": " Una completa piattaforma di sviluppo web integrata
framework ",
"AbpCommercialShortDescription": "ABP Commercial fornisce moduli applicativi predefiniti, strumenti per lo sviluppo rapido di applicazioni, temi dell'interfaccia utente professionale, supporto premium e altro ancora.",
"LiveDemo": "Dimostrazione dal vivo",
- "LiveDemoLead": "{1} utilizzando il tuo account ABP, {3} a abp.io.
O compilare il modulo sottostante per creare una demo live ora",
+ "LiveDemoLead": "{1} utilizzando il tuo account ABP, {3} a abp.io. O compilare il modulo sottostante per creare una demo live ora",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Esiste già un account con l'indirizzo email specificato: {0}
Puoi accedere con il tuo account per procedere.",
"GetLicence": "Ottieni una licenza",
"Application": "Applicazione",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
index 3e1bc497ab..4f78bbef5e 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Een compleet webontwikkelingsplatformingebouwd
raamwerk",
"AbpCommercialShortDescription": "ABP Commercial biedt kant-en-klare applicatiemodules, tooling voor snelle applicatieontwikkeling, professionele UI-thema's, premium ondersteuning en meer.",
"LiveDemo": "Live demonstratie",
- "LiveDemoLead": "{1} met behulp van uw ABP-account, {3} naar abp.io.
Of vul het onderstaande formulier in om nu een live demo te maken",
+ "LiveDemoLead": "{1} met behulp van uw ABP-account, {3} naar abp.io. Of vul het onderstaande formulier in om nu een live demo te maken",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Er is al een account met het opgegeven e-mailadres: {0}
U kunt inloggen met uw account om door te gaan.",
"GetLicence": "Verkrijg een licentie",
"Application": "Sollicitatie",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
index 961c514013..bfe963343d 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "A complete web development platformbuilt-on
framework",
"AbpCommercialShortDescription": "ABP Commercial zapewnia gotowe moduły aplikacji, narzędzia do szybkiego tworzenia aplikacji, profesjonalne motywy interfejsu użytkownika, wsparcie premium i nie tylko.",
"LiveDemo": "Demo na żywo",
- "LiveDemoLead": "{1} korzystając z konta ABP, {3} to abp.io.
Lub wypełnij poniższy formularz, aby utworzyć teraz demo na żywo",
+ "LiveDemoLead": "{1} korzystając z konta ABP, {3} to abp.io. Lub wypełnij poniższy formularz, aby utworzyć teraz demo na żywo",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Istnieje już konto o podanym adresie e-mail: {0}
Możesz się zalogować na swoje konto, aby kontynuować.",
"GetLicence": "Uzyskaj licencję",
"Application": "Podanie",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
index 138499cf79..5cd6d14cba 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": " Uma completa plataforma de desenvolvimento web integrada
estrutura ",
"AbpCommercialShortDescription": "ABP Commercial fornece módulos de aplicativos pré-construídos, ferramentas de desenvolvimento rápido de aplicativos, temas de UI profissionais, suporte premium e muito mais.",
"LiveDemo": "Demonstração ao vivo",
- "LiveDemoLead": "{1} usando sua conta ABP, {3} para abp.io.
Ou preencha o formulário abaixo para criar uma demonstração ao vivo agora",
+ "LiveDemoLead": "{1} usando sua conta ABP, {3} para abp.io. Ou preencha o formulário abaixo para criar uma demonstração ao vivo agora",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Já existe uma conta com o endereço de e-mail fornecido: {0}
Você pode fazer login com sua conta para continuar.",
"GetLicence": "Obtenha uma licença",
"Application": "Aplicativo",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
index 6013166634..f067fa5be8 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "A complete web development platformbuilt-on
framework",
"AbpCommercialShortDescription": "ABP Commercial oferă module de aplicaţii pre-construite, instrumente de dezvoltare rapidă a aplicaţiilor, teme UI profesionale, asistenţă premium şi multe altele.",
"LiveDemo": "Live Demo",
- "LiveDemoLead": "{1} folosind contul ABP, {3} la abp.io.
Sau completaţi formularul de mai jos pentru a crea un demo live acum",
+ "LiveDemoLead": "{1} folosind contul ABP, {3} la abp.io. Sau completaţi formularul de mai jos pentru a crea un demo live acum",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Există deja un cont cu adresa de email specificată: {0}
Puteţi să vă autentificaţi cu contul dumneavoastră pentru a continua.",
"GetLicence": "Obţine o licenţă",
"Application": "Application",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
index 43963ac972..d167a86866 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
@@ -49,7 +49,7 @@
"IndexPageHeroSection": "Полный платформа веб-разработкипостроен на
рамки",
"AbpCommercialShortDescription": "ABP Commercial предоставляет готовые модули приложений, инструменты для быстрой разработки приложений, профессиональные темы пользовательского интерфейса, премиальную поддержку и многое другое.",
"LiveDemo": "Живая демонстрация",
- "LiveDemoLead": "{1} используя свою учетную запись ABP, {3} на abp.io.
Или заполните форму ниже, чтобы создать живую демо-версию прямо сейчас",
+ "LiveDemoLead": "{1} используя свою учетную запись ABP, {3} на abp.io. Или заполните форму ниже, чтобы создать живую демо-версию прямо сейчас",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Уже существует учетная запись с данным адресом электронной почты: {0}
Вы можете войти в свою учетную запись, чтобы продолжить.",
"GetLicence": "Получить лицензию",
"Application": "Приложение",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
index 8da110fc4d..cbbedf9104 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Kompletná web vývojová platformapostavená na
frameworku",
"AbpCommercialShortDescription": "ABP Commercial poskytuje predpripravené aplikačné moduly, nástroje na rýchly vývoj aplikácií, profesionálne témy používateľského rozhrania, prémiovú podporu a ďalšie.",
"LiveDemo": "Live ukážka",
- "LiveDemoLead": "{1} použitím vášho ABP účtu, {3} na abp.io.
Alebo vyplňte nižšie uvedený formulár a vytvorte si teraz live ukážku",
+ "LiveDemoLead": "{1} použitím vášho ABP účtu, {3} na abp.io. Alebo vyplňte nižšie uvedený formulár a vytvorte si teraz live ukážku",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Už existuje účet s danou emailovou adresou: {0}
Môžete sa prihlásiť pomocou svojho účtu a pokračovať.",
"GetLicence": "Získajte licenciu",
"Application": "Aplikácia",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
index 75324cfc4a..1fb0df744b 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": "Popolna platforma za spletno razvojvgrajena
okvir",
"AbpCommercialShortDescription": "ABP Commercial ponuja vnaprej izdelane aplikacijske module, orodja za hiter razvoj aplikacij, profesionalne teme uporabniškega vmesnika, vrhunsko podporo in še več.",
"LiveDemo": "Demo v živo",
- "LiveDemoLead": "{1} s svojim ABP računom, {3} na abp.io.
Ali izpolnite spodnji obrazec, da ustvarite demo v živo zdaj",
+ "LiveDemoLead": "{1} s svojim ABP računom, {3} na abp.io. Ali izpolnite spodnji obrazec, da ustvarite demo v živo zdaj",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Za navedeni e-poštni naslov že obstaja račun: {0}
Lahko se prijavite s svojim računom, da nadaljujete.",
"GetLicence": "Pridobite licenco",
"Application": "Aplikacija",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
index 1a679ff5d1..1d933b2704 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
@@ -48,7 +48,7 @@
"IndexPageHeroSection": "A complete web development platformbuilt-on
framework",
"AbpCommercialShortDescription": "ABP Commercial, önceden oluşturulmuş uygulama modülleri, hızlı uygulama geliştirme araçları, profesyonel UI temaları, premium destek ve daha fazlasını sağlar.",
"LiveDemo": "Canlı Demo",
- "LiveDemoLead": "{1} ABP hesabınızı kullanarak, {3} abp.io'ya hoş geldiniz.
Veya aşağıdaki formu doldurarak şimdi canlı bir demo oluşturun",
+ "LiveDemoLead": "{1} ABP hesabınızı kullanarak, {3} abp.io'ya hoş geldiniz. Veya aşağıdaki formu doldurarak şimdi canlı bir demo oluşturun",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Zaten {0} e-posta adresiyle bir hesap var.
Devam etmek için hesabınızla giriş yapabilirsiniz.",
"GetLicence": "Lisans Alın",
"Application": "Başvuru",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
index 68098444e0..be454b234f 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
@@ -46,7 +46,7 @@
"IndexPageHeroSection": " Nền tảng phát triển web hoàn chỉnh được tích hợp sẵn
khung ",
"AbpCommercialShortDescription": "ABP Commercial cung cấp các mô-đun ứng dụng được tạo sẵn, công cụ phát triển ứng dụng nhanh chóng, các chủ đề giao diện người dùng chuyên nghiệp, hỗ trợ cao cấp và hơn thế nữa.",
"LiveDemo": "Bản thử trực tiếp",
- "LiveDemoLead": "{1} hoặc {3} đến abp.io.
Hoặc điền vào biểu mẫu bên dưới để tạo bản trình diễn trực tiếp ngay bây giờ",
+ "LiveDemoLead": "{1} hoặc {3} đến abp.io. Hoặc điền vào biểu mẫu bên dưới để tạo bản trình diễn trực tiếp ngay bây giờ",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "Đã có một tài khoản với địa chỉ email đã cho: {0}
Bạn có thể đăng nhập vào tài khoản của mình để tiếp tục.",
"GetLicence": "Nhận giấy phép",
"Application": "Ứng dụng",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
index 312a19994c..8ef66674b7 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
@@ -48,7 +48,7 @@
"IndexPageHeroSection": "一個完整的web開發平臺基於
框架",
"AbpCommercialShortDescription": "ABP商業版提供了預構建的應用程序模塊, 快速的應用程序開發工具, 專業的UI主題, 高級支持等.",
"LiveDemo": "在線演示",
- "LiveDemoLead": " {1} 使用你的ABP賬號, {3} 到 abp.io.
或者填寫下面的表單立即創建一個在線演示",
+ "LiveDemoLead": " {1} 使用你的ABP賬號, {3} 到 abp.io. 或者填寫下面的表單立即創建一個在線演示",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "已經有一個使用該電子郵件地址的賬號: {0}
你可以使用你的賬號登錄以繼續.",
"GetLicence": "獲得許可",
"Application": "應用程序",
diff --git a/docs/en/Multi-Lingual-Entities.md b/docs/en/Multi-Lingual-Entities.md
index 8a707b24d0..b0419fe2a1 100644
--- a/docs/en/Multi-Lingual-Entities.md
+++ b/docs/en/Multi-Lingual-Entities.md
@@ -3,4 +3,4 @@
This feature is still under development.
Follow the below link to get information about the development status
-https://github.com/abpframework/abp/issues/1169
+https://github.com/abpframework/abp/issues/11698
diff --git a/docs/en/Testing.md b/docs/en/Testing.md
index 619aaa2160..0b4543051b 100644
--- a/docs/en/Testing.md
+++ b/docs/en/Testing.md
@@ -122,7 +122,7 @@ namespace MyProject.Issues
throw new IssueStateException("You can not open a locked issue!");
}
- IsClosed = true;
+ IsClosed = false;
CloseDate = null;
}
}
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js
index b9e5321e28..b5d2dec80d 100644
--- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/date-range-picker/date-range-picker-extensions.js
@@ -163,10 +163,10 @@
}
}
- function convertToMoment(value, options, dateFormat) {
+ function convertToMoment(value, options, dateFormat, isUtc) {
if(!value) {
// invalid date
- return moment('');
+ return moment.invalid();
}
options = options || {};
@@ -174,32 +174,22 @@
if (typeof value === 'string') {
for(var format of formats) {
- var date = moment(value, format);
+ var date = isUtc ? moment.utc(value, format) : moment(value, format);
if(date.isValid()) {
- return maybeUtc(date, options);
+ return date;
}
}
}
if (value.isAbpDate) {
- return maybeUtc(value._moment.clone(), options);
+ return value._moment.clone();
}
if(value.isLuxonDateTime) {
- return maybeUtc(moment(value.toISO()), options);
+ return isUtc ? moment.utc(value.toISO()) : moment(value.toISO());
}
- return maybeUtc(moment(value), options);
- }
-
- function maybeUtc(date, options) {
- if (options.isUtc) {
- date = date.utc();
- }else{
- date = date.local();
- }
-
- return date;
+ return isUtc ? moment.utc(value) : moment(value);
}
function getTodayButton(options, $dateRangePicker) {
@@ -430,6 +420,11 @@
function formatHiddenDate(date, options) {
date = convertToMoment(date, options, options.inputDateFormat);
if (date.isValid()) {
+ if (options.isUtc) {
+ date = date.utc();
+ }else{
+ date = date.local();
+ }
if (options.isIso) {
return date.toISOString();
}
@@ -438,6 +433,15 @@
return '';
}
+
+ function createInitialAbpDate(date, options) {
+ date = convertToMoment(date, options, undefined, options.isUtc);
+ if (options.isUtc) {
+ date = date.local();
+ }
+
+ return AbpDate(date, options);
+ }
abp.dom.initializers.initializeDateRangePickers = function ($rootElement) {
$rootElement
@@ -463,10 +467,10 @@
var singleOpenAndClearButton = options.singleOpenAndClearButton && $clearButton.length > 0 && $openButton.length > 0;
- var startDate = AbpDate(options.startDate || options.date || (options.autoUpdateInput ? new Date() : undefined), options);
+ var startDate = createInitialAbpDate(options.startDate || options.date || (options.autoUpdateInput ? new Date() : undefined), options);
var oldStartDate = AbpDate(undefined, options);
-
- var endDate = AbpDate(options.endDate || undefined, options);
+
+ var endDate = createInitialAbpDate(options.endDate || (options.autoUpdateInput ? new Date() : undefined), options);
var oldEndDate = AbpDate(undefined, options);
options.startDate = convertToMoment(startDate, options);
@@ -705,6 +709,10 @@
});
}
+ abp.dom.onNodeAdded(function (args) {
+ abp.dom.initializers.initializeDateRangePickers(args.$el);
+ });
+
$(function () {
abp.dom.initializers.initializeDateRangePickers($('body'));
});
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs
index 90c95d18be..971deab5ca 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs
@@ -58,6 +58,7 @@ public class AbpCliCoreModule : AbpModule
options.Commands[SwitchToPreviewCommand.Name] = typeof(SwitchToPreviewCommand);
options.Commands[SwitchToStableCommand.Name] = typeof(SwitchToStableCommand);
options.Commands[SwitchToNightlyCommand.Name] = typeof(SwitchToNightlyCommand);
+ options.Commands[SwitchToPreRcCommand.Name] = typeof(SwitchToPreRcCommand);
options.Commands[SwitchToLocal.Name] = typeof(SwitchToLocal);
options.Commands[TranslateCommand.Name] = typeof(TranslateCommand);
options.Commands[BuildCommand.Name] = typeof(BuildCommand);
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreRcCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreRcCommand.cs
new file mode 100644
index 0000000000..5e1de3af4a
--- /dev/null
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/SwitchToPreRcCommand.cs
@@ -0,0 +1,45 @@
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Cli.Args;
+using Volo.Abp.Cli.ProjectModification;
+using Volo.Abp.DependencyInjection;
+
+namespace Volo.Abp.Cli.Commands;
+
+public class SwitchToPreRcCommand : IConsoleCommand, ITransientDependency
+{
+ public const string Name = "switch-to-prerc";
+
+ private readonly PackagePreviewSwitcher _packagePreviewSwitcher;
+
+ public SwitchToPreRcCommand(PackagePreviewSwitcher packagePreviewSwitcher)
+ {
+ _packagePreviewSwitcher = packagePreviewSwitcher;
+ }
+
+ public async Task ExecuteAsync(CommandLineArgs commandLineArgs)
+ {
+ await _packagePreviewSwitcher.SwitchToPreRc(commandLineArgs);
+ }
+
+ public string GetUsageInfo()
+ {
+ var sb = new StringBuilder();
+
+ sb.AppendLine("");
+ sb.AppendLine("Usage:");
+ sb.AppendLine(" abp switch-to-prerc [options]");
+ sb.AppendLine("");
+ sb.AppendLine("Options:");
+ sb.AppendLine("-d|--directory");
+ sb.AppendLine("");
+ sb.AppendLine("See the documentation for more info: https://docs.abp.io/en/abp/latest/CLI");
+
+ return sb.ToString();
+ }
+
+ public string GetShortDescription()
+ {
+ return "Switches npm packages to pre-rc ABP version.";
+ }
+}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs
index d016fad655..e9964ce947 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs
@@ -53,7 +53,7 @@ public class NpmPackagesUpdater : ITransientDependency
public async Task Update(string rootDirectory, bool includePreviews = false,
bool includeReleaseCandidates = false,
- bool switchToStable = false, string version = null)
+ bool switchToStable = false, string version = null, bool includePreRc = false)
{
var fileList = _packageJsonFileFinder.Find(rootDirectory);
@@ -66,7 +66,7 @@ public class NpmPackagesUpdater : ITransientDependency
foreach (var file in fileList)
{
- if (includePreviews)
+ if (includePreviews || includePreRc)
{
await CreateNpmrcFileAsync(Path.GetDirectoryName(file));
}
@@ -82,7 +82,9 @@ public class NpmPackagesUpdater : ITransientDependency
{
var updated = await UpdatePackagesInFile(file, includePreviews, includeReleaseCandidates,
switchToStable,
- version);
+ version,
+ includePreRc);
+
packagesUpdated.TryAdd(file, updated);
}
@@ -162,7 +164,8 @@ public class NpmPackagesUpdater : ITransientDependency
bool includePreviews = false,
bool includeReleaseCandidates = false,
bool switchToStable = false,
- string specifiedVersion = null)
+ string specifiedVersion = null,
+ bool includePreRc = false)
{
var packagesUpdated = false;
var fileContent = File.ReadAllText(filePath);
@@ -177,7 +180,7 @@ public class NpmPackagesUpdater : ITransientDependency
foreach (var abpPackage in abpPackages)
{
var updated = await TryUpdatingPackage(filePath, abpPackage, includePreviews, includeReleaseCandidates,
- switchToStable, specifiedVersion);
+ switchToStable, specifiedVersion, includePreRc);
if (updated)
{
@@ -198,7 +201,8 @@ public class NpmPackagesUpdater : ITransientDependency
bool includePreviews = false,
bool includeReleaseCandidates = false,
bool switchToStable = false,
- string specifiedVersion = null)
+ string specifiedVersion = null,
+ bool includePreRc = false)
{
var currentVersion = (string)package.Value;
@@ -221,7 +225,11 @@ public class NpmPackagesUpdater : ITransientDependency
}
else
{
- if ((includePreviews ||
+ if (includePreRc && !includeReleaseCandidates)
+ {
+ version = await GetLatestVersion(package, includePreRc: true, workingDirectory: filePath.RemovePostFix("package.json"));
+ }
+ else if ((includePreviews ||
(!switchToStable && (currentVersion != null && currentVersion.Contains("-preview")))) &&
!includeReleaseCandidates)
{
@@ -262,9 +270,10 @@ public class NpmPackagesUpdater : ITransientDependency
return version.Split("-", StringSplitOptions.RemoveEmptyEntries).Length > 1;
}
- protected virtual async Task GetLatestVersion(JProperty package, bool includeReleaseCandidates = false, bool includePreviews = false, string workingDirectory = null)
+ protected virtual async Task GetLatestVersion(JProperty package, bool includeReleaseCandidates = false, bool includePreviews = false, string workingDirectory = null, bool includePreRc = false)
{
- var key = package.Name + (includePreviews ? "(preview)" : string.Empty);
+ var postfix = includePreviews ? "(preview)" : (includePreRc ? "(prerc)" : string.Empty);
+ var key = package.Name + postfix;
if (_fileVersionStorage.ContainsKey(key))
{
@@ -275,7 +284,11 @@ public class NpmPackagesUpdater : ITransientDependency
string newVersion = string.Empty;
- if (includePreviews)
+ if (includePreRc)
+ {
+ newVersion = versionList.FirstOrDefault(v => v.Contains("-prerc"));
+ }
+ else if (includePreviews)
{
newVersion = versionList.FirstOrDefault(v => v.Contains("-preview"));
}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs
index 9e65595182..2b9a595742 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs
@@ -44,6 +44,52 @@ public class PackagePreviewSwitcher : ITransientDependency
await SwitchProjectsToPreview(projectPaths);
}
}
+
+ public async Task SwitchToStable(CommandLineArgs commandLineArgs)
+ {
+ var solutionPaths = GetSolutionPaths(commandLineArgs);
+
+ if (solutionPaths.Any())
+ {
+ await SwitchSolutionsToStable(solutionPaths);
+ }
+ else
+ {
+ var projectPaths = GetProjectPaths(commandLineArgs);
+
+ await SwitchProjectsToStable(projectPaths);
+ }
+ }
+
+ public async Task SwitchToNightlyPreview(CommandLineArgs commandLineArgs)
+ {
+ var solutionPaths = GetSolutionPaths(commandLineArgs);
+
+ if (solutionPaths.Any())
+ {
+ await SwitchSolutionsToNightlyPreview(solutionPaths);
+ }
+ else
+ {
+ var projectPaths = GetProjectPaths(commandLineArgs);
+
+ await SwitchProjectsToNightlyPreview(projectPaths);
+ }
+ }
+
+ public async Task SwitchToPreRc(CommandLineArgs commandLineArgs)
+ {
+ var solutionPaths = GetSolutionPaths(commandLineArgs);
+
+ if (solutionPaths.Any())
+ {
+ await SwitchNpmPackageVersionsOfSolutionsToPreRc(solutionPaths);
+ }
+ else
+ {
+ await SwitchNpmPackageVersionsOfProjectsToPreRc(GetProjectPaths(commandLineArgs));
+ }
+ }
private async Task SwitchProjectsToPreview(List projects)
{
@@ -88,22 +134,6 @@ public class PackagePreviewSwitcher : ITransientDependency
}
}
- public async Task SwitchToStable(CommandLineArgs commandLineArgs)
- {
- var solutionPaths = GetSolutionPaths(commandLineArgs);
-
- if (solutionPaths.Any())
- {
- await SwitchSolutionsToStable(solutionPaths);
- }
- else
- {
- var projectPaths = GetProjectPaths(commandLineArgs);
-
- await SwitchProjectsToStable(projectPaths);
- }
- }
-
private async Task SwitchProjectsToStable(List projects)
{
foreach (var project in projects)
@@ -156,22 +186,6 @@ public class PackagePreviewSwitcher : ITransientDependency
}
}
- public async Task SwitchToNightlyPreview(CommandLineArgs commandLineArgs)
- {
- var solutionPaths = GetSolutionPaths(commandLineArgs);
-
- if (solutionPaths.Any())
- {
- await SwitchSolutionsToNightlyPreview(solutionPaths);
- }
- else
- {
- var projectPaths = GetProjectPaths(commandLineArgs);
-
- await SwitchProjectsToNightlyPreview(projectPaths);
- }
- }
-
private async Task SwitchProjectsToNightlyPreview(List projects)
{
foreach (var project in projects)
@@ -220,6 +234,38 @@ public class PackagePreviewSwitcher : ITransientDependency
}
}
}
+
+ private async Task SwitchNpmPackageVersionsOfProjectsToPreRc(List projects)
+ {
+ foreach (var project in projects)
+ {
+ var folder = Path.GetDirectoryName(project);
+
+ await _npmPackagesUpdater.Update(
+ folder,
+ includePreRc: true);
+ }
+ }
+
+ private async Task SwitchNpmPackageVersionsOfSolutionsToPreRc(List solutionPaths)
+ {
+ foreach (var solutionPath in solutionPaths)
+ {
+ var solutionFolder = Path.GetDirectoryName(solutionPath);
+ var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder);
+
+ await _npmPackagesUpdater.Update(
+ solutionFolder,
+ includePreRc: true);
+
+ if (solutionAngularFolder != null)
+ {
+ await _npmPackagesUpdater.Update(
+ solutionAngularFolder,
+ includePreRc: true);
+ }
+ }
+ }
private List GetSolutionPaths(CommandLineArgs commandLineArgs)
{
diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
index a0cd8335c6..8c1f5871db 100644
--- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
+++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Components/PermissionManagementModal.razor
@@ -62,7 +62,7 @@
@foreach (var permission in group.Permissions)
{
-
+