Commit Graph

14 Commits

Author SHA1 Message Date
James Yeung
d739167f94
fix(module: table): null exception cause by event listener (#2448) 2022-05-15 12:45:43 +08:00
Tony Yip
4b04f09832 perf: avoid memory leak issue of event listener (#1857)
* 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>
2021-09-09 12:56:11 +08:00
Simon Cropp
b067385d79 chore: remove redundant semi-colons (#1812)
Co-authored-by: James Yeung <shunjiey@hotmail.com>
2021-08-13 23:26:58 +08:00
James Yeung
d4cbc6d4e0 feat: add element component (#1378)
* refactor: rename `HtmlElement` property case

* rename the directory name for overlay

* add element component
2021-04-17 22:14:01 +08:00
James Yeung
d2e9c4b247 feat(module: config-provider): support RTL (#1238)
* feat(module: config-provider): support RTL

* add rtl for each component

* fix rtl for pagination

* add rtl for overlay
2021-03-31 19:23:26 +08:00
Andrzej Bakun
152a574577 feat(module: overlay): OverlayTrigger not bound to a div (#937)
* 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>
2021-01-21 17:20:10 +08:00
dblleaf
ab9d0be1f0 fix(module: carousel): left/right dot position and dynamically slick rendering (#918)
* Issue#915,and fix the issue that can not render correctly when change carousel DotPosition

* Resolve exception exception of server side when refresh the browser.

* Fix Fade style.
2020-12-26 22:04:00 +08:00
James Yeung
360fe0d3c0 fix(hosting): server prerendering issue (#583)
* refactor: rename JSInterop constants

* docs: fix typo

* fix: server prerendering issue
2020-09-09 00:52:14 +08:00
James Yeung
56ab40ba2c fix(module: carousel): make carousel responsive (#558) 2020-09-01 13:49:31 +08:00
Dragos Morar
e713b6e9c1 feat(module: carousel): add slick navigation methods (#461) (#462)
* feat(module:carousel): add new methods (#461)

* feat(module:carousel): add demo (#461)

Co-authored-by: James Yeung <shunjiey@hotmail.com>
2020-08-06 13:45:42 +08:00
Zhiyuan Zheng
5a7a5d7ac6 docs(button): use Task.Delay instead Thread.Sleep (#439)
**Problem:**
According to the current implementation of Blazor(dotnet/aspnetcore#16213 (comment)), it runs in single-thread mode. Thus the call to `System.Threading.Thread.Sleep` will block the UI thread as well. It means when clicking the button, the UI freezes.
For example, in button component, the UI will freeze of 500ms. It's a relatively small time, however Chrome do give a warning to this:
*[Violation] 'setTimeout' handler took 500ms*
**Changes:**
Use `Task.Delay` which is a kind of built-in timer from dotnet. It won't block the UI thread.

Co-authored-by: James Yeung <shunjiey@hotmail.com>
2020-07-31 01:12:54 +08:00
LI ZICHAO
71bac2e85d fix: children components dispose (#399)
* Children components using CascadingParameter add itself to parent component.However, when children components disposed, they are not remove from parent component. For example, when items in checkgroup have changed , it may causes Index was outside the bounds of the array at AntDesign.CheckboxGroup.OnCheckboxChange.To fix these bug, Adding remove function in dispose process is the solution of this commit.

* fix: some exception

Co-authored-by: ElderJames <shunjiey@hotmail.com>
2020-07-21 23:48:43 +08:00
Brian Ding
0ab1859037 feat(module: carousel): scroll vertically for Left/Right DotPosition (#216) 2020-06-11 23:24:58 +08:00
Henry.zhang
73c405d70d refactor: add grid and carousel demo (#187)
* refactor: carousel demo

* fix: remove the ItemGroup from doc projects

* refactor: grid deom

* fix: remove itemgroup from project file antdesign.docs.csproject

* refactor: remove ant prefix

Co-authored-by: ElderJames <shunjiey@hotmail.com>
2020-06-07 00:20:28 +08:00