From 22562f86dc0601619610ec1310e28a036db0364f Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 25 Dec 2024 15:48:43 +0300 Subject: [PATCH 1/3] Add MAUIBlazor to docs-params --- docs/en/docs-params.json | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/docs-params.json b/docs/en/docs-params.json index e108f1b554..4aa720e441 100644 --- a/docs/en/docs-params.json +++ b/docs/en/docs-params.json @@ -8,6 +8,7 @@ "Blazor": "Blazor WebAssembly", "BlazorServer": "Blazor Server", "BlazorWebApp": "Blazor WebApp", + "MAUIBlazor": "MAUI Blazor (Hybrid)", "NG": "Angular" } }, From ea502d0e1322a8320c3e4dba585ac0f3082e59e1 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 25 Dec 2024 15:56:45 +0300 Subject: [PATCH 2/3] Add MauiBlazor to getting started documentation --- .../images/maui-blazor-add-books-component.png | Bin 0 -> 14735 bytes docs/en/tutorials/book-store/part-01.md | 2 +- docs/en/tutorials/book-store/part-02.md | 11 +++++++---- docs/en/tutorials/book-store/part-03.md | 8 ++++---- docs/en/tutorials/book-store/part-04.md | 2 +- docs/en/tutorials/book-store/part-05.md | 8 ++++---- docs/en/tutorials/book-store/part-06.md | 2 +- docs/en/tutorials/book-store/part-07.md | 2 +- docs/en/tutorials/book-store/part-08.md | 2 +- docs/en/tutorials/book-store/part-09.md | 12 ++++++------ docs/en/tutorials/book-store/part-10.md | 8 ++++---- 11 files changed, 30 insertions(+), 27 deletions(-) create mode 100644 docs/en/tutorials/book-store/images/maui-blazor-add-books-component.png diff --git a/docs/en/tutorials/book-store/images/maui-blazor-add-books-component.png b/docs/en/tutorials/book-store/images/maui-blazor-add-books-component.png new file mode 100644 index 0000000000000000000000000000000000000000..72cf46e620db149840b21f1fa2fb723244a42d6f GIT binary patch literal 14735 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 X(); @@ -1211,7 +1211,7 @@ You will need to declare a `using Acme.BookStore.Authors;` statement to the begi ### Add to the Main Menu -Open the `BookStoreMenuContributor.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following code to the end of the `ConfigureMainMenuAsync` method: +Open the `BookStoreMenuContributor.cs` in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else if UI == "MAUIBlazor" }}`Acme.BookStore.MauiBlazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following code to the end of the `ConfigureMainMenuAsync` method: ````csharp if (await context.IsGrantedAsync(BookStorePermissions.Authors.Default)) diff --git a/docs/en/tutorials/book-store/part-10.md b/docs/en/tutorials/book-store/part-10.md index 928881ffec..85f094c97f 100644 --- a/docs/en/tutorials/book-store/part-10.md +++ b/docs/en/tutorials/book-store/part-10.md @@ -2,7 +2,7 @@ ````json //[doc-params] { - "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG"], + "UI": ["MVC","Blazor","BlazorServer","BlazorWebApp","NG", "MAUIBlazor"], "DB": ["EF","Mongo"] } ```` @@ -105,7 +105,7 @@ migrationBuilder.AddForeignKey( * Creates an index on the `AuthorId` field. * Declares the foreign key to the `AppAuthors` table. -> If you are using Visual Studio, you may want to use `Add-Migration Added_AuthorId_To_Book -c BookStoreDbContext` and `Update-Database -Context BookStoreDbContext` commands in the *Package Manager Console (PMC)*. In this case, ensure that {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`Acme.BookStore.HttpApi.Host`{{end}} is the startup project and `Acme.BookStore.EntityFrameworkCore` is the *Default Project* in PMC. +> If you are using Visual Studio, you may want to use `Add-Migration Added_AuthorId_To_Book -c BookStoreDbContext` and `Update-Database -Context BookStoreDbContext` commands in the *Package Manager Console (PMC)*. In this case, ensure that {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer" || UI=="BlazorWebApp"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG" || UI=="MAUIBlazor"}}`Acme.BookStore.HttpApi.Host`{{end}} is the startup project and `Acme.BookStore.EntityFrameworkCore` is the *Default Project* in PMC. {{end}} @@ -1071,11 +1071,11 @@ That's all. Just run the application and try to create or edit an author. {{end}} -{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp" }} +{{if UI == "Blazor" || UI == "BlazorServer" || UI == "BlazorWebApp" || UI == "MAUIBlazor" }} ### The Book List -It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following `DataGridColumn` definition just after the `Name` (book name) column: +It is very easy to show the *Author Name* in the book list. Open the `/Pages/Books.razor` file in the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor` {{ else if UI == "MAUIBlazor" }}`Acme.BookStore.MauiBlazor` {{ else }}`Acme.BookStore.Blazor.Client`{{ end }} project and add the following `DataGridColumn` definition just after the `Name` (book name) column: ````xml Date: Wed, 25 Dec 2024 19:26:48 +0300 Subject: [PATCH 3/3] Add missing BlazorWebApp logic to `tutorials\book-store\part-02.md` --- docs/en/tutorials/book-store/part-02.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/tutorials/book-store/part-02.md b/docs/en/tutorials/book-store/part-02.md index 67989eeae9..d06930bab7 100644 --- a/docs/en/tutorials/book-store/part-02.md +++ b/docs/en/tutorials/book-store/part-02.md @@ -518,7 +518,7 @@ Now you can see the final result on your browser: ## Create a Books Page -It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else if UI == "Blazor" }}`Acme.BookStore.Blazor.Client`{{else}} `Acme.BookStore.MauiBlazor` {{ end }} project and add a new **razor component**, named `Books.razor`: +It's time to create something visible and usable! Right click on the `Pages` folder under the {{ if UI == "BlazorServer" }}`Acme.BookStore.Blazor`{{ else if UI == "Blazor" || UI == "BlazorWebApp" }}`Acme.BookStore.Blazor.Client`{{else}} `Acme.BookStore.MauiBlazor` {{ end }} project and add a new **razor component**, named `Books.razor`: {{ if UI == "Blazor" || UI == "BlazorWebApp" }} ![blazor-add-books-component](images/blazor-add-books-component-client.png)