Browse Source

Merge branch 'dev' into IdentitySession

pull/18242/head
maliming 3 years ago
parent
commit
a3d7932ec5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 10
      README.md
  2. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  3. 228
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/ru.json
  4. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
  5. 228
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/ru.json
  6. 8
      abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/ru.json
  7. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
  8. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
  9. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json
  10. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
  11. 14
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  12. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
  13. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
  14. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
  15. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
  16. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
  17. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
  18. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
  19. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
  20. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
  21. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
  22. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
  23. 1142
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
  24. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
  25. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
  26. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
  27. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
  28. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
  29. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
  30. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
  31. 127
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ru.json
  32. 9
      abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/ru.json
  33. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  34. 164
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ru.json
  35. 2
      common.props
  36. 4
      docs/en/Application-Startup.md
  37. 223
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/POST.md
  38. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/account-module-register.png
  39. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/community-talk-2023-8.png
  40. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/cover-image.png
  41. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/identity-users.gif
  42. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/password-complexity-indicators.png
  43. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/suite-master-child-datagrid.png
  44. BIN
      docs/en/Blog-Posts/2023-11-15 v8_0_Preview/users-page.png
  45. 2
      docs/en/Community-Articles/2023-10-28-EF-Core-8-Primitive-Collections/POST.md
  46. 10
      docs/en/Distributed-Event-Bus-RabbitMQ-Integration.md
  47. 2
      docs/en/Getting-Started-Setup-Environment-Single-Layer.md
  48. 2
      docs/en/Getting-Started-Setup-Environment.md
  49. 2
      docs/en/Tutorials/Todo/Index.md
  50. 2
      docs/en/Tutorials/Todo/Single-Layer/Index.md
  51. BIN
      docs/en/images/book-mastering-abp-framework.png
  52. 10
      docs/zh-Hans/Distributed-Event-Bus-RabbitMQ-Integration.md
  53. 2
      docs/zh-Hans/Getting-Started-Setup-Environment.md
  54. 9
      framework/src/Volo.Abp.AspNetCore.Components.Server/Volo/Abp/AspNetCore/Components/Server/AbpAspNetCoreComponentsServerModule.cs
  55. 20
      framework/src/Volo.Abp.AspNetCore.Components.Server/Volo/Abp/AspNetCore/Components/Server/Extensibility/BlazorServerLookupApiRequestService.cs
  56. 8
      framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/Extensibility/WebAssemblyLookupApiRequestService.cs
  57. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  58. 11
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs
  59. 12
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js
  60. 1
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs
  61. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs
  62. 19
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs
  63. 3
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs
  64. 246
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs
  65. 16
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  66. 74
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateRemoveMongodbCollectionFixtureStep.cs
  67. 5
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/BlazorAppsettingsFilePortChangeForSeparatedAuthServersStep.cs
  68. 5
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RemoveUnnecessaryPortsStep.cs
  69. 28
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs
  70. 11
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs
  71. 24
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs
  72. 9
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpRabbitMqEventBusOptions.cs
  73. 6
      framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/RabbitMqDistributedEventBus.cs
  74. 2
      framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en-GB.json
  75. 2
      framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json
  76. 2
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs
  77. 7
      framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs
  78. 2
      framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs
  79. 2
      framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/EventOutboxMongoModelBuilderExtensions.cs
  80. 5
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ExchangeDeclareConfiguration.cs
  81. 5
      framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/QueueDeclareConfiguration.cs
  82. 28
      framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js
  83. 2
      framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs
  84. 4
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/en.json
  85. 4
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/tr.json
  86. 2
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json
  87. 4
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json
  88. 280
      modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock
  89. 4
      modules/blogging/app/Volo.BloggingTestApp/package.json
  90. 318
      modules/blogging/app/Volo.BloggingTestApp/yarn.lock
  91. 7
      modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.abppkg
  92. 2
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json
  93. 258
      modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock
  94. 10
      modules/cms-kit/angular/package.json
  95. 4
      modules/cms-kit/angular/projects/cms-kit/package.json
  96. 2
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json
  97. 258
      modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock
  98. 2
      modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json
  99. 258
      modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock
  100. 4
      modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json

10
README.md

@ -42,6 +42,16 @@ Create a new solution:
<img width="500" src="docs/en/images/db-options.png">
## The Book: Mastering ABP Framework
Written by the creator of ABP Framework, this book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques.
* [Buy on Amazon](https://www.amazon.com/gp/product/B097Z2DM8Q)
* [Buy on Packt Publishing](https://www.packtpub.com/product/mastering-abp-framework/9781801079242)
* [More details about the book](https://abp.io/books/mastering-abp-framework)
![book-mastering-abp-framework](docs/en/images/book-mastering-abp-framework.png)
## What ABP Provides?
ABP provides a **full stack developer experience**.

3
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json

@ -560,6 +560,7 @@
"AddSession": "Add Session",
"AddSponsor": "Add Sponsor",
"SponsorLogo": "Sponsor Logo",
"RegistrationUrl": "Registration Url"
"RegistrationUrl": "Registration Url",
"AllowAbpStudioBetaAccess": "Allow ABP Studio Beta Access"
}
}

228
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/ru.json

@ -220,6 +220,7 @@
"SuccessfullyReIndexAllPosts": "Все сообщения успешно переиндексированы.",
"Permission:FullSearch": "Полнотекстовый поиск",
"Menu:CliAnalytics": "Cli Analytics",
"Menu:Reports": "Отчеты",
"TemplateName": "Имя Шаблона",
"TemplateVersion": "Версия шаблона",
"DatabaseProvider": "Поставщик базы данных",
@ -233,6 +234,8 @@
"CliAnalytics": "Cli Analytics",
"Permission:CliAnalyticses": "Cli Analyticses",
"Permission:CliAnalytics": "Cli Analytics",
"Reports": "Отчеты",
"Permission:Reports": "Отчеты",
"Search": "Поиск",
"ClearFilter": "Очистить фильтр",
"LicensePrivateKey": "Лицензионный закрытый ключ",
@ -348,6 +351,229 @@
"Volo.AbpIo.Commercial:030008": "Дата покупки может быть установлена только при статусе «Куплено»!",
"Volo.AbpIo.Commercial:030009": "Пользователь не найден!",
"Volo.AbpIo.Commercial:030010": "Чтобы приобрести пробную лицензию, сначала вам необходимо активировать пробную лицензию!",
"Volo.AbpIo.Commercial:030011": "Приобретенную пробную лицензию удалить нельзя!"
"Volo.AbpIo.Commercial:030011": "Приобретенную пробную лицензию удалить нельзя!",
"Permission:SendWelcomeEmail": "Отправить приветственное письмо",
"SendWelcomeEmail": "Отправить приветственное письмо",
"SendWelcomeEmailWarningMessage": "Вы уверены, что хотите отправить приветственное письмо членам организации?",
"SendWelcomeEmailSuccessMessage": "Приветственное письмо успешно отправлено!",
"Activate": "Активировать",
"ActivateTrialLicenseWarningMessage": " Когда вы активируете пробную лицензию, пользователю будет отправлено приветственное письмо. ",
"ActivateTrialLicenseSuccessMessage": "Активация прошла успешно, членам организации отправлено приветственное письмо.",
"PaymentRequestId": "Идентификатор запроса платежа",
"AdditionalDeveloperCount": "Дополнительное количество разработчиков",
"LicensePrice": "Цена лицензии",
"PurchaseDate": "Дата покупки",
"IsAbpBookDownloaded": "Книга «Освоение ABP» загружена?",
"IsMasteringAbpBookDownloadEnabled": "Загрузка книги ABP включена",
"Permission:Accounting:CustomPaymentLinkGenerator": "Пользовательская ссылка для оплаты",
"CustomPaymentLink": "Пользовательская ссылка для оплаты",
"Menu:CustomPaymentLink": "Пользовательская ссылка для оплаты",
"Amount": "Количество",
"GenerateCustomPaymentLink": "Создать персонализированную платежную ссылку",
"GeneratedPaymentLink": "Сгенерированная платежная ссылка",
"CopyText": "Копировать текст",
"Permission:CommunityEvents": "События",
"Menu:Events": "События",
"Events": "События",
"EventType": "Тип события",
"Number": "Число",
"RegistrationURL": "URL-адрес регистрации",
"URL": "URL-адрес",
"EventDeletionConfirmationMessage": "Вы уверены, что хотите удалить это мероприятие?",
"Enum:EventType:0": "Обсуждения сообщества",
"CreateAnEvent": "Создать событие",
"Permission:CommunitySpeakers": "Динамики",
"CreateASpeaker": "Создать динамик",
"Speakers": "Динамики",
"Image": "Изображение",
"GithubURL": "URL-адрес Гитхаба",
"SpeakerDeletionConfirmationMessage": "Вы уверены, что хотите удалить этого динамика?",
"Menu:Speakers": "Динамики",
"ChooseSpeakerImage": "Выберите изображение динамика...",
"SpeakerImage": "Изображение докладчика",
"AddSpeaker": "Добавить динамик",
"ShowPurchaseItemsOfOrganizations": "Покупка предметов",
"Enum:OrganizationPurchaseState:0": "Не доставлен",
"Enum:OrganizationPurchaseState:1": "Доставленный",
"PurchaseItems": "Покупка предметов",
"SuccessfullyUpdated": "Успешно обновлено",
"SuccessfullyAdded": "Успешно добавлено",
"PurchaseState": "Статус покупки",
"ShowBetweenDayCount": "Шоу между днями",
"PurchaseOrder": "Заказ на покупку",
"ShowCreateInvoiceOfOrganization": "Создать счет",
"ShowCreateQuotationOfOrganization": "Создать предложение",
"BookDiscounts": "Скидки на книги",
"Permission:BookDiscount": "Забронировать скидку",
"Menu:BookDiscounts": "Скидки на книги",
"BookType": "Тип книги",
"PurchasePlatform": "Платформа покупки",
"StartTime": "Время начала",
"EndTime": "Время окончания",
"CreateABookDiscount": "Создать скидку на книгу",
"BookDiscountDeletionConfirmationMessage": "Вы уверены, что хотите удалить эту скидку на книгу?",
"CustomPaymentFlexSwitchDescription": "С лицензией",
"AllowFeatureUpgradeOnLicenseExpire": "Разрешить обновление функций по истечении срока действия лицензии",
"Deleted{0}": "[Удален {0}]",
"Tags": "Теги",
"SetTagsInfo": "Теги должны быть разделены запятыми. ",
"RejectTrialLicenseWarningMessage": "Вы уверены, что хотите отклонить этот запрос на пробную лицензию?",
"ExportToExcel": "Экспорт в Excel",
"OverallTotalPrice": "Общая общая цена",
"OverallDiscountPrice": "Общая цена со скидкой",
"OverallDiscountText": "Общий текст скидки",
"SelectReport": "- Выберите отчет -",
"NoDataAvailable": "Данные недоступны",
"StatisticsOfCachedContents": "Статистика кэшированного содержимого пакета NuGet для nuget.abp.io",
"Compact": "Компактный",
"EditSettings": "Изменить настройки",
"CurrentEstimatedSize": "Текущий расчетный размер",
"CurrentEntryCount": "Текущее количество входов",
"TotalHits": "Всего просмотров",
"TotalMisses": "Всего промахов",
"NoResponseFrom": "Нет ответа от",
"ContentCacheSlidingExpirationByDay": "Скользящий срок действия кэша контента по дням",
"MaxDaysForCaching": "Максимальное количество дней для кэширования",
"Enabled": "Включено",
"Menu:NugetPackagesContentCache": "NuGet-кэш",
"NugetPackagesContentCache": "Кэш контента NuGet",
"SlidingExpritionByDayInfo": "Получает или задает время, в течение которого запись кэша может быть неактивной (например, недоступной), прежде чем она будет удалена. ",
"MaxDaysForCachingInfo": "Получает или задает абсолютное время истечения срока действия относительно текущего момента.",
"CurrentEstimatedSizeInfo": "Указывает приблизительную сумму размера содержимого всех пакетов NuGet, находящихся в настоящее время в кеше памяти.",
"CurrentEntryCountInfo": "Указывает количество экземпляров, находящихся в настоящее время в кэше памяти.",
"TotalHitsInfo": "Указывает общее количество промахов кэша. ",
"TotalMissesInfo": "Указывает общее количество попаданий в кэш. ",
"Permission:VersionHistory": "История версий",
"Caches": "Тайники",
"VersionHistories": "История версий",
"Version": "Версия",
"PublishDate": "Дата публикации",
"IsStableVersion": "Стабильная версия",
"IsActive": "Активный",
"NewVersion": "Новая версия",
"VersionHistoryDeletionConfirmationMessage": "Вы уверены, что хотите удалить эту версию?",
"CreateAbpConsultantLogoInfo": "Максимальный размер файла: <b>1 МБ</b> <br/> Поддерживаемые типы файлов: <b>JPG, JPEG, PNG, SVG, WebP</b>",
"UrlCode": "URL-код",
"Clear": "Прозрачный",
"Permission:AbpConsultant": "Консультант АБП",
"Menu:AbpConsultants": "Консультанты АБП",
"CreateAbpConsultant": "Создать консультанта по ABP",
"UrlCodeIsNotAvailable": "URL-код используется другим консультантом ABP.",
"AbpConsultants": "Консультанты АБП",
"AbpConsultant": "Консультант АБП",
"AbpConsultantEdit": "Изменить консультанта ABP",
"AbpConsultantCreate": "Создать консультанта по ABP",
"WhoWeAreItem": "Кто мы",
"FieldIsRequired": "{0} требуется.",
"FieldIsNotValid": " {0} недействителен.",
"InterestedLicenseType": "Заинтересованный тип лицензии",
"MoveWaitList": "Переместить в список ожидания",
"CommunityLinkTitle": "Открыть на сайте сообщества",
"CommunityLink": "Ссылка на сообщество",
"ReloadFromSource": "Перезагрузить из источника",
"ReloadFromSourceConfirmationMessage": "Это сообщение будет обновлено с \"{0}\". ",
"UnitPrice": "Цена за единицу товара",
"OverallDiscountAmount": "Общая сумма скидки",
"DiscountAmount": "Сумма скидки",
"FullChangeHistory": "Полная история изменений",
"Permission:RefreshReleaseLogs": "Обновить журналы выпусков",
"ReleaseLogs": "Журналы релизов",
"AuthorUserName": "Имя пользователя автора",
"Type": "Тип",
"TotalDiscount": "Общая скидка",
"SubTotal": "Промежуточный итог",
"TotalDue": "Общая сумма задолженности",
"QuotationNo": "Номер предложения",
"ValidTill": "Годен до",
"QuotationNote": "Ценовое примечание",
"QuotationTemplate.Address:": "Адрес:",
"QuotationTemplate.VATNo:": "НДС №:",
"QuotationTemplate.Phone:": "Телефон:",
"QuotationTemplate.E-mail:": "Электронная почта:",
"QuotationTemplate.Quotation": "Цитата",
"QuotationTemplate.To": "К",
"QuotationTemplate.Details": "Подробности",
"QuotationTemplate.QuotationNo:": "Цитата",
"QuotationTemplate.IssueDate:": "Дата выпуска:",
"QuotationTemplate.ValidTill:": "Годен до:",
"QuotationTemplate.ValidDays": "{0} дней",
"QuotationTemplate.Description": "Описание",
"QuotationTemplate.UnitPrice": "Цена за единицу товара",
"QuotationTemplate.Qty": "Кол-во",
"QuotationTemplate.Discount": "Скидка",
"QuotationTemplate.Total": "Общий",
"QuotationTemplate.Notes": "Примечания",
"QuotationTemplate.SubTotal:": "Промежуточный итог :",
"QuotationTemplate.Tax/VAT:": "Налог/НДС (%{0}):",
"QuotationTemplate.TotalDiscount:": "Общая скидка :",
"QuotationTemplate.TOTALDUE:": "ВСЕГО К ЗАПЛАТЕ:",
"QuotationTemplate.BankAccount": "Информацию о нашем банковском счете можно найти по адресу {0}.",
"Permission:Raffles": "Розыгрыш",
"Permission:Draw": "Рисовать",
"Menu:Raffles": "Розыгрыши",
"RaffleIsNotDrawable": "Розыгрыш не проводится",
"WinnerCountMustBeGreaterThanZero": "Число победителей должно быть больше нуля.",
"FullDescription": "Полное описание",
"VisibilityStartDate": "Дата начала видимости",
"VisibilityEndDate": "Дата окончания видимости",
"RaffleDate": "Дата розыгрыша",
"SubscriptionCode": "Код подписки",
"GroupCode": "Код группы",
"MaxWinnerCount": "Максимальное количество победителей",
"ReDraw": "Перерисовать",
"EditRaffle": "Редактировать лотерею",
"Raffles": "Розыгрыши",
"CreateARaffle": "Создать лотерею",
"Draw": "Рисовать",
"Enum:RaffleStatus:0": "Активный",
"Enum:RaffleStatus:1": "Следующий",
"Enum:RaffleStatus:2": "Прошлое",
"DrawDone": "Розыгрыш завершен",
"HomePageShowType": "Тип показа домашней страницы",
"None": "Никто",
"Card": "Карта",
"Horizontal": "Горизонтальный",
"Winners": "Победители",
"StartDateMustBeLessThanEndDate": "Дата начала должна быть меньше даты окончания.",
"VisibilityStartDateMustBeLessThanVisibilityEndDate": "Дата начала видимости должна быть меньше даты окончания видимости.",
"StartDateMustBeGreaterThanVisibilityStartDate": "Дата начала должна быть позже даты начала видимости.",
"EndDateMustBeLessThanVisibilityEndDate": "Дата окончания должна быть меньше даты окончания видимости.",
"DrawnDone": "Нарисовано Готово",
"AddColor": "Добавить цвет",
"Colors": "Цвета",
"RemoveColor": "Удалить цвет",
"MaxColorCountWarning": "Вы можете добавить до {0} цветов.",
"MinColorCountWarning": "Вы должны добавить не менее {0} цветов.",
"RaffleDeletionConfirmationMessage": "Вы уверены, что хотите удалить этот розыгрыш?",
"CreateRaffle": "Создать лотерею",
"RemoveImage": "Удалить изображение",
"SuccessfullySaved": "Успешно сохранено",
"Menu:CommunityTalks": "Обсуждения сообщества",
"Menu:Conferences": "Конференции",
"Menu:OtherLiveEvents": "Другие живые события",
"Menu:SponsoredConferences": "Спонсируемые конференции",
"Logo": "Логотип",
"Slug": "Слизень",
"CompanyUrl": "URL компании",
"TalkTitle": "Название доклада",
"AbstractTopic": "Абстрактная тема",
"Bio": "Био",
"LinkedIn": "LinkedIn",
"Github": "GitHub",
"Twitch": "Twitch",
"Youtube": "YouTube",
"Twitter": "Twitter",
"PersonalWebsite": "Персональный сайт",
"VideoId": "Идентификатор видео",
"Order": "Заказ",
"Image1x1": "Изображение 1х1",
"Image16x9": "Изображение 16x9",
"Banner": "Баннер",
"Speaker": "Оратор",
"SessionDate": "Дата сессии",
"AddSession": "Добавить сеанс",
"AddSponsor": "Добавить спонсора",
"SponsorLogo": "Логотип спонсора",
"RegistrationUrl": "URL-адрес регистрации"
}
}

7
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json

@ -230,6 +230,11 @@
"CommunityProfile": "Community Profile",
"BlogProfile": "Blog Profile",
"Tickets": "Tickets",
"Videos": "Videos"
"Raffles": "Raffles",
"Status": "Status",
"Resources": "Resources",
"Video Courses": "Video Courses",
"Packages": "Packages",
"Trainings": "Trainings"
}
}

228
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/ru.json

@ -3,22 +3,39 @@
"texts": {
"Volo.AbpIo.Domain:010004": "Достигнуто максимальное количество участников!",
"Volo.AbpIo.Domain:010005": "Достигнуто максимальное количество владельцев!",
"Volo.AbpIo.Domain:010006": "Этот пользователь уже является владельцем в этой организации!",
"Volo.AbpIo.Domain:010006": "Этот пользователь уже является владельцем этой организации!",
"Volo.AbpIo.Domain:010007": "Этот пользователь уже является разработчиком в этой организации!",
"Volo.AbpIo.Domain:010008": "Разрешенное количество разработчиков не может быть меньше текущего количества разработчиков!",
"Volo.AbpIo.Domain:010009": "Допустимое количество разработчиков не может быть меньше 0!",
"Volo.AbpIo.Domain:010010": "Превышено максимальное количество MAC-адресов!",
"Volo.AbpIo.Domain:010009": "Разрешенное количество разработчиков не может быть меньше 0!",
"Volo.AbpIo.Domain:010010": "Превышено максимальное количество Mac-адресов!",
"Volo.AbpIo.Domain:010011": "Персональная лицензия не может иметь более 1 разработчика!",
"Volo.AbpIo.Domain:010012": "Лицензия не может быть продлена через месяц после истечения срока действия лицензии!",
"Volo.AbpIo.Domain:020001": "Не удалось удалить этот пакет NPM, поскольку пакеты Nuget \"{NugetPackages}\" зависят от этого пакета.",
"Volo.AbpIo.Domain:020002": "Не удалось удалить этот пакет NPM, потому что модули \"{Modules}\" используют этот пакет.",
"Volo.AbpIo.Domain:020003": "Не удалось удалить этот пакет NPM, поскольку модули \"{Modules}\" используют этот пакет, а пакеты Nuget \"{NugetPackages}\" зависят от этого пакета.",
"Volo.AbpIo.Domain:020004": "Не удалось удалить этот пакет Nuget, потому что модули \"{Modules}\" используют этот пакет.",
"Volo.AbpIo.Domain:020002": "Не удалось удалить этот пакет NPM, поскольку этот пакет используют модули «{Modules}».",
"Volo.AbpIo.Domain:020003": "Не удалось удалить этот пакет NPM, поскольку модули «{Modules}» используют этот пакет, а пакеты Nuget «{NugetPackages}» зависят от этого пакета.",
"Volo.AbpIo.Domain:020004": "Не удалось удалить этот пакет Nuget, поскольку этот пакет используют модули «{Modules}».",
"Volo.AbpIo.Domain:030000": "Вы уже завершили пробный период.",
"Volo.AbpIo.Domain:030001": "Это название организации уже существует.",
"Volo.AbpIo.Domain:030002": "После активации вы не сможете переключить пробную лицензию в статус «запрошено»!",
"Volo.AbpIo.Domain:030003": "Нет такого статуса!",
"Volo.AbpIo.Domain:030004": "Статус не удалось изменить из-за непредвиденной ошибки!",
"Volo.AbpIo.Domain:030005": "Даты начала и окончания могут быть обновлены, когда пробная лицензия находится в статусе «активировано»!",
"Volo.AbpIo.Domain:030006": "Дата окончания должна быть больше даты начала!",
"Volo.AbpIo.Domain:030007": "Эта пробная лицензия уже активирована!",
"Volo.AbpIo.Domain:030008": "Дату покупки можно установить только при статусе -куплено-!",
"Volo.AbpIo.Domain:030009": "Пользователь не найден!",
"Volo.AbpIo.Domain:030010": "Чтобы приобрести пробную лицензию, вам сначала необходимо активировать пробную лицензию!",
"Volo.AbpIo.Domain:030011": "Вы не можете удалить пробную лицензию после ее приобретения!",
"Volo.AbpIo.Domain:030012": "Пользователь имеет право иметь только 1 бесплатный пробный период. ",
"Volo.AbpIo.Domain:030013": "Пользователь с активной лицензией не может запустить пробную лицензию.",
"Volo.AbpIo.Domain:040000": "Телеметрия уже существует!.",
"Volo.AbpIo.Domain:070000": "Название организации может содержать только латинские буквы, цифры, точки и дефисы!",
"Volo.AbpIo.Domain:070001": "Название компании может содержать только латинские буквы, цифры, точки, пробелы и дефисы!",
"WantToLearn?": "Хотеть учиться?",
"ReadyToGetStarted?": "Готовы начать?",
"JoinOurCommunity": "Присоединяйтесь к нашему сообществу",
"GetStartedUpper": "НАЧАТЬ",
"ForkMeOnGitHub": "Разветвите меня на GitHub",
"ForkMeOnGitHub": "Раскошелитесь на GitHub",
"Features": "Функции",
"GetStarted": "Начать",
"Documents": "Документы",
@ -26,19 +43,198 @@
"ContributionGuide": "Руководство по вкладу",
"Blog": "Блог",
"Commercial": "Коммерческий",
"MyAccount": "Мой аккаунт",
"MyAccount": "Мой счет",
"Permission:License": "Лицензия",
"Permission:UserInfo": "Информация о пользователе",
"SeeDocuments": "См. Документы",
"SeeDocuments": "См. документы",
"Samples": "Образцы",
"Framework": "Фреймворк",
"Support": "Служба поддержки",
"Framework": "Рамки",
"Support": "Поддерживать",
"FreeDDDBook": "Бесплатная электронная книга DDD",
"New": "Новый",
"Volo.AbpIo.Domain:020005": "Год продления лицензии не может быть меньше {MinExtendLicenseYear} лет и больше {MaxExtendLicenseYear} лет.",
"TrialLicensePeriodHasExpired": "Срок действия вашей пробной лицензии истек {0} дней назад.",
"TrialLicensePeriodWillExpire": "Срок действия вашей пробной лицензии истечет через {0} дн.",
"TrialLicensePeriodExpireToday": "Срок действия вашей пробной лицензии истекает сегодня.",
"PurchaseNow": "Купить сейчас!"
"Volo.AbpIo.Domain:020005": "Год продления лицензии не может быть меньше {MinExtendLicenseYear} лет и больше {MaxExtendLicenseYear} лет. ",
"TrialLicensePeriodHasExpired": "Срок действия пробной лицензии истек {0} дн. назад.",
"TrialLicensePeriodWillExpire": "Срок действия пробной лицензии истечет через {0} дн.",
"TrialLicensePeriodExpireToday": "Срок действия пробной лицензии истекает сегодня.",
"PurchaseNow": "Купить сейчас!",
"LatestReleaseLogs": "Журналы последних выпусков",
"RoadMap": "Дорожная карта",
"FAQ": "Часто задаваемые вопросы",
"SourceCode": "Исходный код",
"SeeAllPosts": "Посмотреть все публикации",
"Contribute": "Способствовать",
"LiveDemo": "Живая демонстрация",
"GetLicense": "Получить лицензию",
"OpenSource": "Открытый источник",
"WebApplication": "Веб приложение",
"MeetTheABP": "Знакомьтесь: ABP",
"CompleteWebDevelopment": "Полная веб-разработка",
"Platform": "Платформа",
"ABPDescription": "Платформа с открытым исходным кодом для разработки веб-приложений для ASP.NET Core. ",
"StrongInfrastructure": "Сильная инфраструктура",
"CompleteArchitecture": "Полная архитектура",
"DeveloperFocused": "Ориентирован на разработчиков",
"ShareYourExperiences": "Поделитесь своим опытом использования ABP Framework",
"LatestPosts": "Последние посты",
"LatestVideos": "Последние видео",
"Views": "Взгляды",
"LearnLatestNewsAboutABPFramework": "Получайте информацию о событиях в ABP, таких как новые выпуски, бесплатные источники, публикации и многое другое.",
"DeveloperTools": "Инструменты разработчика",
"StartupTemplates": "Шаблоны запуска",
"ApplicationModules": "Прикладные модули",
"UI": "пользовательский интерфейс",
"Themes": "Темы",
"Premium": "Премиум",
"PrivacyPolicy": "политика конфиденциальности",
"TermsAndConditions": "Условия",
"WouldLikeToReceiveMarketingMaterials": "Я хотел бы получать маркетинговые материалы, такие как предложения по продуктам",
"JoinOurMarketingNewsletter": "Подпишитесь на нашу маркетинговую рассылку",
"CommunityPrivacyPolicyConfirmation": "Я согласен с Условиями <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">политика конфиденциальности</a>.",
"WouldLikeToReceiveNotification": "Я хотел бы получать последние новости с сайтов abp.io.",
"CommercialNewsletterConfirmationMessage": "я согласен <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Условия</a> и <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">политика конфиденциальности</a>.",
"FreeDDDEBook": "Бесплатная электронная книга DDD",
"AdditionalServices": "Дополнительные услуги",
"Learn": "Учиться",
"AccountOverview": "Обзор учетной записи",
"MyOrganizations": "Мои организации",
"MySupportQuestions": "Мои вопросы о поддержке",
"MyProfile": "Мой профайл",
"Logout": "Выйти",
"Home": "Дом",
"Posts": "Сообщения",
"Videos": "Видео",
"JoinTheABPCommunity": "Присоединяйтесь к сообществу ABP",
"SubmitYourPost": "Отправьте свое сообщение",
"Modules": "Модули",
"Tools": "Инструменты",
"Pricing": "Цены",
"ChangeLogs": "Журналы изменений",
"SubscribeToNewsletter": "Подписаться на рассылку",
"SubscribeToNewsletterDescription": "Получайте информацию о событиях в ABP, таких как новые выпуски, бесплатные источники, публикации и многое другое.",
"EmailAddress": "Адрес электронной почты",
"Subscribe": "Подписаться",
"WelcomeToABP": "Добро пожаловать в ABP",
"EULA": "Лицензионное соглашение",
"ABPCommercialIntroductionMessage": "Готовые модули приложений, расширенные шаблоны запуска, инструменты быстрой разработки приложений, профессиональные темы пользовательского интерфейса и премиум-поддержка.",
"MasteringAbpFrameworkEBook": "Освоение структуры ABP",
"MasteringTheABPFrameworkExplanation": "Эта книга, написанная создателем ABP Framework, поможет вам получить полное представление об этой платформе и современных методах разработки веб-приложений.",
"Speakers": "Динамики",
"PreviousEvents": "Предыдущие события",
"WatchTheEvent": "Посмотреть событие",
"RegisterNow": "Зарегистрироваться",
"ThereIsNoEvent": "Нет никакого события.",
"Events": "События",
"Volo.AbpIo.Domain:080000": "Уже есть купленный товар с названием \"{Name}\"",
"MasteringAbpFrameworkBook": "Книга: Освоение ABP Framework",
"ABPIO-CommonPreferenceDefinition": "Получайте последние новости о платформе ABP, такие как новые публикации, события и многое другое.",
"BuiltOn": "Построен на",
"AbpFramework": "Структура ABP",
"Volo.AbpIo.Domain:080001": "Время начала не может быть больше времени окончания.",
"Enum:BookType:0": "Освоение структуры ABP",
"Enum:PurchasePlatform:0": "Амазонка",
"Enum:PurchasePlatform:1": "Пакет",
"Copied": "Скопировано!",
"CouldNotCopy": "Не удалось скопировать!",
"CopyNotSupportByYourBrowser": "Эта функция не работает в используемом вами браузере.",
"City": "Город",
"ZipCode": "Почтовый индекс",
"Address": "Адрес",
"Homepage": "Домашняя страница",
"Year": "Год",
"Year_Plural": "Годы",
"Copyright": "Авторское право © <a href=\"{0}\" target=\"_blank\">{1}</a>",
"DomainDrivenDesign": "Проектирование, ориентированное на предметную область",
"CrossCuttingConcerns": "Межсекторальные проблемы",
"AbpCommunity": "Сообщество ABP",
"Footer_GithubStarCount": "{0} Звезды на GitHub",
"Footer_NugetDownloadCount": "{0} Загрузки на NuGet",
"AbpDescription": "ABP — это платформа приложений с открытым исходным кодом, ориентированная на разработку веб-приложений на базе AspNet Core. ",
"Layout_AbpFramework_MetaTitle": "Структура ABP | ",
"CommunityTalks_CountdownDays": "Дни",
"CommunityTalks_CountdownHours": "Часы",
"CommunityTalks_CountdownMinutes": "Мин",
"CommunityTalks_CountdownSeconds": "сек.",
"SeePreviousEvents": "См. предыдущие события",
"CookieConsent_Accept": "Принимать",
"CookieConsent_Explanation_1": "Мы используем файлы cookie, чтобы вам было удобнее пользоваться нашим сайтом.",
"CookieConsent_Explanation_2": "Если вы продолжаете просматривать, вы соглашаетесь с нашими <a href=\"@Url.Page(\"/Privacy\")\">Политика конфиденциальности и политика использования файлов cookie.</a>.",
"Error_Page_400_Title": "Возникла проблема с обслуживанием запрошенной страницы.",
"Error_Page_400_Description_1": "Обычно это означает, что при обработке вашего запроса произошла непредвиденная ошибка.",
"Error_Page_400_Description_2": "Если проблема не устранена, свяжитесь с нами по адресу <a href=\"mailto:info@abp.io\">info@abp.io</a> и мы поможем вам продолжить путь.",
"GoToHomepage": "Вернуться на домашнюю страницу",
"Error_Page_404_Title": "Страница не найдена!",
"Error_Page_404_Description_1": "Это не та веб-страница, которую вы ищете.",
"Error_Page_500_Title": "Похоже, что-то пошло не так!",
"Error_Page_500_Description_1": "Мы отслеживаем эти ошибки автоматически, но если проблема не устранена, не стесняйтесь <br /> связаться с нами. ",
"Error_Page_500_Description_2": "Свяжитесь с нами по адресу <a href=\"mailto:info@abp.io\" target=\"_blank\">info@abp.io</a>.",
"Books": "Книги",
"ABPDiscordServer": "Дискорд-сервер ABP",
"ABPCommunityTalks": "Обсуждения сообщества ABP",
"ABPCommunityPosts": "Сообщения сообщества ABP",
"BuyAndGetMonths": "КУПИТЬ 12 МЕСЯЦЕВ, <span>ПОЛУЧИТЕ 14 МЕСЯЦЕВ!</span>",
"GetYourDeal": "Получите свою сделку",
"BuyOrRenewLicense": "Купите или продлите лицензию сейчас и получите 2 дополнительных месяца!",
"BuyOrRenewLicenseToGetExtra2Months": "Купите или продлите лицензию сейчас и получите 2 дополнительных месяца! ",
"HurryUp": "ТОРОПИТЬСЯ!",
"LastDay": "Последний день: {0}",
"BuyNewLicenseBetweenDatesToGetBenefit": "Купите новую лицензию в период с {0} по {1} и получите дополнительные 2 месяца выгоды!",
"CheckAllCommunityTalks": "Проверить все публикации сообщества",
"ReadMore": "Читать далее",
"ContinueReading": "Продолжить чтение",
"Post": "Почта",
"ExploreTheContentsCreatedByTheCoreABPTeamAndTheABPCommunity": "Изучите контент, созданный основной командой ABP и сообществом ABP.",
"WelcomeFallCampaign": "Приветствуем осеннюю кампанию!",
"GiveAwayForNewPurchases": "За новые покупки будет разыграно обучение в классе разработки приложений!",
"BlackFriday": "<strong>ЧЕРНЫЙ</strong> <span>ПЯТНИЦА</span>",
"ValidForExistingCustomers": "Также актуально для <br> Существующие клиенты!",
"CampaignBetweenDates": "От {0} <br>В {1}",
"SaveUpTo": "<span>СОХРАНЯТЬ</span> ВПЛОТЬ ДО<strong>{0}тыс. долларов США</strong>",
"ImplementingDDD": "Реализация предметно-ориентированного проектирования",
"ExploreTheEBook": "Изучите электронную книгу",
"ExploreTheBook": "Изучите книгу",
"ConsultantType": "Тип консультации",
"Expert": "Эксперт ABP",
"Partner": "Партнер ABP",
"Industry": "Промышленность",
"Location": "Расположение",
"Contact": "Контакт",
"Partner_Year": "Год партнерства",
"Info": "Информация",
"SpokenLanguages": "Разговорные языки",
"SocialMedia": "Социальные медиа",
"Activity": "Активность",
"Type": "Тип",
"Contribution": "Вклад",
"WhoWeAre": "Кто мы",
"Icons": "Иконки",
"Url": "URL",
"Icon": "Икона",
"RecentActivities": "Последние действия",
"SpringCampaign": "Добро пожаловать <br>Весенняя распродажа!",
"SpringCampaign2": "<span>Ограниченное <br> Временное предложение!</span>",
"AboutUs": "О нас",
"HowItWorks": "Как это работает?",
"ReleaseNotes": "Примечания к выпуску",
"DetailedChangeNotes": "Подробные примечания к изменениям",
"SeeTrainings": "Посмотреть тренинги",
"NoContent": "Без содержания",
"More": "Более",
"WhyABPIOPlatform": "Почему платформа ABP.IO?",
"AbpStudio": "АBP Студия",
"ExtraMonths": "{0}<span>ДОПОЛНИТЕЛЬНЫЕ МЕСЯЦЫ</span>",
"RSS": "RSS",
"RSSFeed": "Новостная лента",
"Articles": "Статьи",
"Organizations": "Организации",
"ManageAccount": "Управлять счетом",
"CommunityProfile": "Профиль сообщества",
"BlogProfile": "Профиль блога",
"Tickets": "Билеты",
"Raffles": "Розыгрыши",
"Status": "Положение дел",
"Resources": "Ресурсы",
"Video Courses": "Видео курсы",
"Packages": "Пакеты",
"Trainings": "Тренинги"
}
}

8
abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/ru.json

@ -0,0 +1,8 @@
{
"culture": "ru",
"texts": {
"AbpTitle": "Читайте все блог-посты",
"AbpDescription": "ABP - это открытый фреймворк приложений, ориентированный на разработку веб-приложений на базе AspNet Core. Не повторяйте себя, сосредоточьтесь на своем бизнес-коде.",
"AbpDefinition": "Блог ABP по разработке .NET, кроссплатформенные шаблоны приложений ASP.NET, новости, связанные с ABP и многое другое..."
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json

@ -577,7 +577,7 @@
"Purchase_TrainingPrice": "سعر التدريب",
"Purchase_OnboardingTraining": "تدريب مباشر على ABP وتطوير تطبيقات الويب",
"TotalDeveloperPrice": "إجمالي سعر المطور",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> لكل مطور",
"Purchase_PricePerDeveloper": "<span>{0}</span> لكل مطور",
"Purchase_IncludedDeveloperInfo": "{0} {1} يتضمن.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "رخصة <span class=\"fw-6\">{0} </span> تحتوي على {1} مطور/ين. يمكنك إضافة مطورين إضافيين الآن أو لاحقًا.",
"StartupTemplates_Page_Title": "عارضات بدء التشغيل",
@ -791,6 +791,7 @@
"PrivacyPolicyPageTitle": "سياسة الخصوصية - سياسة ملفات تعريف الارتباط",
"TermsConditionsPageTitle": "الأحكام والشروط",
"TrainingsPageTitle": "حزم تدريب ABP",
"ModulesPageTitle": "وحدات تطبيق ABP سابقة البناء"
"ModulesPageTitle": "وحدات تطبيق ABP سابقة البناء",
"MultipleOrganizationInfo": "شاهد جميع مؤسساتك"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json

@ -405,6 +405,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "Již nelze získat <a href=\"{0}\">prémiovou podporu</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Pokud chcete i nadále využívat tyto výhody, můžete svou licenci prodloužit (obnovit). Pokud prodloužíte licenci do <strong>{3} dní</strong> po vypršení platnosti licence, budou uplatněny následující slevy: Týmová licence {0}; Obchodní licence {1}; Enterprise Licence {2}.",
"BlazoriseLicense": "Musíme si koupit licenci Blazorise?",
"BlazoriseLicenseExplanation": "Máme dohodu mezi společnostmi Volosoft a Megabit, na základě této dohody je licence Blazorise přibalena k produktům ABP Commercial, proto si naši zákazníci nemusí kupovat další licenci Blazorise."
"BlazoriseLicenseExplanation": "Máme dohodu mezi společnostmi Volosoft a Megabit, na základě této dohody je licence Blazorise přibalena k produktům ABP Commercial, proto si naši zákazníci nemusí kupovat další licenci Blazorise.",
"MultipleOrganizationInfo": "Podívejte se na všechny vaše organizace"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json

@ -386,6 +386,7 @@
"ContinueWithNewOrganization": "Weiter mit einer neuen Organisation",
"RenewLicenseEarly": "Erhalte ich das ganze Jahr, wenn ich meine Lizenz vorzeitig erneuere?",
"RenewLicenseEarylExplanation": "Wenn Sie Ihre Lizenz vor dem Ablaufdatum Ihrer Lizenz erneuern, wird Ihr Lizenzablaufdatum um 1 Jahr verlängert. Wenn Ihre Lizenz beispielsweise am {0}-06-06 abläuft und Sie sie am {0}-01-01 erneuern, ist das neue Ablaufdatum der Lizenz der {1}-06-06.",
"BlackFridayDiscount": "Black Friday Rabatt"
"BlackFridayDiscount": "Black Friday Rabatt",
"MultipleOrganizationInfo": "Alle Ihre Organisationen anzeigen"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json

@ -110,6 +110,7 @@
"RenewLicenseEarly": "If I renew my license early, will I get the full year?",
"RenewLicenseEarylExplanation": "When you renew your license before your license expiry date, 1 year will be added to your license expiry date. For example, if your license expires on {0}-06-06 and you renew it on {0}-01-01, your new license expiry date will be {1}-06-06.",
"LicenseTypeNotCorrect": "The license type is not correct!",
"BlackFridayDiscount": "Black Friday Discount"
"BlackFridayDiscount": "Black Friday Discount",
"MultipleOrganizationInfo": "See All Your Organizations"
}
}

14
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json

@ -49,7 +49,7 @@
"IndexPageHeroSection": "<span class=\"first-line\">A complete</span><span class=\"second-line\"> web development platform</span><span class=\"third-line\">built-on <img src=\"{0}\" width=\"110\" class=\"ml-1\" /> framework</span>",
"AbpCommercialShortDescription": "ABP Commercial provides pre-built application modules, rapid application development tooling, professional UI themes, premium support and more.",
"LiveDemo": "Live Demo",
"LiveDemoLead": "<a href=\"{0}\">{1}</a> using your ABP account, <a href=\"{2}\">{3}</a> to abp.io.<br/>Or fill the form below to create a live demo now",
"LiveDemoLead": "<a href=\"{0}\">{1}</a> using your ABP account, <a href=\"{2}\">{3}</a> to abp.io.<br/> or fill the form below to create a live demo now",
"ThereIsAlreadyAnAccountWithTheGivenEmailAddress": "There is already an account with the given email address: <b>{0}</b><br/> You can login with your account to proceed.",
"GetLicence": "Get a License",
"Application": "Application",
@ -603,7 +603,7 @@
"Purchase_TrainingPrice": "Training Price",
"Purchase_OnboardingTraining": "Onboarding & Web Application Development Live Training",
"TotalDeveloperPrice": "Total Developer Price",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> per developer",
"Purchase_PricePerDeveloper": "<span>{0}</span> per developer",
"Purchase_IncludedDeveloperInfo": "{0} {1} included.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "The <span class=\"fw-bold\">{0} License</span> includes {1} developers. You can add additional developers.",
"StartupTemplates_Page_Title": "ABP Startup Templates",
@ -986,8 +986,8 @@
"Summary": "Summary",
"TrainingPack": "Training pack",
"TrainingPackDiscount": "Training pack discount",
"Purchase_OnboardingTraining_Description": "This live training package is valid for a class of 8 students and this discount is only valid when purchased with the new license. <a href=\"{0}\" class=\"text-white\">Learn more <i class=\"fa fa-external-link ms-1\"></i></a>",
"Purchase_Save": "{0}% <span class=\"save ms-1\">Save {1} {2}</span>",
"Purchase_OnboardingTraining_Description": "This live training is valid for a class of 8 students and this discount is only valid when purchased with the new license. <a href=\"{0}\" class=\"text-white\">Learn more <i class=\"fa fa-external-link ms-1\"></i></a>",
"Purchase_Save": "{0}% <span class=\"save ms-1\">Save {1}</span>",
"RemoveBasket": "Remove from basket",
"WhyABPIOPlatform?": "Why <span class=\"gradient-commercial\">ABP.IO Platform</span>?",
"DocumentAim": "This document aims to answer the big question:",
@ -1085,6 +1085,10 @@
"MultipleYearDiscount": "Multiple Year Discount",
"CampaignDiscountText": "Black Friday Discount",
"CampaignDiscountName": "Black Friday",
"CampaignName:BlackFriday": "Black Friday"
"CampaignName:BlackFriday": "Black Friday",
"MultipleOrganizationInfo": "See All Your Organizations",
"AbpStudioBetaAccessInfoTitle": "ABP Studio Beta Access",
"AbpStudioBetaAccessInfoText": "We're thrilled to share with you the <span class=\"text-highlight-white\">beta</span> version of <span class=\"text-highlight-white\">ABP Studio</span>! This release marks a significant milestone in our development journey, and we're eager to gather your feedback to make the application even better.",
"YouAreNotAuthorizedToDownloadStudio": "You are not authorized to download ABP Studio."
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json

@ -386,6 +386,7 @@
"ContinueWithNewOrganization": "Continuar con una nueva organización",
"RenewLicenseEarly": "Si renuevo mi licencia antes, ¿obtendré el año completo?",
"RenewLicenseEarylExplanation": "Cuando renueve su licencia antes de la fecha de vencimiento de su licencia, se agregará 1 año a la fecha de vencimiento de su licencia. Por ejemplo, si su licencia vence el {0} -06-06 y la renueva el {0} -01-01, la fecha de vencimiento de su nueva licencia será {1} -06-06.",
"BlackFridayDiscount": "Descuento de viernes negro"
"BlackFridayDiscount": "Descuento de viernes negro",
"MultipleOrganizationInfo": "Vea todas sus organizaciones"
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json

@ -600,7 +600,7 @@
"Purchase_TrainingPrice": "Koulutuksen hinta",
"Purchase_OnboardingTraining": "ABP:n perehdytys ja verkkosovelluskehitys live-koulutus",
"TotalDeveloperPrice": "Kehittäjän kokonaishinta",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> kehittäjää kohden",
"Purchase_PricePerDeveloper": "<span>{0}</span> kehittäjää kohden",
"Purchase_IncludedDeveloperInfo": "{0} {1} mukana.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "<span class=\"fw-6\">{0} lisenssi</span> sisältää {1} kehittäjää. Voit lisätä uusia kehittäjiä nyt tai myöhemmin.",
"StartupTemplates_Page_Title": "Käynnistysmallit",
@ -827,6 +827,7 @@
"ExpirationDate": "Viimeinen käyttöpäivä",
"SpringCampaignDiscount": "Kevään kampanja-alennus",
"WhyUseAbpIoPlatform": "Miksi minun pitäisi käyttää ABP.IO-alustaa sen sijaan, että luon uuden ratkaisun tyhjästä?",
"WhyUseAbpIoPlatformFaqExplanation": "Katso <a href=\"https://docs.abp.io/en/commercial/latest/why-abp-io-platform \"> kyseisestä asiakirjasta </a> yksityiskohtainen selitys siitä, miksi ABP.IO Platformin käyttäminen on huomattavasti edullisempaa kuin kaiken tekeminen itse."
"WhyUseAbpIoPlatformFaqExplanation": "Katso <a href=\"https://docs.abp.io/en/commercial/latest/why-abp-io-platform \"> kyseisestä asiakirjasta </a> yksityiskohtainen selitys siitä, miksi ABP.IO Platformin käyttäminen on huomattavasti edullisempaa kuin kaiken tekeminen itse.",
"MultipleOrganizationInfo": "Katso kaikki organisaatiosi"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json

@ -405,6 +405,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "Vous ne pouvez plus bénéficier du <a href=\"{0}\">support premium</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Vous pouvez prolonger (renouveler) votre licence si vous souhaitez continuer à bénéficier de ces avantages. Si vous prolongez votre licence dans <strong>{3} jours</strong> après l'expiration de votre licence, les remises suivantes seront appliquées : Licence d'équipe {0} ; Licence commerciale {1} ; Licence Entreprise {2}.",
"BlazoriseLicense": "Faut-il acheter une licence Blazorise ?",
"BlazoriseLicenseExplanation": "Nous avons conclu un accord entre Volosoft et Megabit, dans le cadre duquel la licence Blazorise est intégrée aux produits ABP Commercial, de sorte que nos clients n'ont pas besoin d'acheter une licence Blazorise supplémentaire."
"BlazoriseLicenseExplanation": "Nous avons conclu un accord entre Volosoft et Megabit, dans le cadre duquel la licence Blazorise est intégrée aux produits ABP Commercial, de sorte que nos clients n'ont pas besoin d'acheter une licence Blazorise supplémentaire.",
"MultipleOrganizationInfo": "Voir toutes vos organisations"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json

@ -404,6 +404,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "अब आप <a href=\"{0}\">प्रीमियम समर्थन</a> प्राप्त नहीं कर सकते।",
"WhatHappensWhenLicenseEndsExplanation7": "यदि आप इन लाभों को प्राप्त करना जारी रखना चाहते हैं तो आप अपने लाइसेंस का विस्तार (नवीनीकरण) कर सकते हैं। यदि आप अपना लाइसेंस समाप्त होने के बाद <strong>{3} दिन</strong> के भीतर अपना लाइसेंस बढ़ाते हैं, तो निम्नलिखित छूट लागू होंगी: टीम लाइसेंस {0}; व्यवसाय लाइसेंस {1}; उद्यम लाइसेंस {2}।",
"BlazoriseLicense": "क्या हमें ब्लेज़ोराइज़ लाइसेंस खरीदने की ज़रूरत है?",
"BlazoriseLicenseExplanation": "हमारे पास Volosoft और Megabit के बीच एक समझौता है, इस समझौते के साथ Blazorise लाइसेंस को ABP वाणिज्यिक उत्पादों के साथ बंडल किया गया है, इसलिए हमारे ग्राहकों को एक अतिरिक्त Blazorise लाइसेंस खरीदने की आवश्यकता नहीं है।"
"BlazoriseLicenseExplanation": "हमारे पास Volosoft और Megabit के बीच एक समझौता है, इस समझौते के साथ Blazorise लाइसेंस को ABP वाणिज्यिक उत्पादों के साथ बंडल किया गया है, इसलिए हमारे ग्राहकों को एक अतिरिक्त Blazorise लाइसेंस खरीदने की आवश्यकता नहीं है।",
"MultipleOrganizationInfo": "अपने सभी संगठन देखें"
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json

@ -601,7 +601,7 @@
"Purchase_TrainingPrice": "Képzési ár",
"Purchase_OnboardingTraining": "ABP Onboarding és webalkalmazás-fejlesztés élő képzés",
"TotalDeveloperPrice": "Teljes fejlesztői ár",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> fejlesztőnként",
"Purchase_PricePerDeveloper": "<span>{0}</span> fejlesztőnként",
"Purchase_IncludedDeveloperInfo": "{0} {1} tartalmazza.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "A(z) <span class=\"fw-6\">{0} licensz</span> {1} fejlesztőt tartalmaz. Hozzáadhat további fejlesztőket most vagy később.",
"StartupTemplates_Page_Title": "Az indítási sablonok",
@ -753,6 +753,7 @@
"ExtendPaymentInfoSection_DeveloperPrice": "{0}x További Fejlesztő(k)",
"ExtendPaymentInfoSection_DiscountRate": "Kedvezmény: {0}%",
"TotalNetPrice": "Total Net Price",
"BlackFridayDiscount": "Black Friday Kedvezmény"
"BlackFridayDiscount": "Black Friday Kedvezmény",
"MultipleOrganizationInfo": "Tekintse meg az összes szervezetét"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json

@ -383,6 +383,7 @@
"TryForFree": "Prófaðu ókeypis",
"TrialLicenseExpiredInfo": "Prófunartímabil þitt er útrunnið!",
"CommercialNewsletterConfirmationMessage": "Ég samþykki <a href=\"https://commercial.abp.io/TermsConditions\">skilmálana</a> og <a href=\"https://commercial.abp.io/Privacy\">persónuverndarstefnuna </a>.",
"BlackFridayDiscount": "Black Friday afsláttur"
"BlackFridayDiscount": "Black Friday afsláttur",
"MultipleOrganizationInfo": "Sjá öll samtök þín"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json

@ -404,6 +404,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "Non è più possibile ottenere il <a href=\"{0}\">supporto premium</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Puoi estendere (rinnovare) la tua licenza se desideri continuare a ottenere questi vantaggi. Se estendi la licenza entro <strong>{3} giorni</strong> dalla scadenza della licenza, verranno applicati i seguenti sconti: Licenza Team {0}; Licenza commerciale {1}; Licenza aziendale {2}.",
"BlazoriseLicense": "Dobbiamo acquistare la licenza di Blazorise?",
"BlazoriseLicenseExplanation": "Abbiamo un accordo tra Volosoft e Megabit, con il quale la licenza di Blazorise viene fornita in bundle con i prodotti commerciali ABP, pertanto i nostri clienti non hanno bisogno di acquistare una licenza Blazorise aggiuntiva."
"BlazoriseLicenseExplanation": "Abbiamo un accordo tra Volosoft e Megabit, con il quale la licenza di Blazorise viene fornita in bundle con i prodotti commerciali ABP, pertanto i nostri clienti non hanno bisogno di acquistare una licenza Blazorise aggiuntiva.",
"MultipleOrganizationInfo": "Visualizza tutte le tue organizzazioni"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json

@ -383,6 +383,7 @@
"TryForFree": "Probeer gratis",
"TrialLicenseExpiredInfo": "Uw proeflicentieperiode is verlopen!",
"CommercialNewsletterConfirmationMessage": "Ik ga akkoord met de <a href=\"https://commercial.abp.io/TermsConditions\">Algemene voorwaarden</a> en het <a href=\"https://commercial.abp.io/Privacy\">Privacybeleid </a>.",
"BlackFridayDiscount": "Black Friday korting"
"BlackFridayDiscount": "Black Friday korting",
"MultipleOrganizationInfo": "Bekijk al uw organisaties"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json

@ -383,6 +383,7 @@
"TryForFree": "Wypróbuj za darmo",
"TrialLicenseExpiredInfo": "Twoja licencja próbna wygasła!",
"CommercialNewsletterConfirmationMessage": "Wyrażam zgodę na <a href=\"https://commercial.abp.io/TermsConditions\">Warunki</a> i <a href=\"https://commercial.abp.io/Privacy\">Politykę prywatności </a>.",
"BlackFridayDiscount": "Zniżka Black Friday"
"BlackFridayDiscount": "Zniżka Black Friday",
"MultipleOrganizationInfo": "Zobacz wszystkie swoje organizacje"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json

@ -406,6 +406,7 @@
"WhatHappensWhenLicenseEndsExplanation4": "Você não pode instalar novos módulos e temas adicionados à plataforma comercial da ABP após o término de sua licença.",
"WhatHappensWhenLicenseEndsExplanation5": "Você não pode usar o ABP Suite",
"WhatHappensWhenLicenseEndsExplanation6": "Você não pode mais obter o <a href==\"{0}\">apoio de premium</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Você pode estender (renovar) sua licença se quiser continuar obtendo esses benefícios. Se você estender sua licença dentro de <strong>{3} dias</strong> após a expiração de sua licença, os seguintes descontos serão aplicados: Licença de equipe {0}; Licença Comercial {1}; Licença empresarial {2}."
"WhatHappensWhenLicenseEndsExplanation7": "Você pode estender (renovar) sua licença se quiser continuar obtendo esses benefícios. Se você estender sua licença dentro de <strong>{3} dias</strong> após a expiração de sua licença, os seguintes descontos serão aplicados: Licença de equipe {0}; Licença Comercial {1}; Licença empresarial {2}.",
"MultipleOrganizationInfo": "Veja todas as suas organizações"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json

@ -383,6 +383,7 @@
"TryForFree": "Încearcă pe gratis",
"TrialLicenseExpiredInfo": "Perioada de licență de probă a expirat!",
"CommercialNewsletterConfirmationMessage": "Sunt de acord cu <a href=\"https://commercial.abp.io/TermsConditions\">Termenii și condițiile</a> și cu <a href=\"https://commercial.abp.io/Privacy\">Politica de confidențialitate </a>.",
"BlackFridayDiscount": "Black Friday Discount"
"BlackFridayDiscount": "Black Friday Discount",
"MultipleOrganizationInfo": "Vedeți toate organizațiile dvs"
}
}

1142
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json

File diff suppressed because it is too large

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json

@ -402,6 +402,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "Už nemôžete získať <a href=\"{0}\">prémiovú podporu</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Ak chcete naďalej využívať tieto výhody, môžete si licenciu predĺžiť (obnoviť). Ak predĺžite svoju licenciu do <strong>30 dní</strong> po vypršaní platnosti licencie, budú sa uplatňovať nasledujúce zľavy: Tímová licencia {0}; Obchodná licencia {1}; Podniková licencia {2}",
"BlazoriseLicense": "Musíme si kúpiť licenciu Blazorise?",
"BlazoriseLicenseExplanation": "Máme dohodu medzi spoločnosťami Volosoft a Megabit, na základe ktorej je licencia Blazorise pribalená k produktom ABP Commercial, preto si naši zákazníci nemusia kupovať ďalšiu licenciu Blazorise."
"BlazoriseLicenseExplanation": "Máme dohodu medzi spoločnosťami Volosoft a Megabit, na základe ktorej je licencia Blazorise pribalená k produktom ABP Commercial, preto si naši zákazníci nemusia kupovať ďalšiu licenciu Blazorise.",
"MultipleOrganizationInfo": "Pozrite si všetky vaše organizácie"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json

@ -383,6 +383,7 @@
"TryForFree": "Poskusite brezplačno",
"TrialLicenseExpiredInfo": "Vaša preizkusna licenca je potekla!",
"CommercialNewsletterConfirmationMessage": "Strinjam se s <a href=\"https://commercial.abp.io/TermsConditions\">pogoji in določili</a> in <a href=\"https://commercial.abp.io/Privacy\">pravilnikom o zasebnosti </a>.",
"BlackFridayDiscount": "Popust Black Friday"
"BlackFridayDiscount": "Popust Black Friday",
"MultipleOrganizationInfo": "Oglejte si vse svoje organizacije"
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json

@ -610,7 +610,7 @@
"Purchase_TrainingPrice": "Eğitim Fiyatı",
"Purchase_OnboardingTraining": "ABP Onboarding & Web Uygulama Geliştirme Canlı Eğitimi",
"TotalDeveloperPrice": "Toplam Geliştirici Fiyatı",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> geliştirici başına",
"Purchase_PricePerDeveloper": "<span>{0}</span> geliştirici başına",
"Purchase_IncludedDeveloperInfo": "{0} {1} dahil.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "<span class=\"fw-6\">{0} lisansı</span> {1} geliştirici(ler) içerir. Şimdi veya daha sonra ek geliştiriciler ekleyebilirsiniz.",
"StartupTemplates_Page_Title": "ABP Başlangıç Şablonları",
@ -841,6 +841,7 @@
"OneCodeBaseMultipleDevices": "Tek Kod Tabanı, Birden Çok Cihaz",
"OneCodeBaseMultipleDevices_Description": "ABP Mobil uygulamaları çapraz platformdur. iOS ve Android cihazlara yüklenmeye ve çalıştırılmaya hazırdırlar ve tek bir kod tabanı kullanarak farklı form faktörlerine uyum sağlarlar. Geliştiricilerin kullanıcı arayüzünü ve ön uç kodunu yalnızca bir kez oluşturması gerekir, desteklemek istediğiniz her cihaz için kodu uyarlamanıza gerek yoktur.",
"ComesWithTheSourceCode": "Kaynak Koduyla Birlikte Geliyor",
"ComesWithTheSourceCode_Description": "Mobil uygulamalar kaynak koduyla birlikte sağlanır. Marka yönergelerini karşılamak için uygulamalarınızın UX/UI'sini kolayca özelleştirin."
"ComesWithTheSourceCode_Description": "Mobil uygulamalar kaynak koduyla birlikte sağlanır. Marka yönergelerini karşılamak için uygulamalarınızın UX/UI'sini kolayca özelleştirin.",
"MultipleOrganizationInfo": "Tüm Organizasyonlarınızı Görün"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json

@ -383,6 +383,7 @@
"TryForFree": "Thử miễn phí",
"TrialLicenseExpiredInfo": "Thời gian cấp phép dùng thử của bạn đã hết hạn!",
"CommercialNewsletterConfirmationMessage": "Tôi đồng ý với <a href=\"https://commercial.abp.io/TermsConditions\"> Điều khoản & điều kiện </a> và <a href=\"https://commercial.abp.io/Privacy\"> Chính sách quyền riêng tư </a>.",
"BlackFridayDiscount": "Giảm giá Black Friday"
"BlackFridayDiscount": "Giảm giá Black Friday",
"MultipleOrganizationInfo": "Xem tất cả các tổ chức của bạn"
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json

@ -600,7 +600,7 @@
"Purchase_TrainingPrice": "培训价格",
"Purchase_OnboardingTraining": "ABP 熟悉使用和 Web 应用程序开发现场培训",
"TotalDeveloperPrice": "开发商总价",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> 每个开发者",
"Purchase_PricePerDeveloper": "<span>{0}</span> 每个开发者",
"Purchase_IncludedDeveloperInfo": "{0} {1} 包括在内。",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "<span class=\"fw-6\">{0} 许可</span> 包含 {1} 个开发者。 您可以现在或以后添加其他开发人员。",
"StartupTemplates_Page_Title": "ABP启动模板",
@ -842,6 +842,7 @@
"BlazoriseSupportExplanation4": "如果您有有效的ABP商业版许可证,您还将拥有Blazorise PRO许可证。您可以在<a href=\"https://blazorise.com/support/user/manage/license\" rel=\"nofollow\">blazorise.com/support/user/manage/license</a>获取您的Blazorise许可密钥。",
"BlazoriseSupportExplanation5": "您可以在support网站上发布您的问题,并为您的应用程序生成一个产品令牌。",
"ExtraQuestionCreditsFaqTitle": "我可以购买额外的问题支持次数吗?",
"ExtraQuestionCreditsFaqExplanation": "是的,您可以购买额外的问题支持次数,请发送电子邮件至<a href=\"mailto:info@abp.io\">info@abp.io</a>,并提供您的组织名称。以下是额外问题支持次数的价格列表: <ul><li>50次问题 $999</li><li>25次问题 $625</li><li>15次问题 $450</li></ul>"
"ExtraQuestionCreditsFaqExplanation": "是的,您可以购买额外的问题支持次数,请发送电子邮件至<a href=\"mailto:info@abp.io\">info@abp.io</a>,并提供您的组织名称。以下是额外问题支持次数的价格列表: <ul><li>50次问题 $999</li><li>25次问题 $625</li><li>15次问题 $450</li></ul>",
"MultipleOrganizationInfo": "查看您的所有组织"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json

@ -408,6 +408,7 @@
"WhatHappensWhenLicenseEndsExplanation6": "您無法再獲得<a href=\"{0}\">高級支持</a>。",
"WhatHappensWhenLicenseEndsExplanation7": "如果您想繼續獲得這些好處,您可以延長(更新)您的許可證。如果您在許可到期後 <strong>{3} 天</strong> 內延長許可,將應用以下折扣:團隊許可 {0};營業執照{1};企業許可證{2}。",
"DoesTheSubscriptionRenewAutomatically": "許可會自動續費嗎?",
"DoesTheSubscriptionRenewAutomaticallyExplanation": "ABP 商業版沒有自動續費的計費模式。因此,在您的許可期結束時,<strong>您的訂閱將不會自動續訂</strong>。如果您希望繼續享受ABP商業版的服務,請在<a href=\"/my-organizations\">組織管理頁面</a>手動進行續費操作。如果您擁有多個組織,您可以點擊即將到期的組織上的\"管理\"按鈕,然後點擊\"立即續費\"按鈕來續訂您的許可。您還可以查看<a href=\"/faq#what-happens-when-license-ends\">許可到期後會發生什麼?</a>部分了解更多信息。"
"DoesTheSubscriptionRenewAutomaticallyExplanation": "ABP 商業版沒有自動續費的計費模式。因此,在您的許可期結束時,<strong>您的訂閱將不會自動續訂</strong>。如果您希望繼續享受ABP商業版的服務,請在<a href=\"/my-organizations\">組織管理頁面</a>手動進行續費操作。如果您擁有多個組織,您可以點擊即將到期的組織上的\"管理\"按鈕,然後點擊\"立即續費\"按鈕來續訂您的許可。您還可以查看<a href=\"/faq#what-happens-when-license-ends\">許可到期後會發生什麼?</a>部分了解更多信息。",
"MultipleOrganizationInfo": "查看您的所有組織"
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json

@ -254,7 +254,7 @@
"Videos({0})": "Videos ({0})",
"LatestArticles": "Latest Articles",
"RaffleHeader": "Hello ABP Community Member!",
"RafflesInfo": "<br>This is the raffle page dedicated to show our appreciation towards you for being an active Community Member. We do <a target=\"_blank\" class=\"fw-6 \" href=\"https://community.abp.io/events\">ABP Community Talks</a> <a target=\"_blank\" class=\"fw-6\" href=\"https://abp.io/conference/2023\">,ABP .NET Conference</a>, attend or sponsor to the .NET-related events in which we give away some gifts. <br><br>You can follow this page to see the upcoming raffles, attend them, or see previous raffles we draw including the winners. <br><br>Thank you for being an active member! See you in the upcoming raffles.",
"RafflesInfo": "<br>This is the raffle page dedicated to show our appreciation towards you for being an active Community Member. We do <a class=\"fw-6 \" href=\"https://community.abp.io/events\">ABP Community Talks</a> <a target=\"_blank\" class=\"fw-6\" href=\"https://abp.io/conference/2023\">,ABP .NET Conference</a>, attend or sponsor to the .NET-related events in which we give away some gifts. <br><br>You can follow this page to see the upcoming raffles, attend them, or see previous raffles we draw including the winners. <br><br>Thank you for being an active member! See you in the upcoming raffles.",
"RafflesInfoTitle": "ABP Community <span class=\"gradient-community\">Raffles</span>"
}
}

127
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ru.json

@ -13,7 +13,6 @@
"Status": "Положение дел",
"ContentSource": "Источник контента",
"Details": "Подробности",
"Url": "URL",
"Title": "Заголовок",
"CreationTime": "Время создания",
"Save": "Сохранить",
@ -27,25 +26,26 @@
"ContributeAbpCommunity": "Внесите свой вклад в сообщество ABP",
"SubmitYourPost": "Отправьте свой пост",
"ContributionGuide": "Руководство по вкладу",
"BugReport": "Сообщение об ошибке",
"SeeAllPosts": "Просмотреть все сообщения",
"WelcomeToABPCommunity!": "Добро пожаловать в сообщество ABP!",
"MyProfile": "Мой профайл",
"MyOrganizations": "Мои организации",
"BugReport": "Отчет об ошибке",
"SeeAllPosts": "Посмотреть все публикации",
"WelcomeToABP": "Добро пожаловать в АБП",
"EmailNotValid": "Пожалуйста, введите действительный адрес электронной почты.",
"FeatureRequest": "Запрос функции",
"CreatePostTitleInfo": "Название сообщения, которое будет отображаться в списке сообщений.",
"CreatePostSummaryInfo": "Краткое изложение сообщения, которое будет отображаться в списке сообщений.",
"CreatePostCoverInfo": "Для создания эффектной статьи добавьте фото на обложке. Загрузите изображения с соотношением сторон 16: 9 для наилучшего просмотра. Максимальный размер файла: 1 МБ.",
"ThisExtensionIsNotAllowed": "Это расширение не разрешено.",
"TheFileIsTooLarge": "Файл слишком большой.",
"GoToThePost": "Перейти к статье",
"Contribute": "Делать вклад",
"GoToTheVideo": "Перейти к видео",
"OverallProgress": "Общий прогресс",
"Done": "Выполнено",
"Open": "Открытым",
"Closed": "Закрыто",
"LatestQuestionOnThe": "Последний вопрос по",
"RecentQuestionFrom": "Недавний вопрос от {0}",
"Stackoverflow": "Переполнение стека",
"Votes": "голосов",
"Answer": "Отвечать",
@ -91,6 +91,8 @@
"AllPostRequests": "Просмотреть все запросы статей",
"SubscribeToTheNewsletter": "Подпишитесь на рассылку новостей",
"NewsletterEmailDefinition": "Получайте информацию о событиях в ABP, например о новых выпусках, бесплатных источниках, статьях и многом другом.",
"ArticleRequestsDescription": "Хотите увидеть здесь конкретный контент? ",
"LatestContentRequests": "Последние запросы контента",
"NoThanks": "Нет, спасибо",
"MaybeLater": "Может быть позже",
"JoinOurPostNewsletter": "Подпишитесь на нашу новостную рассылку статей",
@ -143,6 +145,119 @@
"Volo.AbpIo.Domain:060001": "Исходный URL (\"{PostUrl}\") не является URL-адресом Github",
"Volo.AbpIo.Domain:060002": "Контент статьи недоступен на ресурсе Github (\"{PostUrl}\").",
"Volo.AbpIo.Domain:060003": "Контент статьи не найден!",
"IConsentToMedium": "Я даю согласие на публикацию этого поста на https://medium.com/volosoft."
"SeeMore": "Узнать больше",
"JoinTheABPCommunity": "Присоединяйтесь к сообществу АБП",
"ABPCommunityTalks": "Обсуждения сообщества ABP",
"LiveDemo": "Живая демонстрация",
"GetLicense": "Получить лицензию",
"GetStarted": "Начать",
"SourceCode": "Исходный код",
"LeaveComment": "Оставьте комментарий",
"ShowMore": "Показать больше",
"NoPublishedPostsYet": "Опубликованных постов пока нет.",
"Name": "Имя",
"Surname": "Фамилия",
"WebSite": "Веб-сайт",
"FullURL": "Полный URL-адрес",
"JobTitle": "Должность",
"Prev": "Предыдущий",
"Previous": "Предыдущий",
"Next": "Следующий",
"Share": "Делиться",
"SortBy": "Сортировать по",
"NoPublishedEventsYet": "Опубликованных событий пока нет.",
"SubscribeYoutubeChannel": "Подпишитесь на канал Youtube",
"Enum:EventType:0": "Переговоры",
"MemberNotPublishedPostYet": "Этот участник еще не опубликовал ни одного сообщения.",
"TimeAgo": "{0} назад",
"Discord_Page_JoinCommunityMessage": "Присоединяйтесь к сообществу ABP Discord",
"Discord_Page_Announce": "Мы рады анонсировать Discord-сервер сообщества ABP!",
"Discord_Page_Description_1": "Сообщество ABP росло с первого дня. ",
"Discord_Page_Description_2": "Сервер Discord сообщества ABP — это место, где вы можете продемонстрировать свои творения с использованием ABP Framework, поделиться советами, которые вам помогли, узнать последние новости и объявления об ABP Framework, просто пообщаться с членами сообщества для обмена идеями и весело провести время!",
"Discord_Page_Description_3": "Этот сервер Discord сообщества ABP является официальным, и основная команда ABP присутствует на сервере для мониторинга.",
"Discord_Page_JoinToServer": "Присоединяйтесь к Discord-серверу ABP",
"Events_Page_MetaTitle": "Мероприятия сообщества ABP",
"Events_Page_MetaDescription": "Живые выступления, проводимые командой ABP, представляют собой случайные сеансы, наполненные контентом сообщества, демонстрациями и вопросами.",
"Events_Page_Title": "АДП<span class=\"gradient-community\"> Сообщество</span> Переговоры",
"Members_Page_WritingFromUser": "Прочтите статьи от {0} в сообществе ABP.",
"Post_Create_Page_MetaTitle": "Новый пост",
"Post_Create_Page_MetaDescription": "Создайте публикацию, чтобы поделиться своим опытом работы с платформой ABP и внести свой вклад в сообщество ABP.",
"Post_Create_Page_CreateNewPost": "Создать новый пост",
"Post_Index_Page_MetaDescription": "Цель сообщества ABP — создать среду для участия разработчиков, использующих структуру ABP.",
"Layout_Title": "{0} | ",
"Layout_MetaDescription": "Центр ABP Framework, .NET и разработки программного обеспечения. ",
"Index_Page_CommunityIntroduction": "Это центр ABP Framework, .NET и разработки программного обеспечения. ",
"TagsInArticle": "Теги в статье",
"IConsentToMedium": "Я даю согласие на публикацию данного поста на https://medium.com/volosoft.",
"SearchResultsFor": "Результаты поиска для <span class=\"fw-bold\">\"{0}\"</span>",
"SeeMoreVideos": "Посмотреть больше видео",
"DiscordPageTitle": "Discord-сообщество ABP",
"ViewVideo": "Посмотреть видео",
"AbpCommunityTitleContent": "Сообщество ABP — платформа ABP с открытым исходным кодом",
"CommunitySlogan": "Уникальная общественная платформа для <span class=\"d-inline-block d-md-block gradient-community\">Любители АБП</span>",
"RaffleIsNotActive": "Розыгрыш не активен",
"YouAreAlreadyJoinedToThisRaffle": "Вы уже участвуете в этом розыгрыше",
"InvalidSubscriptionCode": "Неверный код подписки",
"Raffle:{0}": "Розыгрыш: {0}",
"Join": "Присоединиться",
"Leave": "Оставлять",
"LoginToJoin": "Войдите, чтобы присоединиться",
"ToEnd:": "В конец:",
"ToStart:": "Начать:",
"days": "дни",
"hrs": "часы",
"min": "мин",
"sec": "сек",
"Winners": "Победители",
"To{0}LuckyWinners": "счастливчикам ({0})",
"ActiveRaffles": "Активный <span class=\"gradient-community\">Розыгрыши</span>",
"UpcomingRaffles": "Предстоящие <span class=\"gradient-community\">Розыгрыши</span>",
"CompletedRaffles": "Завершенный <span class=\"gradient-community\">Розыгрыши</span>",
"NoActiveRaffleTitle": "На данный момент активной лотереи нет.",
"NoActiveRaffleDescription": "На данный момент активной лотереи нет.",
"RaffleSubscriptionCodeInputMessage": "Для этой лотереи требуется регистрационный код. ",
"RaffleSubscriptionCodeInputErrorMessage": "Регистрационный код неверен. ",
"GoodJob!": "Хорошая работа!",
"RaffleJoinSuccessMessage": "Вы успешно зарегистрированы для участия в розыгрыше. ",
"RaffleLoginAndRegisterMessage": "Вам необходимо войти в систему, чтобы принять участие в розыгрыше. ",
"Ok": "Хорошо",
"SeeDetails": "Смотрите подробности",
"WaitingForTheDraw": "Ждем розыгрыша",
"AllAttendees": "Все участники",
"SeeRaffleDetail": "См. подробную информацию о розыгрыше",
"SeeRaffle": "Посмотреть лотерею",
"ParticipationIsComplete!": "Участие завершено!",
"ABPCoreDevelopmentTeam": "Основная группа разработчиков ABP",
"RegisterTheEvent": "Зарегистрировать мероприятие",
"GoToConferencePage": "Перейти на страницу конференции",
"BuyTicket": "Купить билет",
"SeeEvent": "См. событие",
"PreviousEvents": "<span class=\"text-secondary\">Предыдущий</span> События",
"OtherLiveEvents": "Другие живые события",
"SponsoredConferences": "Спонсируемые конференции",
"SponsoredConferencesDescription": "Для нас большая честь поддерживать сообщества .NET и мероприятия для разработчиков программного обеспечения.",
"UpcomingEvents": "<span class=\"text-info\">Предстоящие</span> События",
"UpcomingCommunityTalkEventDescription": "Живые выступления, проводимые командой ABP, представляют собой случайные сеансы, наполненные контентом сообщества, демонстрациями и вопросами.",
"UpcomingConferenceEventDescription": "Конференция ABP .NET — это виртуальное мероприятие, на котором сообщество разработчиков .NET может собраться вместе и послушать доклады о мире .NET, общих практиках разработки программного обеспечения и ABP Framework с открытым исходным кодом.",
"LastOneYear": "Последний 1 год",
"AllTimes": "Все время",
"TopContributors": "Лучшие участники",
"{0}Posts": "{0} сообщений",
"LATESTPOSTS": "ПОСЛЕДНИЕ ЗАПИСИ",
"NoContributorsFound": "Соавторы не найдены!",
"LatestPost": "Последний пост",
"MEMBERSINCE{0}": "УЧАСТНИК С {0}",
"CopyLink": "Копировать ссылку",
"ShareOnTwitter": "Поделиться в Твиттере",
"ShareOnLinkedIn": "Поделиться в LinkedIn",
"MoreFrom{0}": "Еще от {0}",
"SeeAllFrom{0}": "Посмотреть все из {0}",
"MostWatched": "Самые просматриваемые",
"Articles({0})": "Статьи ({0})",
"Videos({0})": "Видео ({0})",
"LatestArticles": "Последние статьи",
"RaffleHeader": "Привет, участник сообщества ABP!",
"RafflesInfo": "<br>Эта страница розыгрыша посвящена тому, чтобы выразить нашу признательность вам за то, что вы являетесь активным членом сообщества. <a target=\"_blank\" class=\"fw-6 \" href=\"https://community.abp.io/events\">Обсуждения сообщества ABP</a> <a target=\"_blank\" class=\"fw-6\" href=\"https://abp.io/conference/2023\">,Конференция ABP .NET</a>, посещать или спонсировать мероприятия, связанные с .NET, на которых мы раздаем подарки. <br><br>Вы можете подписаться на эту страницу, чтобы увидеть предстоящие розыгрыши, посетить их или просмотреть предыдущие розыгрыши, которые мы проводим, включая победителей. <br><br>Спасибо за активное участие! ",
"RafflesInfoTitle": "Сообщество АБП <span class=\"gradient-community\">Розыгрыши</span>"
}
}

9
abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/ru.json

@ -0,0 +1,9 @@
{
"culture": "ru",
"texts": {
"Buy": "Купить",
"SeeBookDetails": "См. сведения о книге",
"MasteringAbpFrameworkEBookDescription": "Эта книга поможет вам получить полное представление о инфраструктуре и современных методах разработки веб-приложений.",
"Feedback": "Обратная связь"
}
}

4
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json

@ -115,7 +115,7 @@
"DependencyInjection": "Dependency Injection",
"DependencyInjectionByConventions": "Dependency Injection by Conventions",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) is a command line tool to automate some common operations for ABP based solutions.",
"ModularityExplanation": "ABP provides a complete infrastructure to build your own application modules that may have entities, services, database integration, APIs, UI components and so on..", //TODO: strong "your own application modules",-
"ModularityExplanation": "ABP provides a complete infrastructure to build your own application modules that may have entities, services, database integration, APIs, UI components and so on..",
"MultiTenancyExplanation": "ABP framework doesn't only support developing multi-tenant applications, but also makes your code mostly unaware of the multi-tenancy.",
"MultiTenancyExplanation2": "Can automatically determine the current tenant, isolate data of different tenants from each other.",
"MultiTenancyExplanation3": "Supports single database, database per tenant and hybrid approaches.",
@ -438,7 +438,7 @@
"CoolestCompaniesUseABPFramework": "Coolest Companies Use <span class=\"fw-bold\">ABP Framework</span>",
"Index_Page_Testimonial_1": "ABP Framework is not just a tool but a catalyst that has accelerated my growth as a developer. It has made it possible for me to build new features faster than ever before, reminiscent of the experiences of other users. The unified coding pattern has streamlined my projects, giving me more time to focus on creating rather than troubleshooting.\nI would say the ABP Framework has been the cornerstone of my early professional journey. It has facilitated my transition from an aspiring developer to a confident professional ready to make a mark in the software world. I am looking forward to the exciting projects that await me, knowing that ABP will be there to guide me. It is more than just a product; it's a partner in success.",
"Index_Page_Testimonial_2": "ABP Framework is not only a framework, it is also a guidance for project development/management, because it provides DDD, GenericRepository, DI, Microservice, Modularity trainings. Even if you are not going to use framework itself, you can develop yourself with docs.abp.io which is well and professionally prepared. (OpenIddict, Redis, Quartz etc.)\nBecause many thing pre-built, it shortens project development time significantly. (Such as login page, exception handling, data filtering-seeding, audit logging, localization, auto api controller etc.)\nAs an example from our app, i have used Local Event Bus for stock control. So, I am able to manage order movements by writing stock handler.\nIt is wonderful not to lose time for CreationTime, CreatorId. They are filled automatically.",
"VideosLoginAndRegisterMessage": "You must sign in to watch videos. You can create an account for watch if you haven't.",
"VideosLoginAndRegisterMessage": "To be able to watch videos, you must sign in.",
"Filter": "Filter",
"VideoCourses": "Video Courses"
}

164
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ru.json

@ -214,7 +214,11 @@
"SeeDocs": "См. Документы",
"None": "Никто",
"Application": "заявка",
"ApplicationExplanation": "Создает многоуровневое решение на основе практики доменно-ориентированного проектирования. ",
"ApplicationNoLayer": "Нанесение (один слой)",
"ApplicationNoLayerExplanation": "Создает однослойное веб-приложение. ",
"Module": "Модуль",
"ModuleExplanation": "Создает многократно используемое, полностью многоуровневое решение модуля приложения. ",
"PackageName": "Имя пакета",
"LicenseURL": "URL лицензии",
"License": "Лицензия",
@ -274,8 +278,166 @@
"FirstEdition": "Первое издание",
"ThankYou": "Спасибо!",
"CheckboxMandatory": "Вам необходимо проверить это, чтобы продолжить!",
"UserInterface": "Пользовательский интерфейс",
"APIGateway": "API-шлюз",
"Database": "База данных",
"Saas": "Саас",
"OpenSourceWebApp": "Открыть <span class=\"forever\">источник </span> <br/> веб приложение",
"Framework": "Рамки",
"AuditLoggingExplanation": "Автоматически отслеживайте все операции и изменения данных в вашей системе.",
"AbpNewCommandExplanation": "Создает новые решения, используя шаблоны запуска ABP.",
"AbpAddModuleCommandExplanation": "Устанавливает в ваше решение готовые модули приложений.",
"AbpUpdateCommandExplanation": "Автоматически обновляет все пакеты NuGet и NPM, связанные с ABP, в вашем решении.",
"ExploreAllCLICommands": "Изучите все команды CLI",
"ExploreDocumentationAndGuides": "Изучите подробную документацию и руководства.",
"Documentations": "Документация",
"Views": "Взгляды",
"EnterYouEmailToGetNews": "Введите свой адрес электронной почты, чтобы получать последние новости о ABP Framework",
"Tiered": "Многоуровневый",
"SeparateIdentityServer": "Отдельный сервер идентификации",
"SeparateAuthenticationServer": "Отдельный сервер аутентификации",
"ProgressiveWebApplication": "Прогрессивное веб-приложение",
"Preview": "Предварительный просмотр",
"CreateANewSolution": "Создать новое решение",
"ABPFrameworkFeatures": "Структура ABP <span class=\"gradient-framework\">Функции</span>",
"Commercial": "Коммерческий",
"ThirdPartyTools": "Сторонние инструменты",
"Back": "Назад",
"Community": "Сообщество",
"SeeMore": "Узнать больше",
"DetailsOfTheEBook": "Подробности об электронной книге",
"JoinOurMarketingNewsletter": "Подпишитесь на нашу маркетинговую рассылку",
"FrameworkNewsletterConfirmationMessage": "я согласен <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Условия</a> и <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">политика конфиденциальности</a>.",
"GetYourFreeEBook": "Получите ваш <span class=\"gradient-framework d-block\">Бесплатная электронная книга DDD </span>",
"EverythingYouNeedToKnow": "Все, что Вам нужно знать.",
"PreOrderNow": "Предварительный заказ сейчас",
"UITheming": "Темы пользовательского интерфейса",
"UIThemingExplanation": "Создавайте повторно используемые темы и макеты пользовательского интерфейса или используйте одну из готовых тем пользовательского интерфейса.",
"DataFilteringExplanation2": "Автоматически фильтруйте запросы к базе данных, чтобы легко реализовать такие шаблоны, как обратимое удаление и многопользовательское использование.",
"NeedHelp": "Нужна помощь?",
"GiveYourProjectAName": "Дайте своему проекту имя",
"SelectProjectType": "Выберите тип проекта",
"SelectUIFramework": "Выберите инфраструктуру пользовательского интерфейса",
"SelectDatabaseProvider": "Выберите поставщика базы данных",
"SelectDatabaseManagementSystem": "Выберите систему управления базой данных",
"InstallingTheABPCLI": "Установка интерфейса командной строки ABP",
"CreateYourProjectNow": "Создайте свой проект сейчас",
"OrderOn": "Закажите {0}",
"DownloadFreeDDDBook": "Скачать бесплатную книгу DDD",
"WhatIsABPFramework": "Что такое структура ABP?",
"TenantDatabase": "База данных арендаторов {0}",
"SharedDatabase": "Общая база данных",
"ConnectionResolver": "Резолвер соединений",
"TenantBasedDataFilter": "Фильтр данных на основе арендаторов",
"ApplicationCode": "Код приложения",
"TenantResolution": "Резолюция арендатора",
"TenantUser": "Арендатор {0} Пользователь",
"CardTitle": "Название карты",
"View": "Вид",
"Model": "Модель",
"Email": "Электронная почта",
"Password": "Пароль",
"Address": "Адрес",
"Gender": "Пол",
"Male": "Мужской",
"Female": "Женский",
"Submit": "Представлять на рассмотрение",
"Unspecified": "Неопределенные",
"StaticFileMiddleware": "Промежуточное ПО для статических файлов",
"RazorViewEngine": "Механизм просмотра Razor",
"PhysicalFiles": "Физические файлы (wwwroot)",
"EmbeddedFiles": "Встроенные файлы (DLL)",
"DynamicFiles": "Динамические файлы (память)",
"BuildSolutionsWithAbp": "Создавайте удобные в обслуживании решения .NET, следуя передовым практикам разработки программного обеспечения с использованием ABP.",
"BuyOnAmazon": "Купить на Амазоне",
"BuyOnPackt": "Купить на Packt",
"Discounted": "Со скидкой",
"MasteringAbpFramework_Book_KeyFeatures": "Ключевая особенность",
"MasteringAbpFramework_Book_Key_Features_Description_1": "Создавайте надежные, удобные в обслуживании, модульные и масштабируемые программные решения с помощью ABP Framework.",
"MasteringAbpFramework_Book_Key_Features_Description_2": "Узнайте, как реализовать принципы SOLID и предметно-ориентированное проектирование в ваших веб-приложениях.",
"MasteringAbpFramework_Book_Key_Features_Description_3": "Узнайте, как ABP Framework ускоряет цикл разработки за счет автоматизации повторяющихся задач.",
"MasteringAbpFramework_Book_Description": "Описание книги",
"MasteringAbpFramework_Book_Description_Details_1": "ABP Framework — это полная инфраструктура для создания современных веб-приложений с помощью следующего программного обеспечения.\n ",
"MasteringAbpFramework_Book_Description_Details_2": "Эта книга, написанная создателем ABP Framework, поможет вам получить полное представление о\n ",
"MasteringAbpFramework_Book_Description_Details_3": "К концу этой книги вы сможете создать полноценное веб-решение, которое легко разрабатывать.\n ",
"MasteringAbpFramework_Book_WhatYouWillLearn": "Что вы узнаете",
"MasteringAbpFramework_Book_What_You_Will_Learn_1": "Настройте среду разработки и начните работу с ABP Framework.",
"MasteringAbpFramework_Book_What_You_Will_Learn_2": "Работайте с Entity Framework Core и MongoDB для разработки уровня доступа к данным.",
"MasteringAbpFramework_Book_What_You_Will_Learn_3": "Поймите сквозные проблемы и то, как ABP автоматизирует повторяющиеся задачи.",
"MasteringAbpFramework_Book_What_You_Will_Learn_4": "Освойте реализацию предметно-ориентированного проектирования с помощью ABP Framework.",
"MasteringAbpFramework_Book_What_You_Will_Learn_5": "Создавайте страницы и компоненты пользовательского интерфейса с помощью ASP.NET Core MVC (Razor Pages) и Blazor.",
"MasteringAbpFramework_Book_What_You_Will_Learn_6": "Работайте с мультитенантностью для создания модульных веб-приложений.",
"MasteringAbpFramework_Book_What_You_Will_Learn_7": "Понимайте модульность и создавайте повторно используемые модули приложений.",
"MasteringAbpFramework_Book_What_You_Will_Learn_8": "Написание модульных, интеграционных и UI-тестов с использованием ABP Framework.",
"MasteringAbpFramework_Book_WhoIsThisBookFor": "Для кого эта книга",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "Эта книга предназначена для веб-разработчиков, которые хотят изучить архитектуру программного обеспечения и лучшие практики создания\n ",
"ComputersAndTechnology": "Компьютеры",
"BuildingMicroserviceSolutions": "Создание микросервисных решений",
"MicroserviceBookPracticalGuide": "Эта книга представляет собой справочное руководство по разработке и управлению приложениями на основе микросервисов с использованием ABP Framework. <strong>Пример справочного приложения микросервиса .NET</strong>: eShopOnContainers и обсуждает подходы к проектированию архитектуры и реализации с использованием ABP Framework. ",
"IntroducingTheSolution": "Представляем решение eShopOnAbp",
"RunningTheSolution": "Запуск решения",
"UnderstandingTheAuthenticationSystem": "Понимание системы аутентификации",
"ExploringTheApplications": "Изучение приложений",
"UnderstandingTheAPIGateways": "Понимание шлюзов API",
"DevelopingTheMicroservices": "Разработка микросервисов",
"UnderstandingTheInfrastructure": "Понимание инфраструктуры",
"DiggingInTheUseCases": "Копаем в вариантах использования",
"DeployingTheSolution": "Развертывание решения",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "Эта книга находится на стадии черновика и еще не завершена.",
"Authors": "Авторы",
"MicroserviceEBook": "Электронная книга по микросервисам",
"SelectUITheme": "Выберите тему пользовательского интерфейса",
"LeptonXLiteTheme": "Тема LeptonX Lite",
"BasicTheme": "Основная тема",
"LeptonXLiteThemeInfo": " Современная и стильная тема пользовательского интерфейса Bootstrap. ",
"BasicThemeInfo": "Минималистичная тема пользовательского интерфейса с простыми цветами и стилями Bootstrap. ",
"SeeDocumentation": "Видеть <a href='{0}' target='_blank'>документация</a>.",
"SeeFullScreen": "<a href='{0}' target='_blank'>🖼️ Смотрите скриншот</a>",
"BuildingMicroserviceSolutionsShortDescription": "Эта книга представляет собой справочное руководство по разработке и управлению приложениями на основе микросервисов с использованием ABP Framework.",
"InstallAbpCliMessage": "Установите ABP CLI в терминале командной строки, если вы еще не установили его раньше:",
"Terminal": "Терминал",
"Copy": "Копировать",
"RunTheFollowingCommand": "Запустите следующую команду в терминале командной строки:",
"ChangeSolutionOptionsBelow": "Вы можете изменить варианты решения ниже.",
"MultiLayerApplication": "Многослойный <br>Приложение",
"MultiLayerApplicationExplanation1": "Создает многоуровневое решение на основе практики доменно-ориентированного проектирования.",
"MultiLayerApplicationExplanation2": "Рекомендуется для долгосрочных проектов, которым нужна поддерживаемая и расширяемая база кода.",
"SingleLayerApplication": "Одиночный слой <br>Приложение",
"SingleLayerApplicationExplanation1": "Создает однослойное веб-приложение. ",
"SingleLayerApplicationExplanation2": "Рекомендуется для создания приложения с более простой и понятной архитектурой.",
"ApplicationModule": "Приложение <br>Модуль",
"SeeTheScreenshot": "Смотрите скриншот",
"ApplicationModuleExplanation1": "Создает многократно используемое, полностью многоуровневое решение модуля приложения.",
"ApplicationModuleExplanation2": "Вы можете использовать эту опцию для создания модулей для вашего модульного приложения.",
"Expert_": "Эксперт",
"Partner_": "партнерство",
"WebSite": "Веб-сайт",
"Expert_Year": "Год экспертизы",
"CompanyInfo": "информация о компании",
"Date": "Дата",
"WhoWeAre_Partner": "Кто мы",
"WhoWeAre_Expert": "Обо мне",
"CreateSolutionFolder": "Создать папку решения",
"CreateSolutionFolderOption": "Указывает, будет ли проект находиться в новой папке в выходной папке или непосредственно в выходной папке."
"CreateSolutionFolderOption": "Указывает, будет ли проект находиться в новой папке в выходной папке или непосредственно в выходной папке.",
"BooksPageTitle": "Книги АБП",
"PackageDetailPage_NuGetPackageInstallationOptions": "Есть три способа установки <code>{0}</code> Пакет NuGet в ваш проект",
"PackageDetailPage_InstallingWithABPCLI": "1. Установка с помощью ABP CLI",
"PackageDetailPage_InstallingWithABPCLIDescription1": "Если вы не установили <a href=\"https://docs.abp.io/en/abp/latest/CLI\">Интерфейс командной строки ABP</a>сначала установите, выполнив следующую команду в терминале командной строки",
"PackageDetailPage_InstallingWithABPCLIDescription2": "После установки ABP CLI откройте терминал командной строки в папке проекта (<code>.csproj</code> файл), вы хотите его установить, и выполните следующую команду",
"PackageDetailPage_InstallingWithABPCLIDescription3": "Это добавит <code>{0}</code> ссылка на пакет вашего проекта и <code>{1}</code> зависимость от вашего класса модуля.",
"PackageDetailPage_ManualInstallation": "2. Установка с помощью Dotnet CLI",
"PackageDetailPage_ManualInstallationDescription1": "Добавлять <code>{0}</code> Ссылка на пакет NuGet для вашего проекта с использованием вашей IDE или выполнением следующей команды",
"PackageDetailPage_ManualInstallationDescription2": "Затем добавьте <code>{0}</code> зависимость от вашего <a href=\"https://docs.abp.io/en/abp/latest/Module-Development-Basics\">класс модуля</a> как показано в следующем примере",
"PackageDetailPage_SeeDocumentation": "<a href=\"{0}\">См. документацию</a> чтобы узнать, как использовать этот пакет в ваших приложениях.",
"PackageDetailPage_InstallingUsingPMC": "3. Установка с помощью консоли диспетчера пакетов",
"PackageDetailPage_InstallingUsingPMCDescription1": "Открой <strong>Консоль диспетчера пакетов</strong> в Visual Studio (Инструменты -> Диспетчер пакетов Nuget -> Консоль диспетчера пакетов) и выполните следующую команду",
"UIOptions": "Параметры пользовательского интерфейса",
"Testimonials": "Отзывы",
"CoolestCompaniesUseABPFramework": "Самые крутые компании используют <span class=\"fw-bold\">Структура ABP</span>",
"Index_Page_Testimonial_1": "ABP Framework — это не просто инструмент, а катализатор, который ускорил мой рост как разработчика. ",
"Index_Page_Testimonial_2": "ABP Framework — это не только платформа, но и руководство по разработке/управлению проектами, поскольку оно обеспечивает обучение DDD, GenericRepository, DI, Microservice и Modularity. ",
"VideosLoginAndRegisterMessage": "Чтобы иметь возможность смотреть видео, вам необходимо войти в систему.",
"Filter": "Фильтр",
"VideoCourses": "Видео курсы"
}
}

2
common.props

@ -29,6 +29,8 @@
<Pack>true</Pack>
<PackagePath>content\</PackagePath>
</Content>
</ItemGroup>
<ItemGroup>
<None Remove="*.abppkg" />
<Content Include="*.abppkg">
<Pack>true</Pack>

4
docs/en/Application-Startup.md

@ -12,7 +12,7 @@ This document is for who wants to better understand how the ABP Framework is ini
A .NET Console application is the minimalist .NET application. So, it is best to show the installing of the ABP Framework to a console application as a minimalist example.
If you [create a new console application with Visual Studio](https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio) (for .NET 7.0 or later), you will see the following solution structure (I named the solution as `MyConsoleDemo`):
If you [create a new console application with Visual Studio](https://learn.microsoft.com/en-us/dotnet/core/tutorials/with-visual-studio) (for .NET 8.0 or later), you will see the following solution structure (I named the solution as `MyConsoleDemo`):
![app-startup-console-initial](images/app-startup-console-initial.png)
@ -258,7 +258,7 @@ The `IAbpApplication` interface extends the `IApplicationInfoAccessor` interface
## IAbpHostEnvironment
Sometimes, while creating an application, we need to get the current hosting environment and take actions according to that. In such cases, we can use some services such as [IWebHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.iwebhostenvironment?view=aspnetcore-7.0) or [IWebAssemblyHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.webassembly.hosting.iwebassemblyhostenvironment) provided by .NET, in the final application.
Sometimes, while creating an application, we need to get the current hosting environment and take actions according to that. In such cases, we can use some services such as [IWebHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.iwebhostenvironment?view=aspnetcore-8.0) or [IWebAssemblyHostEnvironment](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.components.webassembly.hosting.iwebassemblyhostenvironment) provided by .NET, in the final application.
However, we can not use these services in a class library, which is used by the final application. ABP Framework provides the `IAbpHostEnvironment` service, which allows you to get the current environment name whenever you want. `IAbpHostEnvironment` is used by the ABP Framework in several places to perform specific actions by the environment. For example, ABP Framework reduces the cache duration on the **Development** environment for some services.

223
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/POST.md

@ -0,0 +1,223 @@
# ABP.IO Platform 8.0 RC Has Been Released
Today, we are happy to release the [ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) version **8.0 RC** (Release Candidate). This blog post introduces the new features and important changes in this new version.
Try this version and provide feedback for a more stable version of ABP v8.0! Thanks to all of you.
## Get Started with the 8.0 RC
Follow the steps below to try version 8.0.0 RC today:
1) **Upgrade** the ABP CLI to version `8.0.0-rc.1` using a command line terminal:
````bash
dotnet tool update Volo.Abp.Cli -g --version 8.0.0-rc.1
````
**or install** it if you haven't before:
````bash
dotnet tool install Volo.Abp.Cli -g --version 8.0.0-rc.1
````
2) Create a **new application** with the `--preview` option:
````bash
abp new BookStore --preview
````
See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all the available options.
> You can also use the [Get Started](https://abp.io/get-started) page to generate a CLI command to create a new application.
You can use any IDE that supports .NET 8.x, like [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
## Migration Guides
There are a few breaking changes in this version that may affect your application.
Please see the following migration documents, if you are upgrading from v7.x or earlier:
* [ABP Framework 7.x to 8.0 Migration Guide](https://docs.abp.io/en/abp/8.0/Migration-Guides/Abp-8_0)
* [ABP Commercial 7.x to 8.0 Migration Guide](https://docs.abp.io/en/commercial/8.0/migration-guides/v8_0)
## What's New with ABP Framework 8.0?
In this section, I will introduce some major features released in this version.
Here is a brief list of titles explained in the next sections:
* Upgraded to .NET 8.0
* Upgraded to Angular 17
* Dynamic Claims
* CDN Support for Bundling & Minification System
* Read-Only Repositories
* Account Module: Set Username After Social/External Login
* Other News...
### Upgraded to .NET 8.0
We've upgraded the ABP Framework to .NET 8.0, so you need to move your solutions to .NET 8.0 if you want to use ABP 8.0. You can check [Microsoft’s Migrate from ASP.NET Core 7.0 to 8.0 documentation](https://learn.microsoft.com/en-us/aspnet/core/migration/70-80), to see how to update an existing ASP.NET Core 7.0 project to ASP.NET Core 8.0.
### Upgraded to Angular 17
Angular 17 [was released on November 8](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) and ABP Framework & ABP Commercial startup templates were immediately migrated to **Angular 17**!
So, when you create a new solution with the Angular UI, you will take advantage of the new Angular with the new cutting-edge features and enhancements right from the start!
### Dynamic Claims
The **Dynamic Claims** feature is used to dynamically generate claims for the user in each request. It's used to automatically and dynamically override the configured claim values in the client's authentication token/cookie by the latest user claims.
In the prior versions, whenever a user changed their email address or confirmed their own email address, or any other information related to the user (and if it's in the claims), he/she would need to logout and then login to refresh its claims. The new **Dynamic Claims** feature overcomes this problem and allows to **always get the latest user claims**.
This feature is disabled by default and you can enable it easily for your existing MVC applications by following the [Dynamic Claims documentation](https://docs.abp.io/en/abp/8.0/Dynamic-Claims). For the other UI options (Angular & Blazor UIs), you don't need to enable this feature, since they obtain claims ftom a configuration endpoint.
> **Note**: Beginning from the v8.0, all the startup templates are pre-configured and the **Dynamic Claims** feature is enabled by default.
### CDN Support for Bundling & Minification System
In this version, ABP Framework's [Bundling & Minification System](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Bundling-Minification) provides CDN support for MVC / Razor Pages UI. The bundling system automatically recognizes the external/CDN files and places them as link/script tags on the page along with the bundled CSS/JSS files.
> Read the documentation for more info: https://docs.abp.io/en/abp/8.0/UI/AspNetCore/Bundling-Minification
### Read-Only Repositories
ABP Framework provides read-only repository interfaces (`IReadOnlyRepository<>` or `IReadOnlyBasicRepository<>`) to explicitly indicate that your purpose is to query data, but not change it. It uses [EF Core's No-Tracking Feature](https://learn.microsoft.com/en-us/ef/core/querying/tracking#no-tracking-queries) behind the scenes, which means the entities returned from the repository will not be tracked by the EF Core's [change tracker](https://learn.microsoft.com/en-us/ef/core/change-tracking/) and thanks to that you get significant performance gains.
```csharp
public class MyService
{
private readonly IReadOnlyRepository<Book, Guid> _bookRepository;
public async Task MyMethod()
{
var books = await _bookRepository.GetListAsync(); //change tracking not involved
//...
}
}
```
> In addition to the read-only repository interfaces, ABP Framework introduces the `IRepository.DisableTracking()` and `IRepository.EnableTracking()` extension methods to allow developers to disable/enable entity tracking by these methods manually. If you don't want to use the read-only repositories, you can use these methods to enable or disable the change tracker controlled. Read the documentation to learn more: [https://docs.abp.io/en/abp/8.0/Repositories#enabling-disabling-the-change-tracking](https://docs.abp.io/en/abp/8.0/Repositories#enabling-disabling-the-change-tracking)
### Account Module: Set Username After Social/External Login
Prior to this version, when you registered with your social accounts for the first time, your email address was becoming your username and it was shown everywhere in the application. Therefore, you would need to update your username later on and this is not a good user experience.
Thus, in this version, we have enhanced this flow, and now, when you register as an external user for the first time, a username and email address are shown you in a form for you to revise and update if you want, before logging into the application. Thanks to that, after the social registration you would not need to update your username and email address. This is also good at the point of GDPR regulations because your email address will not be shown as a username and will not exposed.
![](account-module-register.png)
### Other News
* LDAP over SSL (LDAPS) setting has been added and recommended to establish a secure connection. See [#17865](https://github.com/abpframework/abp/pull/17865) for more information.
* Object Mapping Enhancements (supports mapping collection of objects for custom object mappers).
* Email Sending Improvements (sending attachments with `IEmailSender.QueueAsync()` method).
## What's New with ABP Commercial 8.0?
We've also worked on ABP Commercial to align the features and changes made in the ABP Framework. The following sections introduce a few new features coming with ABP Commercial 8.0.
### Suite: Generating Master/Detail Relationship
In this version, we have introduced the **Master/Detail Relationship** support in Suite. The Master-Detail (or Master-Child) relationship refers to a hierarchical connection between two entities, where one entity (the master or parent entity) influences or controls the behavior or properties of another element (the child entity) relationship. The relationship between **Order - Order Lines** can be considered as an example of a master-detail relationship.
![](suite-master-child-datagrid.png)
ABP Suite allows you to create a master-detail relationship with a few clicks. It generates the necessary code for the master and detail tables, including the foreign key relationship between the two tables.
To establish a master-detail relationship, you need to apply the following two steps:
1-) Create the master entity,
2-) Create a child entity and associate it with a master entity.
That's it! ABP Suite will be generating the entities, making the related configurations, establishing database relations (including the foreign key relationship), generating the UI for the master entity (with child-grids for child entities), and so on...
It’s already documented and you can read the documentation at [https://docs.abp.io/en/commercial/8.0/abp-suite/creating-master-detail-relationship](https://docs.abp.io/en/commercial/8.0/abp-suite/creating-master-detail-relationship).
#### Known Issues
* After you generate CRUD pages via Suite for the Angular UI, you should start the backend project and run the `abp generate-proxy -t ng` command in the root directory of the Angular application manually. It will be automatically done with the next version, so you will not need to run the command manually in further versions.
### Get Profile Picture From Social/External Logins
A user's profile picture would be blank when they first register for an application using a social account through an external authentication provider like Google or Facebook because it hasn't been configured yet. The user must update their profile photo after logging into the application.
In order to save the user from having to change their profile picture after logging in for the first time, we have improved this behavior in this version and are now attempting to retrieve the user's profile picture from external authentication providers (like Google) and set it as their profile picture. Later on, if desired, he or she might modify the profile image.
### Switch Ocelot to YARP for the API Gateway
Until this version, ABP Commercial was using the [Ocelot](https://github.com/ThreeMammals/Ocelot) for the API Gateway, in the [Microservice Startup Template](https://docs.abp.io/en/commercial/latest/startup-templates/microservice/index). Since the **Ocelot** library is not actively maintained, we have searched for an alternative and decided to switch from Ocelot to [YARP](https://github.com/microsoft/reverse-proxy) for the API Gateway. YARP is maintained by Microsoft and is actively being developed and seems a better alternative than Ocelot and provides the same feature stack and even more.
You can read the [Migrating to YARP](https://docs.abp.io/en/commercial/8.0/migration-guides/migrating-to-yarp) documentation for migrating your existing microservice application's API Gateway from [Ocelot](https://github.com/ThreeMammals/Ocelot) to [YARP](https://github.com/microsoft/reverse-proxy).
> We have made the all related changes in the Microservice Startup Template, and also updated the documentation, which you can read [here](https://docs.abp.io/en/commercial/8.0/startup-templates/microservice/gateways).
### Password Complexity Indicators (MVC & Blazor UIs)
In v7.4, we have introduced the [Password Complexity Indicators for Angular UI](https://docs.abp.io/en/commercial/7.4/ui/angular/password-complexity-indicator-component) and with this version, we have implemented it for the MVC & Blazor UIs as well. You can use this feature to dynamically evaluate and rate the strength of user-generated passwords, providing real-time feedback to users as they create or update their passwords.
![](password-complexity-indicators.png)
### Read-Only View for Users Page
In your application, you may want to grant permission to a specific group or people to read-only view the users of your application to be able to do some actions. For example, you may want to marketing team to see the users to organize campaigns for the customers, or make controls. In this case, you can grant default permissions for these groups, however, they could not see the details of a user, because in the current design, if the edit permission is not granted you can't see the detailed info for a user.
![](identity-users.gif)
In this version, we have added the read-only view action to the user's page. This allows you to only grant the default view permission to the specific users and allow them to view user information as read-only and not allow them to change or modify it.
### Export & Import Users as Excel / CSV
With v8.0, now it's possible to import and export user records in Excel and CSV formats. You can import external users, or import users from Excel or CSV files and also you can export users to Excel or CSV files:
![](users-page.png)
## Community News
### Highlights from .NET 8.0
Our team has closely followed the ASP.NET Core and Entity Framework Core 8.0 releases, read Microsoft's guides and documentation, and adapted the changes to our ABP.IO Platform. We are proud to say that we've shipped the ABP 8.0 RC.1 based on .NET 8.0 just after Microsoft's .NET 8.0 release.
In addition to the ABP's .NET 8.0 upgrade, our team has created 13 great articles to highlight the important features coming with ASP.NET Core 8.0 and Entity Framework Core 8.0.
> You can read [this post](https://volosoft.com/blog/Highlights-for-ASP-NET-Entity-Framework-Core-NET-8-0) to see the list of all articles.
### New ABP Community Articles
In addition to [the 13 articles to highlight .NET 8.0 features written by our team](https://volosoft.com/blog/Highlights-for-ASP-NET-Entity-Framework-Core-NET-8-0), here are some of the recent posts added to the [ABP Community](https://community.abp.io/):
* [Upgrade Your Existing Projects to .NET 8 & ABP 8.0](https://community.abp.io/posts/upgrade-your-existing-projects-to-.net-8-abp-8.0-x0n7hiqr) by [Engincan Veske](https://github.com/EngincanV)
* [How to Upload and Download Files in the ABP Framework using Angular](https://community.abp.io/posts/how-to-upload-and-download-files-in-the-abp-framework-using-angular-que8cdr8) by [Mahmut Gündoğdu](https://github.com/mahmut-gundogdu)
* New **ABP Framework Essentials** Videos by [Hamza Albreem](https://github.com/braim23):
* [ABP Essentials - Interception](https://community.abp.io/videos/abp-essentials-interception-ath78xhw)
* [ABP Essentials - Virtual File System](https://community.abp.io/videos/abp-essentials-virtual-file-system-hpgr2j72)
* [ABP Framework Essentials - Localization](https://community.abp.io/videos/abp-framework-essentials-localization-7taieh68)
* [ABP Framework Essentials - Dependency Injection](https://community.abp.io/videos/abp-framework-essentials-dependency-injection-q241mfrf)
* See the playlist for other videos of this series: https://www.youtube.com/playlist?list=PLsNclT2aHJcNupH2wz83y7htugpLoUZ_B
Thanks to the ABP Community for all the content they have published. You can also [post your ABP related (text or video) content](https://community.abp.io/articles/submit) to the ABP Community.
### We were in the .NET Conf 2023
Microsoft has released .NET 8.0 and celebrated it with a 3-day international online conference. The core team members of ABP Framework, [Alper Ebiçoğlu](https://twitter.com/alperebicoglu) and [Enis Necipoğlu](https://twitter.com/EnisNecipoglu) gave speeches at the .NET Conf 2023.
[Alper Ebiçoğlu](https://twitter.com/alperebicoglu)'s topic was "Building Multi-Tenant ASP.NET Core Applications and ABP Framework" and in this talk, he talked about what's SaaS development, what are its pros and challenges and multi-tenant development with the open-source ABP Framework:
<iframe width="560" height="315" src="https://www.youtube.com/embed/3uWeyEbV4c4?si=XuU8-QJs2w5j6Inp" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
On the other hand, [Enis Necipoğlu](https://twitter.com/EnisNecipoglu)'s topic was "Reactive programming with .NET MAUI" and he talked about applying reactive programming in .NET MAUI with MVVM and ReactiveUI:
<iframe width="560" height="315" src="https://www.youtube.com/embed/i0EFuRF2u-w?si=wPTSDxtbfkzMF5CN" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
### ABP Community Talks 2023.8: What’s coming with .NET 8.0 & ABP v8.0
![](community-talk-2023-8.png)
In this episode of ABP Community Talks, 2023.8; [Steve Sanderson](https://twitter.com/stevensanderson) will be our guest speaker and we'll talk about .NET 8.0 and ABP 8.0 with the ABP Core Team. We will dive into the features that came with .NET 8.0, how they are implemented in ABP 8.0, and the highlights in the .NET Conf 2023 with [Halil İbrahim Kalkan](https://github.com/hikalkan), [Alper Ebicoglu](https://github.com/ebicoglu), [Engincan Veske](https://github.com/EngincanV), [Berkan Sasmaz](https://github.com/berkansasmaz) and [Bige Besikci Yaman](https://github.com/bigebesikci).
## Conclusion
This version comes with some new features and a lot of enhancements to the existing features. You can see the [Road Map](https://docs.abp.io/en/abp/8.0/Road-Map) documentation to learn about the release schedule and planned features for the next releases. Please try ABP v8.0 RC and provide feedback to help us release a more stable version.
Thanks for being a part of this community!

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/account-module-register.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/community-talk-2023-8.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/cover-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/identity-users.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/password-complexity-indicators.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/suite-master-child-datagrid.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

BIN
docs/en/Blog-Posts/2023-11-15 v8_0_Preview/users-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

2
docs/en/Community-Articles/2023-10-28-EF-Core-8-Primitive-Collections/POST.md

@ -102,7 +102,7 @@ The SQL statement looks like this, and as you can see, it automatically serializ
Executed DbCommand (0ms) [Parameters=
[@p0='Maserati' (Nullable = false) (Size = 8),
@p1='[0,3]' (Nullable = false) (Size = 5),
@p2='Flow' (Nullable = false) (Size = 4)
@p2='GranTurismo' (Nullable = false) (Size = 4)
], CommandType='Text', CommandTimeout='30']
INSERT INTO "Cars" ("Brand", "Colors", "Model")
VALUES (@p0, @p1, @p2)

10
docs/en/Distributed-Event-Bus-RabbitMQ-Integration.md

@ -152,4 +152,14 @@ Configure<AbpRabbitMqEventBusOptions>(options =>
});
````
**Example: Configure the queue and exchange optional arguments**
```csharp
Configure<AbpRabbitMqEventBusOptions>(options =>
{
options.ExchangeArguments["x-delayed-type"] = "direct";
options.QueueArguments["x-message-ttl"] = 60000;
});
```
Using these options classes can be combined with the `appsettings.json` way. Configuring an option property in the code overrides the value in the configuration file.

2
docs/en/Getting-Started-Setup-Environment-Single-Layer.md

@ -18,7 +18,7 @@ First things first! Let's setup your development environment before creating the
The following tools should be installed on your development machine:
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
{{ if UI != "Blazor" }}
* [Node v16 or v18](https://nodejs.org/)
* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) <sup id="a-yarn">[1](#f-yarn)</sup> or npm v6+ (already installed with Node)

2
docs/en/Getting-Started-Setup-Environment.md

@ -19,7 +19,7 @@ First things first! Let's setup your development environment before creating the
The following tools should be installed on your development machine:
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
{{ if UI != "Blazor" }}
* [Node v16 or v18](https://nodejs.org/)
* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) <sup id="a-yarn">[1](#f-yarn)</sup> or npm v6+ (already installed with Node)

2
docs/en/Tutorials/Todo/Index.md

@ -52,7 +52,7 @@ This documentation has a video tutorial on **YouTube**!! You can watch it here:
## Pre-Requirements
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
* [Node v16.x](https://nodejs.org/)
{{if DB=="Mongo"}}

2
docs/en/Tutorials/Todo/Single-Layer/Index.md

@ -48,7 +48,7 @@ This documentation has a video tutorial on **YouTube**!! You can watch it here:
## Pre-Requirements
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) development.
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) development.
* [Node v16.x](https://nodejs.org/)
{{if DB=="Mongo"}}

BIN
docs/en/images/book-mastering-abp-framework.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

10
docs/zh-Hans/Distributed-Event-Bus-RabbitMQ-Integration.md

@ -152,4 +152,14 @@ Configure<AbpRabbitMqEventBusOptions>(options =>
});
````
**示例:配置队列和交换机的额外参数**
```csharp
Configure<AbpRabbitMqEventBusOptions>(options =>
{
options.ExchangeArguments["x-delayed-type"] = "direct";
options.QueueArguments["x-message-ttl"] = 60000;
});
```
使用这些选项类可以与 `appsettings.json` 组合在一起. 在代码中配置选项属性会覆盖配置文件中的值.

2
docs/zh-Hans/Getting-Started-Setup-Environment.md

@ -19,7 +19,7 @@
开发计算机上应安装以下工具:
* 一个集成开发环境 (比如: [Visual Studio](https://visualstudio.microsoft.com/vs/)) 它需要支持 [.NET 7.0+](https://dotnet.microsoft.com/download/dotnet) 的开发.
* 一个集成开发环境 (比如: [Visual Studio](https://visualstudio.microsoft.com/vs/)) 它需要支持 [.NET 8.0+](https://dotnet.microsoft.com/download/dotnet) 的开发.
{{ if UI != "Blazor" }}
* [Node v16 或 v18](https://nodejs.org/)
* [Yarn v1.20+ (不是v2)](https://classic.yarnpkg.com/en/docs/install) <sup id="a-yarn">[1](#f-yarn)</sup> 或 npm v6+ (已跟随Node一起安装)

9
framework/src/Volo.Abp.AspNetCore.Components.Server/Volo/Abp/AspNetCore/Components/Server/AbpAspNetCoreComponentsServerModule.cs

@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting.StaticWebAssets;
using Microsoft.AspNetCore.Http.Connections;
@ -8,6 +10,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Volo.Abp.AspNetCore.Auditing;
using Volo.Abp.AspNetCore.Components.Server.Extensibility;
using Volo.Abp.AspNetCore.Components.Web;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.SignalR;
@ -30,7 +33,11 @@ public class AbpAspNetCoreComponentsServerModule : AbpModule
public override void ConfigureServices(ServiceConfigurationContext context)
{
StaticWebAssetsLoader.UseStaticWebAssets(context.Services.GetHostingEnvironment(), context.Services.GetConfiguration());
context.Services.AddHttpClient();
context.Services.AddHttpClient(nameof(BlazorServerLookupApiRequestService))
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
AutomaticDecompression = DecompressionMethods.All
});
var serverSideBlazorBuilder = context.Services.AddServerSideBlazor(options =>
{
if (context.Services.GetHostingEnvironment().IsDevelopment())

20
framework/src/Volo.Abp.AspNetCore.Components.Server/Volo/Abp/AspNetCore/Components/Server/Extensibility/BlazorServerLookupApiRequestService.cs

@ -41,27 +41,25 @@ public class BlazorServerLookupApiRequestService : ILookupApiRequestService, ITr
public async Task<string> SendAsync(string url)
{
var client = HttpClientFactory.CreateClient();
var client = HttpClientFactory.CreateClient(nameof(BlazorServerLookupApiRequestService));
var requestMessage = new HttpRequestMessage(HttpMethod.Get, url);
var uri = new Uri(url, UriKind.RelativeOrAbsolute);
if (!uri.IsAbsoluteUri)
{
var baseUrl = string.Empty;
try
var remoteServiceConfig = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultOrNullAsync("Default");
if (remoteServiceConfig != null)
{
//Blazor tiered -- mode
var remoteServiceConfig = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultAsync("Default");
baseUrl = remoteServiceConfig.BaseUrl;
// Blazor tiered mode
var baseUrl = remoteServiceConfig.BaseUrl;
client.BaseAddress = new Uri(baseUrl);
AddHeaders(requestMessage);
await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client,
requestMessage, new RemoteServiceConfiguration(baseUrl), string.Empty));
await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration(baseUrl), string.Empty));
}
catch (AbpException) // Blazor-Server mode.
else
{
baseUrl = NavigationManager.BaseUri;
client.BaseAddress = new Uri(baseUrl);
// Blazor server mode
client.BaseAddress = new Uri(NavigationManager.BaseUri);
foreach (var header in HttpContextAccessor.HttpContext!.Request.Headers)
{
requestMessage.Headers.TryAddWithoutValidation(header.Key, header.Value.ToArray());

8
framework/src/Volo.Abp.AspNetCore.Components.WebAssembly/Volo/Abp/AspNetCore/Components/WebAssembly/Extensibility/WebAssemblyLookupApiRequestService.cs

@ -32,14 +32,18 @@ public class WebAssemblyLookupApiRequestService : ILookupApiRequestService, ITra
public async Task<string> SendAsync(string url)
{
var client = HttpClientFactory.CreateClient();
var client = HttpClientFactory.CreateClient(nameof(WebAssemblyLookupApiRequestService));
var requestMessage = new HttpRequestMessage(HttpMethod.Get, url);
AddHeaders(requestMessage);
var uri = new Uri(url, UriKind.RelativeOrAbsolute);
if (!uri.IsAbsoluteUri)
{
var remoteServiceConfig = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultAsync("Default");
var remoteServiceConfig = await RemoteServiceConfigurationProvider.GetConfigurationOrDefaultOrNullAsync("Default");
if (remoteServiceConfig == null)
{
throw new AbpException("Remote service configuration 'Default' was not found!");
}
client.BaseAddress = new Uri(remoteServiceConfig.BaseUrl);
await HttpClientAuthenticator.Authenticate(new RemoteServiceHttpClientAuthenticateContext(client, requestMessage, new RemoteServiceConfiguration(remoteServiceConfig.BaseUrl), string.Empty));
}

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -271,7 +271,7 @@ public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
if (string.IsNullOrEmpty(TagHelper.Label))
{
return await GetLabelAsHtmlUsingTagHelperAsync(context, output, isCheckbox) + GetRequiredSymbol(context, output);
return await GetLabelAsHtmlUsingTagHelperAsync(context, output, isCheckbox);
}
var label = new TagBuilder("label");
@ -392,6 +392,8 @@ public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
}
innerOutput.Content.AppendHtml($" <i class=\"{iconClass}\"></i>");
}
innerOutput.Content.AppendHtml(GetRequiredSymbol(context, output));
return innerOutput.Render(_encoder);
}

11
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpSelectTagHelperService.cs

@ -185,11 +185,12 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
label.AddCssClass("form-label");
label.Attributes.Add("for", GetIdAttributeValue(selectTag));
label.InnerHtml.AppendHtml(_encoder.Encode(TagHelper.Label));
label.InnerHtml.AppendHtml(GetRequiredSymbol(context, output));
return label.ToHtmlString() + GetRequiredSymbol(context, output);
return label.ToHtmlString();
}
return await GetLabelAsHtmlUsingTagHelperAsync(context, output) + GetRequiredSymbol(context, output);
return await GetLabelAsHtmlUsingTagHelperAsync(context, output);
}
protected virtual string GetRequiredSymbol(TagHelperContext context, TagHelperOutput output)
@ -304,7 +305,11 @@ public class AbpSelectTagHelperService : AbpTagHelperService<AbpSelectTagHelper>
ViewContext = TagHelper.ViewContext,
};
return await labelTagHelper.RenderAsync(new TagHelperAttributeList { { "class", "form-label" } }, context, _encoder, "label", TagMode.StartTagAndEndTag);
var innerOutput = await labelTagHelper.ProcessAndGetOutputAsync(new TagHelperAttributeList { { "class", "form-label" } }, context, "label", TagMode.StartTagAndEndTag);
innerOutput.Content.AppendHtml(GetRequiredSymbol(context, output));
return innerOutput.Render(_encoder);
}
protected virtual async Task<string> GetValidationAsHtmlAsync(TagHelperContext context, TagHelperOutput output, TagHelperOutput inputTag)

12
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js

@ -32,6 +32,18 @@ var abp = abp || {};
}
var _createDropdownItem = function (record, fieldItem, tableInstance) {
if (fieldItem.divider) {
if (abp.utils.isFunction(fieldItem.divider)) {
return $(fieldItem.divider(record, tableInstance));
}
if (fieldItem.divider === true) {
return $('<li><hr class="dropdown-divider"></li>');
}
return $(fieldItem.divider);
}
var $li = $('<li/>');
var $a = $('<a/>').addClass('dropdown-item');

1
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs

@ -79,6 +79,7 @@ public class AspNetCoreApiDescriptionModelProvider : IApiDescriptionModelProvide
}
}
model.NormalizeOrder();
return model;
}

2
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs

@ -179,7 +179,7 @@ public class BlobContainer : IBlobContainer
{
//TODO: Consider to throw some type of "not found" exception and handle on the HTTP status side
throw new AbpException(
$"Could not found the requested BLOB '{name}' in the container '{ContainerName}'!");
$"Could not find the requested BLOB '{name}' in the container '{ContainerName}'!");
}
return stream;

19
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs

@ -184,8 +184,20 @@ public class CliService : ITransientDependency
var updateChannel = GetUpdateChannel(currentCliVersion);
var latestVersionInfo = await GetLatestVersion(updateChannel);
if (latestVersionInfo != null && latestVersionInfo.Version > currentCliVersion)
if (ShouldLogNewVersionInfo(latestVersionInfo, currentCliVersion))
{
if(updateChannel == UpdateChannel.Prerelease && !latestVersionInfo.Version.IsPrerelease)
{
latestVersionInfo = await PackageVersionCheckerService.GetLatestStableVersionFromGithubAsync();
if(ShouldLogNewVersionInfo(latestVersionInfo, currentCliVersion))
{
LogNewVersionInfo(updateChannel, latestVersionInfo.Version, toolPath, latestVersionInfo.Message);
}
return;
}
LogNewVersionInfo(updateChannel, latestVersionInfo.Version, toolPath, latestVersionInfo.Message);
}
}
@ -195,6 +207,11 @@ public class CliService : ITransientDependency
}
}
private bool ShouldLogNewVersionInfo(LatestVersionInfo latestVersionInfo, SemanticVersion currentCliVersion)
{
return latestVersionInfo != null && latestVersionInfo.Version > currentCliVersion;
}
private async Task<bool> IsLatestVersionCheckExpiredAsync()
{
try

3
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs

@ -66,6 +66,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{
Theme.LeptonX => "@volosoft/abp.ng.theme.lepton-x",
Theme.LeptonXLite => "@abp/ng.theme.lepton-x",
Theme.Lepton => "@volo/abp.ng.theme.lepton",
Theme.Basic => "@abp/ng.theme.basic",
_ => string.Empty
};
@ -783,4 +784,4 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
Lepton
);
}
}
}

246
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

@ -5,7 +5,7 @@ using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
namespace Volo.Abp.Cli.ProjectBuilding.Templates.App;
public abstract class AppNoLayersTemplateBase : AppTemplateBase
public abstract class AppNoLayersTemplateBase : TemplateInfo
{
protected AppNoLayersTemplateBase(string templateName)
: base(templateName)
@ -22,7 +22,24 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
public override IEnumerable<ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context)
{
var steps = base.GetCustomSteps(context).ToList();
SwitchDatabaseProvider(context, steps);
DeleteUnrelatedProjects(context, steps);
RemoveMigrations(context, steps);
RandomizeSslPorts(context, steps);
RandomizeStringEncryption(context, steps);
RandomizeAuthServerPassPhrase(context, steps);
UpdateNuGetConfig(context, steps);
ChangeConnectionString(context, steps);
ConfigureDockerFiles(context, steps);
ConfigureTheme(context, steps);
CleanupFolderHierarchy(context, steps);
return steps;
}
protected void SwitchDatabaseProvider(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
switch (context.BuildArgs.DatabaseProvider)
{
case DatabaseProvider.NotSpecified:
@ -49,7 +66,10 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
}
context.Symbols.Add($"dbms:{context.BuildArgs.DatabaseManagementSystem}");
}
protected void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
switch (context.BuildArgs.UiFramework)
{
case UiFramework.Angular:
@ -109,34 +129,47 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
default:
throw new AbpException("Unkown UI framework: " + context.BuildArgs.UiFramework);
}
}
protected void RandomizeSslPorts(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.ExtraProperties.ContainsKey("no-random-port"))
{
return;
}
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName/Migrations"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations"));
RandomizeSslPorts(context, steps);
RandomizeStringEncryption(context, steps);
RandomizeAuthServerPassPhrase(context, steps);
UpdateNuGetConfig(context, steps);
ChangeConnectionString(context, steps);
ConfigureDockerFiles(context, steps);
ConfigureTheme(context, steps);
//todo: discuss blazor ports
steps.Add(new TemplateRandomSslPortStep(
new List<string>
{
"https://localhost:44300",
"https://localhost:44301",
"https://localhost:44302",
"https://localhost:44303",
"https://localhost:44304",
"https://localhost:44305",
"https://localhost:44306",
"https://localhost:44307",
"https://localhost:44308",
"https://localhost:44309",
"https://localhost:44310"
}
)
);
}
protected void CleanupFolderHierarchy(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.UiFramework != UiFramework.Angular)
{
steps.Add(new MoveFolderStep("/aspnet-core/", "/"));
}
return steps;
}
private static void RemoveBlazorWasmProjects(List<ProjectBuildPipelineStep> steps)
protected void RemoveMigrations(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Server",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Client",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName/Migrations"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations"));
}
protected void ConfigureDockerFiles(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
@ -169,4 +202,173 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase
break;
}
}
protected void RandomizeStringEncryption(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RandomizeStringEncryptionStep());
}
protected static void RandomizeAuthServerPassPhrase(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RandomizeAuthServerPassPhraseStep());
}
protected void UpdateNuGetConfig(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
steps.Add(new UpdateNuGetConfigStep("/aspnet-core/NuGet.Config"));
}
protected void ChangeConnectionString(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.ConnectionString != null)
{
steps.Add(new ConnectionStringChangeStep());
}
if (IsPro())
{
steps.Add(new ConnectionStringRenameStep());
}
}
protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (!context.BuildArgs.Theme.HasValue)
{
return;
}
if (context.BuildArgs.Theme != Theme.NotSpecified)
{
context.Symbols.Add(context.BuildArgs.Theme.Value.ToString().ToUpper());
}
if (context.BuildArgs.Theme == Theme.LeptonX)
{
steps.Add(new ChangeThemeStyleStep());
}
RemoveThemeLogoFolders(context, steps);
if (IsDefaultThemeForTemplate(context.BuildArgs))
{
return;
}
steps.Add(new ChangeThemeStep());
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro(), uiFramework: context.BuildArgs.UiFramework);
}
private static void RemoveBlazorWasmProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Server",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Client",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared",
projectFolderPath: "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared"));
steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly"));
}
private void RemoveThemeLogoFolders(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.Theme != Theme.Lepton && IsPro())
{
steps.Add(new RemoveFilesStep("/wwwroot/images/logo/lepton/"));
}
if (context.BuildArgs.Theme != Theme.LeptonX && context.BuildArgs.Theme != Theme.LeptonXLite)
{
steps.Add(new RemoveFilesStep("/wwwroot/images/logo/leptonx/"));
}
}
protected void SetDbmsSymbols(ProjectBuildContext context)
{
switch (context.BuildArgs.DatabaseManagementSystem)
{
case DatabaseManagementSystem.NotSpecified:
context.Symbols.Add("SqlServer");
break;
case DatabaseManagementSystem.SQLServer:
context.Symbols.Add("SqlServer");
break;
case DatabaseManagementSystem.MySQL:
context.Symbols.Add("MySql");
break;
case DatabaseManagementSystem.PostgreSQL:
context.Symbols.Add("PostgreSql");
break;
case DatabaseManagementSystem.Oracle:
context.Symbols.Add("Oracle");
break;
case DatabaseManagementSystem.OracleDevart:
context.Symbols.Add("Oracle");
break;
case DatabaseManagementSystem.SQLite:
context.Symbols.Add("SqLite");
break;
default:
throw new AbpException("Unknown Dbms: " + context.BuildArgs.DatabaseManagementSystem);
}
}
private static bool IsDefaultThemeForTemplate(ProjectBuildArgs args)
{
var templateThemes = new Dictionary<string, Theme>
{
{ AppNoLayersTemplate.TemplateName, AppNoLayersTemplate.DefaultTheme },
{ AppNoLayersProTemplate.TemplateName, AppNoLayersProTemplate.DefaultTheme }
};
return templateThemes.TryGetValue(args.TemplateName!, out var templateTheme) && templateTheme == args.Theme;
}
private static void RemoveLeptonXThemePackagesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps, bool isProTemplate, UiFramework uiFramework)
{
var mvcUiPackageName = isProTemplate ? "@volo/abp.aspnetcore.mvc.ui.theme.leptonx" : "@abp/aspnetcore.mvc.ui.theme.leptonxlite";
var packageJsonFilePaths = new List<string>
{
"/MyCompanyName.MyProjectName.Web/package.json",
"/MyCompanyName.MyProjectName.Web.Host/package.json",
"/MyCompanyName.MyProjectName/package.json",
"/MyCompanyName.MyProjectName.Host/package.json",
"/MyCompanyName.MyProjectName.Host.Mongo/package.json"
};
foreach (var packageJsonFilePath in packageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
}
if (uiFramework == UiFramework.BlazorServer)
{
var blazorServerUiPackageName = isProTemplate ? "@volo/aspnetcore.components.server.leptonxtheme" : "@abp/aspnetcore.components.server.leptonxlitetheme";
var blazorServerPackageJsonFilePaths = new List<string>
{
"/MyCompanyName.MyProjectName.Blazor/package.json",
"/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json"
};
foreach (var blazorServerPackageJsonFilePath in blazorServerPackageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(blazorServerPackageJsonFilePath, mvcUiPackageName));
steps.Add(new RemoveDependencyFromPackageJsonFileStep(blazorServerPackageJsonFilePath, blazorServerUiPackageName));
}
}
else if (uiFramework == UiFramework.Angular)
{
var ngUiPackageName = isProTemplate ? "@volosoft/abp.ng.theme.lepton-x" : "@abp/ng.theme.lepton-x";
var angularPackageJsonFilePaths = new List<string>
{
"/angular/package.json"
};
foreach (var angularPackageJsonFilePath in angularPackageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(angularPackageJsonFilePath, ngUiPackageName));
steps.Add(new RemoveDependencyFromPackageJsonFileStep(angularPackageJsonFilePath, "bootstrap-icons"));
}
}
}
}

16
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs

@ -107,7 +107,6 @@ public abstract class AppTemplateBase : TemplateInfo
if (context.BuildArgs.DatabaseProvider != DatabaseProvider.MongoDb)
{
steps.Add(new AppTemplateRemoveMongodbCollectionFixtureStep());
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MongoDB"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MongoDB.Tests", projectFolderPath: "/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests"));
}
@ -235,7 +234,7 @@ public abstract class AppTemplateBase : TemplateInfo
steps.Add(new ChangeThemeStep());
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro(), uiFramework: context.BuildArgs.UiFramework);
}
protected void SetDbmsSymbols(ProjectBuildContext context)
{
switch (context.BuildArgs.DatabaseManagementSystem)
@ -265,7 +264,7 @@ public abstract class AppTemplateBase : TemplateInfo
throw new AbpException("Unknown Dbms: " + context.BuildArgs.DatabaseManagementSystem);
}
}
private void RemoveThemeLogoFolders(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (context.BuildArgs.Theme != Theme.Lepton && IsPro())
@ -284,9 +283,7 @@ public abstract class AppTemplateBase : TemplateInfo
var templateThemes = new Dictionary<string, Theme>
{
{ AppTemplate.TemplateName, AppTemplate.DefaultTheme },
{ AppProTemplate.TemplateName, AppProTemplate.DefaultTheme },
{ AppNoLayersTemplate.TemplateName, AppNoLayersTemplate.DefaultTheme },
{ AppNoLayersProTemplate.TemplateName, AppNoLayersProTemplate.DefaultTheme }
{ AppProTemplate.TemplateName, AppProTemplate.DefaultTheme }
};
return templateThemes.TryGetValue(args.TemplateName!, out var templateTheme) && templateTheme == args.Theme;
@ -304,9 +301,7 @@ public abstract class AppTemplateBase : TemplateInfo
"/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package.json",
"/MyCompanyName.MyProjectName.HttpApi.Host/package.json",
"/MyCompanyName.MyProjectName.AuthServer/package.json",
"/MyCompanyName.MyProjectName/package.json",
"/MyCompanyName.MyProjectName.Host/package.json",
"/MyCompanyName.MyProjectName.Host.Mongo/package.json"
"/MyCompanyName.MyProjectName/package.json"
};
foreach (var packageJsonFilePath in packageJsonFilePaths)
@ -320,8 +315,7 @@ public abstract class AppTemplateBase : TemplateInfo
var blazorServerPackageJsonFilePaths = new List<string>
{
"/MyCompanyName.MyProjectName.Blazor/package.json",
"/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json",
"/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json"
"/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json"
};
foreach (var blazorServerPackageJsonFilePath in blazorServerPackageJsonFilePaths)

74
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateRemoveMongodbCollectionFixtureStep.cs

@ -1,74 +0,0 @@
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.Cli.ProjectBuilding.Building;
namespace Volo.Abp.Cli.ProjectBuilding.Templates.App;
public class AppTemplateRemoveMongodbCollectionFixtureStep : ProjectBuildPipelineStep
{
public override void Execute(ProjectBuildContext context)
{
if (context.Template.IsNoLayer())
{
return;
}
//MyCompanyName.MyProjectName.Application.Tests
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyProjectNameApplicationCollection.cs");
RemoveKeyword(context,
"/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/Samples/SampleAppServiceTests.cs",
"[Collection(MyProjectNameTestConsts.CollectionDefinitionName)]");
//MyCompanyName.MyProjectName.Domain.Tests
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainCollection.cs");
RemoveKeyword(context,
"/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/Samples/SampleDomainTests.cs",
"[Collection(MyProjectNameTestConsts.CollectionDefinitionName)]");
//MyCompanyName.MyProjectName.EntityFrameworkCore.Tests
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreCollection.cs");
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreCollectionFixtureBase.cs");
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreFixture.cs");
RemoveKeyword(context,
"/aspnet-core/test/MyCompanyName.MyProjectName.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs",
"[Collection(MyProjectNameTestConsts.CollectionDefinitionName)]");
//MyCompanyName.MyProjectName.Web.Tests
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyProjectNameWebCollection.cs");
RemoveKeyword(context,
"/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/Pages/Index_Tests.cs",
"[Collection(MyProjectNameTestConsts.CollectionDefinitionName)]");
//MyCompanyName.MyProjectName.TestBase
RemoveFile(context, "/aspnet-core/test/MyCompanyName.MyProjectName.TestBase/MyProjectNameTestConsts.cs");
}
private static void RemoveFile(ProjectBuildContext context, string targetModuleFilePath)
{
var file = context.Files.FirstOrDefault(x => x.Name == targetModuleFilePath);
if (file != null)
{
context.Files.Remove(file);
}
}
private static void RemoveKeyword(ProjectBuildContext context, string targetModuleFilePath, string keyword)
{
var file = context.GetFile(targetModuleFilePath);
file.NormalizeLineEndings();
var lines = file.GetLines();
var newLines = new List<string>();
for (var i = 0; i < lines.Length; i++)
{
if (!lines[i].Contains(keyword))
{
newLines.Add(lines[i]);
}
}
file.SetLines(newLines);
}
}

5
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/BlazorAppsettingsFilePortChangeForSeparatedAuthServersStep.cs

@ -14,6 +14,11 @@ public class BlazorAppsettingsFilePortChangeForSeparatedAuthServersStep : Projec
StringComparison.InvariantCultureIgnoreCase)
);
if (appsettingsFile == null)
{
return;
}
appsettingsFile.NormalizeLineEndings();
var lines = appsettingsFile.GetLines();

5
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RemoveUnnecessaryPortsStep.cs

@ -73,6 +73,11 @@ public class RemoveUnnecessaryPortsStep : ProjectBuildPipelineStep
.FirstOrDefault(f =>
f.Name.Contains("MyCompanyName.MyProjectName.DbMigrator") && f.Name.EndsWith("appsettings.json"));
if (dbMigratorAppSettings == null)
{
return;
}
var appSettingsJsonObject = JObject.Parse(dbMigratorAppSettings.Content);
var authServerJsonObject = (JObject)appSettingsJsonObject?["IdentityServer"] ?? (JObject)appSettingsJsonObject["OpenIddict"];
var clientsJsonObject = (JObject)authServerJsonObject?["Clients"] ?? (JObject)authServerJsonObject?["Applications"];

28
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs

@ -147,6 +147,34 @@ public class ProjectNpmPackageAdder : ITransientDependency
}
}
public async Task RemoveMvcPackageAsync(string directory, NpmPackageInfo npmPackage,
bool skipInstallingLibs = false)
{
var packageJsonFilePath = Path.Combine(directory, "package.json");
if (!File.Exists(packageJsonFilePath) ||
!File.ReadAllText(packageJsonFilePath).Contains($"\"{npmPackage.Name}\""))
{
return;
}
Logger.LogInformation($"Removing '{npmPackage.Name}' package from the project '{packageJsonFilePath}'...");
using (DirectoryHelper.ChangeCurrentDirectory(directory))
{
Logger.LogInformation("yarn remove " + npmPackage.Name);
CmdHelper.RunCmd("yarn remove " + npmPackage.Name);
if (skipInstallingLibs)
{
return;
}
Logger.LogInformation("Installing client-side packages...");
await InstallLibsService.InstallLibsAsync(directory);
}
}
private string DetectAbpVersionOrNull(string packageJsonFile)
{
if (string.IsNullOrEmpty(packageJsonFile) ||

11
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/VoloNugetPackagesVersionUpdater.cs

@ -184,6 +184,7 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
var currentVersion = versionAttribute.Value;
var isLeptonXPackage = packageId.Contains("LeptonX");
var isStudioPackage = packageId.StartsWith("Volo.Abp.Studio.");
if(isLeptonXPackage)
{
//'SemanticVersion.TryParse' can not parse the version if the version contains floating version resolution, such as '*-*'
@ -201,7 +202,7 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
if (!specifiedVersion.IsNullOrWhiteSpace())
{
if (isLeptonXPackage)
if (isLeptonXPackage || isStudioPackage)
{
Logger.LogWarning("Package: {0} could not be updated. Please manually update the package version yourself to prevent version mismatches.", packageId);
continue;
@ -241,6 +242,10 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
latestVersion = (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(leptonXPackageName, includeNightlyPreviews, includeReleaseCandidates))?.Version?.ToString();
}
else if(isStudioPackage)
{
latestVersion = (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeNightlyPreviews, includeReleaseCandidates))?.Version?.ToString();
}
else
{
latestVersion = latestMyGetVersion == null ? await GetLatestVersionFromMyGet(packageId) : latestMyGetVersion;
@ -267,13 +272,13 @@ public class VoloNugetPackagesVersionUpdater : ITransientDependency
SemanticVersion latestVersion;
if (currentSemanticVersion.IsPrerelease && !switchToStable)
{
latestVersion = latestNugetReleaseCandidateVersion == null || isLeptonXPackage
latestVersion = latestNugetReleaseCandidateVersion == null || isLeptonXPackage || isStudioPackage
? (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: true))?.Version
: latestNugetReleaseCandidateVersion;
}
else
{
latestVersion = latestNugetVersion == null || isLeptonXPackage
latestVersion = latestNugetVersion == null || isLeptonXPackage || isStudioPackage
? (await _packageVersionCheckerService.GetLatestVersionOrNullAsync(packageId, includeReleaseCandidates: includeReleaseCandidates))?.Version
: latestNugetVersion;
}

24
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Version/PackageVersionCheckerService.cs

@ -14,6 +14,7 @@ using Volo.Abp.Cli.ProjectModification;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Json;
using Volo.Abp.Threading;
using System.Net.Mail;
namespace Volo.Abp.Cli.Version;
@ -63,15 +64,7 @@ public class PackageVersionCheckerService : ITransientDependency
{
if (!includeNightly && !includeReleaseCandidates && !packageId.Contains("LeptonX"))
{
var latestStableVersionResult = await GetLatestStableVersionOrNullAsync();
if (latestStableVersionResult == null)
{
return null;
}
return SemanticVersion.TryParse(latestStableVersionResult.Version, out var semanticVersion)
? new LatestVersionInfo(semanticVersion, latestStableVersionResult.Message)
: null;
return await GetLatestStableVersionFromGithubAsync();
}
var versionList = await GetPackageVersionListAsync(packageId, includeNightly);
@ -107,6 +100,19 @@ public class PackageVersionCheckerService : ITransientDependency
return await GetPackageVersionsFromNuGetOrgAsync(packageId) ?? new List<string>();
}
public async Task<LatestVersionInfo> GetLatestStableVersionFromGithubAsync()
{
var latestStableVersionResult = await GetLatestStableVersionOrNullAsync();
if (latestStableVersionResult == null)
{
return null;
}
return SemanticVersion.TryParse(latestStableVersionResult.Version, out var semanticVersion)
? new LatestVersionInfo(semanticVersion, latestStableVersionResult.Message)
: null;
}
private async Task<bool> IsCommercialPackageAsync(string packageId)
{
if (CommercialPackages.IsCommercial(packageId))

9
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/AbpRabbitMqEventBusOptions.cs

@ -1,4 +1,5 @@
using Volo.Abp.RabbitMQ;
using System.Collections.Generic;
using Volo.Abp.RabbitMQ;
namespace Volo.Abp.EventBus.RabbitMq;
@ -13,9 +14,13 @@ public class AbpRabbitMqEventBusOptions
public string ExchangeName { get; set; } = default!;
public string? ExchangeType { get; set; }
public ushort? PrefetchCount { get; set; }
public IDictionary<string, object> QueueArguments { get; set; } = new Dictionary<string, object>();
public IDictionary<string, object> ExchangeArguments { get; set; } = new Dictionary<string, object>();
public string GetExchangeTypeOrDefault()
{
return string.IsNullOrEmpty(ExchangeType)

6
framework/src/Volo.Abp.EventBus.RabbitMQ/Volo/Abp/EventBus/RabbitMq/RabbitMqDistributedEventBus.cs

@ -79,14 +79,16 @@ public class RabbitMqDistributedEventBus : DistributedEventBusBase, ISingletonDe
new ExchangeDeclareConfiguration(
AbpRabbitMqEventBusOptions.ExchangeName,
type: AbpRabbitMqEventBusOptions.GetExchangeTypeOrDefault(),
durable: true
durable: true,
arguments: AbpRabbitMqEventBusOptions.ExchangeArguments
),
new QueueDeclareConfiguration(
AbpRabbitMqEventBusOptions.ClientName,
durable: true,
exclusive: false,
autoDelete: false,
prefetchCount: AbpRabbitMqEventBusOptions.PrefetchCount
prefetchCount: AbpRabbitMqEventBusOptions.PrefetchCount,
arguments: AbpRabbitMqEventBusOptions.QueueArguments
),
AbpRabbitMqEventBusOptions.ConnectionName
);

2
framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en-GB.json

@ -11,7 +11,7 @@
"DefaultErrorMessage403": "You are not authorised!",
"DefaultErrorMessage403Detail": "You are not allowed to perform this operation!",
"DefaultErrorMessage404": "Resource not found!",
"DefaultErrorMessage404Detail": "The resource requested could not found on the server!",
"DefaultErrorMessage404Detail": "The resource requested could not be found on the server!",
"EntityNotFoundErrorMessage": "There is no entity {0} with id = {1}!",
"Error": "Error",
"UnhandledException": "Unhandled exception!",

2
framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/en.json

@ -11,7 +11,7 @@
"DefaultErrorMessage403": "You are not authorized!",
"DefaultErrorMessage403Detail": "You are not allowed to perform this operation!",
"DefaultErrorMessage404": "Resource not found!",
"DefaultErrorMessage404Detail": "The resource requested could not found on the server!",
"DefaultErrorMessage404Detail": "The resource requested could not be found on the server!",
"EntityNotFoundErrorMessage": "There is no entity {0} with id = {1}!",
"AbpDbConcurrencyErrorMessage": "The data you have submitted has already changed by another user/client. Please discard the changes you've done and try from the beginning.",
"Error": "Error",

2
framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs

@ -82,7 +82,7 @@ public class ApiDescriptionFinder : IApiDescriptionFinder, ITransientDependency
}
}
throw new AbpException($"Could not found remote action for method: {method} on the URL: {baseUrl}");
throw new AbpException($"Could not find remote action for method: {method} on the URL: {baseUrl}");
}
public virtual async Task<ApplicationApiDescriptionModel> GetApiDescriptionAsync(HttpClient client, string baseUrl)

7
framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs

@ -22,7 +22,7 @@ public class ApplicationApiDescriptionModel
return new ApplicationApiDescriptionModel
{
Modules = new ConcurrentDictionary<string, ModuleApiDescriptionModel>(), //TODO: Why ConcurrentDictionary?
Types = new Dictionary<string, TypeApiDescriptionModel>()
Types = new SortedDictionary<string, TypeApiDescriptionModel>()
};
}
@ -55,4 +55,9 @@ public class ApplicationApiDescriptionModel
return subModel;
}
public void NormalizeOrder()
{
Modules = Modules.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value);
}
}

2
framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs

@ -35,7 +35,7 @@ public class ModuleApiDescriptionModel
{
RootPath = rootPath,
RemoteServiceName = remoteServiceName,
Controllers = new Dictionary<string, ControllerApiDescriptionModel>()
Controllers = new SortedDictionary<string, ControllerApiDescriptionModel>()
};
}

2
framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/EventOutboxMongoModelBuilderExtensions.cs

@ -9,7 +9,7 @@ public static class EventOutboxMongoModelBuilderExtensions
{
Check.NotNull(builder, nameof(builder));
builder.Entity<IncomingEventRecord>(b =>
builder.Entity<OutgoingEventRecord>(b =>
{
b.CollectionName = AbpCommonDbProperties.DbTablePrefix + "EventOutbox";
});

5
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ExchangeDeclareConfiguration.cs

@ -18,12 +18,13 @@ public class ExchangeDeclareConfiguration
string exchangeName,
string type,
bool durable = false,
bool autoDelete = false)
bool autoDelete = false,
IDictionary<string, object>? arguments = null)
{
ExchangeName = exchangeName;
Type = type;
Durable = durable;
AutoDelete = autoDelete;
Arguments = new Dictionary<string, object>();
Arguments = arguments?? new Dictionary<string, object>();
}
}

5
framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/QueueDeclareConfiguration.cs

@ -23,13 +23,14 @@ public class QueueDeclareConfiguration
bool durable = true,
bool exclusive = false,
bool autoDelete = false,
ushort? prefetchCount = null)
ushort? prefetchCount = null,
IDictionary<string, object>? arguments = null)
{
QueueName = queueName;
Durable = durable;
Exclusive = exclusive;
AutoDelete = autoDelete;
Arguments = new Dictionary<string, object>();
Arguments = arguments?? new Dictionary<string, object>();
PrefetchCount = prefetchCount;
}

28
framework/src/Volo.Abp.Swashbuckle/wwwroot/swagger/ui/abp.swagger.js

@ -9,11 +9,14 @@ var abp = abp || {};
var oidcSupportedFlows = configObject.oidcSupportedFlows || [];
var oidcSupportedScopes = configObject.oidcSupportedScopes || [];
var oidcDiscoveryEndpoint = configObject.oidcDiscoveryEndpoint || [];
var tenantPlaceHolders = ["{{tenantId}}", "{{tenantName}}" , "{0}"]
abp.appPath = configObject.baseUrl || abp.appPath;
var requestInterceptor = configObject.requestInterceptor;
var responseInterceptor = configObject.responseInterceptor;
getAbpApplicationConfiguration();
configObject.requestInterceptor = async function (request) {
if (request.url.includes(excludeUrl[1])) {
@ -29,14 +32,15 @@ var abp = abp || {};
// Intercept .well-known request when the discoveryEndpoint is provided
if (!firstRequest && oidcDiscoveryEndpoint.length !== 0 && request.url.includes(".well-known/openid-configuration")) {
if (oidcDiscoveryEndpoint.endsWith(".well-known/openid-configuration")) {
request.url = oidcDiscoveryEndpoint;
request.url = replaceTenantPlaceHolder(oidcDiscoveryEndpoint);
console.log(request.url);
return;
}
if (!oidcDiscoveryEndpoint.endsWith("/")) {
oidcDiscoveryEndpoint += "/"
}
request.url = oidcDiscoveryEndpoint + ".well-known/openid-configuration";
request.url = replaceTenantPlaceHolder(oidcDiscoveryEndpoint) + ".well-known/openid-configuration";
console.log(request.url);
}
@ -79,6 +83,26 @@ var abp = abp || {};
}
return response;
};
function replaceTenantPlaceHolder(url) {
url.replace(tenantPlaceHolders[0], abp.currentTenant.id);
url.replace(tenantPlaceHolders[1], abp.currentTenant.name);
if(abp.currentTenant.name != null){
url.replace(tenantPlaceHolders[2], abp.currentTenant.name);
}else if (abp.currentTenant.id != null){
url.replace(tenantPlaceHolders[2], abp.currentTenant.id);
}
return url;
}
function getAbpApplicationConfiguration() {
fetch(`${abp.appPath}api/abp/application-configuration`).then(response => response.json()).then(data => {
abp.currentTenant = data.currentTenant;
});
}
return SwaggerUIBundle(configObject);
}

2
framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/BlobContainer_Tests.cs

@ -61,7 +61,7 @@ public abstract class BlobContainer_Tests<TStartupModule> : AbpIntegratedTest<TS
using (CurrentTenant.Change(null))
{
// Could not found the requested BLOB...
// Could not find the requested BLOB...
await Assert.ThrowsAsync<AbpException>(async () =>
await Container.GetAllBytesAsync(blobName)
);

4
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/en.json

@ -54,9 +54,9 @@
"Yes": "Yes",
"No": "No",
"Changes": "Changes",
"AverageExecutionDurationInLogsPerDay": "Average execution duration",
"AverageExecutionDurationInLogsPerDay": "Average Execution Duration",
"AverageExecutionDurationInMilliseconds": "Average execution duration in milliseconds",
"ErrorRateInLogs": "Error rate in logs",
"ErrorRateInLogs": "Error Rate in Logs",
"Success": "Success",
"Fault": "Fault",
"NoChanges": "No change(s)",

4
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/tr.json

@ -53,9 +53,9 @@
"Yes": "Evet",
"No": "Hayır",
"UserNameFilter": "Kullanıcı Filtresi",
"AverageExecutionDurationInLogsPerDay": "Ortalama işlem süresi",
"AverageExecutionDurationInLogsPerDay": "Ortalama İşlem Süresi",
"AverageExecutionDurationInMilliseconds": "Milisaniye cinsinden ortalama işlem süresi",
"ErrorRateInLogs": "Loglardaki hata oranı",
"ErrorRateInLogs": "Loglardaki Hata Oranı",
"Success": "Başarılı",
"Fault": "Hatalı",
"NoChanges": "Değişiklik yok",

2
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/package.json

@ -3,7 +3,7 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.shared": "~8.0.0-rc.2",
"@abp/aspnetcore.mvc.ui.theme.shared": "~8.0.0-rc.3",
"@abp/prismjs": "^~7.3.2",
"@abp/highlight.js": "^~7.3.2"
},

4
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/package.json

@ -3,8 +3,8 @@
"name": "asp.net",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2",
"@abp/prismjs": "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3",
"@abp/prismjs": "~8.0.0-rc.3"
},
"devDependencies": {}
}

280
modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/yarn.lock

@ -2,39 +2,39 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.2.tgz#ff10cf70d483fd12304e463ef240c113fceb2bb3"
integrity sha512-N5TbAohg5dRt24DVbFz2hQjdfhZHbwTBJtUDMRofiU6LHk16Td8esU7CxvS+nj8WhVYN8O9PdZZTI/Iva0VPoQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.2.tgz#db570c960ad1b250292a0211317634fbeb762a52"
integrity sha512-yGxIAnpGIWkTkjFBgedBBXE1nRnk7tDYLeAQpGBP33iwUpkwa1n66+cjwt4x2ZzTGo96NfO3MIlLmnk9psZtpA==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.2"
"@abp/bootstrap" "~8.0.0-rc.2"
"@abp/bootstrap-datepicker" "~8.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.2"
"@abp/datatables.net-bs5" "~8.0.0-rc.2"
"@abp/font-awesome" "~8.0.0-rc.2"
"@abp/jquery-form" "~8.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.2"
"@abp/lodash" "~8.0.0-rc.2"
"@abp/luxon" "~8.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.2"
"@abp/moment" "~8.0.0-rc.2"
"@abp/select2" "~8.0.0-rc.2"
"@abp/sweetalert2" "~8.0.0-rc.2"
"@abp/timeago" "~8.0.0-rc.2"
"@abp/toastr" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.2.tgz#57099c3064f462713940a1d40fbddfe7b14510eb"
integrity sha512-Bmkqw6VDe+B5QpcRghj1pWej+BhkWJoCfh+lEwbJqzv3akEuOhYWRSBDIrkgCyROK77HYzBqWg9+AyRhmHXEAw==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.3.tgz#637ea220c9f988c1d0e1b152928f4409696439f2"
integrity sha512-xFJkcC2Oa8vLqMW0gU/3nXHsdFZOQq8+o9gUeLqDAhHZomnvEWsoivcd+LZs0xSDgQOee7N9h2buv9ERBoYGiA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.3.tgz#88904633feb5ce7dface4d27e9a31f4e5ace6b30"
integrity sha512-gMYI+xz/0JDgW2U7T3Lesx1o1U+Y+7zG/jVZO5FuMtlrsYhvT6V5BsKa9q/N7kSR0tfK8vsjblMBobqvbmG3SQ==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.3"
"@abp/bootstrap" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker" "~8.0.0-rc.3"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.3"
"@abp/datatables.net-bs5" "~8.0.0-rc.3"
"@abp/font-awesome" "~8.0.0-rc.3"
"@abp/jquery-form" "~8.0.0-rc.3"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.3"
"@abp/lodash" "~8.0.0-rc.3"
"@abp/luxon" "~8.0.0-rc.3"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.3"
"@abp/moment" "~8.0.0-rc.3"
"@abp/select2" "~8.0.0-rc.3"
"@abp/sweetalert2" "~8.0.0-rc.3"
"@abp/timeago" "~8.0.0-rc.3"
"@abp/toastr" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.3.tgz#09402ed4e7504c09b49a84d6ee590a5c87017ab8"
integrity sha512-82GfU8DtReq5RTrb2Fl0UHm+vEO0PvC/6DyFHm57nyWiL2dKByUqLd8NXQz+gqubWOA+IvJoLehbcC6iD+Y0VQ==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,175 +43,175 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.2.tgz#85e41ff35b7306040e0dfdaabc04c9dec280ae0f"
integrity sha512-2O1CWIA03O68kloIeIQ4YlaLqjvBo4zZxkF4Ily2OfGwfwgUpZpOCS/0yUQWpxFoLEnbat03KQj75Szcu80keg==
"@abp/bootstrap-datepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.3.tgz#7656fef148c8bdf7993fdae937427564535dea74"
integrity sha512-qW1XQ2zL+/9f9+Q9Db3E5eIOD8Itjtr0KFAO59tY3G3WEwvCOS85pXJ/I17nLRRo/A2Na4kx4Q/jdYr3DkOgDQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.2.tgz#9380b4e29c69fe8ecec4877c9bbe443857e2e902"
integrity sha512-caKNizOBcSBSTKyByWZVFxTjn1gJNaMGDqoqnFnKEFc/Zu+Z5wgJaU1zOwSQCI+fBdAYLt6aIRFdzL/VgJIlWg==
"@abp/bootstrap-daterangepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.3.tgz#b6eb599b198f58c9a0690d2f779548137e10889f"
integrity sha512-TnZdtV0JHweVrrXCJZjxz+Cbk0lYznzELaA6oBbikCPhzIr2XvLqyHuLvERrFVxq80BZGsF7xUgC2K/Tw/RA8w==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.2.tgz#9d36df7aa5b78ada6739633dabedf0c05fdedbde"
integrity sha512-OiSLAr58q8we202EjS1cJAzrVjGJBtjYJ3S3JuZqjV46udOoWI+ubQSKp+ZZHLD6e0geMfCe5G3IW+eQ1oFrkQ==
"@abp/bootstrap@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.3.tgz#8865c2536c353b904e6e96cb70e4280fe9928412"
integrity sha512-h7rDAp3eBQwARAkEZfJU+IBTXEiLwi3I5CYFQ92QdX/mC66R1cX1gYY7pR5Wj5f68VS2pURnNxJnONtS3E/Cyw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
bootstrap "^5.1.3"
"@abp/clipboard@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.0.0-rc.2.tgz#6f9eb3da44e62aee8bb7cd38ef5d9e105aff6f94"
integrity sha512-ytYIh5R8V6LbjdofeaRI14V7fO1A066SVn8Uc5G2aTq6WpeepzpwfJjDA7i/3sNO14FhnCLI2a5/IMP0zzxNCw==
"@abp/clipboard@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.0.0-rc.3.tgz#eb7211804967c97cf6678c42b7d756438ffcc22a"
integrity sha512-w9a1gJs8yZbeNkRQqSXxiOUqCLknh+5QM3CoVQudU46Kl4zh39ugPuEMKZhxcGaDsZWSTNuyMgUjzAWFhE/w6g==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
clipboard "^2.0.8"
"@abp/core@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.2.tgz#6167929da30563b3b2f1938be40648bd08db61af"
integrity sha512-uXU546776kSDYizDRB+8Ja0Hfo0LaGqR198oy5Eq8R1jVwQ0gveZUlUFQd1Q56a/IpgbiJQ/T6nizoacBQlfLA==
"@abp/core@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.3.tgz#f399bc55c6ad20c2515a03bb9572c6a4499cfcf0"
integrity sha512-HUa0AfCDX3URnGWsZ/7aZMsXXQFjott05ebK9wF7QDcI7uInyMT5axlrQ/CniyU8GLaFEt3mdtLB7pOZzDnsRw==
dependencies:
"@abp/utils" "~8.0.0-rc.2"
"@abp/utils" "~8.0.0-rc.3"
"@abp/datatables.net-bs5@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.2.tgz#a5d36298ad7ddb59dc66917eeb10f3898d4f6e39"
integrity sha512-VtMnL0WlXVpddbhheFKUwXo+iCBh3pgtETBKTnqyE/FSiv1EoV8i2m0gKtzFA7XB5CjUSXaTQsNfDGsIio7AnQ==
"@abp/datatables.net-bs5@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.3.tgz#902d0770c54a5888f805cc97de0ed25d0c53dde9"
integrity sha512-gxYYBeEh81+R8SAh27uMm3paVffq+bYiQgUxpXNgEcyPGP2X7/hnzZNwViuI1t+IgpSuTf6AAt14db9eV6Masg==
dependencies:
"@abp/datatables.net" "~8.0.0-rc.2"
"@abp/datatables.net" "~8.0.0-rc.3"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.2.tgz#267dcb7a49b708af83de3dfbdeb2f42617d46708"
integrity sha512-GzuncUWYs7fnLdd510FIiFx7DaMUoK2XzsMoVEv/p6eE8uAZpFp7/e+HKx8UxSFDcvVW3GMURDLd1WIxm5ak6Q==
"@abp/datatables.net@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.3.tgz#4ddfa9fe3246e72807c3b19307c7484af749f969"
integrity sha512-vQBenQsDxzryspNv0FEzpyUPBXddIkVhXUJ6tHc+IZ8q/+/2wUE0ZciSJm7qS/GQnGrYZv9wpIGbSRh/RgVvVA==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.2.tgz#2c7f392d4a7971f34ef6fa2835901183b2731976"
integrity sha512-dYXTOiOqb4zg/VKhla/qC3E1I9OmPWPy6jUjW+5LcyQcAMRgTR55A8HVvmZHK8OCwJMmpAGcckydegIKK4JfaQ==
"@abp/font-awesome@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.3.tgz#5f850c5479f48cf1c951de2354050d38fec6beab"
integrity sha512-GYwhoOThD5Bw0Ain5DkVXgHLpca83QGAy1T7I+6SmYyibYu5SdxV9ytD65tARH+dx9VpB3p9NeC5lRYuWdPzCQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.2.tgz#45e2a3d838ed8c2b3f59aa6eb6f62b2e7a5934fa"
integrity sha512-uTf9Owhv9cjxb57S/3CtlimMr4cbCIgnIdHiRSU32atxg+xOvwDq4+Vn1AghiwtVgZWAC6W3MJTBHFbPHPfiLg==
"@abp/jquery-form@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.3.tgz#e414a0599448c37df3197af77a91c9a66d3ef77f"
integrity sha512-w58Zi28Ci/0DIzMzC/ihu+np7G2Hv+9DLrhLZKddEI9WisFuxao5EAhKseq7LWMPzG/QSw8skLZAY12YrEtp6w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.2.tgz#c6a4e3081f1d7eadff34592b8cf0498db40170a0"
integrity sha512-g3yY0SuFX+RkPHZO6UcemXWBi1pq4mt3WHx8f2u2knfdqgLRIaPaTZIpVRN4AUSwBGs/GVzpA5hEEQKhl1cChA==
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.3.tgz#a3ab6b5078449ba94c7206ed96286b902a766b6b"
integrity sha512-Gvmujjhrvqzu51fGSTAssxGVu4XolTLEwW3qR0zwWCc0+kXF/AXB98DD66A+hmGau54sTKRXVmBTpc4J3KpoWg==
dependencies:
"@abp/jquery-validation" "~8.0.0-rc.2"
"@abp/jquery-validation" "~8.0.0-rc.3"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.2.tgz#4282682538c450bffaba2558cbcc8ac9779736b6"
integrity sha512-e6n4SNp558IjZKQW3Td90Kzmns8NPC4dnmCfZzRC9eZfcfBHXOpNoAQIKw3uNWvGF6lQWo4S5O/Y8QhLW/88cw==
"@abp/jquery-validation@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.3.tgz#eee433a5fc076d92d734e7cea4bce00fbaacc963"
integrity sha512-Dq5Ru5WWqDKIDzetUicJzp6DHkGhNNHcjYyHF3n9o9+3T4+6dgRbXy5OYjIv9CADfui55rzckWH57FbCExiUSw==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-validation "^1.19.3"
"@abp/jquery@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.2.tgz#e54905bbd5efa13f9a87854608f103e15757a26c"
integrity sha512-KiqRKJlygq/s8qu+ykRp5csOyDjVmVk5KxW+OJz+73hTS7NZiM1tUDYWieFHFfL8AJdzwxt4QP89y8lyfJeBLQ==
"@abp/jquery@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.3.tgz#e230c5db7a9aff526564c1b4b1820cd983a10726"
integrity sha512-o9xBZt55fT+ZYqmLjQ9dahtIgsRqz4VrXUsLgyKkUzr2p3gtgXCQqKfkIpdeE5aE3p1/T+et5U6FOMUCRZegvg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
jquery "~3.6.0"
"@abp/lodash@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.2.tgz#1bca1821db7524e1c612cfe23319abab5d874453"
integrity sha512-EgoIBQI7IYXOND7VHzp7PXM1w8tZZz60aV+DdjhaDuvXY0pSmg7p0HKsd4UerBfiHBepRuu5JcVk/3ZJ/n2MVQ==
"@abp/lodash@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.3.tgz#5bf8019fa0e69ec1fac6ccacb1625b8564ed8944"
integrity sha512-Mo2r+bNZXdmM7Ri8SBi+M4OsfnLYejbQmcJ7wkDUPb4B3cDJtTB4YuJn8NWBBjaXwi08Myt1MvSFnT04N/t8Eg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
lodash "^4.17.21"
"@abp/luxon@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.2.tgz#336800a04fd72c42f2b9a00da864a708d0c730c6"
integrity sha512-EhiHxcSKNQLzT69GD4qTdhbzwgyqHOwiBOuw2SFYsBml+XbYzDDGbarT5UUNexOjaThHcqHEgyldtGJEDYg3Xw==
"@abp/luxon@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.3.tgz#cc0adcab4f1fa6bea2055be478ec9a86d00f1ba6"
integrity sha512-vKwfpAPL7GUJLvCpsJoJ5eXRH5Ypciez9J6QiK2Mjx1NauxR514wYtBqM/2I7hoJ4Oc9XvrAjcIon3r21dvCqQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.2.tgz#30e7f8fb1edfa921e413f7c166fcac03c9702993"
integrity sha512-2odjr77Uc1kuK9Ffz2SOqojFrc3cfq6LYHEOjgtZquIV69x9FCHWQPDT0QmUPLOXsQ/sclQ3uq0wf9QgOH2eIQ==
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.3.tgz#195c897dced708de627941ce017e047c62191a56"
integrity sha512-svD7YJzHvufjmhoCKgQcjApIdVcGJwWhpsK260lwLiCvkdNDhxFjH+jfChhLMXPYpOnozrgrVx56oJqDWDrU3A==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.2.tgz#47e65d9cd7f58d2902da2df584d23d6500c9aa4e"
integrity sha512-0LM0LVWf57Z2smbcQwB4600o05rIGqIDG1BZMGpFcBFTUhiUROw3M7Yhvsh2Hxrfxl2S424f53AwAEhMMc7wXQ==
"@abp/moment@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.3.tgz#7e2a74cd23c434b45f903b4f826f807a31b5982b"
integrity sha512-E0mob3xj0frslPovdHbsdaFB5oLimORFA86uQJ5KVSEaDOXYKuEqUomMcqg2LRVdzzKd7ai6QkuH3p7qbJonww==
dependencies:
moment "^2.9.0"
"@abp/prismjs@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.0.0-rc.2.tgz#db3dc72cfd4341ce879a7a2622f21424318ea90e"
integrity sha512-QYo/dCGkmzeAoj+L02WD5n5GVniqqzEZav6I6hFOJpP8pz9xfAqt6gDFlcXKqlGc4NaswfCxMtt0nfFATOJgwQ==
"@abp/prismjs@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.0.0-rc.3.tgz#237bb9c55ad1b202418c5bd1452e73a101706c25"
integrity sha512-adgMYfZhK7aPpxNdQhdOqE7oOvXUDq5qqhIVOVzmrQ4Dy/uCItT/Zq0yqqYLr2d7D17vRzfBM7R8ubgxnsMfbw==
dependencies:
"@abp/clipboard" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.2"
"@abp/clipboard" "~8.0.0-rc.3"
"@abp/core" "~8.0.0-rc.3"
prismjs "^1.26.0"
"@abp/select2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.2.tgz#eab2d8c788490dfb42e164535a2ec0e5341c9463"
integrity sha512-amylLPpnriexrPSIwHvYTGrGPdT+IBfEkeN5SMhEL8pwa6/6ScVlzHVxvrMGQEocNFnl8BTD/n/kUnX19uvS9A==
"@abp/select2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.3.tgz#77dd12185f6d03553230c7516e40603310f28f4f"
integrity sha512-9O+IHIB6n+WfLzh6SVyC01OIU3qWzhoT3DofAc329cyI73NJSPuOvmkQtQVYWnkAI/6+B6qYF3A4umD/EoPouQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
select2 "^4.0.13"
"@abp/sweetalert2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.2.tgz#7c3ca3ffff01a43a3603f49a1986f162157e2a72"
integrity sha512-P/qW+UVUwgAGmku2FWWIMtuwG8clA28+Tc0VYl4vFQNjPK7wwTNrovNXIVKHwyl2GjRGgz7YDS0NUtVdkn7AXQ==
"@abp/sweetalert2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.3.tgz#021afc3457cf72c2b6dd298bb981faa741fc1293"
integrity sha512-b67UC/uZ9gWt2X5MeUnKg98FkhvJ+Azsq4PHcFBdUTZL/5ItJ8F6UsOTpT7Z7cUXFmJn/RTcPrgQDsK63CZltw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.2.tgz#ed98d40b1fa2fa7e65bc3ad84db896e32184a112"
integrity sha512-7Kk9JGkVHo86QyaTg7Y8XB4IYXzP/IGlYDDS+eaStmzFIvXmnNURz7gs4x4tm1Z+IfUz+wJvMYfI4ymwYDLSeQ==
"@abp/timeago@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.3.tgz#b3e63ff94bce8ad59b02d8c4490f580e60630f00"
integrity sha512-Pmm6Jj7VT1PW/Wfh1ozFFIdpFvH8cGKfHU2sYgwHuw4U9YQUd8ZTIDaZRMhuN9QqnGlmFtUZsXzoIMZJDvOq5w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
timeago "^1.6.7"
"@abp/toastr@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.2.tgz#c494bb1070ef6aa80d443d11a61f93c03d82f543"
integrity sha512-1ECxLFKNLxI+oegsB2WACmeiOqksi8q8vBiQ5ISW3Z0/kCiN8mC0/c8mmUr9sQjpwACTiFW95H1vPfVbfrt0Mw==
"@abp/toastr@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.3.tgz#5b0d267951e025ca77a611c2fa9b606e92bd830a"
integrity sha512-hfDzyMSgbjriAALdrcnx/qonN2lquF7HM4QH8nt1E8/vWOkd8bUL/kyAoIL8rfS94zr62UUZTEDezoCfHwif+w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
toastr "^2.1.4"
"@abp/utils@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.2.tgz#c2959e5161e4102d5757a571d16bd3a4316779fb"
integrity sha512-Ml/qXTk8//qnuAXA8addR5NFBoJp/L5mBJrEtOc6OFiPuFSsnozcE+ZZJZMACyXP996tqmmkuFrDLMaNeKe0cQ==
"@abp/utils@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.3.tgz#01491fb943eb3a41d4ddbe854e5330b66807d522"
integrity sha512-cuTwsy+FEh3dEnlDDi0s8d3qpWgP3rwqWgg5LlMF0pY/OobJcCLtuo5Zy9bncKL3wFHXVEk6UviYcNkSOkzvtQ==
dependencies:
just-compare "^2.3.0"

4
modules/blogging/app/Volo.BloggingTestApp/package.json

@ -3,7 +3,7 @@
"name": "volo.blogtestapp",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2",
"@abp/blogging": "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3",
"@abp/blogging": "~8.0.0-rc.3"
}
}

318
modules/blogging/app/Volo.BloggingTestApp/yarn.lock

@ -2,39 +2,39 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.2.tgz#ff10cf70d483fd12304e463ef240c113fceb2bb3"
integrity sha512-N5TbAohg5dRt24DVbFz2hQjdfhZHbwTBJtUDMRofiU6LHk16Td8esU7CxvS+nj8WhVYN8O9PdZZTI/Iva0VPoQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.2.tgz#db570c960ad1b250292a0211317634fbeb762a52"
integrity sha512-yGxIAnpGIWkTkjFBgedBBXE1nRnk7tDYLeAQpGBP33iwUpkwa1n66+cjwt4x2ZzTGo96NfO3MIlLmnk9psZtpA==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.2"
"@abp/bootstrap" "~8.0.0-rc.2"
"@abp/bootstrap-datepicker" "~8.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.2"
"@abp/datatables.net-bs5" "~8.0.0-rc.2"
"@abp/font-awesome" "~8.0.0-rc.2"
"@abp/jquery-form" "~8.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.2"
"@abp/lodash" "~8.0.0-rc.2"
"@abp/luxon" "~8.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.2"
"@abp/moment" "~8.0.0-rc.2"
"@abp/select2" "~8.0.0-rc.2"
"@abp/sweetalert2" "~8.0.0-rc.2"
"@abp/timeago" "~8.0.0-rc.2"
"@abp/toastr" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.2.tgz#57099c3064f462713940a1d40fbddfe7b14510eb"
integrity sha512-Bmkqw6VDe+B5QpcRghj1pWej+BhkWJoCfh+lEwbJqzv3akEuOhYWRSBDIrkgCyROK77HYzBqWg9+AyRhmHXEAw==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.3.tgz#637ea220c9f988c1d0e1b152928f4409696439f2"
integrity sha512-xFJkcC2Oa8vLqMW0gU/3nXHsdFZOQq8+o9gUeLqDAhHZomnvEWsoivcd+LZs0xSDgQOee7N9h2buv9ERBoYGiA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.3.tgz#88904633feb5ce7dface4d27e9a31f4e5ace6b30"
integrity sha512-gMYI+xz/0JDgW2U7T3Lesx1o1U+Y+7zG/jVZO5FuMtlrsYhvT6V5BsKa9q/N7kSR0tfK8vsjblMBobqvbmG3SQ==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.3"
"@abp/bootstrap" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker" "~8.0.0-rc.3"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.3"
"@abp/datatables.net-bs5" "~8.0.0-rc.3"
"@abp/font-awesome" "~8.0.0-rc.3"
"@abp/jquery-form" "~8.0.0-rc.3"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.3"
"@abp/lodash" "~8.0.0-rc.3"
"@abp/luxon" "~8.0.0-rc.3"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.3"
"@abp/moment" "~8.0.0-rc.3"
"@abp/select2" "~8.0.0-rc.3"
"@abp/sweetalert2" "~8.0.0-rc.3"
"@abp/timeago" "~8.0.0-rc.3"
"@abp/toastr" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.3.tgz#09402ed4e7504c09b49a84d6ee590a5c87017ab8"
integrity sha512-82GfU8DtReq5RTrb2Fl0UHm+vEO0PvC/6DyFHm57nyWiL2dKByUqLd8NXQz+gqubWOA+IvJoLehbcC6iD+Y0VQ==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,201 +43,201 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/blogging@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-8.0.0-rc.2.tgz#ff3f6c55804acc3cd2bd922f4e93cdd5ea7b12e2"
integrity sha512-SfnUT7VuPuwVJinSbTEX4sTAE1A2TkG9yPR7oEe1Lmtnohe133fWBjfQzW113eqI2MKvVlB/BpQZ36jKOJ+yLQ==
"@abp/blogging@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/blogging/-/blogging-8.0.0-rc.3.tgz#f8b4b1e70555c67e5796ea8bf226e26b50e5f526"
integrity sha512-55Xo1/092Y4GBGhJbbo57JkiJS6x6bBNLmCwdJ3/Pr8AasHZD+enm/wyWC7mlABU/gyAZKyj151jbSui3qp8jA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/owl.carousel" "~8.0.0-rc.2"
"@abp/prismjs" "~8.0.0-rc.2"
"@abp/tui-editor" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/owl.carousel" "~8.0.0-rc.3"
"@abp/prismjs" "~8.0.0-rc.3"
"@abp/tui-editor" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.2.tgz#85e41ff35b7306040e0dfdaabc04c9dec280ae0f"
integrity sha512-2O1CWIA03O68kloIeIQ4YlaLqjvBo4zZxkF4Ily2OfGwfwgUpZpOCS/0yUQWpxFoLEnbat03KQj75Szcu80keg==
"@abp/bootstrap-datepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.3.tgz#7656fef148c8bdf7993fdae937427564535dea74"
integrity sha512-qW1XQ2zL+/9f9+Q9Db3E5eIOD8Itjtr0KFAO59tY3G3WEwvCOS85pXJ/I17nLRRo/A2Na4kx4Q/jdYr3DkOgDQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.2.tgz#9380b4e29c69fe8ecec4877c9bbe443857e2e902"
integrity sha512-caKNizOBcSBSTKyByWZVFxTjn1gJNaMGDqoqnFnKEFc/Zu+Z5wgJaU1zOwSQCI+fBdAYLt6aIRFdzL/VgJIlWg==
"@abp/bootstrap-daterangepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.3.tgz#b6eb599b198f58c9a0690d2f779548137e10889f"
integrity sha512-TnZdtV0JHweVrrXCJZjxz+Cbk0lYznzELaA6oBbikCPhzIr2XvLqyHuLvERrFVxq80BZGsF7xUgC2K/Tw/RA8w==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.2.tgz#9d36df7aa5b78ada6739633dabedf0c05fdedbde"
integrity sha512-OiSLAr58q8we202EjS1cJAzrVjGJBtjYJ3S3JuZqjV46udOoWI+ubQSKp+ZZHLD6e0geMfCe5G3IW+eQ1oFrkQ==
"@abp/bootstrap@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.3.tgz#8865c2536c353b904e6e96cb70e4280fe9928412"
integrity sha512-h7rDAp3eBQwARAkEZfJU+IBTXEiLwi3I5CYFQ92QdX/mC66R1cX1gYY7pR5Wj5f68VS2pURnNxJnONtS3E/Cyw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
bootstrap "^5.1.3"
"@abp/clipboard@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.0.0-rc.2.tgz#6f9eb3da44e62aee8bb7cd38ef5d9e105aff6f94"
integrity sha512-ytYIh5R8V6LbjdofeaRI14V7fO1A066SVn8Uc5G2aTq6WpeepzpwfJjDA7i/3sNO14FhnCLI2a5/IMP0zzxNCw==
"@abp/clipboard@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/clipboard/-/clipboard-8.0.0-rc.3.tgz#eb7211804967c97cf6678c42b7d756438ffcc22a"
integrity sha512-w9a1gJs8yZbeNkRQqSXxiOUqCLknh+5QM3CoVQudU46Kl4zh39ugPuEMKZhxcGaDsZWSTNuyMgUjzAWFhE/w6g==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
clipboard "^2.0.8"
"@abp/core@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.2.tgz#6167929da30563b3b2f1938be40648bd08db61af"
integrity sha512-uXU546776kSDYizDRB+8Ja0Hfo0LaGqR198oy5Eq8R1jVwQ0gveZUlUFQd1Q56a/IpgbiJQ/T6nizoacBQlfLA==
"@abp/core@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.3.tgz#f399bc55c6ad20c2515a03bb9572c6a4499cfcf0"
integrity sha512-HUa0AfCDX3URnGWsZ/7aZMsXXQFjott05ebK9wF7QDcI7uInyMT5axlrQ/CniyU8GLaFEt3mdtLB7pOZzDnsRw==
dependencies:
"@abp/utils" "~8.0.0-rc.2"
"@abp/utils" "~8.0.0-rc.3"
"@abp/datatables.net-bs5@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.2.tgz#a5d36298ad7ddb59dc66917eeb10f3898d4f6e39"
integrity sha512-VtMnL0WlXVpddbhheFKUwXo+iCBh3pgtETBKTnqyE/FSiv1EoV8i2m0gKtzFA7XB5CjUSXaTQsNfDGsIio7AnQ==
"@abp/datatables.net-bs5@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.3.tgz#902d0770c54a5888f805cc97de0ed25d0c53dde9"
integrity sha512-gxYYBeEh81+R8SAh27uMm3paVffq+bYiQgUxpXNgEcyPGP2X7/hnzZNwViuI1t+IgpSuTf6AAt14db9eV6Masg==
dependencies:
"@abp/datatables.net" "~8.0.0-rc.2"
"@abp/datatables.net" "~8.0.0-rc.3"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.2.tgz#267dcb7a49b708af83de3dfbdeb2f42617d46708"
integrity sha512-GzuncUWYs7fnLdd510FIiFx7DaMUoK2XzsMoVEv/p6eE8uAZpFp7/e+HKx8UxSFDcvVW3GMURDLd1WIxm5ak6Q==
"@abp/datatables.net@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.3.tgz#4ddfa9fe3246e72807c3b19307c7484af749f969"
integrity sha512-vQBenQsDxzryspNv0FEzpyUPBXddIkVhXUJ6tHc+IZ8q/+/2wUE0ZciSJm7qS/GQnGrYZv9wpIGbSRh/RgVvVA==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.2.tgz#2c7f392d4a7971f34ef6fa2835901183b2731976"
integrity sha512-dYXTOiOqb4zg/VKhla/qC3E1I9OmPWPy6jUjW+5LcyQcAMRgTR55A8HVvmZHK8OCwJMmpAGcckydegIKK4JfaQ==
"@abp/font-awesome@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.3.tgz#5f850c5479f48cf1c951de2354050d38fec6beab"
integrity sha512-GYwhoOThD5Bw0Ain5DkVXgHLpca83QGAy1T7I+6SmYyibYu5SdxV9ytD65tARH+dx9VpB3p9NeC5lRYuWdPzCQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.2.tgz#45e2a3d838ed8c2b3f59aa6eb6f62b2e7a5934fa"
integrity sha512-uTf9Owhv9cjxb57S/3CtlimMr4cbCIgnIdHiRSU32atxg+xOvwDq4+Vn1AghiwtVgZWAC6W3MJTBHFbPHPfiLg==
"@abp/jquery-form@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.3.tgz#e414a0599448c37df3197af77a91c9a66d3ef77f"
integrity sha512-w58Zi28Ci/0DIzMzC/ihu+np7G2Hv+9DLrhLZKddEI9WisFuxao5EAhKseq7LWMPzG/QSw8skLZAY12YrEtp6w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.2.tgz#c6a4e3081f1d7eadff34592b8cf0498db40170a0"
integrity sha512-g3yY0SuFX+RkPHZO6UcemXWBi1pq4mt3WHx8f2u2knfdqgLRIaPaTZIpVRN4AUSwBGs/GVzpA5hEEQKhl1cChA==
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.3.tgz#a3ab6b5078449ba94c7206ed96286b902a766b6b"
integrity sha512-Gvmujjhrvqzu51fGSTAssxGVu4XolTLEwW3qR0zwWCc0+kXF/AXB98DD66A+hmGau54sTKRXVmBTpc4J3KpoWg==
dependencies:
"@abp/jquery-validation" "~8.0.0-rc.2"
"@abp/jquery-validation" "~8.0.0-rc.3"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.2.tgz#4282682538c450bffaba2558cbcc8ac9779736b6"
integrity sha512-e6n4SNp558IjZKQW3Td90Kzmns8NPC4dnmCfZzRC9eZfcfBHXOpNoAQIKw3uNWvGF6lQWo4S5O/Y8QhLW/88cw==
"@abp/jquery-validation@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.3.tgz#eee433a5fc076d92d734e7cea4bce00fbaacc963"
integrity sha512-Dq5Ru5WWqDKIDzetUicJzp6DHkGhNNHcjYyHF3n9o9+3T4+6dgRbXy5OYjIv9CADfui55rzckWH57FbCExiUSw==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-validation "^1.19.3"
"@abp/jquery@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.2.tgz#e54905bbd5efa13f9a87854608f103e15757a26c"
integrity sha512-KiqRKJlygq/s8qu+ykRp5csOyDjVmVk5KxW+OJz+73hTS7NZiM1tUDYWieFHFfL8AJdzwxt4QP89y8lyfJeBLQ==
"@abp/jquery@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.3.tgz#e230c5db7a9aff526564c1b4b1820cd983a10726"
integrity sha512-o9xBZt55fT+ZYqmLjQ9dahtIgsRqz4VrXUsLgyKkUzr2p3gtgXCQqKfkIpdeE5aE3p1/T+et5U6FOMUCRZegvg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
jquery "~3.6.0"
"@abp/lodash@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.2.tgz#1bca1821db7524e1c612cfe23319abab5d874453"
integrity sha512-EgoIBQI7IYXOND7VHzp7PXM1w8tZZz60aV+DdjhaDuvXY0pSmg7p0HKsd4UerBfiHBepRuu5JcVk/3ZJ/n2MVQ==
"@abp/lodash@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.3.tgz#5bf8019fa0e69ec1fac6ccacb1625b8564ed8944"
integrity sha512-Mo2r+bNZXdmM7Ri8SBi+M4OsfnLYejbQmcJ7wkDUPb4B3cDJtTB4YuJn8NWBBjaXwi08Myt1MvSFnT04N/t8Eg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
lodash "^4.17.21"
"@abp/luxon@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.2.tgz#336800a04fd72c42f2b9a00da864a708d0c730c6"
integrity sha512-EhiHxcSKNQLzT69GD4qTdhbzwgyqHOwiBOuw2SFYsBml+XbYzDDGbarT5UUNexOjaThHcqHEgyldtGJEDYg3Xw==
"@abp/luxon@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.3.tgz#cc0adcab4f1fa6bea2055be478ec9a86d00f1ba6"
integrity sha512-vKwfpAPL7GUJLvCpsJoJ5eXRH5Ypciez9J6QiK2Mjx1NauxR514wYtBqM/2I7hoJ4Oc9XvrAjcIon3r21dvCqQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.2.tgz#30e7f8fb1edfa921e413f7c166fcac03c9702993"
integrity sha512-2odjr77Uc1kuK9Ffz2SOqojFrc3cfq6LYHEOjgtZquIV69x9FCHWQPDT0QmUPLOXsQ/sclQ3uq0wf9QgOH2eIQ==
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.3.tgz#195c897dced708de627941ce017e047c62191a56"
integrity sha512-svD7YJzHvufjmhoCKgQcjApIdVcGJwWhpsK260lwLiCvkdNDhxFjH+jfChhLMXPYpOnozrgrVx56oJqDWDrU3A==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.2.tgz#47e65d9cd7f58d2902da2df584d23d6500c9aa4e"
integrity sha512-0LM0LVWf57Z2smbcQwB4600o05rIGqIDG1BZMGpFcBFTUhiUROw3M7Yhvsh2Hxrfxl2S424f53AwAEhMMc7wXQ==
"@abp/moment@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.3.tgz#7e2a74cd23c434b45f903b4f826f807a31b5982b"
integrity sha512-E0mob3xj0frslPovdHbsdaFB5oLimORFA86uQJ5KVSEaDOXYKuEqUomMcqg2LRVdzzKd7ai6QkuH3p7qbJonww==
dependencies:
moment "^2.9.0"
"@abp/owl.carousel@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-8.0.0-rc.2.tgz#93597c773bd4f170fd2c894e8cf09840729961b4"
integrity sha512-SOn97MC45c/hncBJt3gFyGGbaVUff1hCHjhOPthKi9Hznqrbz/FMRad//ft3ydw0OD4k8NXcBVGhN0mT55xOww==
"@abp/owl.carousel@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/owl.carousel/-/owl.carousel-8.0.0-rc.3.tgz#db3e9590ae4df9b567584dce45132e02caaf476b"
integrity sha512-tbEu4mm8w4RjmLP+rivasVd4KKWSiVhjM7p6H717sMDzOQ4GEelsda9m69Vc+8k5t/Xfu+ilBEt0vZ0OmJC0ZQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
owl.carousel "^2.3.4"
"@abp/prismjs@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.0.0-rc.2.tgz#db3dc72cfd4341ce879a7a2622f21424318ea90e"
integrity sha512-QYo/dCGkmzeAoj+L02WD5n5GVniqqzEZav6I6hFOJpP8pz9xfAqt6gDFlcXKqlGc4NaswfCxMtt0nfFATOJgwQ==
"@abp/prismjs@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/prismjs/-/prismjs-8.0.0-rc.3.tgz#237bb9c55ad1b202418c5bd1452e73a101706c25"
integrity sha512-adgMYfZhK7aPpxNdQhdOqE7oOvXUDq5qqhIVOVzmrQ4Dy/uCItT/Zq0yqqYLr2d7D17vRzfBM7R8ubgxnsMfbw==
dependencies:
"@abp/clipboard" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.2"
"@abp/clipboard" "~8.0.0-rc.3"
"@abp/core" "~8.0.0-rc.3"
prismjs "^1.26.0"
"@abp/select2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.2.tgz#eab2d8c788490dfb42e164535a2ec0e5341c9463"
integrity sha512-amylLPpnriexrPSIwHvYTGrGPdT+IBfEkeN5SMhEL8pwa6/6ScVlzHVxvrMGQEocNFnl8BTD/n/kUnX19uvS9A==
"@abp/select2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.3.tgz#77dd12185f6d03553230c7516e40603310f28f4f"
integrity sha512-9O+IHIB6n+WfLzh6SVyC01OIU3qWzhoT3DofAc329cyI73NJSPuOvmkQtQVYWnkAI/6+B6qYF3A4umD/EoPouQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
select2 "^4.0.13"
"@abp/sweetalert2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.2.tgz#7c3ca3ffff01a43a3603f49a1986f162157e2a72"
integrity sha512-P/qW+UVUwgAGmku2FWWIMtuwG8clA28+Tc0VYl4vFQNjPK7wwTNrovNXIVKHwyl2GjRGgz7YDS0NUtVdkn7AXQ==
"@abp/sweetalert2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.3.tgz#021afc3457cf72c2b6dd298bb981faa741fc1293"
integrity sha512-b67UC/uZ9gWt2X5MeUnKg98FkhvJ+Azsq4PHcFBdUTZL/5ItJ8F6UsOTpT7Z7cUXFmJn/RTcPrgQDsK63CZltw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.2.tgz#ed98d40b1fa2fa7e65bc3ad84db896e32184a112"
integrity sha512-7Kk9JGkVHo86QyaTg7Y8XB4IYXzP/IGlYDDS+eaStmzFIvXmnNURz7gs4x4tm1Z+IfUz+wJvMYfI4ymwYDLSeQ==
"@abp/timeago@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.3.tgz#b3e63ff94bce8ad59b02d8c4490f580e60630f00"
integrity sha512-Pmm6Jj7VT1PW/Wfh1ozFFIdpFvH8cGKfHU2sYgwHuw4U9YQUd8ZTIDaZRMhuN9QqnGlmFtUZsXzoIMZJDvOq5w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
timeago "^1.6.7"
"@abp/toastr@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.2.tgz#c494bb1070ef6aa80d443d11a61f93c03d82f543"
integrity sha512-1ECxLFKNLxI+oegsB2WACmeiOqksi8q8vBiQ5ISW3Z0/kCiN8mC0/c8mmUr9sQjpwACTiFW95H1vPfVbfrt0Mw==
"@abp/toastr@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.3.tgz#5b0d267951e025ca77a611c2fa9b606e92bd830a"
integrity sha512-hfDzyMSgbjriAALdrcnx/qonN2lquF7HM4QH8nt1E8/vWOkd8bUL/kyAoIL8rfS94zr62UUZTEDezoCfHwif+w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
toastr "^2.1.4"
"@abp/tui-editor@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.0.0-rc.2.tgz#ea30d507877bdeab5762c905c8ec8fae87ea57fb"
integrity sha512-QEgbx/N95Kp0uqOSJA3Yj8vGmBQyMeuOUWPxxkFN8Pu7hu/PEaSndX1izNuhIOSn7zFkuGhe6/aUgC+LcVP3jw==
"@abp/tui-editor@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/tui-editor/-/tui-editor-8.0.0-rc.3.tgz#b5cc1470598b1a478733767d21275334d130bfc1"
integrity sha512-EdPrVdTV9Yv18Ke4UTf6/BPF4eZx+eEECI3zSQMrnDlGv5C1gBG1MS37KdqMeHvvhz95rIv/RO6kpjGkJYEm9g==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/prismjs" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
"@abp/prismjs" "~8.0.0-rc.3"
"@abp/utils@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.2.tgz#c2959e5161e4102d5757a571d16bd3a4316779fb"
integrity sha512-Ml/qXTk8//qnuAXA8addR5NFBoJp/L5mBJrEtOc6OFiPuFSsnozcE+ZZJZMACyXP996tqmmkuFrDLMaNeKe0cQ==
"@abp/utils@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.3.tgz#01491fb943eb3a41d4ddbe854e5330b66807d522"
integrity sha512-cuTwsy+FEh3dEnlDDi0s8d3qpWgP3rwqWgg5LlMF0pY/OobJcCLtuo5Zy9bncKL3wFHXVEk6UviYcNkSOkzvtQ==
dependencies:
just-compare "^2.3.0"

7
modules/blogging/src/Volo.Blogging.Web/Volo.Blogging.Web.abppkg

@ -1,3 +1,8 @@
{
"role": "lib.mvc"
"role": "lib.mvc",
"npmDependencies": {
"@abp/blogging": {
"version": ""
}
}
}

2
modules/client-simulation/demo/Volo.ClientSimulation.Demo/package.json

@ -3,6 +3,6 @@
"name": "client-simulation-web",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3"
}
}

258
modules/client-simulation/demo/Volo.ClientSimulation.Demo/yarn.lock

@ -2,39 +2,39 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.2.tgz#ff10cf70d483fd12304e463ef240c113fceb2bb3"
integrity sha512-N5TbAohg5dRt24DVbFz2hQjdfhZHbwTBJtUDMRofiU6LHk16Td8esU7CxvS+nj8WhVYN8O9PdZZTI/Iva0VPoQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.2.tgz#db570c960ad1b250292a0211317634fbeb762a52"
integrity sha512-yGxIAnpGIWkTkjFBgedBBXE1nRnk7tDYLeAQpGBP33iwUpkwa1n66+cjwt4x2ZzTGo96NfO3MIlLmnk9psZtpA==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.2"
"@abp/bootstrap" "~8.0.0-rc.2"
"@abp/bootstrap-datepicker" "~8.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.2"
"@abp/datatables.net-bs5" "~8.0.0-rc.2"
"@abp/font-awesome" "~8.0.0-rc.2"
"@abp/jquery-form" "~8.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.2"
"@abp/lodash" "~8.0.0-rc.2"
"@abp/luxon" "~8.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.2"
"@abp/moment" "~8.0.0-rc.2"
"@abp/select2" "~8.0.0-rc.2"
"@abp/sweetalert2" "~8.0.0-rc.2"
"@abp/timeago" "~8.0.0-rc.2"
"@abp/toastr" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.2.tgz#57099c3064f462713940a1d40fbddfe7b14510eb"
integrity sha512-Bmkqw6VDe+B5QpcRghj1pWej+BhkWJoCfh+lEwbJqzv3akEuOhYWRSBDIrkgCyROK77HYzBqWg9+AyRhmHXEAw==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.3.tgz#637ea220c9f988c1d0e1b152928f4409696439f2"
integrity sha512-xFJkcC2Oa8vLqMW0gU/3nXHsdFZOQq8+o9gUeLqDAhHZomnvEWsoivcd+LZs0xSDgQOee7N9h2buv9ERBoYGiA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.3.tgz#88904633feb5ce7dface4d27e9a31f4e5ace6b30"
integrity sha512-gMYI+xz/0JDgW2U7T3Lesx1o1U+Y+7zG/jVZO5FuMtlrsYhvT6V5BsKa9q/N7kSR0tfK8vsjblMBobqvbmG3SQ==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.3"
"@abp/bootstrap" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker" "~8.0.0-rc.3"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.3"
"@abp/datatables.net-bs5" "~8.0.0-rc.3"
"@abp/font-awesome" "~8.0.0-rc.3"
"@abp/jquery-form" "~8.0.0-rc.3"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.3"
"@abp/lodash" "~8.0.0-rc.3"
"@abp/luxon" "~8.0.0-rc.3"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.3"
"@abp/moment" "~8.0.0-rc.3"
"@abp/select2" "~8.0.0-rc.3"
"@abp/sweetalert2" "~8.0.0-rc.3"
"@abp/timeago" "~8.0.0-rc.3"
"@abp/toastr" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.3.tgz#09402ed4e7504c09b49a84d6ee590a5c87017ab8"
integrity sha512-82GfU8DtReq5RTrb2Fl0UHm+vEO0PvC/6DyFHm57nyWiL2dKByUqLd8NXQz+gqubWOA+IvJoLehbcC6iD+Y0VQ==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,158 +43,158 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.2.tgz#85e41ff35b7306040e0dfdaabc04c9dec280ae0f"
integrity sha512-2O1CWIA03O68kloIeIQ4YlaLqjvBo4zZxkF4Ily2OfGwfwgUpZpOCS/0yUQWpxFoLEnbat03KQj75Szcu80keg==
"@abp/bootstrap-datepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.3.tgz#7656fef148c8bdf7993fdae937427564535dea74"
integrity sha512-qW1XQ2zL+/9f9+Q9Db3E5eIOD8Itjtr0KFAO59tY3G3WEwvCOS85pXJ/I17nLRRo/A2Na4kx4Q/jdYr3DkOgDQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.2.tgz#9380b4e29c69fe8ecec4877c9bbe443857e2e902"
integrity sha512-caKNizOBcSBSTKyByWZVFxTjn1gJNaMGDqoqnFnKEFc/Zu+Z5wgJaU1zOwSQCI+fBdAYLt6aIRFdzL/VgJIlWg==
"@abp/bootstrap-daterangepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.3.tgz#b6eb599b198f58c9a0690d2f779548137e10889f"
integrity sha512-TnZdtV0JHweVrrXCJZjxz+Cbk0lYznzELaA6oBbikCPhzIr2XvLqyHuLvERrFVxq80BZGsF7xUgC2K/Tw/RA8w==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.2.tgz#9d36df7aa5b78ada6739633dabedf0c05fdedbde"
integrity sha512-OiSLAr58q8we202EjS1cJAzrVjGJBtjYJ3S3JuZqjV46udOoWI+ubQSKp+ZZHLD6e0geMfCe5G3IW+eQ1oFrkQ==
"@abp/bootstrap@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.3.tgz#8865c2536c353b904e6e96cb70e4280fe9928412"
integrity sha512-h7rDAp3eBQwARAkEZfJU+IBTXEiLwi3I5CYFQ92QdX/mC66R1cX1gYY7pR5Wj5f68VS2pURnNxJnONtS3E/Cyw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
bootstrap "^5.1.3"
"@abp/core@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.2.tgz#6167929da30563b3b2f1938be40648bd08db61af"
integrity sha512-uXU546776kSDYizDRB+8Ja0Hfo0LaGqR198oy5Eq8R1jVwQ0gveZUlUFQd1Q56a/IpgbiJQ/T6nizoacBQlfLA==
"@abp/core@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.3.tgz#f399bc55c6ad20c2515a03bb9572c6a4499cfcf0"
integrity sha512-HUa0AfCDX3URnGWsZ/7aZMsXXQFjott05ebK9wF7QDcI7uInyMT5axlrQ/CniyU8GLaFEt3mdtLB7pOZzDnsRw==
dependencies:
"@abp/utils" "~8.0.0-rc.2"
"@abp/utils" "~8.0.0-rc.3"
"@abp/datatables.net-bs5@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.2.tgz#a5d36298ad7ddb59dc66917eeb10f3898d4f6e39"
integrity sha512-VtMnL0WlXVpddbhheFKUwXo+iCBh3pgtETBKTnqyE/FSiv1EoV8i2m0gKtzFA7XB5CjUSXaTQsNfDGsIio7AnQ==
"@abp/datatables.net-bs5@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.3.tgz#902d0770c54a5888f805cc97de0ed25d0c53dde9"
integrity sha512-gxYYBeEh81+R8SAh27uMm3paVffq+bYiQgUxpXNgEcyPGP2X7/hnzZNwViuI1t+IgpSuTf6AAt14db9eV6Masg==
dependencies:
"@abp/datatables.net" "~8.0.0-rc.2"
"@abp/datatables.net" "~8.0.0-rc.3"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.2.tgz#267dcb7a49b708af83de3dfbdeb2f42617d46708"
integrity sha512-GzuncUWYs7fnLdd510FIiFx7DaMUoK2XzsMoVEv/p6eE8uAZpFp7/e+HKx8UxSFDcvVW3GMURDLd1WIxm5ak6Q==
"@abp/datatables.net@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.3.tgz#4ddfa9fe3246e72807c3b19307c7484af749f969"
integrity sha512-vQBenQsDxzryspNv0FEzpyUPBXddIkVhXUJ6tHc+IZ8q/+/2wUE0ZciSJm7qS/GQnGrYZv9wpIGbSRh/RgVvVA==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.2.tgz#2c7f392d4a7971f34ef6fa2835901183b2731976"
integrity sha512-dYXTOiOqb4zg/VKhla/qC3E1I9OmPWPy6jUjW+5LcyQcAMRgTR55A8HVvmZHK8OCwJMmpAGcckydegIKK4JfaQ==
"@abp/font-awesome@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.3.tgz#5f850c5479f48cf1c951de2354050d38fec6beab"
integrity sha512-GYwhoOThD5Bw0Ain5DkVXgHLpca83QGAy1T7I+6SmYyibYu5SdxV9ytD65tARH+dx9VpB3p9NeC5lRYuWdPzCQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.2.tgz#45e2a3d838ed8c2b3f59aa6eb6f62b2e7a5934fa"
integrity sha512-uTf9Owhv9cjxb57S/3CtlimMr4cbCIgnIdHiRSU32atxg+xOvwDq4+Vn1AghiwtVgZWAC6W3MJTBHFbPHPfiLg==
"@abp/jquery-form@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.3.tgz#e414a0599448c37df3197af77a91c9a66d3ef77f"
integrity sha512-w58Zi28Ci/0DIzMzC/ihu+np7G2Hv+9DLrhLZKddEI9WisFuxao5EAhKseq7LWMPzG/QSw8skLZAY12YrEtp6w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.2.tgz#c6a4e3081f1d7eadff34592b8cf0498db40170a0"
integrity sha512-g3yY0SuFX+RkPHZO6UcemXWBi1pq4mt3WHx8f2u2knfdqgLRIaPaTZIpVRN4AUSwBGs/GVzpA5hEEQKhl1cChA==
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.3.tgz#a3ab6b5078449ba94c7206ed96286b902a766b6b"
integrity sha512-Gvmujjhrvqzu51fGSTAssxGVu4XolTLEwW3qR0zwWCc0+kXF/AXB98DD66A+hmGau54sTKRXVmBTpc4J3KpoWg==
dependencies:
"@abp/jquery-validation" "~8.0.0-rc.2"
"@abp/jquery-validation" "~8.0.0-rc.3"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.2.tgz#4282682538c450bffaba2558cbcc8ac9779736b6"
integrity sha512-e6n4SNp558IjZKQW3Td90Kzmns8NPC4dnmCfZzRC9eZfcfBHXOpNoAQIKw3uNWvGF6lQWo4S5O/Y8QhLW/88cw==
"@abp/jquery-validation@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.3.tgz#eee433a5fc076d92d734e7cea4bce00fbaacc963"
integrity sha512-Dq5Ru5WWqDKIDzetUicJzp6DHkGhNNHcjYyHF3n9o9+3T4+6dgRbXy5OYjIv9CADfui55rzckWH57FbCExiUSw==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-validation "^1.19.3"
"@abp/jquery@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.2.tgz#e54905bbd5efa13f9a87854608f103e15757a26c"
integrity sha512-KiqRKJlygq/s8qu+ykRp5csOyDjVmVk5KxW+OJz+73hTS7NZiM1tUDYWieFHFfL8AJdzwxt4QP89y8lyfJeBLQ==
"@abp/jquery@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.3.tgz#e230c5db7a9aff526564c1b4b1820cd983a10726"
integrity sha512-o9xBZt55fT+ZYqmLjQ9dahtIgsRqz4VrXUsLgyKkUzr2p3gtgXCQqKfkIpdeE5aE3p1/T+et5U6FOMUCRZegvg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
jquery "~3.6.0"
"@abp/lodash@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.2.tgz#1bca1821db7524e1c612cfe23319abab5d874453"
integrity sha512-EgoIBQI7IYXOND7VHzp7PXM1w8tZZz60aV+DdjhaDuvXY0pSmg7p0HKsd4UerBfiHBepRuu5JcVk/3ZJ/n2MVQ==
"@abp/lodash@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.3.tgz#5bf8019fa0e69ec1fac6ccacb1625b8564ed8944"
integrity sha512-Mo2r+bNZXdmM7Ri8SBi+M4OsfnLYejbQmcJ7wkDUPb4B3cDJtTB4YuJn8NWBBjaXwi08Myt1MvSFnT04N/t8Eg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
lodash "^4.17.21"
"@abp/luxon@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.2.tgz#336800a04fd72c42f2b9a00da864a708d0c730c6"
integrity sha512-EhiHxcSKNQLzT69GD4qTdhbzwgyqHOwiBOuw2SFYsBml+XbYzDDGbarT5UUNexOjaThHcqHEgyldtGJEDYg3Xw==
"@abp/luxon@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.3.tgz#cc0adcab4f1fa6bea2055be478ec9a86d00f1ba6"
integrity sha512-vKwfpAPL7GUJLvCpsJoJ5eXRH5Ypciez9J6QiK2Mjx1NauxR514wYtBqM/2I7hoJ4Oc9XvrAjcIon3r21dvCqQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.2.tgz#30e7f8fb1edfa921e413f7c166fcac03c9702993"
integrity sha512-2odjr77Uc1kuK9Ffz2SOqojFrc3cfq6LYHEOjgtZquIV69x9FCHWQPDT0QmUPLOXsQ/sclQ3uq0wf9QgOH2eIQ==
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.3.tgz#195c897dced708de627941ce017e047c62191a56"
integrity sha512-svD7YJzHvufjmhoCKgQcjApIdVcGJwWhpsK260lwLiCvkdNDhxFjH+jfChhLMXPYpOnozrgrVx56oJqDWDrU3A==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.2.tgz#47e65d9cd7f58d2902da2df584d23d6500c9aa4e"
integrity sha512-0LM0LVWf57Z2smbcQwB4600o05rIGqIDG1BZMGpFcBFTUhiUROw3M7Yhvsh2Hxrfxl2S424f53AwAEhMMc7wXQ==
"@abp/moment@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.3.tgz#7e2a74cd23c434b45f903b4f826f807a31b5982b"
integrity sha512-E0mob3xj0frslPovdHbsdaFB5oLimORFA86uQJ5KVSEaDOXYKuEqUomMcqg2LRVdzzKd7ai6QkuH3p7qbJonww==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.2.tgz#eab2d8c788490dfb42e164535a2ec0e5341c9463"
integrity sha512-amylLPpnriexrPSIwHvYTGrGPdT+IBfEkeN5SMhEL8pwa6/6ScVlzHVxvrMGQEocNFnl8BTD/n/kUnX19uvS9A==
"@abp/select2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.3.tgz#77dd12185f6d03553230c7516e40603310f28f4f"
integrity sha512-9O+IHIB6n+WfLzh6SVyC01OIU3qWzhoT3DofAc329cyI73NJSPuOvmkQtQVYWnkAI/6+B6qYF3A4umD/EoPouQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
select2 "^4.0.13"
"@abp/sweetalert2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.2.tgz#7c3ca3ffff01a43a3603f49a1986f162157e2a72"
integrity sha512-P/qW+UVUwgAGmku2FWWIMtuwG8clA28+Tc0VYl4vFQNjPK7wwTNrovNXIVKHwyl2GjRGgz7YDS0NUtVdkn7AXQ==
"@abp/sweetalert2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.3.tgz#021afc3457cf72c2b6dd298bb981faa741fc1293"
integrity sha512-b67UC/uZ9gWt2X5MeUnKg98FkhvJ+Azsq4PHcFBdUTZL/5ItJ8F6UsOTpT7Z7cUXFmJn/RTcPrgQDsK63CZltw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.2.tgz#ed98d40b1fa2fa7e65bc3ad84db896e32184a112"
integrity sha512-7Kk9JGkVHo86QyaTg7Y8XB4IYXzP/IGlYDDS+eaStmzFIvXmnNURz7gs4x4tm1Z+IfUz+wJvMYfI4ymwYDLSeQ==
"@abp/timeago@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.3.tgz#b3e63ff94bce8ad59b02d8c4490f580e60630f00"
integrity sha512-Pmm6Jj7VT1PW/Wfh1ozFFIdpFvH8cGKfHU2sYgwHuw4U9YQUd8ZTIDaZRMhuN9QqnGlmFtUZsXzoIMZJDvOq5w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
timeago "^1.6.7"
"@abp/toastr@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.2.tgz#c494bb1070ef6aa80d443d11a61f93c03d82f543"
integrity sha512-1ECxLFKNLxI+oegsB2WACmeiOqksi8q8vBiQ5ISW3Z0/kCiN8mC0/c8mmUr9sQjpwACTiFW95H1vPfVbfrt0Mw==
"@abp/toastr@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.3.tgz#5b0d267951e025ca77a611c2fa9b606e92bd830a"
integrity sha512-hfDzyMSgbjriAALdrcnx/qonN2lquF7HM4QH8nt1E8/vWOkd8bUL/kyAoIL8rfS94zr62UUZTEDezoCfHwif+w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
toastr "^2.1.4"
"@abp/utils@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.2.tgz#c2959e5161e4102d5757a571d16bd3a4316779fb"
integrity sha512-Ml/qXTk8//qnuAXA8addR5NFBoJp/L5mBJrEtOc6OFiPuFSsnozcE+ZZJZMACyXP996tqmmkuFrDLMaNeKe0cQ==
"@abp/utils@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.3.tgz#01491fb943eb3a41d4ddbe854e5330b66807d522"
integrity sha512-cuTwsy+FEh3dEnlDDi0s8d3qpWgP3rwqWgg5LlMF0pY/OobJcCLtuo5Zy9bncKL3wFHXVEk6UviYcNkSOkzvtQ==
dependencies:
just-compare "^2.3.0"

10
modules/cms-kit/angular/package.json

@ -15,11 +15,11 @@
},
"private": true,
"dependencies": {
"@abp/ng.account": "~8.0.0-rc.2",
"@abp/ng.identity": "~8.0.0-rc.2",
"@abp/ng.setting-management": "~8.0.0-rc.2",
"@abp/ng.tenant-management": "~8.0.0-rc.2",
"@abp/ng.theme.basic": "~8.0.0-rc.2",
"@abp/ng.account": "~8.0.0-rc.3",
"@abp/ng.identity": "~8.0.0-rc.3",
"@abp/ng.setting-management": "~8.0.0-rc.3",
"@abp/ng.tenant-management": "~8.0.0-rc.3",
"@abp/ng.theme.basic": "~8.0.0-rc.3",
"@angular/animations": "~10.0.0",
"@angular/common": "~10.0.0",
"@angular/compiler": "~10.0.0",

4
modules/cms-kit/angular/projects/cms-kit/package.json

@ -4,8 +4,8 @@
"peerDependencies": {
"@angular/common": "^9.1.11",
"@angular/core": "^9.1.11",
"@abp/ng.core": ">=8.0.0-rc.2",
"@abp/ng.theme.shared": ">=8.0.0-rc.2"
"@abp/ng.core": ">=8.0.0-rc.3",
"@abp/ng.theme.shared": ">=8.0.0-rc.3"
},
"dependencies": {
"tslib": "^2.0.0"

2
modules/cms-kit/host/Volo.CmsKit.IdentityServer/package.json

@ -3,6 +3,6 @@
"name": "my-app-identityserver",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3"
}
}

258
modules/cms-kit/host/Volo.CmsKit.IdentityServer/yarn.lock

@ -2,39 +2,39 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.2.tgz#ff10cf70d483fd12304e463ef240c113fceb2bb3"
integrity sha512-N5TbAohg5dRt24DVbFz2hQjdfhZHbwTBJtUDMRofiU6LHk16Td8esU7CxvS+nj8WhVYN8O9PdZZTI/Iva0VPoQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.2.tgz#db570c960ad1b250292a0211317634fbeb762a52"
integrity sha512-yGxIAnpGIWkTkjFBgedBBXE1nRnk7tDYLeAQpGBP33iwUpkwa1n66+cjwt4x2ZzTGo96NfO3MIlLmnk9psZtpA==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.2"
"@abp/bootstrap" "~8.0.0-rc.2"
"@abp/bootstrap-datepicker" "~8.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.2"
"@abp/datatables.net-bs5" "~8.0.0-rc.2"
"@abp/font-awesome" "~8.0.0-rc.2"
"@abp/jquery-form" "~8.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.2"
"@abp/lodash" "~8.0.0-rc.2"
"@abp/luxon" "~8.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.2"
"@abp/moment" "~8.0.0-rc.2"
"@abp/select2" "~8.0.0-rc.2"
"@abp/sweetalert2" "~8.0.0-rc.2"
"@abp/timeago" "~8.0.0-rc.2"
"@abp/toastr" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.2.tgz#57099c3064f462713940a1d40fbddfe7b14510eb"
integrity sha512-Bmkqw6VDe+B5QpcRghj1pWej+BhkWJoCfh+lEwbJqzv3akEuOhYWRSBDIrkgCyROK77HYzBqWg9+AyRhmHXEAw==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.3.tgz#637ea220c9f988c1d0e1b152928f4409696439f2"
integrity sha512-xFJkcC2Oa8vLqMW0gU/3nXHsdFZOQq8+o9gUeLqDAhHZomnvEWsoivcd+LZs0xSDgQOee7N9h2buv9ERBoYGiA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.3.tgz#88904633feb5ce7dface4d27e9a31f4e5ace6b30"
integrity sha512-gMYI+xz/0JDgW2U7T3Lesx1o1U+Y+7zG/jVZO5FuMtlrsYhvT6V5BsKa9q/N7kSR0tfK8vsjblMBobqvbmG3SQ==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.3"
"@abp/bootstrap" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker" "~8.0.0-rc.3"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.3"
"@abp/datatables.net-bs5" "~8.0.0-rc.3"
"@abp/font-awesome" "~8.0.0-rc.3"
"@abp/jquery-form" "~8.0.0-rc.3"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.3"
"@abp/lodash" "~8.0.0-rc.3"
"@abp/luxon" "~8.0.0-rc.3"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.3"
"@abp/moment" "~8.0.0-rc.3"
"@abp/select2" "~8.0.0-rc.3"
"@abp/sweetalert2" "~8.0.0-rc.3"
"@abp/timeago" "~8.0.0-rc.3"
"@abp/toastr" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.3.tgz#09402ed4e7504c09b49a84d6ee590a5c87017ab8"
integrity sha512-82GfU8DtReq5RTrb2Fl0UHm+vEO0PvC/6DyFHm57nyWiL2dKByUqLd8NXQz+gqubWOA+IvJoLehbcC6iD+Y0VQ==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,158 +43,158 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.2.tgz#85e41ff35b7306040e0dfdaabc04c9dec280ae0f"
integrity sha512-2O1CWIA03O68kloIeIQ4YlaLqjvBo4zZxkF4Ily2OfGwfwgUpZpOCS/0yUQWpxFoLEnbat03KQj75Szcu80keg==
"@abp/bootstrap-datepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.3.tgz#7656fef148c8bdf7993fdae937427564535dea74"
integrity sha512-qW1XQ2zL+/9f9+Q9Db3E5eIOD8Itjtr0KFAO59tY3G3WEwvCOS85pXJ/I17nLRRo/A2Na4kx4Q/jdYr3DkOgDQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.2.tgz#9380b4e29c69fe8ecec4877c9bbe443857e2e902"
integrity sha512-caKNizOBcSBSTKyByWZVFxTjn1gJNaMGDqoqnFnKEFc/Zu+Z5wgJaU1zOwSQCI+fBdAYLt6aIRFdzL/VgJIlWg==
"@abp/bootstrap-daterangepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.3.tgz#b6eb599b198f58c9a0690d2f779548137e10889f"
integrity sha512-TnZdtV0JHweVrrXCJZjxz+Cbk0lYznzELaA6oBbikCPhzIr2XvLqyHuLvERrFVxq80BZGsF7xUgC2K/Tw/RA8w==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.2.tgz#9d36df7aa5b78ada6739633dabedf0c05fdedbde"
integrity sha512-OiSLAr58q8we202EjS1cJAzrVjGJBtjYJ3S3JuZqjV46udOoWI+ubQSKp+ZZHLD6e0geMfCe5G3IW+eQ1oFrkQ==
"@abp/bootstrap@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.3.tgz#8865c2536c353b904e6e96cb70e4280fe9928412"
integrity sha512-h7rDAp3eBQwARAkEZfJU+IBTXEiLwi3I5CYFQ92QdX/mC66R1cX1gYY7pR5Wj5f68VS2pURnNxJnONtS3E/Cyw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
bootstrap "^5.1.3"
"@abp/core@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.2.tgz#6167929da30563b3b2f1938be40648bd08db61af"
integrity sha512-uXU546776kSDYizDRB+8Ja0Hfo0LaGqR198oy5Eq8R1jVwQ0gveZUlUFQd1Q56a/IpgbiJQ/T6nizoacBQlfLA==
"@abp/core@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.3.tgz#f399bc55c6ad20c2515a03bb9572c6a4499cfcf0"
integrity sha512-HUa0AfCDX3URnGWsZ/7aZMsXXQFjott05ebK9wF7QDcI7uInyMT5axlrQ/CniyU8GLaFEt3mdtLB7pOZzDnsRw==
dependencies:
"@abp/utils" "~8.0.0-rc.2"
"@abp/utils" "~8.0.0-rc.3"
"@abp/datatables.net-bs5@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.2.tgz#a5d36298ad7ddb59dc66917eeb10f3898d4f6e39"
integrity sha512-VtMnL0WlXVpddbhheFKUwXo+iCBh3pgtETBKTnqyE/FSiv1EoV8i2m0gKtzFA7XB5CjUSXaTQsNfDGsIio7AnQ==
"@abp/datatables.net-bs5@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.3.tgz#902d0770c54a5888f805cc97de0ed25d0c53dde9"
integrity sha512-gxYYBeEh81+R8SAh27uMm3paVffq+bYiQgUxpXNgEcyPGP2X7/hnzZNwViuI1t+IgpSuTf6AAt14db9eV6Masg==
dependencies:
"@abp/datatables.net" "~8.0.0-rc.2"
"@abp/datatables.net" "~8.0.0-rc.3"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.2.tgz#267dcb7a49b708af83de3dfbdeb2f42617d46708"
integrity sha512-GzuncUWYs7fnLdd510FIiFx7DaMUoK2XzsMoVEv/p6eE8uAZpFp7/e+HKx8UxSFDcvVW3GMURDLd1WIxm5ak6Q==
"@abp/datatables.net@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.3.tgz#4ddfa9fe3246e72807c3b19307c7484af749f969"
integrity sha512-vQBenQsDxzryspNv0FEzpyUPBXddIkVhXUJ6tHc+IZ8q/+/2wUE0ZciSJm7qS/GQnGrYZv9wpIGbSRh/RgVvVA==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.2.tgz#2c7f392d4a7971f34ef6fa2835901183b2731976"
integrity sha512-dYXTOiOqb4zg/VKhla/qC3E1I9OmPWPy6jUjW+5LcyQcAMRgTR55A8HVvmZHK8OCwJMmpAGcckydegIKK4JfaQ==
"@abp/font-awesome@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.3.tgz#5f850c5479f48cf1c951de2354050d38fec6beab"
integrity sha512-GYwhoOThD5Bw0Ain5DkVXgHLpca83QGAy1T7I+6SmYyibYu5SdxV9ytD65tARH+dx9VpB3p9NeC5lRYuWdPzCQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.2.tgz#45e2a3d838ed8c2b3f59aa6eb6f62b2e7a5934fa"
integrity sha512-uTf9Owhv9cjxb57S/3CtlimMr4cbCIgnIdHiRSU32atxg+xOvwDq4+Vn1AghiwtVgZWAC6W3MJTBHFbPHPfiLg==
"@abp/jquery-form@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.3.tgz#e414a0599448c37df3197af77a91c9a66d3ef77f"
integrity sha512-w58Zi28Ci/0DIzMzC/ihu+np7G2Hv+9DLrhLZKddEI9WisFuxao5EAhKseq7LWMPzG/QSw8skLZAY12YrEtp6w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.2.tgz#c6a4e3081f1d7eadff34592b8cf0498db40170a0"
integrity sha512-g3yY0SuFX+RkPHZO6UcemXWBi1pq4mt3WHx8f2u2knfdqgLRIaPaTZIpVRN4AUSwBGs/GVzpA5hEEQKhl1cChA==
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.3.tgz#a3ab6b5078449ba94c7206ed96286b902a766b6b"
integrity sha512-Gvmujjhrvqzu51fGSTAssxGVu4XolTLEwW3qR0zwWCc0+kXF/AXB98DD66A+hmGau54sTKRXVmBTpc4J3KpoWg==
dependencies:
"@abp/jquery-validation" "~8.0.0-rc.2"
"@abp/jquery-validation" "~8.0.0-rc.3"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.2.tgz#4282682538c450bffaba2558cbcc8ac9779736b6"
integrity sha512-e6n4SNp558IjZKQW3Td90Kzmns8NPC4dnmCfZzRC9eZfcfBHXOpNoAQIKw3uNWvGF6lQWo4S5O/Y8QhLW/88cw==
"@abp/jquery-validation@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.3.tgz#eee433a5fc076d92d734e7cea4bce00fbaacc963"
integrity sha512-Dq5Ru5WWqDKIDzetUicJzp6DHkGhNNHcjYyHF3n9o9+3T4+6dgRbXy5OYjIv9CADfui55rzckWH57FbCExiUSw==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-validation "^1.19.3"
"@abp/jquery@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.2.tgz#e54905bbd5efa13f9a87854608f103e15757a26c"
integrity sha512-KiqRKJlygq/s8qu+ykRp5csOyDjVmVk5KxW+OJz+73hTS7NZiM1tUDYWieFHFfL8AJdzwxt4QP89y8lyfJeBLQ==
"@abp/jquery@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.3.tgz#e230c5db7a9aff526564c1b4b1820cd983a10726"
integrity sha512-o9xBZt55fT+ZYqmLjQ9dahtIgsRqz4VrXUsLgyKkUzr2p3gtgXCQqKfkIpdeE5aE3p1/T+et5U6FOMUCRZegvg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
jquery "~3.6.0"
"@abp/lodash@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.2.tgz#1bca1821db7524e1c612cfe23319abab5d874453"
integrity sha512-EgoIBQI7IYXOND7VHzp7PXM1w8tZZz60aV+DdjhaDuvXY0pSmg7p0HKsd4UerBfiHBepRuu5JcVk/3ZJ/n2MVQ==
"@abp/lodash@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.3.tgz#5bf8019fa0e69ec1fac6ccacb1625b8564ed8944"
integrity sha512-Mo2r+bNZXdmM7Ri8SBi+M4OsfnLYejbQmcJ7wkDUPb4B3cDJtTB4YuJn8NWBBjaXwi08Myt1MvSFnT04N/t8Eg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
lodash "^4.17.21"
"@abp/luxon@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.2.tgz#336800a04fd72c42f2b9a00da864a708d0c730c6"
integrity sha512-EhiHxcSKNQLzT69GD4qTdhbzwgyqHOwiBOuw2SFYsBml+XbYzDDGbarT5UUNexOjaThHcqHEgyldtGJEDYg3Xw==
"@abp/luxon@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.3.tgz#cc0adcab4f1fa6bea2055be478ec9a86d00f1ba6"
integrity sha512-vKwfpAPL7GUJLvCpsJoJ5eXRH5Ypciez9J6QiK2Mjx1NauxR514wYtBqM/2I7hoJ4Oc9XvrAjcIon3r21dvCqQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.2.tgz#30e7f8fb1edfa921e413f7c166fcac03c9702993"
integrity sha512-2odjr77Uc1kuK9Ffz2SOqojFrc3cfq6LYHEOjgtZquIV69x9FCHWQPDT0QmUPLOXsQ/sclQ3uq0wf9QgOH2eIQ==
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.3.tgz#195c897dced708de627941ce017e047c62191a56"
integrity sha512-svD7YJzHvufjmhoCKgQcjApIdVcGJwWhpsK260lwLiCvkdNDhxFjH+jfChhLMXPYpOnozrgrVx56oJqDWDrU3A==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.2.tgz#47e65d9cd7f58d2902da2df584d23d6500c9aa4e"
integrity sha512-0LM0LVWf57Z2smbcQwB4600o05rIGqIDG1BZMGpFcBFTUhiUROw3M7Yhvsh2Hxrfxl2S424f53AwAEhMMc7wXQ==
"@abp/moment@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.3.tgz#7e2a74cd23c434b45f903b4f826f807a31b5982b"
integrity sha512-E0mob3xj0frslPovdHbsdaFB5oLimORFA86uQJ5KVSEaDOXYKuEqUomMcqg2LRVdzzKd7ai6QkuH3p7qbJonww==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.2.tgz#eab2d8c788490dfb42e164535a2ec0e5341c9463"
integrity sha512-amylLPpnriexrPSIwHvYTGrGPdT+IBfEkeN5SMhEL8pwa6/6ScVlzHVxvrMGQEocNFnl8BTD/n/kUnX19uvS9A==
"@abp/select2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.3.tgz#77dd12185f6d03553230c7516e40603310f28f4f"
integrity sha512-9O+IHIB6n+WfLzh6SVyC01OIU3qWzhoT3DofAc329cyI73NJSPuOvmkQtQVYWnkAI/6+B6qYF3A4umD/EoPouQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
select2 "^4.0.13"
"@abp/sweetalert2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.2.tgz#7c3ca3ffff01a43a3603f49a1986f162157e2a72"
integrity sha512-P/qW+UVUwgAGmku2FWWIMtuwG8clA28+Tc0VYl4vFQNjPK7wwTNrovNXIVKHwyl2GjRGgz7YDS0NUtVdkn7AXQ==
"@abp/sweetalert2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.3.tgz#021afc3457cf72c2b6dd298bb981faa741fc1293"
integrity sha512-b67UC/uZ9gWt2X5MeUnKg98FkhvJ+Azsq4PHcFBdUTZL/5ItJ8F6UsOTpT7Z7cUXFmJn/RTcPrgQDsK63CZltw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.2.tgz#ed98d40b1fa2fa7e65bc3ad84db896e32184a112"
integrity sha512-7Kk9JGkVHo86QyaTg7Y8XB4IYXzP/IGlYDDS+eaStmzFIvXmnNURz7gs4x4tm1Z+IfUz+wJvMYfI4ymwYDLSeQ==
"@abp/timeago@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.3.tgz#b3e63ff94bce8ad59b02d8c4490f580e60630f00"
integrity sha512-Pmm6Jj7VT1PW/Wfh1ozFFIdpFvH8cGKfHU2sYgwHuw4U9YQUd8ZTIDaZRMhuN9QqnGlmFtUZsXzoIMZJDvOq5w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
timeago "^1.6.7"
"@abp/toastr@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.2.tgz#c494bb1070ef6aa80d443d11a61f93c03d82f543"
integrity sha512-1ECxLFKNLxI+oegsB2WACmeiOqksi8q8vBiQ5ISW3Z0/kCiN8mC0/c8mmUr9sQjpwACTiFW95H1vPfVbfrt0Mw==
"@abp/toastr@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.3.tgz#5b0d267951e025ca77a611c2fa9b606e92bd830a"
integrity sha512-hfDzyMSgbjriAALdrcnx/qonN2lquF7HM4QH8nt1E8/vWOkd8bUL/kyAoIL8rfS94zr62UUZTEDezoCfHwif+w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
toastr "^2.1.4"
"@abp/utils@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.2.tgz#c2959e5161e4102d5757a571d16bd3a4316779fb"
integrity sha512-Ml/qXTk8//qnuAXA8addR5NFBoJp/L5mBJrEtOc6OFiPuFSsnozcE+ZZJZMACyXP996tqmmkuFrDLMaNeKe0cQ==
"@abp/utils@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.3.tgz#01491fb943eb3a41d4ddbe854e5330b66807d522"
integrity sha512-cuTwsy+FEh3dEnlDDi0s8d3qpWgP3rwqWgg5LlMF0pY/OobJcCLtuo5Zy9bncKL3wFHXVEk6UviYcNkSOkzvtQ==
dependencies:
just-compare "^2.3.0"

2
modules/cms-kit/host/Volo.CmsKit.Web.Host/package.json

@ -3,6 +3,6 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3"
}
}

258
modules/cms-kit/host/Volo.CmsKit.Web.Host/yarn.lock

@ -2,39 +2,39 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.2.tgz#ff10cf70d483fd12304e463ef240c113fceb2bb3"
integrity sha512-N5TbAohg5dRt24DVbFz2hQjdfhZHbwTBJtUDMRofiU6LHk16Td8esU7CxvS+nj8WhVYN8O9PdZZTI/Iva0VPoQ==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.2.tgz#db570c960ad1b250292a0211317634fbeb762a52"
integrity sha512-yGxIAnpGIWkTkjFBgedBBXE1nRnk7tDYLeAQpGBP33iwUpkwa1n66+cjwt4x2ZzTGo96NfO3MIlLmnk9psZtpA==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.2"
"@abp/bootstrap" "~8.0.0-rc.2"
"@abp/bootstrap-datepicker" "~8.0.0-rc.2"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.2"
"@abp/datatables.net-bs5" "~8.0.0-rc.2"
"@abp/font-awesome" "~8.0.0-rc.2"
"@abp/jquery-form" "~8.0.0-rc.2"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.2"
"@abp/lodash" "~8.0.0-rc.2"
"@abp/luxon" "~8.0.0-rc.2"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.2"
"@abp/moment" "~8.0.0-rc.2"
"@abp/select2" "~8.0.0-rc.2"
"@abp/sweetalert2" "~8.0.0-rc.2"
"@abp/timeago" "~8.0.0-rc.2"
"@abp/toastr" "~8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.2.tgz#57099c3064f462713940a1d40fbddfe7b14510eb"
integrity sha512-Bmkqw6VDe+B5QpcRghj1pWej+BhkWJoCfh+lEwbJqzv3akEuOhYWRSBDIrkgCyROK77HYzBqWg9+AyRhmHXEAw==
"@abp/aspnetcore.mvc.ui.theme.basic@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.basic/-/aspnetcore.mvc.ui.theme.basic-8.0.0-rc.3.tgz#637ea220c9f988c1d0e1b152928f4409696439f2"
integrity sha512-xFJkcC2Oa8vLqMW0gU/3nXHsdFZOQq8+o9gUeLqDAhHZomnvEWsoivcd+LZs0xSDgQOee7N9h2buv9ERBoYGiA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui.theme.shared@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-8.0.0-rc.3.tgz#88904633feb5ce7dface4d27e9a31f4e5ace6b30"
integrity sha512-gMYI+xz/0JDgW2U7T3Lesx1o1U+Y+7zG/jVZO5FuMtlrsYhvT6V5BsKa9q/N7kSR0tfK8vsjblMBobqvbmG3SQ==
dependencies:
"@abp/aspnetcore.mvc.ui" "~8.0.0-rc.3"
"@abp/bootstrap" "~8.0.0-rc.3"
"@abp/bootstrap-datepicker" "~8.0.0-rc.3"
"@abp/bootstrap-daterangepicker" "~8.0.0-rc.3"
"@abp/datatables.net-bs5" "~8.0.0-rc.3"
"@abp/font-awesome" "~8.0.0-rc.3"
"@abp/jquery-form" "~8.0.0-rc.3"
"@abp/jquery-validation-unobtrusive" "~8.0.0-rc.3"
"@abp/lodash" "~8.0.0-rc.3"
"@abp/luxon" "~8.0.0-rc.3"
"@abp/malihu-custom-scrollbar-plugin" "~8.0.0-rc.3"
"@abp/moment" "~8.0.0-rc.3"
"@abp/select2" "~8.0.0-rc.3"
"@abp/sweetalert2" "~8.0.0-rc.3"
"@abp/timeago" "~8.0.0-rc.3"
"@abp/toastr" "~8.0.0-rc.3"
"@abp/aspnetcore.mvc.ui@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-8.0.0-rc.3.tgz#09402ed4e7504c09b49a84d6ee590a5c87017ab8"
integrity sha512-82GfU8DtReq5RTrb2Fl0UHm+vEO0PvC/6DyFHm57nyWiL2dKByUqLd8NXQz+gqubWOA+IvJoLehbcC6iD+Y0VQ==
dependencies:
ansi-colors "^4.1.1"
extend-object "^1.0.0"
@ -43,158 +43,158 @@
merge-stream "^2.0.0"
micromatch "^4.0.2"
"@abp/bootstrap-datepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.2.tgz#85e41ff35b7306040e0dfdaabc04c9dec280ae0f"
integrity sha512-2O1CWIA03O68kloIeIQ4YlaLqjvBo4zZxkF4Ily2OfGwfwgUpZpOCS/0yUQWpxFoLEnbat03KQj75Szcu80keg==
"@abp/bootstrap-datepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-8.0.0-rc.3.tgz#7656fef148c8bdf7993fdae937427564535dea74"
integrity sha512-qW1XQ2zL+/9f9+Q9Db3E5eIOD8Itjtr0KFAO59tY3G3WEwvCOS85pXJ/I17nLRRo/A2Na4kx4Q/jdYr3DkOgDQ==
dependencies:
bootstrap-datepicker "^1.9.0"
"@abp/bootstrap-daterangepicker@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.2.tgz#9380b4e29c69fe8ecec4877c9bbe443857e2e902"
integrity sha512-caKNizOBcSBSTKyByWZVFxTjn1gJNaMGDqoqnFnKEFc/Zu+Z5wgJaU1zOwSQCI+fBdAYLt6aIRFdzL/VgJIlWg==
"@abp/bootstrap-daterangepicker@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-8.0.0-rc.3.tgz#b6eb599b198f58c9a0690d2f779548137e10889f"
integrity sha512-TnZdtV0JHweVrrXCJZjxz+Cbk0lYznzELaA6oBbikCPhzIr2XvLqyHuLvERrFVxq80BZGsF7xUgC2K/Tw/RA8w==
dependencies:
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.2.tgz#9d36df7aa5b78ada6739633dabedf0c05fdedbde"
integrity sha512-OiSLAr58q8we202EjS1cJAzrVjGJBtjYJ3S3JuZqjV46udOoWI+ubQSKp+ZZHLD6e0geMfCe5G3IW+eQ1oFrkQ==
"@abp/bootstrap@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-8.0.0-rc.3.tgz#8865c2536c353b904e6e96cb70e4280fe9928412"
integrity sha512-h7rDAp3eBQwARAkEZfJU+IBTXEiLwi3I5CYFQ92QdX/mC66R1cX1gYY7pR5Wj5f68VS2pURnNxJnONtS3E/Cyw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
bootstrap "^5.1.3"
"@abp/core@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.2.tgz#6167929da30563b3b2f1938be40648bd08db61af"
integrity sha512-uXU546776kSDYizDRB+8Ja0Hfo0LaGqR198oy5Eq8R1jVwQ0gveZUlUFQd1Q56a/IpgbiJQ/T6nizoacBQlfLA==
"@abp/core@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-8.0.0-rc.3.tgz#f399bc55c6ad20c2515a03bb9572c6a4499cfcf0"
integrity sha512-HUa0AfCDX3URnGWsZ/7aZMsXXQFjott05ebK9wF7QDcI7uInyMT5axlrQ/CniyU8GLaFEt3mdtLB7pOZzDnsRw==
dependencies:
"@abp/utils" "~8.0.0-rc.2"
"@abp/utils" "~8.0.0-rc.3"
"@abp/datatables.net-bs5@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.2.tgz#a5d36298ad7ddb59dc66917eeb10f3898d4f6e39"
integrity sha512-VtMnL0WlXVpddbhheFKUwXo+iCBh3pgtETBKTnqyE/FSiv1EoV8i2m0gKtzFA7XB5CjUSXaTQsNfDGsIio7AnQ==
"@abp/datatables.net-bs5@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-8.0.0-rc.3.tgz#902d0770c54a5888f805cc97de0ed25d0c53dde9"
integrity sha512-gxYYBeEh81+R8SAh27uMm3paVffq+bYiQgUxpXNgEcyPGP2X7/hnzZNwViuI1t+IgpSuTf6AAt14db9eV6Masg==
dependencies:
"@abp/datatables.net" "~8.0.0-rc.2"
"@abp/datatables.net" "~8.0.0-rc.3"
datatables.net-bs5 "^1.11.4"
"@abp/datatables.net@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.2.tgz#267dcb7a49b708af83de3dfbdeb2f42617d46708"
integrity sha512-GzuncUWYs7fnLdd510FIiFx7DaMUoK2XzsMoVEv/p6eE8uAZpFp7/e+HKx8UxSFDcvVW3GMURDLd1WIxm5ak6Q==
"@abp/datatables.net@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-8.0.0-rc.3.tgz#4ddfa9fe3246e72807c3b19307c7484af749f969"
integrity sha512-vQBenQsDxzryspNv0FEzpyUPBXddIkVhXUJ6tHc+IZ8q/+/2wUE0ZciSJm7qS/GQnGrYZv9wpIGbSRh/RgVvVA==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
datatables.net "^1.11.4"
"@abp/font-awesome@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.2.tgz#2c7f392d4a7971f34ef6fa2835901183b2731976"
integrity sha512-dYXTOiOqb4zg/VKhla/qC3E1I9OmPWPy6jUjW+5LcyQcAMRgTR55A8HVvmZHK8OCwJMmpAGcckydegIKK4JfaQ==
"@abp/font-awesome@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-8.0.0-rc.3.tgz#5f850c5479f48cf1c951de2354050d38fec6beab"
integrity sha512-GYwhoOThD5Bw0Ain5DkVXgHLpca83QGAy1T7I+6SmYyibYu5SdxV9ytD65tARH+dx9VpB3p9NeC5lRYuWdPzCQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
"@fortawesome/fontawesome-free" "^5.15.4"
"@abp/jquery-form@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.2.tgz#45e2a3d838ed8c2b3f59aa6eb6f62b2e7a5934fa"
integrity sha512-uTf9Owhv9cjxb57S/3CtlimMr4cbCIgnIdHiRSU32atxg+xOvwDq4+Vn1AghiwtVgZWAC6W3MJTBHFbPHPfiLg==
"@abp/jquery-form@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-8.0.0-rc.3.tgz#e414a0599448c37df3197af77a91c9a66d3ef77f"
integrity sha512-w58Zi28Ci/0DIzMzC/ihu+np7G2Hv+9DLrhLZKddEI9WisFuxao5EAhKseq7LWMPzG/QSw8skLZAY12YrEtp6w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.2.tgz#c6a4e3081f1d7eadff34592b8cf0498db40170a0"
integrity sha512-g3yY0SuFX+RkPHZO6UcemXWBi1pq4mt3WHx8f2u2knfdqgLRIaPaTZIpVRN4AUSwBGs/GVzpA5hEEQKhl1cChA==
"@abp/jquery-validation-unobtrusive@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-8.0.0-rc.3.tgz#a3ab6b5078449ba94c7206ed96286b902a766b6b"
integrity sha512-Gvmujjhrvqzu51fGSTAssxGVu4XolTLEwW3qR0zwWCc0+kXF/AXB98DD66A+hmGau54sTKRXVmBTpc4J3KpoWg==
dependencies:
"@abp/jquery-validation" "~8.0.0-rc.2"
"@abp/jquery-validation" "~8.0.0-rc.3"
jquery-validation-unobtrusive "^3.2.12"
"@abp/jquery-validation@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.2.tgz#4282682538c450bffaba2558cbcc8ac9779736b6"
integrity sha512-e6n4SNp558IjZKQW3Td90Kzmns8NPC4dnmCfZzRC9eZfcfBHXOpNoAQIKw3uNWvGF6lQWo4S5O/Y8QhLW/88cw==
"@abp/jquery-validation@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-8.0.0-rc.3.tgz#eee433a5fc076d92d734e7cea4bce00fbaacc963"
integrity sha512-Dq5Ru5WWqDKIDzetUicJzp6DHkGhNNHcjYyHF3n9o9+3T4+6dgRbXy5OYjIv9CADfui55rzckWH57FbCExiUSw==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
jquery-validation "^1.19.3"
"@abp/jquery@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.2.tgz#e54905bbd5efa13f9a87854608f103e15757a26c"
integrity sha512-KiqRKJlygq/s8qu+ykRp5csOyDjVmVk5KxW+OJz+73hTS7NZiM1tUDYWieFHFfL8AJdzwxt4QP89y8lyfJeBLQ==
"@abp/jquery@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-8.0.0-rc.3.tgz#e230c5db7a9aff526564c1b4b1820cd983a10726"
integrity sha512-o9xBZt55fT+ZYqmLjQ9dahtIgsRqz4VrXUsLgyKkUzr2p3gtgXCQqKfkIpdeE5aE3p1/T+et5U6FOMUCRZegvg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
jquery "~3.6.0"
"@abp/lodash@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.2.tgz#1bca1821db7524e1c612cfe23319abab5d874453"
integrity sha512-EgoIBQI7IYXOND7VHzp7PXM1w8tZZz60aV+DdjhaDuvXY0pSmg7p0HKsd4UerBfiHBepRuu5JcVk/3ZJ/n2MVQ==
"@abp/lodash@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-8.0.0-rc.3.tgz#5bf8019fa0e69ec1fac6ccacb1625b8564ed8944"
integrity sha512-Mo2r+bNZXdmM7Ri8SBi+M4OsfnLYejbQmcJ7wkDUPb4B3cDJtTB4YuJn8NWBBjaXwi08Myt1MvSFnT04N/t8Eg==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
lodash "^4.17.21"
"@abp/luxon@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.2.tgz#336800a04fd72c42f2b9a00da864a708d0c730c6"
integrity sha512-EhiHxcSKNQLzT69GD4qTdhbzwgyqHOwiBOuw2SFYsBml+XbYzDDGbarT5UUNexOjaThHcqHEgyldtGJEDYg3Xw==
"@abp/luxon@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-8.0.0-rc.3.tgz#cc0adcab4f1fa6bea2055be478ec9a86d00f1ba6"
integrity sha512-vKwfpAPL7GUJLvCpsJoJ5eXRH5Ypciez9J6QiK2Mjx1NauxR514wYtBqM/2I7hoJ4Oc9XvrAjcIon3r21dvCqQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
luxon "^2.3.0"
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.2.tgz#30e7f8fb1edfa921e413f7c166fcac03c9702993"
integrity sha512-2odjr77Uc1kuK9Ffz2SOqojFrc3cfq6LYHEOjgtZquIV69x9FCHWQPDT0QmUPLOXsQ/sclQ3uq0wf9QgOH2eIQ==
"@abp/malihu-custom-scrollbar-plugin@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-8.0.0-rc.3.tgz#195c897dced708de627941ce017e047c62191a56"
integrity sha512-svD7YJzHvufjmhoCKgQcjApIdVcGJwWhpsK260lwLiCvkdNDhxFjH+jfChhLMXPYpOnozrgrVx56oJqDWDrU3A==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.2.tgz#47e65d9cd7f58d2902da2df584d23d6500c9aa4e"
integrity sha512-0LM0LVWf57Z2smbcQwB4600o05rIGqIDG1BZMGpFcBFTUhiUROw3M7Yhvsh2Hxrfxl2S424f53AwAEhMMc7wXQ==
"@abp/moment@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-8.0.0-rc.3.tgz#7e2a74cd23c434b45f903b4f826f807a31b5982b"
integrity sha512-E0mob3xj0frslPovdHbsdaFB5oLimORFA86uQJ5KVSEaDOXYKuEqUomMcqg2LRVdzzKd7ai6QkuH3p7qbJonww==
dependencies:
moment "^2.9.0"
"@abp/select2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.2.tgz#eab2d8c788490dfb42e164535a2ec0e5341c9463"
integrity sha512-amylLPpnriexrPSIwHvYTGrGPdT+IBfEkeN5SMhEL8pwa6/6ScVlzHVxvrMGQEocNFnl8BTD/n/kUnX19uvS9A==
"@abp/select2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-8.0.0-rc.3.tgz#77dd12185f6d03553230c7516e40603310f28f4f"
integrity sha512-9O+IHIB6n+WfLzh6SVyC01OIU3qWzhoT3DofAc329cyI73NJSPuOvmkQtQVYWnkAI/6+B6qYF3A4umD/EoPouQ==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
select2 "^4.0.13"
"@abp/sweetalert2@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.2.tgz#7c3ca3ffff01a43a3603f49a1986f162157e2a72"
integrity sha512-P/qW+UVUwgAGmku2FWWIMtuwG8clA28+Tc0VYl4vFQNjPK7wwTNrovNXIVKHwyl2GjRGgz7YDS0NUtVdkn7AXQ==
"@abp/sweetalert2@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-8.0.0-rc.3.tgz#021afc3457cf72c2b6dd298bb981faa741fc1293"
integrity sha512-b67UC/uZ9gWt2X5MeUnKg98FkhvJ+Azsq4PHcFBdUTZL/5ItJ8F6UsOTpT7Z7cUXFmJn/RTcPrgQDsK63CZltw==
dependencies:
"@abp/core" "~8.0.0-rc.2"
"@abp/core" "~8.0.0-rc.3"
sweetalert2 "^11.3.6"
"@abp/timeago@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.2.tgz#ed98d40b1fa2fa7e65bc3ad84db896e32184a112"
integrity sha512-7Kk9JGkVHo86QyaTg7Y8XB4IYXzP/IGlYDDS+eaStmzFIvXmnNURz7gs4x4tm1Z+IfUz+wJvMYfI4ymwYDLSeQ==
"@abp/timeago@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-8.0.0-rc.3.tgz#b3e63ff94bce8ad59b02d8c4490f580e60630f00"
integrity sha512-Pmm6Jj7VT1PW/Wfh1ozFFIdpFvH8cGKfHU2sYgwHuw4U9YQUd8ZTIDaZRMhuN9QqnGlmFtUZsXzoIMZJDvOq5w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
timeago "^1.6.7"
"@abp/toastr@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.2.tgz#c494bb1070ef6aa80d443d11a61f93c03d82f543"
integrity sha512-1ECxLFKNLxI+oegsB2WACmeiOqksi8q8vBiQ5ISW3Z0/kCiN8mC0/c8mmUr9sQjpwACTiFW95H1vPfVbfrt0Mw==
"@abp/toastr@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/toastr/-/toastr-8.0.0-rc.3.tgz#5b0d267951e025ca77a611c2fa9b606e92bd830a"
integrity sha512-hfDzyMSgbjriAALdrcnx/qonN2lquF7HM4QH8nt1E8/vWOkd8bUL/kyAoIL8rfS94zr62UUZTEDezoCfHwif+w==
dependencies:
"@abp/jquery" "~8.0.0-rc.2"
"@abp/jquery" "~8.0.0-rc.3"
toastr "^2.1.4"
"@abp/utils@~8.0.0-rc.2":
version "8.0.0-rc.2"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.2.tgz#c2959e5161e4102d5757a571d16bd3a4316779fb"
integrity sha512-Ml/qXTk8//qnuAXA8addR5NFBoJp/L5mBJrEtOc6OFiPuFSsnozcE+ZZJZMACyXP996tqmmkuFrDLMaNeKe0cQ==
"@abp/utils@~8.0.0-rc.3":
version "8.0.0-rc.3"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-8.0.0-rc.3.tgz#01491fb943eb3a41d4ddbe854e5330b66807d522"
integrity sha512-cuTwsy+FEh3dEnlDDi0s8d3qpWgP3rwqWgg5LlMF0pY/OobJcCLtuo5Zy9bncKL3wFHXVEk6UviYcNkSOkzvtQ==
dependencies:
just-compare "^2.3.0"

4
modules/cms-kit/host/Volo.CmsKit.Web.Unified/package.json

@ -3,7 +3,7 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.2",
"@abp/cms-kit": "8.0.0-rc.2"
"@abp/aspnetcore.mvc.ui.theme.basic": "~8.0.0-rc.3",
"@abp/cms-kit": "8.0.0-rc.3"
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save