PopoverService: New design#6953
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## dev #6953 +/- ##
==========================================
+ Coverage 90.89% 90.99% +0.10%
==========================================
Files 402 411 +9
Lines 14536 14750 +214
==========================================
+ Hits 13212 13422 +210
- Misses 1324 1328 +4
☔ View full report in Codecov by Sentry. |
|
I have refactored the code by splitting the |
|
I also tested |
|
I haven't yet had time to look over everything. Just one note about the |
These two I suggest to simply name |
henon
left a comment
There was a problem hiding this comment.
I like the new service very much. It is so much easier to understand. Take my nit-picking here and there as constructive suggestions, nothing more.
Have you read this comment? This is why I split it into two implementations #6953 (comment) |
Sure. |
Yeah, better testability is of course a good justification. |
…beOnPopoverUpdate to Subscribe/Unsubscribe
…lanation in XML comments
|
I think I have addressed all suggestions, please check. |
|
Oh forgot to Obsolete old service / classes, will do later. |
|
Done. |
|
Many thanks @ScarletKuro, it is plain that this PR took quite a lot of effort! |
* MudAutocomplete: Fix highlight of selected item when Strict is set to false (MudBlazor#6489) * MudOverlay: Add nullable annotation. (MudBlazor#6665) * MudMainContent: Add nullable annotation. (MudBlazor#6664) * MudMainContent: Add nullable annotation. * inconsistent test fail * MudOverlay: CA2012: Use ValueTasks correctly (MudBlazor#6670) * MudTabs: Fix XSS in Text (MudBlazor#5478) (MudBlazor#6680) Co-authored-by: Sean O'Donnell <Sean.O'[email protected]> * MudText: Add nullable annotation. (MudBlazor#6677) * MudVirtualize: Add nullable annotation. (MudBlazor#6678) * MudSimpleTable: Add nullable annotation. (MudBlazor#6679) * MudBooleanInput: Add nullable annotation. (MudBlazor#6681) * MudBooleanInput: Add nullable annotation. * Update bug_report.yml (MudBlazor#6696) * Form components: Add ResetAsync / ResetValueAsync (MudBlazor#6693) * MudSwitch: LabelPosition.Start uses row-reverse instead of RTL (MudBlazor#6638) * MudSwitch: Fixes a bug with LabelPosition.Start and character that exists in RTL alphabet --------- Co-authored-by: Yan Gauthier <[email protected]> * Docs: Fix typo in toggle example (MudBlazor#6709) * MudAutocomplete: Fix Race Condition MudBlazor#6475 (MudBlazor#6701) * Dialog: Add ClassBackground Option to Support Blurred Background (MudBlazor#6725) * Build(deps): Bump FluentValidation from 11.5.1 to 11.5.2 in /src (MudBlazor#6617) Bumps [FluentValidation](https://github.com/JeremySkinner/fluentvalidation) from 11.5.1 to 11.5.2. - [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases) - [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt) - [Commits](FluentValidation/FluentValidation@11.5.1...11.5.2) --- updated-dependencies: - dependency-name: FluentValidation dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudBreakpointProvider: Add nullable annotation (MudBlazor#6720) * BreakpointService & ResizeService: KeyNotFoundException fix MudBlazor#3993 MudBlazor#3356 MudBlazor#3698 (MudBlazor#6727) * BreakpointService & ResizeService: KeyNotFoundException fix MudBlazor#3993 MudBlazor#3356 MudBlazor#3698 * Add SubscribeAsync & UnsubscribeAsync * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly in /src (MudBlazor#6672) Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 7.0.4 to 7.0.5. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.4...v7.0.5) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.Server (MudBlazor#6673) Bumps [Microsoft.AspNetCore.Components.WebAssembly.Server](https://github.com/dotnet/aspnetcore) from 7.0.4 to 7.0.5. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.4...v7.0.5) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Server dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer (MudBlazor#6675) Bumps [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/aspnetcore) from 7.0.4 to 7.0.5. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.4...v7.0.5) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.DevServer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump FluentAssertions from 6.10.0 to 6.11.0 in /src (MudBlazor#6733) Bumps [FluentAssertions](https://github.com/fluentassertions/fluentassertions) from 6.10.0 to 6.11.0. - [Release notes](https://github.com/fluentassertions/fluentassertions/releases) - [Changelog](https://github.com/fluentassertions/fluentassertions/blob/develop/AcceptApiChanges.ps1) - [Commits](fluentassertions/fluentassertions@6.10.0...6.11.0) --- updated-dependencies: - dependency-name: FluentAssertions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudChip, MudChipSet: Await where applicable (MudBlazor#6735) * MudChip & MudChipSet await where applicable * NotifySelection -> NotifySelectionAsync * MudHighlighter: Add nullable annotation. (MudBlazor#6731) * MudHighlighter: Add nullable annotation. * MudDialog: Fix description of the DefaultFocus parameter (MudBlazor#6751) * MudCollapse: Add nullable annotation. (MudBlazor#6747) * MudDataGrid: Add drag and drop column reordering (MudBlazor#6700) * MudDataGrid: Add Drag and Drop support for MudDataGrid --------- Co-authored-by: segfault <[email protected]> Co-authored-by: Meinrad Recheis <[email protected]> * MudAppBar: Bottom=true should render <footer> instead of <header> (MudBlazor#6646) * Fix HTML tag upon positioning MudAppBar at the bottom * Add unit tests for AppBar fix * Update copyright year in AppBarTests.cs * Obsolete ICommand & CommandParameter (MudBlazor#6773) * DateRangePicker: Highlight current date (MudBlazor#6753) * DateRangePicker: Highlight current date as in normal DatePickers * Added Tests * MudPicker: HandleKeyDown was called twice (MudBlazor#6777) * Build(deps): Bump bunit from 1.18.4 to 1.19.14 in /src (MudBlazor#6780) Bumps [bunit](https://github.com/bUnit-dev/bUnit) from 1.18.4 to 1.19.14. - [Release notes](https://github.com/bUnit-dev/bUnit/releases) - [Changelog](https://github.com/bUnit-dev/bUnit/blob/main/CHANGELOG.md) - [Commits](bUnit-dev/bUnit@v1.18.4...v1.19.14) --- updated-dependencies: - dependency-name: bunit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudButton: Add ability to set custom rel attribute content (MudBlazor#6301) * SnackbarOptions: Remove Parameter attribute from non-component class. (MudBlazor#6801) * MudAutoComplete: Add BeforeItemsTemplate and AfterItemsTemplate (MudBlazor#6752) * MudAutoComplete: Add BeforItemsTemplate and AfterItemsTemplate * MudTreeView: Don't accept clicks and selection changes for Disabled items (MudBlazor#6783) * MudTreeView: Evaluate the Disabled-Parameter for Selection * Added Tests for DoubleClick * Returning early if component TreeView is disabled * Allow expanding / collapsing TreeViewItems on disabled TreeViews * Fix typo in size parameter. (MudBlazor#6807) Co-authored-by: Riley Nielsen <[email protected]> * MudDataGrid: Fix runtime exception with PageSizeOptions (MudBlazor#6784) Co-authored-by: Yan Gauthier <[email protected]> * MudToolBar: Allow longer content (MudBlazor#6808) * ToolBar: allow larger content * Reset flex-wrap value for pagination-toolbar. --------- Co-authored-by: Brecht Debaere <[email protected]> * MudTable: Avoid NoRecordsContent showing before loading data (MudBlazor#6811) * Table: Initialize Loading to true to avoid NoRecordsContent showing * Add unit tests --------- Co-authored-by: Brecht Debaere <[email protected]> Co-authored-by: Riley Nielsen <[email protected]> * MudPicker: Add OnClick event (MudBlazor#6797) (MudBlazor#6798) Add OnClick event for all Pickers * Build(deps): Bump ReportGenerator from 5.1.19 to 5.1.20 in /src (MudBlazor#6782) Bumps [ReportGenerator](https://github.com/danielpalme/ReportGenerator) from 5.1.19 to 5.1.20. - [Release notes](https://github.com/danielpalme/ReportGenerator/releases) - [Commits](danielpalme/ReportGenerator@v5.1.19...v5.1.20) --- updated-dependencies: - dependency-name: ReportGenerator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudMenu: Added Example with nested Menu (MudBlazor#6828) * MudAutocomplete: Fix Value binding not updating (MudBlazor#6805) * Fixes MudBlazor#5993 * AutocompleteImmediateCoerceValueTest added * MudDropContainer: Fix bad index when dropping item on itself (MudBlazor#5006) (MudBlazor#6830) * Docs: Remove ReadOnly from Form example (MudBlazor#6832) * Remove ReadOnly from example * Update MudFormExample.razor * Docs: Toggle MudMini menu icon when menu is open. (MudBlazor#6384) * MudDataGrid: FilterDefinition as interface (MudBlazor#6848) * MudDataGrid: FilterDefinition as interface * Evaluate FieldType only once * MudTable: Fix discrepency with initial RowsPerPage in TablePager (MudBlazor#6776) Co-authored-by: Yan Gauthier <[email protected]> * Build: Temporarily fix SDK at 7.0.203 (MudBlazor#6864) * Build: Temporarily fix SDK version on build server (MudBlazor#6865) * Build: Workaround Fix for 7.0.302 SDK bug (MudBlazor#6872) * Build: Remove SDK version fix (MudBlazor#6873) * MudTimePicker: Fix duplicate hour event in minute mode MudBlazor#6523 (MudBlazor#6599) * MudTimepicker: Delete duplicate submit event (MudBlazor#6523) * MudTimepicker: Resolved problem with hour event being called even in minute mode Co-authored-by: sho <[email protected]> * ISnackbar: Add RemoveByKey MudBlazor#6857 (MudBlazor#6860) * Add "void ISnackbar.RemoveByKey(string)" API * Add documentation for "ISnackbar.RemoveByKey" * Add test for "ISnackbar.RemoveByKey" * ScrollToTop: Add OnClick event (MudBlazor#6870) * Added OnClick event for MudScrollToTop (MudBlazor#6517) + MudScrollToTop it is an invisible wrapper for all inner components is does not allow 'clicking' them. So i think that better way to handle clicking is to add event handler for MudScrollToTop. + Added tests for MudScrollToTop; * Fixed return type of OnButtonClick + typo fixed. + Renamed MudScrollToTop.OnElementClick to MudScrollToTop.OnButtonClick; + Return type of MudScrollToTop.OnButtonClick (void -> Task) changed; + Typo fix; * Direct JS call replaced with ScrollManager method call Direct JS API call replaced with ScrollManager method call in visual test for ScrollToTop component * Types of test parameters changed string->bool * PickerToolbar: Fix issue with landscape mode for non-static pickers (MudBlazor#5867) (MudBlazor#6874) * MudPickerToolbar: Fix issue with landscape mode for non static pickers (MudBlazor#5867) * MudPickerToolbar: Add tests for MudPickerToolbar (MudBlazor#5867) * fix table loading style (MudBlazor#6885) * Build: Update AspNetCore Packages (MudBlazor#6894) * Build: Update webcompiler to 3.5.44 (MudBlazor#6895) * Build(deps): Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.0 in /src (MudBlazor#6902) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.5.0 to 17.6.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](microsoft/vstest@v17.5.0...v17.6.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Tabs: Add TabHeaderClass property (MudBlazor#5424) (MudBlazor#6298) * Tabs: Add TabToolbarClass property (MudBlazor#5424) * Tabs: Rename TabToolbarClass to TabHeaderClass and also toolbar to tabHeader in doc strings (MudBlazor#5424) * Build(deps): Bump Microsoft.CodeAnalysis.CSharp in /src (MudBlazor#6903) Bumps [Microsoft.CodeAnalysis.CSharp](https://github.com/dotnet/roslyn) from 4.5.0 to 4.6.0. - [Release notes](https://github.com/dotnet/roslyn/releases) - [Changelog](https://github.com/dotnet/roslyn/blob/main/docs/Breaking%20API%20Changes.md) - [Commits](https://github.com/dotnet/roslyn/commits) --- updated-dependencies: - dependency-name: Microsoft.CodeAnalysis.CSharp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump coverlet.msbuild from 3.2.0 to 6.0.0 in /src (MudBlazor#6904) Bumps [coverlet.msbuild](https://github.com/coverlet-coverage/coverlet) from 3.2.0 to 6.0.0. - [Release notes](https://github.com/coverlet-coverage/coverlet/releases) - [Commits](coverlet-coverage/coverlet@v3.2.0...v6.0.0) --- updated-dependencies: - dependency-name: coverlet.msbuild dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump bunit from 1.19.14 to 1.20.8 in /src (MudBlazor#6905) Bumps [bunit](https://github.com/bUnit-dev/bUnit) from 1.19.14 to 1.20.8. - [Release notes](https://github.com/bUnit-dev/bUnit/releases) - [Changelog](https://github.com/bUnit-dev/bUnit/blob/main/CHANGELOG.md) - [Commits](bUnit-dev/bUnit@v1.19.14...v1.20.8) --- updated-dependencies: - dependency-name: bunit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump ReportGenerator from 5.1.20 to 5.1.21 in /src (MudBlazor#6906) Bumps [ReportGenerator](https://github.com/danielpalme/ReportGenerator) from 5.1.20 to 5.1.21. - [Release notes](https://github.com/danielpalme/ReportGenerator/releases) - [Commits](danielpalme/ReportGenerator@v5.1.20...v5.1.21) --- updated-dependencies: - dependency-name: ReportGenerator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudToolBar: Optional Wrapping and Appbar compatibility (MudBlazor#6869) * Added Parameter Wrapping to MudToolBar * Fixed Documentation naming from Appbar to ToolBar * Added Wrapping Parameter to AppBar.razor.cs * Added Wrapping Parameter to AppBar.razor * toolbar css now supports wrapping, and appbar-height * Fixed missing parenthesis in _toolbar.scss * possible fix for sass error * Renamed Wrapping to WrapContent * Remove newline in MudToolBar.razor --------- Co-authored-by: Riley Nielsen <[email protected]> * Revert Build(deps): Bump Microsoft.CodeAnalysis.CSharp (MudBlazor#6903) (MudBlazor#6913) * MudDataGrid: Removed duplicate code from filter header cell (MudBlazor#6912) * Build: Fix build to 7.0.203 SDK until 7.0.302 SDK is fixed (MudBlazor#6915) * MudToolBar: Add example and test for new WrapContent (MudBlazor#6916) * MudDataGrid: Remove unused UnitTests.Viewer (MudBlazor#6928) * MudAppBar: Fix default value of WrapContent (MudBlazor#6808, MudBlazor#6869) (MudBlazor#6929) * MudAppBar: Fix default value of WrapContent (MudBlazor#6808, MudBlazor#6869) * MudColorPicker: Fix/Enable color picker validation (MudBlazor#6841) (MudBlazor#6924) Fixes: MudBlazor#6841 * MudDataGrid: Filterable false removes filter from dropdown in filters panel MudBlazor#6137 (MudBlazor#6212) Co-authored-by: Ben Groseclose <[email protected]> * MudTable: Add methods to expand or collapse all groups (MudBlazor#6812) * MudTable: Added "ToggleExpandGroups" to expand or collapse all groups * Added documentation for the new "ToggleExpandGroups" feature * Fixed dateformat on the releases-page (MudBlazor#6945) * MudMenuItem: Add AutoClose parameter for controlling closing behavior (MudBlazor#6942) * MudMenuItem: Adds CloseMenuOnClick parameter to optionally prevent menu close on click * MudMenuItem: Adds test for CloseMenuOnClick parameter * MudMenuItem: Rename CloseMenuOnClick to AutoClose * MudMenuItem: Correction in AutoClose parameter doc * Docs: Correct typos (MudBlazor#6845) * Update GridPage.razor * Fix typo in LinkPage.razor * Update MudMessageBox.razor.cs * Inputs: Fix order of Value and Text changes for increased stability (MudBlazor#6900) * PopoverService: New design (MudBlazor#6953) * PopoverService: New design * IPopoverService: Rename SubscribeOnPopoverUpdate/UnsubscribeOnSubscribeOnPopoverUpdate to Subscribe/Unsubscribe * PopoverService: early exit in UpdatePopoverAsync * ObserverManager: Remove sync Notify * ObserverManager: Remove ILogger param name comment * IPopoverService: Rename CountProvidersAsync to GetProviderCountAsync * Rename MudPopoverState to MudPopoverHolder * ObserverManager: Add remark about defunc * Rename BackgroundTaskBase to BackgroundWorkerBase, add additional explanation in XML comments * Obsolete IMudPopoverService, MudPopoverService, MudPopoverHandler * Rename PopoverBase to MudPopoverBase * Add explanations to IMudPopoverHolder * Add comment to MudPopoverBase * ObserverManager: remove obvious xml comments * PopoverService: Remove ConfigureAwait(false) (MudBlazor#6981) * MudExpansionPanels: Add nullable annotation. (MudBlazor#6976) * MudExpansionPanels: Add nullable annotation. * Some nits * MudProgress: Add nullable annotation. (MudBlazor#6993) * MudProgress: Add nullable annotation. * Use NumericConverter<double>.AreEqual * Implements MudBlazor#6988 (MudBlazor#6989) * Revert "MudHighlighter: Add Markup parameter to render Text using MarkupString" (MudBlazor#7004) This reverts commit 6499da0. * Docs: MudDatePicker - Added example for IsDateDisabledFunc and AdditionalDateClassesFunc (MudBlazor#6262) * Docs: MudDatePicker - Added example for IsDateDisabledFunc and AdditionalDateClassesFunc * Update DatePickerPage.razor Fixed the grammar to read "By setting the IsDateDisabledFunc parameter" * Update DatePickerPage.razor Correct minor typo --------- Co-authored-by: Raffaele Borrelli <[email protected]> Co-authored-by: Riley Nielsen <[email protected]> * MudNavLink: Adjusted line-height and alignment when in mini drawer (MudBlazor#5848) (MudBlazor#6958) * DocStrings: Handle base and derived class with same (MudBlazor#7016) * MudImage: Add nullable annotation. (MudBlazor#6997) * PopoverService: Move StateHasChanged from responsibility (MudBlazor#6998) * PopoverService: Move StateHasChanged from responsibility * MudSelect: Fix loss of focus to receive key strokes (MudBlazor#7023) * MudSelect: Fix focus lose to receive key strokes * Remove debug output * ColorPickerTests: Fix flaky test (MudBlazor#7025) * MudDialog: Add generic DialogParameters<T> (MudBlazor#7029) * DialogParameters: Add generic variant * PopoverService: Fix DisposeAsync deadlock on WPF/WinForm platforms (MudBlazor#7044) * Revert "Build: Fix build to 7.0.203 SDK until 7.0.302 SDK is fixed (MudBlazor#6915)" (MudBlazor#7052) This reverts commit 751011a. * Revert "Build: Workaround Fix for 7.0.302 SDK bug (MudBlazor#6872)" This reverts commit b8d8b71. * Build(deps): Bump Microsoft.NET.Test.Sdk from 17.6.0 to 17.6.2 in /src (MudBlazor#6999) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.0 to 17.6.2. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](microsoft/vstest@v17.6.0...v17.6.2) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump ReportGenerator from 5.1.21 to 5.1.22 in /src (MudBlazor#7000) Bumps [ReportGenerator](https://github.com/danielpalme/ReportGenerator) from 5.1.21 to 5.1.22. - [Release notes](https://github.com/danielpalme/ReportGenerator/releases) - [Commits](danielpalme/ReportGenerator@v5.1.21...v5.1.22) --- updated-dependencies: - dependency-name: ReportGenerator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Blazor-Analytics from 3.11.0 to 3.12.0 in /src (MudBlazor#7001) Bumps [Blazor-Analytics](https://github.com/isc30/blazor-analytics) from 3.11.0 to 3.12.0. - [Release notes](https://github.com/isc30/blazor-analytics/releases) - [Commits](isc30/blazor-analytics@v3.11.0...v3.12.0) --- updated-dependencies: - dependency-name: Blazor-Analytics dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump NUnit3TestAdapter from 4.4.2 to 4.5.0 in /src (MudBlazor#6969) Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter) from 4.4.2 to 4.5.0. - [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases) - [Commits](nunit/nunit3-vs-adapter@V4.4.2...V4.5.0) --- updated-dependencies: - dependency-name: NUnit3TestAdapter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudDataGrid: Add ability to completely use own IFilterDefinition (MudBlazor#7057) * MudDataGrid: Add ability to completely use own IFilterDefinition * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly in /src (MudBlazor#7043) Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 7.0.5 to 7.0.7. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.5...v7.0.7) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Docs: Add multiple Accept example to FileUpload. (MudBlazor#6890) * DataGrid: Allow resizing when overflowing with sticky columns (MudBlazor#6991) Co-authored-by: Yan Gauthier <[email protected]> * FileUploadTests: set culture to InvariantCulture to remove dependency on local system culture. (MudBlazor#7030) * MudDateRangePicker: Add support for `AdditionalDateClassesFunc` (MudBlazor#6202) (MudBlazor#6203) * SortDefinition: Fix build warning about missing nullable (MudBlazor#7067) * MudBlazor.Docs.Wasm: enable nullable (MudBlazor#7068) * MudRating: Add nullable annotation. (MudBlazor#7069) * MudStack: Add nullable annotation. (MudBlazor#7071) * MudSwipeArea: Add nullable annotation. (MudBlazor#7072) * ServiceCollectionExtensions: Fix registration with options (MudBlazor#7065) * ServiceCollectionExtensions: Fix registration * Remove ExcludeFromCodeCoverage from ServiceCollectionExtensions * Revert "Remove ExcludeFromCodeCoverage from ServiceCollectionExtensions" This reverts commit f166b30. * MudRTLProvider: Add nullable annotation. (MudBlazor#7073) * Docs: remove unused leftover in MudRTLProvider folder * MudContainer: Add nullable annotation. (MudBlazor#7075) * MudSlider: Add nullable annotation. (MudBlazor#7077) * MudDataGrid: Add Localization Capabilites (MudBlazor#7024) * MudDataGrid: Add Localization Capabilities --------- Co-authored-by: Artyom M <[email protected]> Co-authored-by: Meinrad Recheis <[email protected]> * DataGridServerMultiSelectionTest: use PropertyColumn instead (MudBlazor#7079) * MudCheckBox: Add nullable annotation. (MudBlazor#7082) * MudCheckBox: Add nullable annotation. * MudElement: Add nullable annotation. (MudBlazor#7083) * MudPaper: Add nullable annotation. (MudBlazor#7084) * MudHidden: Add nullable annotation. (MudBlazor#7087) * Palette: suppress obsolete warning in our code base (MudBlazor#7078) * MudSwitch: Add nullable annotation. (MudBlazor#7088) * EventUtil: nullable & XML comments (MudBlazor#7090) * ResizeListenerService & BreakpointService: Allow user defined breakpoints (MudBlazor#7074) * ResizeListenerService & BreakpointService: Allow user defined breakpoints * Add Clone extension, update comments * MudTimeline: Add nullable annotation (MudBlazor#7096) Co-authored-by: Artyom M <[email protected]> * MudTooltip: Add nullable annotation. (MudBlazor#7094) Co-authored-by: Artyom M <[email protected]> * MudToolBar: Add nullable annotation. (MudBlazor#7095) * MudThemeProvider: Add nullable annotation. (MudBlazor#7097) Co-authored-by: Artyom M <[email protected]> * Localization: fix net6.0 dependencies (MudBlazor#7104) * PopoverService: Clear all observers on DisposeAsync & nits (MudBlazor#7105) * MudForm: Remove child form from parent form on Dispose (MudBlazor#7086) * Removes child from from parent MudForm instance when it is disposed. Fixes MudBlazor#7066 --------- Signed-off-by: Jimit Ndiaye <[email protected]> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.Server (MudBlazor#7100) Bumps [Microsoft.AspNetCore.Components.WebAssembly.Server](https://github.com/dotnet/aspnetcore) from 7.0.5 to 7.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.5...v7.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Server dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly in /src (MudBlazor#7101) Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 7.0.7 to 7.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.7...v7.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer (MudBlazor#7103) Bumps [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/aspnetcore) from 7.0.5 to 7.0.8. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.5...v7.0.8) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.DevServer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudHighlighter: Add Markup parameter to render Text using HTML Markup (MudBlazor#7092) * implements MudBlazor#7091 * Localization: sync dependency versions (MudBlazor#7112) * MudSkeleton: Add nullable annotation. (MudBlazor#7113) * MudScrollToTop: Add nullable annotation. (MudBlazor#7114) * Move ScarletKuro to core team. (MudBlazor#7119) * MudPagination: Add nullable annotation. (MudBlazor#7124) * MudPageContentNavigation: Add nullable annotation. (MudBlazor#7125) * MudBreadcrumbs: Add nullable annotation. (MudBlazor#7126) * DateRangePicker: Add Parameter Clearable (MudBlazor#6430) * DateRangePickerClearable * Little Test * MudDatePicker: Fix ArgumentOutOfRangeException (MudBlazor#7120) (MudBlazor#7127) * Popover: Fix "Cannot read properties of null"(JS) (MudBlazor#7131) * DataGrid: Make FilterDefinition compatible with EF Core (MudBlazor#7109) Co-authored-by: Artyom M <[email protected]> * Themes: nullable & XML comments (MudBlazor#7089) * Themes: nullable & XML comments * add Obsolete * MudBaseButton: Add nullable annotation. (MudBlazor#7136) * MudMessageBox: Add nullable annotation. (MudBlazor#7137) * BrowserViewportSevice: Rework of IBreakpointService & IResizeService (MudBlazor#7098) * BrowserViewportSevice: Rework of IBreakpointService & IResizeService * Rename * MudCarousel: Add nullable annotation. (MudBlazor#7138) * ResizeService & BreakpointService: Obsolete (MudBlazor#7139) * mudResizeListener.js: Fix cancelListener (MudBlazor#7140) * Docs: Remove Warning on install (MudBlazor#7141) When I install MudBlazor.Templates, I see this message: 'Warning: use of 'dotnet new --install' is deprecated. Use 'dotnet new install' instead.' * Add SourceLink support (MudBlazor#7143) * ResizeService & BreakpointService: Fix Obsolete (MudBlazor#7147) * MudLayout: Add nullable annotation. (MudBlazor#7148) * MudRender: Add nullable annotation. (MudBlazor#7149) * SetHueSlider: fix flaky test (MudBlazor#7150) * Extensions: Add nullable annotation. (MudBlazor#7151) * MudSparkLine: Add nullable annotation. (MudBlazor#7152) * Build: fix Tests for 1.21.9 version (MudBlazor#7157) * Build(deps): Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 in /src (MudBlazor#7145) Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.6.2 to 17.6.3. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](microsoft/vstest@v17.6.2...v17.6.3) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudDataGrid: Fix flaky data grid test (MudBlazor#7160) * Docs: Fix copy-to-clipboard function for certain snippets (MudBlazor#7161) * MudForm/MudBaseInput: Fix swallowed user input on `FieldChanged` re-render (MudBlazor#7158) (MudBlazor#7159) * MudForm/MudBaseInput: Fix swalled user input on FieldChanged re-render (MudBlazor#7158) Fixes: MudBlazor#7158 * Add unit test to validate changes * Nuget package: Use PackageLicenseExpression instead of PackageLicenseFile (MudBlazor#7168) * MudDataGrid: Added the EditDialogOptions to inline MudDialog for the DataGridEditMode.Form (MudBlazor#7162) * MudDataGrid: Fix SingleSelection (MudBlazor#7021) Co-authored-by: Artyom M <[email protected]> * MudLink: Add nullable annotation. (MudBlazor#7175) * MudNavMenu: Add nullable annotation. (MudBlazor#7176) * MudFileUpload: Add AppendMultipleFiles property (MudBlazor#7027) * MudFileUpload: Changed how OnChange method stores files when T = IReadOnlyList. (MudBlazor#6699) * Changed returned value of FilesChanged from Files to _value * Add FileUploadAppendMultiple property. * Correct docs message. * Add unit test. --------- Co-authored-by: Riley Nielsen <[email protected]> * MudTabs: Fix flickering with initial ActivePanelIndex != 1 (MudBlazor#7058) Co-authored-by: Pecze Tamás <[email protected]> * DataGrid: Fix Select-all behaviour when filtered (MudBlazor#7142) (MudBlazor#7167) * MudDrawer: Add nullable annotation. (MudBlazor#7186) * TimePicker: Handle conversion error (MudBlazor#6947) Co-authored-by: Stefan Jetzer <[email protected]> * MudTable/MudDataGrid: ItemSize parameter for components using Virtualize (MudBlazor#7190) * add itemsize to mudvirtualize * add itemsize to mudtable * add itemsize muddatagrid * MudDebouncedInput: Fix swallowed user input on component re-render (MudBlazor#7193) (MudBlazor#7194) * MudDebouncedInput: Fix swalled user input on component re-render (MudBlazor#7193) Fixes: MudBlazor#7193 * Fix formatting * Suppress text update only when debounce is active Fixes a regression where a default `Value` for a debounced field would not set the `Text` property on initial render, even though the `Value` was successfully updated. * Add more tests * MudRangeInput: fix clearable button is misaligned (MudBlazor#7200) * MudDataGrid: Fix when nested property has same name (MudBlazor#7198) * Docs: Fix reference type issue on `DropZone` reorder save example (MudBlazor#7191) (MudBlazor#7209) * Build(deps): Bump ReportGenerator from 5.1.22 to 5.1.23 in /src (MudBlazor#7185) Bumps [ReportGenerator](https://github.com/danielpalme/ReportGenerator) from 5.1.22 to 5.1.23. - [Release notes](https://github.com/danielpalme/ReportGenerator/releases) - [Commits](danielpalme/ReportGenerator@v5.1.22...v5.1.23) --- updated-dependencies: - dependency-name: ReportGenerator dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump ColorCode.HTML from 2.0.14 to 2.0.15 in /src (MudBlazor#7218) Bumps [ColorCode.HTML](https://github.com/CommunityToolkit/ColorCode-Universal) from 2.0.14 to 2.0.15. - [Release notes](https://github.com/CommunityToolkit/ColorCode-Universal/releases) - [Commits](CommunityToolkit/ColorCode-Universal@v2.0.14...v2.0.15) --- updated-dependencies: - dependency-name: ColorCode.HTML dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Date/Time Pickers: Add DisableUnderline param like in MudTextField (MudBlazor#7226) * Fix issue_7070 (MudBlazor#7207) * Build(deps): Bump FluentValidation from 11.5.2 to 11.6.0 in /src (MudBlazor#7184) Bumps [FluentValidation](https://github.com/JeremySkinner/fluentvalidation) from 11.5.2 to 11.6.0. - [Release notes](https://github.com/JeremySkinner/fluentvalidation/releases) - [Changelog](https://github.com/FluentValidation/FluentValidation/blob/main/Changelog.txt) - [Commits](FluentValidation/FluentValidation@11.5.2...11.6.0) --- updated-dependencies: - dependency-name: FluentValidation dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer (MudBlazor#7217) Bumps [Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/aspnetcore) from 7.0.8 to 7.0.9. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.8...v7.0.9) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.DevServer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * MudMask: Fix Clearable with non-PatternMasks (MudBlazor#7238) (MudBlazor#7244) * MudMask: Fix `Clearable` not working as expected ..with different `Mask` implementations other than `PatternMask`. Fixes: MudBlazor#7238 * Tooltip: Fix arrow placement when using ChildContent (MudBlazor#7271) * Docs: Updated Sponsors (MudBlazor#7288) * Docs: Fixed content security policy for Carbon Ads (MudBlazor#7289) * Doc: Fix wrong z-index order in themeing doc ( MudBlazor#6707) (MudBlazor#7294) * Build(deps): Bump bunit from 1.21.9 to 1.22.19 in /src (MudBlazor#7279) Bumps [bunit](https://github.com/bUnit-dev/bUnit) from 1.21.9 to 1.22.19. - [Release notes](https://github.com/bUnit-dev/bUnit/releases) - [Changelog](https://github.com/bUnit-dev/bUnit/blob/main/CHANGELOG.md) - [Commits](bUnit-dev/bUnit@v1.21.9...v1.22.19) --- updated-dependencies: - dependency-name: bunit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * DataGridAdvancedExample.razor: Fix typo "gobally" (MudBlazor#7300) * MudColor: Change ToString default mode to RGBA (MudBlazor#7275, MudBlazor#7303) * MudDataGrid: Fix CurrentPage not working (MudBlazor#7267) (MudBlazor#7308) * MudDataGrid: New parameter "SelectOnRowClick" (MudBlazor#6547) * MudMenu: Add IsOpen property (MudBlazor#7266) (MudBlazor#7290) * MudTable: Add doc for default column sorting direction and allow unsorted (MudBlazor#7293) * MudFocusTrap: Add nullable annotation. (MudBlazor#7331) * Prerendering: Check if JSRuntime is available (MudBlazor#7333) * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly in /src (MudBlazor#7253) Bumps [Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore) from 7.0.8 to 7.0.9. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.8...v7.0.9) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Build(deps): Bump Microsoft.AspNetCore.Components.WebAssembly.Server (MudBlazor#7252) Bumps [Microsoft.AspNetCore.Components.WebAssembly.Server](https://github.com/dotnet/aspnetcore) from 7.0.8 to 7.0.9. - [Release notes](https://github.com/dotnet/aspnetcore/releases) - [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md) - [Commits](dotnet/aspnetcore@v7.0.8...v7.0.9) --- updated-dependencies: - dependency-name: Microsoft.AspNetCore.Components.WebAssembly.Server dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Optimization: Replace .Count() > 0 with .Any() (MudBlazor#6809) * Replace .Count() > 0 with .Any() * Use Count property instead of Count method --------- Co-authored-by: Brecht Debaere <[email protected]> * MudInputControl: Add nullable annotation. (MudBlazor#7340) * merge bugfix * Active tab toggling merge bugfix --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: Jimit Ndiaye <[email protected]> Co-authored-by: csombi <[email protected]> Co-authored-by: Artyom M <[email protected]> Co-authored-by: elodon <[email protected]> Co-authored-by: Sean O'Donnell <Sean.O'[email protected]> Co-authored-by: TDroogers <[email protected]> Co-authored-by: SinisterMaya <[email protected]> Co-authored-by: Yan Gauthier <[email protected]> Co-authored-by: Oriol Mesa <[email protected]> Co-authored-by: Mehmet Can Karagöz <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Robin <[email protected]> Co-authored-by: segfault- <[email protected]> Co-authored-by: segfault <[email protected]> Co-authored-by: Meinrad Recheis <[email protected]> Co-authored-by: Martin Arndt <[email protected]> Co-authored-by: TehGM <[email protected]> Co-authored-by: Derek Welton <[email protected]> Co-authored-by: Riley Nielsen <[email protected]> Co-authored-by: Riley Nielsen <[email protected]> Co-authored-by: bdebaere <[email protected]> Co-authored-by: Brecht Debaere <[email protected]> Co-authored-by: Wesley Ferrera <[email protected]> Co-authored-by: Benjamin Höglinger-Stelzer <[email protected]> Co-authored-by: ZephyrZiggurat <[email protected]> Co-authored-by: Mike Surcouf <[email protected]> Co-authored-by: sho <[email protected]> Co-authored-by: sho <[email protected]> Co-authored-by: Kumima <[email protected]> Co-authored-by: Vladimir Senchikhin <[email protected]> Co-authored-by: lostinmilkshake <[email protected]> Co-authored-by: Jing Ling <[email protected]> Co-authored-by: Łukasz Prajer <[email protected]> Co-authored-by: Tim Weidner <[email protected]> Co-authored-by: adgranger <[email protected]> Co-authored-by: Jason Rebelo <[email protected]> Co-authored-by: Benjamin Groseclose <[email protected]> Co-authored-by: Ben Groseclose <[email protected]> Co-authored-by: Davide Ferrari <[email protected]> Co-authored-by: Jeffrey Jangli <[email protected]> Co-authored-by: Raffaele Borrelli <[email protected]> Co-authored-by: Raffaele Borrelli <[email protected]> Co-authored-by: joe-gregory <[email protected]> Co-authored-by: Simon Schulze <[email protected]> Co-authored-by: Eric M <[email protected]> Co-authored-by: Meduris <[email protected]> Co-authored-by: Samuel Meenzen <[email protected]> Co-authored-by: Jimit Ndiaye <[email protected]> Co-authored-by: Dionysis Chasakis <[email protected]> Co-authored-by: Alfonso Martín Tapia <[email protected]> Co-authored-by: Barna Zoltán <[email protected]> Co-authored-by: Jakob Sorgeloos <[email protected]> Co-authored-by: Geccoka <[email protected]> Co-authored-by: Pecze Tamás <[email protected]> Co-authored-by: Richard Davies <[email protected]> Co-authored-by: Cerberus4444 <[email protected]> Co-authored-by: Stefan Jetzer <[email protected]> Co-authored-by: Marc Zwart <[email protected]> Co-authored-by: Mark Novak <[email protected]> Co-authored-by: DennisOstertag <[email protected]> Co-authored-by: o-khytrov <[email protected]> Co-authored-by: Jonny Larsson <[email protected]> Co-authored-by: AlessandroMartinelli <[email protected]> Co-authored-by: hybrid2102 <[email protected]> Co-authored-by: Ben <[email protected]> Co-authored-by: Alasdair Cooper <[email protected]> Co-authored-by: Drastamat Sargsyan <[email protected]> Co-authored-by: Martin Stoeckli <[email protected]>
* PopoverService: New design * IPopoverService: Rename SubscribeOnPopoverUpdate/UnsubscribeOnSubscribeOnPopoverUpdate to Subscribe/Unsubscribe * PopoverService: early exit in UpdatePopoverAsync * ObserverManager: Remove sync Notify * ObserverManager: Remove ILogger param name comment * IPopoverService: Rename CountProvidersAsync to GetProviderCountAsync * Rename MudPopoverState to MudPopoverHolder * ObserverManager: Add remark about defunc * Rename BackgroundTaskBase to BackgroundWorkerBase, add additional explanation in XML comments * Obsolete IMudPopoverService, MudPopoverService, MudPopoverHandler * Rename PopoverBase to MudPopoverBase * Add explanations to IMudPopoverHolder * Add comment to MudPopoverBase * ObserverManager: remove obvious xml comments
* PopoverService: New design * IPopoverService: Rename SubscribeOnPopoverUpdate/UnsubscribeOnSubscribeOnPopoverUpdate to Subscribe/Unsubscribe * PopoverService: early exit in UpdatePopoverAsync * ObserverManager: Remove sync Notify * ObserverManager: Remove ILogger param name comment * IPopoverService: Rename CountProvidersAsync to GetProviderCountAsync * Rename MudPopoverState to MudPopoverHolder * ObserverManager: Add remark about defunc * Rename BackgroundTaskBase to BackgroundWorkerBase, add additional explanation in XML comments * Obsolete IMudPopoverService, MudPopoverService, MudPopoverHandler * Rename PopoverBase to MudPopoverBase * Add explanations to IMudPopoverHolder * Add comment to MudPopoverBase * ObserverManager: remove obvious xml comments
Description
Fixes #6498
Now long read:
MudPopoverServiceimplementation and its related components, moving them to the "Service" folder. Additionally, I have split the classes into separate files. This separation allows us to maintain a cleaner codebase by avoiding the mixing of services and components, as they belong to different folders. Despite these changes, the namespace remains unchanged to ensure compatibility.By splitting the classes into separate files, we also gain the advantage of faster code navigation. It is generally recommended to split classes into separate files, except in cases where classes, interfaces, enums, etc., are nested within another class. This approach enhances code organization and makes it easier to locate and work with specific components.
ObserverManageras a replacement for the C#eventmechanism. This new class will play a significant role in v7, as I plan to leverage it extensively to handle events in an observer manner. This approach will allow us to eliminate the usage ofasync voidin many areas.The
ObserverManagerprovides a flexible and easily extensible solution. For instance, if we want to incorporate a timer that automatically unsubscribes inactive subscriptions, it can be implemented with just a few lines of code. While I haven't implemented this feature in the current codebase to avoid unnecessary complexity, it highlights the immense potential of theObserverManagerclass.It should be used only internally.
BatchPeriodicQueuewhich serves an important purpose in the newPopoverServiceimplementation. This queue allows us to add items to the queue and then receive periodic notifications at a specified time interval, containing all the items that were queued.While I'm not certain if this specific functionality will be applicable in other parts of the codebase, it plays a crucial role within the context of the
PopoverService. By utilizing theBatchPeriodicQueue, we can efficiently manage and process queued items in batches, improving performance.It should be used only internally.
MudPopoverServicepresents several challenges that can be deceptive at first glance. While the initial registration of aRenderFragmentmay seem simple, it quickly becomes complex due to the subsequent handling of theMudPopoverHandler, including the need to store it in the Popover component. Knowing when and where to call methods such asInitialize,SetComponentBaseParameters, andUpdateFragmentadds further confusion. Additionally, both the Popover component and theMudPopoverServiceutilize theMudPopoverHandler, making it unclear who bears which responsibilities. It is also crucial not to overlook the usage ofInitializeIfNeededon theMudPopoverService, adding another layer of complexity. The dependency onMudComponentBaseforSetComponentBaseParametersfurther complicates matters.However, with the introduction of the new
PopoverService, all these problems are eliminated. This revamped service automatically determines when initialization is required and assumes all necessary responsibilities. It offers three main methods:CreatePopoverAsync,UpdatePopoverAsync, andDestroyPopoverAsync, which provide a straightforward approach to managing popovers. The improved API naming also contributes to better clarity, as the old naming conventions proved confusing.Furthermore, the
PopoverServiceincorporates an interface calledIPopoverand a base class calledPopoverBaseto facilitate easy implementation of custom Popover components. This approach opens up possibilities for extending the interface and base class to incorporate new features, such as the proposed rendering queue mentioned in the discussion linked here: GitHub Issue #6498. In contrast, the previous approach would likely have required an API-breaking change.Overall, the new
PopoverServiceprovides a significantly improved alternative to the previous implementation. By leveraging interfaces and base classes, developers can create their own Popover components and seamlessly integrate them with thePopoverService. This updated design not only resolves existing issues but also allows for easy future enhancements without compromising compatibility.IPopoverService API
IPopoverObserver API
IPopover API
BatchPeriodicQueue API
IBatchTimerHandler API
ObserverManager API
How Has This Been Tested?
Unit test, new unit tests, visual testing
Types of changes
Checklist:
dev).