From 3afd94a77230d46d6b818b87b4eda3319f643e5d Mon Sep 17 00:00:00 2001 From: Vladimir Lapin Date: Thu, 8 May 2025 04:14:12 +0400 Subject: [PATCH] Tabbed UI example fixes and readme --- README.md | 28 +++++++++++++++------------- images/blazor-tabbed-ui.png | Bin 18749 -> 26755 bytes 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1d7d35b..08a9041 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,11 @@ The example demonstrates how to create an interactive multi-tab web interface wi It showcases core features that help end users build their personalized workspaces and multitask effectively. +## Implementation Details + ### Organize Content Into Tabs -Place [DxTabs](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxTabs) container on the page (_Components/Pages/Index.razor_) and add a [DxTabPage](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxTabPage) for each tab. +Place [DxTabs](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxTabs) container on the page ([Index.razor](CS/DxBlazorApplication1/Components/Pages/Index.razor)) and add a [DxTabPage](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxTabPage) for each tab. Insert your custom Blazor components or content directly into each DxTabPage. @@ -39,11 +41,11 @@ The CssClass property of a tab page serves as a unique identifier, allowing clie ### Persist Tab State -Implement a custom **MDITab** class to encapsulate specific properties of each individual tab. **MDITabCollection** will control visibility, display order, and titles of all tabs. The title links an underlying object to the visual tab representation in the UI. +Implement a custom `MDITab` class to encapsulate specific properties of each individual tab. `MDITabCollection` will control visibility, display order, and titles of all tabs. The title links an underlying object to the visual tab representation in the UI. -Bind these properties to the visual tab elements in the UI. To ensure the MDITabCollection accurately reflects the live interface, implement event handlers for TabReorder and TabClosing. These handlers will listen for user actions and dynamically update the collection to match the current tab state. +Bind these properties to the visual tab elements in the UI. To ensure the `MDITabCollection` accurately reflects the live interface, implement event handlers for TabReorder and TabClosing. These handlers will listen for user actions and dynamically update the collection to match the current tab state. -To maintain the tab layout across sessions, serialize the collection to JSON and save it to the browser's local storage with **MDIStateHelper** class every time the UI layout changes. It maintains the tab visibility and order even after the user closes and reopens the browser. Tab state is restored in the OnAfterRenderAsync event handler. +To maintain the tab layout across sessions, serialize the collection to JSON and save it to the browser's local storage with `MDIStateHelper` class every time the UI layout changes. It maintains the tab visibility and order even after the user closes and reopens the browser. Tab state is restored in the OnAfterRenderAsync event handler. ### Add Context Menu to Tabs @@ -54,7 +56,7 @@ Create a context menu that allows users to manage tabs: - Close all tabs except for the current one. - Restore closed tabs. -Place [DxContextMenu](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxContextMenu) on the page (_Components/Pages/Index.razor_) and add a [DxContextMenuItem](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxContextMenuItem) for each menu action. +Place [DxContextMenu](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxContextMenu) on the page ([Index.razor](CS/DxBlazorApplication1/Components/Pages/Index.razor)) and add a [DxContextMenuItem](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxContextMenuItem) for each menu action. ```razor @@ -67,17 +69,17 @@ Place [DxContextMenu](https://docs.devexpress.com/Blazor/DevExpress.Blazor.DxCon ``` -Implement a client-side script (_wwwroot/js/mdi.js_) to handle right-clicks on specific tabs, identified by their CssClass property. This script should prevent the default browser context menu. Capture the mouse position, and invoke a .NET [JSInvokable] method. +Implement a client-side script ([mdi.js](CS/DxBlazorApplication1/wwwroot/js/mdi.js)) to handle right-clicks on specific tabs, identified by their CssClass property. This script should prevent the default browser context menu. Capture the mouse position, and invoke a .NET `[JSInvokable]` method. ## Files to Review -- Index.razor -- NavMenu.razor -- MainLayout.razor -- MDITab.cs -- MDITabCollection.cs -- MDIStateHelper.cs -- mdi.js +- [Index.razor](CS/DxBlazorApplication1/Components/Pages/Index.razor) +- [NavMenu.razor](CS/DxBlazorApplication1/Components/Layout/NavMenu.razor) +- [MainLayout.razor](CS/DxBlazorApplication1/Components/Layout/MainLayout.razor.css) +- [MDITab.cs](CS/DxBlazorApplication1/Components/MDI/MDITab.cs) +- [MDITabCollection.cs](CS/DxBlazorApplication1/Components/MDI/MDITabCollection.cs) +- [MDIStateHelper.cs](CS/DxBlazorApplication1/Components/MDI/MDIStateHelper.cs) +- [mdi.js](CS/DxBlazorApplication1/wwwroot/js/mdi.js) ## Documentation diff --git a/images/blazor-tabbed-ui.png b/images/blazor-tabbed-ui.png index 101be3fec184477dda36fe95016d8ae7cc4dfa47..3e1a23f684d4d2a36636245c56a6d181e5c2c256 100644 GIT binary patch literal 26755 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 z

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 literal 18749 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

j)w9 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 D@4`8*