Skip to content

Commit 52c1cbf

Browse files
author
Oliver Flasch
committed
Hackfest to emit window resize events everytime div sizes change (sidebar toggles, route conditional panels, etc.) to cause Plotly to re-render its graphs.
1 parent 94b0da8 commit 52c1cbf

File tree

6 files changed

+15
-7
lines changed

6 files changed

+15
-7
lines changed

dash_coreui_components/dash_coreui_components.dev.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dash_coreui_components/dash_coreui_components.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/appasidetoggler.react.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ class appasidetoggler extends Component {
8282
asideToggle(e) {
8383
e.preventDefault();
8484
this.toggle()
85+
// TODO HACK: Create a synthetic window resize event to cause Plotly graphs to re-render after the transition finishes.
86+
window.setTimeout(() => window.dispatchEvent(new Event('resize')), 150);
8587
}
8688

8789
render() {

src/lib/components/approuteconditional.react.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ class approuteconditional extends Component {
4949
const listener = () => {
5050
return () => {
5151
this.forceUpdate(); // force render()
52+
// TODO HACK: Create a synthetic window resize event to cause Plotly graphs to re-render.
53+
window.dispatchEvent(new Event('resize'));
5254
};
5355
};
5456
window.addEventListener('onpopstate', listener());

src/lib/components/appsidebarminimizer.react.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ class appsidebarminimizer extends Component {
7474
handleClick(e) {
7575
this.sidebarMinimize(e)
7676
this.brandMinimize(e)
77+
// TODO HACK: Create a synthetic window resize event to cause Plotly graphs to re-render after the transition finishes.
78+
window.setTimeout(() => window.dispatchEvent(new Event('resize')), 150);
7779
}
7880

7981
render() {

src/lib/components/appsidebartoggler.react.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ class appsidebartoggler extends Component {
6161
sidebarToggle(e) {
6262
e.preventDefault();
6363
this.toggle();
64+
// TODO HACK: Create a synthetic window resize event to cause Plotly graphs to re-render after the transition finishes.
65+
window.setTimeout(() => window.dispatchEvent(new Event('resize')), 150);
6466
}
6567

6668
toggle(force) {

0 commit comments

Comments
 (0)