Skip to content
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

bindThis should check for undefined #2132

Closed
creage opened this issue Jun 10, 2021 · 1 comment
Closed

bindThis should check for undefined #2132

creage opened this issue Jun 10, 2021 · 1 comment
Labels

Comments

@creage
Copy link

creage commented Jun 10, 2021

Description

When creating a new Chart, the bindThis method should check if the key is defined and not null. Otherwise this line fails:

const hasChild = Object.keys(fn[key]).length > 0; // this fails if the 'fn[key]' is null or undefined

Safe way

const hasChild = fn[key] != null && Object.keys(fn[key]).length > 0;
@netil
Copy link
Member

netil commented Jun 11, 2021

Hi @creage, thanks for the report.
Would you like send PR(and its test case) for this?

@netil netil added the bug label Jun 11, 2021
netil pushed a commit that referenced this issue Jun 15, 2021
Chart APIs having null/undefined properties should not break the chart construction now

Ref #2132
Close #2134
@netil netil closed this as completed Jun 15, 2021
github-actions bot pushed a commit that referenced this issue Jun 25, 2021
# [3.1.0](3.0.3...3.1.0) (2021-06-25)

### Bug Fixes

* **axis:** Fix axis.x.padding value setting ([5b4b509](5b4b509)), closes [#2038](#2038)
* **axis:** fix handling x padding value ([489d47a](489d47a)), closes [#2038](#2038)
* **candlestick:** fix to set expand state ([a055b20](a055b20)), closes [#2036](#2036)
* **Chart:** Handle nullish properties from API extendings safely ([6cbf64a](6cbf64a)), closes [#2132](#2132) [#2134](#2134)
* **data:** Fix duplicated data.onclick call  ([b4c5dc2](b4c5dc2)), closes [#2104](#2104)
* **data:** Fix nullish data filtering for grouped data ([af19370](af19370)), closes [#2096](#2096)
* **gauge:** Fix incorrect rendering when gauge.min is given ([31fc981](31fc981)), closes [#2123](#2123)
* **point:** Fix custom point for nullish data ([8c198f2](8c198f2)), closes [#2107](#2107)
* **region:** fix region append position ([2b50443](2b50443)), closes [#2067](#2067)
* **size:** enhance applying height value ([0664a60](0664a60)), closes [#2086](#2086)
* **tooltip:** Correct the type of selectedData ([05b694d](05b694d)), closes [#2056](#2056) [#2058](#2058)
* **types:** fix missing candlestick export ([f218939](f218939)), closes [#2007](#2007)
* **types:** updated bar/candlestick options types ([d89c3f3](d89c3f3)), closes [#2043](#2043)
* **zoom:** Fix incorrect tooltip position ([689bfdf](689bfdf)), closes [#2095](#2095)
* **zoom,grid:** fix grid line pos during zoom ([e84a4f1](e84a4f1)), closes [#2156](#2156)

### Features

* **all:** contain inline css prop setting ([fde6a89](fde6a89)), closes [#2076](#2076)
* **api:** Intent to ship append load ([8076795](8076795)), closes [#2140](#2140)
* **data:** Intent to ship data.onshown/onhidden ([af98eb7](af98eb7)), closes [#2146](#2146)
* **data.labels:** Intent to ship data.labels.backgroundColors ([e0b2fed](e0b2fed)), closes [#1954](#1954)
* **subchart:** Intent to ship subchart.init.range option ([967bf1b](967bf1b)), closes [#2037](#2037)
* **subchart:** Intent to ship subchart.showHandle ([219bff3](219bff3)), closes [#2044](#2044)
netil pushed a commit that referenced this issue Jun 25, 2021
* **Chart:** Handle nullish properties from API extendings safely ([6cbf64a](6cbf64a)), closes [#2132](#2132) [#2134](#2134)
* **data:** Fix duplicated data.onclick call  ([b4c5dc2](b4c5dc2)), closes [#2104](#2104)
* **data:** Fix nullish data filtering for grouped data ([af19370](af19370)), closes [#2096](#2096)
* **gauge:** Fix incorrect rendering when gauge.min is given ([31fc981](31fc981)), closes [#2123](#2123)
* **point:** Fix custom point for nullish data ([8c198f2](8c198f2)), closes [#2107](#2107)
* **region:** fix region append position ([2b50443](2b50443)), closes [#2067](#2067)
* **size:** enhance applying height value ([0664a60](0664a60)), closes [#2086](#2086)
* **tooltip:** Correct the type of selectedData ([05b694d](05b694d)), closes [#2056](#2056) [#2058](#2058)
* **zoom:** Fix incorrect tooltip position ([689bfdf](689bfdf)), closes [#2095](#2095)
* **zoom,grid:** fix grid line pos during zoom ([e84a4f1](e84a4f1)), closes [#2156](#2156)

* **all:** contain inline css prop setting ([fde6a89](fde6a89)), closes [#2076](#2076)
* **api:** Intent to ship append load ([8076795](8076795)), closes [#2140](#2140)
* **data:** Intent to ship data.onshown/onhidden ([af98eb7](af98eb7)), closes [#2146](#2146)
* **data.labels:** Intent to ship data.labels.backgroundColors ([e0b2fed](e0b2fed)), closes [#1954](#1954)
* **subchart:** Intent to ship subchart.init.range option ([967bf1b](967bf1b)), closes [#2037](#2037)
* **subchart:** Intent to ship subchart.showHandle ([219bff3](219bff3)), closes [#2044](#2044)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants