Skip to content

Commit c2dd48b

Browse files
authored
Merge branch 'dev' into api-exposure-callbacks
2 parents 90cf329 + fca6388 commit c2dd48b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+6398
-9043
lines changed

.circleci/config.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,17 @@ jobs:
163163
- run:
164164
name: npm prereqs
165165
command: |
166+
nvm use 18
166167
npm ci
167168
cd dash/dash-renderer && npm i && cd ../../
168169
cd components/dash-html-components && npm i && npm run extract && cd ../../
169170
- run:
170171
name: ️️🏗️ build dash
171172
command: |
173+
nvm use 18
172174
. venv/Scripts/activate
173-
npm run private::build.jupyterlab && npm run private::build.renderer && python dash/development/update_components.py 'dash-html-components'
175+
npm run private::build.jupyterlab && npm run private::build.renderer
176+
cd components/dash-html-components && npm run build
174177
no_output_timeout: 30m
175178

176179
test-312: &test

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,27 @@ This project adheres to [Semantic Versioning](https://semver.org/).
44

55
## [UNRELEASED]
66

7+
## Added
8+
- [#3395](https://github.com/plotly/dash/pull/3396) Add position argument to hooks.devtool
9+
10+
## Fixed
11+
- [#3395](https://github.com/plotly/dash/pull/3395) Fix Components added through set_props() cannot trigger related callback functions. Fix [#3316](https://github.com/plotly/dash/issues/3316)
12+
- [#3397](https://github.com/plotly/dash/pull/3397) Add optional callbacks, suppressing callback warning for missing component ids for a single callback.
13+
14+
## [3.2.0] - 2025-07-31
15+
16+
## Added
17+
- [#3369](https://github.com/plotly/dash/pull/3369) Expose `dash.NoUpdate` type
18+
- [#3371](https://github.com/plotly/dash/pull/3371) Add devtool hook to add components to the devtool bar ui.
19+
720
## Fixed
821
- [#3353](https://github.com/plotly/dash/pull/3353) Support pattern-matching/dict ids in `dcc.Loading` `target_components`
22+
- [#3371](https://github.com/plotly/dash/pull/3371) Fix allow_optional triggering a warning for not found input.
23+
- [#3379](https://github.com/plotly/dash/pull/3379) Fix dcc.Graph backward compatibility with dash 2.0 for ddk.Graph
24+
- [#3373](https://github.com/plotly/dash/pull/3373) Fix layout as list and persistence.
925

26+
# Changed
27+
- [#3365](https://github.com/plotly/dash/pull/3365) Warn if dcc.Slider has more than 500 marks and use default instead.
1028

1129
# [3.1.1] - 2025-06-29
1230

components/dash-core-components/package-lock.json

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

components/dash-core-components/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "dash-core-components",
3-
"version": "3.1.0",
3+
"version": "3.2.0",
44
"description": "Core component suite for Dash",
55
"repository": {
66
"type": "git",
@@ -63,11 +63,11 @@
6363
"uniqid": "^5.4.0"
6464
},
6565
"devDependencies": {
66-
"@babel/cli": "^7.27.2",
67-
"@babel/core": "^7.27.4",
68-
"@babel/eslint-parser": "^7.27.5",
66+
"@babel/cli": "^7.28.0",
67+
"@babel/core": "^7.28.0",
68+
"@babel/eslint-parser": "^7.28.0",
6969
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
70-
"@babel/preset-env": "^7.27.2",
70+
"@babel/preset-env": "^7.28.0",
7171
"@babel/preset-react": "^7.27.1",
7272
"@plotly/dash-component-plugins": "^1.2.3",
7373
"@plotly/webpack-dash-dynamic-import": "^1.3.0",
@@ -85,8 +85,8 @@
8585
"react-jsx-parser": "1.21.0",
8686
"rimraf": "^5.0.5",
8787
"style-loader": "^3.3.3",
88-
"styled-jsx": "^3.4.4",
89-
"webpack": "^5.99.9",
88+
"styled-jsx": "^5.1.7",
89+
"webpack": "^5.101.0",
9090
"webpack-cli": "^5.1.4"
9191
},
9292
"optionalDependencies": {

components/dash-core-components/src/fragments/Graph.react.js

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ import {
1313
import PropTypes from 'prop-types';
1414
import {graphPropTypes, graphDefaultProps} from '../components/Graph.react';
1515

16-
import LoadingElement from '../utils/LoadingElement';
17-
1816
/* global Plotly:true */
1917

2018
import ResizeDetector from '../utils/ResizeDetector';
19+
import LoadingElement from '../utils/LoadingElement';
2120

2221
/**
2322
* `autosize: true` causes Plotly.js to conform to the parent element size.
@@ -537,23 +536,46 @@ class PlotlyGraph extends Component {
537536
}
538537

539538
render() {
540-
const {className, id} = this.props;
539+
const {className, id, loading_state} = this.props;
541540
const style = this.getStyle();
542541

542+
if (window.dash_component_api) {
543+
return (
544+
<LoadingElement
545+
id={id}
546+
key={id}
547+
className={className}
548+
style={style}
549+
ref={this.parentElement}
550+
>
551+
<ResizeDetector
552+
onResize={this.graphResize}
553+
targets={[this.parentElement, this.gd]}
554+
/>
555+
<div
556+
ref={this.gd}
557+
style={{height: '100%', width: '100%'}}
558+
/>
559+
</LoadingElement>
560+
);
561+
}
543562
return (
544-
<LoadingElement
563+
<div
545564
id={id}
546565
key={id}
547566
className={className}
548567
style={style}
549568
ref={this.parentElement}
569+
data-dash-is-loading={
570+
(loading_state && loading_state.is_loading) || undefined
571+
}
550572
>
551573
<ResizeDetector
552574
onResize={this.graphResize}
553575
targets={[this.parentElement, this.gd]}
554576
/>
555577
<div ref={this.gd} style={{height: '100%', width: '100%'}} />
556-
</LoadingElement>
578+
</div>
557579
);
558580
}
559581
}

0 commit comments

Comments
 (0)