-
-
Notifications
You must be signed in to change notification settings - Fork 999
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add stop propogation #1917
Add stop propogation #1917
Conversation
Test please @ElderJames |
Codecov Report
@@ Coverage Diff @@
## master #1917 +/- ##
==========================================
+ Coverage 23.05% 23.93% +0.88%
==========================================
Files 482 499 +17
Lines 31414 23418 -7996
Branches 0 129 +129
==========================================
- Hits 7242 5605 -1637
+ Misses 24172 17810 -6362
- Partials 0 3 +3
Continue to review full report at Codecov.
|
Thanks @Hona ,I don't quite understand what problem this is solving? |
When propagation is normal it will send the event to all parent components causing quite a bit of lag. See related #1283 |
What I don't understand is why only these two events were stopped? |
OnChange runs alot: (when there is no debounce, it will happen on every key press, or every X ms depending on the value). On Blazor Server applications this is very visible |
* fix(module: form): remove `FormItem` from `Form` when it was disposed (#1901) * pref(module: table): put fixed column style into js (#1897) * pref(module: table): put fixed column style into js * fix resize listener * docs: Add building demo assets to the Readme (#1904) * feat(module: table): add `CellData` for `CellRender` (#1907) * docs: add dynamic table demo (#1908) * feat(module: table): add dynamic data demo * add scroll x * fix(module: select): value no longer reset on datasource set (#1906) * fix(module:select): value no longer reset on datasource set * fix(module:select): dataSource change detection * fix: improve datasource detection add item & set value in SelectOption * tests: scenario from issue #1207 * fix: DataSourceEqualityComparer default * docs: Fixed typo (#1915) * fix(module: input): Add stop propagation (#1917) * docs(module: select): update coordinate demo (#1914) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: textarea): add rows parameter (#1920) doc: adjust to match antD tests: sizing tests * test(module: select): Add some unit tests for Select (#1891) * Add Select clear tests * Add Select DataSource to null test * Change the implement of Throw tests * Change int to int? * fix(module: button): loading icon styles (#1902) * Fix loading icon styles * Fix button render test * feat(module: InputNumber): Add inputmode for mobile keyboard (#1923) * 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> * fix(module: textarea): replace wrong event (#1927) * tests(module: textarea): include js function mock to avoid bunit exceptions (#1930) * perf(module: overlay): positioning moved to js (#1848) * fix(module:overlay): move postion calculation to js fixes #1836 * docs: TriggerBoundaryAdjustMode explanation * docs: select & datepicker got BoundaryAdjustmetMode cleanup * test: fixes optimization & cleanup * fix(module:overlay): recalculate overlay position when trigger resizes * Minor clean-up * fix(module:overlay): wait for Show to finish in Hide * fix: prevent vertical scrollbar on overlay adding * fix: extract waiting function * fix: overlay not to repostion when trigger vanishes (menu issue) * fix: scroll adjustment for position: fixed * fix: on menu mode change, keep * merge conflict fix * fix: nominal calculation reset on failed adjustment * fix: bugs * test: exclude log method from test coverage in overlay.ts * fix(module: table): It would be load twice at first time if pagesize is not 10 (#1933) * fix(module: menu): collapsed menu title can't hide while use router link (#1934) * fix(module: select): fix data source of type IEnumerable<object> (#1932) * fix(module:select): fix data source of type IEnumerable<object> * Update Select.razor.cs * Update Select.OnDataSourceChangeTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: InputNumber): Add OnFocus event (#1931) * Add on textbox focus * Adjust naming Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: list): resposive style doesn't work (#1937) * docs: Update index.zh-CN.md (#1936) Update document ConfigProvider global configuration example code Co-authored-by: James Yeung <shunjiey@hotmail.com> * change log 0.9.4 (#1938) * chore: test cs project to include test runner adapter (#1939) test: add general overlay disposal method mock Co-authored-by: Alan.Liu <lxyruanjian@126.com> Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: rabberbock <rabberbock@gmail.com> Co-authored-by: Andrzej Bakun <anddrzejb@poczta.fm> Co-authored-by: Chandan Rauniyar <chandankkrr@gmail.com> Co-authored-by: Luke Parker [SSW] <10430890+Hona@users.noreply.github.com> Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Tony Yip <tonyyip1969@gmail.com> Co-authored-by: SmRiley <45205313+SmRiley@users.noreply.github.com>
* fix(module: form): remove `FormItem` from `Form` when it was disposed (#1901) * pref(module: table): put fixed column style into js (#1897) * pref(module: table): put fixed column style into js * fix resize listener * docs: Add building demo assets to the Readme (#1904) * feat(module: table): add `CellData` for `CellRender` (#1907) * docs: add dynamic table demo (#1908) * feat(module: table): add dynamic data demo * add scroll x * fix(module: select): value no longer reset on datasource set (#1906) * fix(module:select): value no longer reset on datasource set * fix(module:select): dataSource change detection * fix: improve datasource detection add item & set value in SelectOption * tests: scenario from issue #1207 * fix: DataSourceEqualityComparer default * docs: Fixed typo (#1915) * fix(module: input): Add stop propagation (#1917) * docs(module: select): update coordinate demo (#1914) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: textarea): add rows parameter (#1920) doc: adjust to match antD tests: sizing tests * test(module: select): Add some unit tests for Select (#1891) * Add Select clear tests * Add Select DataSource to null test * Change the implement of Throw tests * Change int to int? * fix(module: button): loading icon styles (#1902) * Fix loading icon styles * Fix button render test * feat(module: InputNumber): Add inputmode for mobile keyboard (#1923) * 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> * fix(module: textarea): replace wrong event (#1927) * tests(module: textarea): include js function mock to avoid bunit exceptions (#1930) * perf(module: overlay): positioning moved to js (#1848) * fix(module:overlay): move postion calculation to js fixes #1836 * docs: TriggerBoundaryAdjustMode explanation * docs: select & datepicker got BoundaryAdjustmetMode cleanup * test: fixes optimization & cleanup * fix(module:overlay): recalculate overlay position when trigger resizes * Minor clean-up * fix(module:overlay): wait for Show to finish in Hide * fix: prevent vertical scrollbar on overlay adding * fix: extract waiting function * fix: overlay not to repostion when trigger vanishes (menu issue) * fix: scroll adjustment for position: fixed * fix: on menu mode change, keep * merge conflict fix * fix: nominal calculation reset on failed adjustment * fix: bugs * test: exclude log method from test coverage in overlay.ts * fix(module: table): It would be load twice at first time if pagesize is not 10 (#1933) * fix(module: menu): collapsed menu title can't hide while use router link (#1934) * fix(module: select): fix data source of type IEnumerable<object> (#1932) * fix(module:select): fix data source of type IEnumerable<object> * Update Select.razor.cs * Update Select.OnDataSourceChangeTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: InputNumber): Add OnFocus event (#1931) * Add on textbox focus * Adjust naming Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: list): resposive style doesn't work (#1937) * docs: Update index.zh-CN.md (#1936) Update document ConfigProvider global configuration example code Co-authored-by: James Yeung <shunjiey@hotmail.com> * change log 0.9.4 (#1938) * chore: test cs project to include test runner adapter (#1939) test: add general overlay disposal method mock Co-authored-by: Alan.Liu <lxyruanjian@126.com> Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: rabberbock <rabberbock@gmail.com> Co-authored-by: Andrzej Bakun <anddrzejb@poczta.fm> Co-authored-by: Chandan Rauniyar <chandankkrr@gmail.com> Co-authored-by: Luke Parker [SSW] <10430890+Hona@users.noreply.github.com> Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Tony Yip <tonyyip1969@gmail.com> Co-authored-by: SmRiley <45205313+SmRiley@users.noreply.github.com>
* fix(module: form): remove `FormItem` from `Form` when it was disposed (#1901) * pref(module: table): put fixed column style into js (#1897) * pref(module: table): put fixed column style into js * fix resize listener * docs: Add building demo assets to the Readme (#1904) * feat(module: table): add `CellData` for `CellRender` (#1907) * docs: add dynamic table demo (#1908) * feat(module: table): add dynamic data demo * add scroll x * fix(module: select): value no longer reset on datasource set (#1906) * fix(module:select): value no longer reset on datasource set * fix(module:select): dataSource change detection * fix: improve datasource detection add item & set value in SelectOption * tests: scenario from issue #1207 * fix: DataSourceEqualityComparer default * docs: Fixed typo (#1915) * fix(module: input): Add stop propagation (#1917) * docs(module: select): update coordinate demo (#1914) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: textarea): add rows parameter (#1920) doc: adjust to match antD tests: sizing tests * test(module: select): Add some unit tests for Select (#1891) * Add Select clear tests * Add Select DataSource to null test * Change the implement of Throw tests * Change int to int? * fix(module: button): loading icon styles (#1902) * Fix loading icon styles * Fix button render test * feat(module: InputNumber): Add inputmode for mobile keyboard (#1923) * 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> * fix(module: textarea): replace wrong event (#1927) * tests(module: textarea): include js function mock to avoid bunit exceptions (#1930) * perf(module: overlay): positioning moved to js (#1848) * fix(module:overlay): move postion calculation to js fixes #1836 * docs: TriggerBoundaryAdjustMode explanation * docs: select & datepicker got BoundaryAdjustmetMode cleanup * test: fixes optimization & cleanup * fix(module:overlay): recalculate overlay position when trigger resizes * Minor clean-up * fix(module:overlay): wait for Show to finish in Hide * fix: prevent vertical scrollbar on overlay adding * fix: extract waiting function * fix: overlay not to repostion when trigger vanishes (menu issue) * fix: scroll adjustment for position: fixed * fix: on menu mode change, keep * merge conflict fix * fix: nominal calculation reset on failed adjustment * fix: bugs * test: exclude log method from test coverage in overlay.ts * fix(module: table): It would be load twice at first time if pagesize is not 10 (#1933) * fix(module: menu): collapsed menu title can't hide while use router link (#1934) * fix(module: select): fix data source of type IEnumerable<object> (#1932) * fix(module:select): fix data source of type IEnumerable<object> * Update Select.razor.cs * Update Select.OnDataSourceChangeTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: InputNumber): Add OnFocus event (#1931) * Add on textbox focus * Adjust naming Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: list): resposive style doesn't work (#1937) * docs: Update index.zh-CN.md (#1936) Update document ConfigProvider global configuration example code Co-authored-by: James Yeung <shunjiey@hotmail.com> * change log 0.9.4 (#1938) * chore: test cs project to include test runner adapter (#1939) test: add general overlay disposal method mock Co-authored-by: Alan.Liu <lxyruanjian@126.com> Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: rabberbock <rabberbock@gmail.com> Co-authored-by: Andrzej Bakun <anddrzejb@poczta.fm> Co-authored-by: Chandan Rauniyar <chandankkrr@gmail.com> Co-authored-by: Luke Parker [SSW] <10430890+Hona@users.noreply.github.com> Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Tony Yip <tonyyip1969@gmail.com> Co-authored-by: SmRiley <45205313+SmRiley@users.noreply.github.com>
* fix(module: form): remove `FormItem` from `Form` when it was disposed (#1901) * pref(module: table): put fixed column style into js (#1897) * pref(module: table): put fixed column style into js * fix resize listener * docs: Add building demo assets to the Readme (#1904) * feat(module: table): add `CellData` for `CellRender` (#1907) * docs: add dynamic table demo (#1908) * feat(module: table): add dynamic data demo * add scroll x * fix(module: select): value no longer reset on datasource set (#1906) * fix(module:select): value no longer reset on datasource set * fix(module:select): dataSource change detection * fix: improve datasource detection add item & set value in SelectOption * tests: scenario from issue #1207 * fix: DataSourceEqualityComparer default * docs: Fixed typo (#1915) * fix(module: input): Add stop propagation (#1917) * docs(module: select): update coordinate demo (#1914) Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: textarea): add rows parameter (#1920) doc: adjust to match antD tests: sizing tests * test(module: select): Add some unit tests for Select (#1891) * Add Select clear tests * Add Select DataSource to null test * Change the implement of Throw tests * Change int to int? * fix(module: button): loading icon styles (#1902) * Fix loading icon styles * Fix button render test * feat(module: InputNumber): Add inputmode for mobile keyboard (#1923) * 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> * fix(module: textarea): replace wrong event (#1927) * tests(module: textarea): include js function mock to avoid bunit exceptions (#1930) * perf(module: overlay): positioning moved to js (#1848) * fix(module:overlay): move postion calculation to js fixes #1836 * docs: TriggerBoundaryAdjustMode explanation * docs: select & datepicker got BoundaryAdjustmetMode cleanup * test: fixes optimization & cleanup * fix(module:overlay): recalculate overlay position when trigger resizes * Minor clean-up * fix(module:overlay): wait for Show to finish in Hide * fix: prevent vertical scrollbar on overlay adding * fix: extract waiting function * fix: overlay not to repostion when trigger vanishes (menu issue) * fix: scroll adjustment for position: fixed * fix: on menu mode change, keep * merge conflict fix * fix: nominal calculation reset on failed adjustment * fix: bugs * test: exclude log method from test coverage in overlay.ts * fix(module: table): It would be load twice at first time if pagesize is not 10 (#1933) * fix(module: menu): collapsed menu title can't hide while use router link (#1934) * fix(module: select): fix data source of type IEnumerable<object> (#1932) * fix(module:select): fix data source of type IEnumerable<object> * Update Select.razor.cs * Update Select.OnDataSourceChangeTests.razor Co-authored-by: James Yeung <shunjiey@hotmail.com> * feat(module: InputNumber): Add OnFocus event (#1931) * Add on textbox focus * Adjust naming Co-authored-by: James Yeung <shunjiey@hotmail.com> * fix(module: list): resposive style doesn't work (#1937) * docs: Update index.zh-CN.md (#1936) Update document ConfigProvider global configuration example code Co-authored-by: James Yeung <shunjiey@hotmail.com> * change log 0.9.4 (#1938) * chore: test cs project to include test runner adapter (#1939) test: add general overlay disposal method mock Co-authored-by: Alan.Liu <lxyruanjian@126.com> Co-authored-by: James Yeung <shunjiey@hotmail.com> Co-authored-by: rabberbock <rabberbock@gmail.com> Co-authored-by: Andrzej Bakun <anddrzejb@poczta.fm> Co-authored-by: Chandan Rauniyar <chandankkrr@gmail.com> Co-authored-by: Luke Parker [SSW] <10430890+Hona@users.noreply.github.com> Co-authored-by: SmallY <45689960+iamSmallY@users.noreply.github.com> Co-authored-by: Maksim <maksalmak@gmail.com> Co-authored-by: Tony Yip <tonyyip1969@gmail.com> Co-authored-by: SmRiley <45205313+SmRiley@users.noreply.github.com>
🤔 This is a ...
🔗 Related issue link
N/A
💡 Background and solution
Events propogating cause many UI refreshes, and general lag - especially in forms/modals
☑️ Self Check before Merge