* 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>
* fix(module:select) MaxTagCount behaves property for non-responsive scenarios
docs: added XML comments
fixed order in English docs
redid Chinese docs (missing translations)
test: add scenario for MaxTagCount when non-responsive
* merge with changes coming from feature branch
* docs: example of MaxTagCount change
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* feat: use ResizeObserver Api instead of window.resize
* fix(module:select): fall back to window.resize in IE11.
* fix(module:domEventService): switch from IsIE11 to IsResizeObserverSupported
* fix: Console.WriteLine removed
Co-authored-by: James Yeung <shunjiey@hotmail.com>
* feat(module:select): allow overlay to match item width
* fix(module:select): resize selectbox on window resize
* docs(module:select): add new parameters
* fix(module:select): add DropdownMatchSelectWidth & DropdownMaxWidth
* fix(module:select): apply same layout as antD
apply same behavior as antD for backspace
split code to default/multiple&tags
always focus on input for search-able
handle overflow & ellipsis for to long items
rendering optimization for SelectContent
* fix(module:select): backspace functionality limit
* fix(module:select): new tag item label and value fix
* fix: interop firefox "Permission Denied" fix
* fix(module:select): prefixIcon styling and positioning
* 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>