* perf: avoid memory leak #1834
Avoid memory leak by remove the exclusive parameter and logic in the code block on AddEventListener method in DomEventService class.
The following are the components affected:
components/affix/Affix.razor.cs
components/anchor/Anchor.razor.cs
components/carousel/Carousel.razor.cs
components/core/Component/Overlay/Overlay.razor.cs
components/core/Component/Overlay/OverlayTrigger.razor.cs
components/core/JsInterop/DomEventService.cs
components/descriptions/Descriptions.razor.cs
components/dropdown/DropdownButton.cs
components/grid/Row.razor.cs
components/input/Input.cs
components/input/TextArea.razor.cs
components/layout/Sider.razor.cs
components/list/ListItem.razor.cs
components/select/Select.razor.cs
components/select/internal/SelectContent.razor.cs
components/slider/Slider.razor.cs
components/table/Table.razor.cs
components/tabs/Tabs.razor.cs
* fix override AddEventListener method in AntDesign.TestKit project
* add register/remove event listerner for exclusive use in DomEventService class
* move _dotNetObjects to DomEventListerner class/service, so that users not required to maintain it in each component.
* * move share/reuse dom event listerner methods to DomEventListerner class
* remove method 'AddEventListener' that no longer exists in DomEventService class in AntDesign.TestKit project
* * change the component referring to an IDomEventListerner interface instead of a concrete class,
so that the component can be tested via a mock TestDomEventListerner.
* introduce DisposeShared and Dispose method in DomEventListerner to ease user remove callback from DomEventListerner
* register IDomEventListerner into DI container instead of create manually
* fix FormatKey
* fix FormatKey
* fix tests
* fix test
* fix test
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* feat(module:overlay): OverlayTrigger not bound to a div
* feat(module:overlay): OverlayTrigger not bound to a div
* feat(module:overlay): Logic transfer to single Overlay
* feat(module:overlay): remove obsolete duplication
* feat(module:Tooltip): Add for unbounded oncontextmenu event handler
* feat(module:tooltip): unbound js event listeners remove
* docs(module:tooltip): unbound explanation
* fix(module:button): attach Ref to top level html element @ref
* feat(module:dropdown&tooltip&popconfirm&popover): Overlay not bound to a div
* docs(module:dropdown&tooltip&popconfirm&popover): unbound explanation
* feat(module:OverlayTrigger): common logic relocation
* feat(module:overlaytrigger): Overlay not bound to a div
* feat(module:DatePicker): Overlay not bound to a div
* feat(module:select): Overlay not boud to div
* fix(module:select): onclickarrow event relocation
* fix(module:select): rename Show to OnArrowClick
* feat(module:avatar): Overlay not bound to a div
* docs(module:avatar): demo switch to unbound version
* feat(module:autocomplete): partial OverlayTrigger not bound to a div
* feat(module:slider): tooltip
* docs(module:slider): tooltip
* fix(module:overlay): add SetVisible method
* feat: set Ref where missing, performance
components register Ref when missing
IsFixed flag for CascadeValue changed
hard-code sequence numbers when using RenderTreeBuilder
Rate component use Tooltip Unbound version
Tabs test fix
* fix: revert changes (accidental)
* feat(module:upload): tooltip with unbound usage
* feat(module:table): column use of unbound tooltip
* feat(module:autocomplete):overlay unbound from div
* fix(module:upload): missing div restore
Co-authored-by: James Yeung <shunjiey@hotmail.com>