Skip to content
This repository was archived by the owner on Jun 3, 2024. It is now read-only.

Commit 19b8369

Browse files
committed
Rebase and re-:package:
2 parents 2b7414d + ce61269 commit 19b8369

38 files changed

+1329
-284
lines changed

.circleci/config.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ jobs:
1919
command: echo $CIRCLE_JOB > circlejob.txt
2020

2121
- restore_cache:
22-
key: deps1-{{ .Branch }}-{{ checksum "requirements-dev.txt" }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json" }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "circlejob.txt" }}
22+
key: deps1-{{ .Branch }}-{{ checksum "dev-requirements.txt" }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json" }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "circlejob.txt" }}
2323

2424
- run:
2525
name: Install dependencies
2626
command: |
2727
sudo pip install virtualenv --upgrade
2828
. venv/bin/activate
29-
pip install -r requirements-dev.txt
29+
pip install -r dev-requirements.txt
3030
npm install --ignore-scripts
3131
3232
- save_cache:
33-
key: deps1-{{ .Branch }}-{{ checksum "requirements-dev.txt" }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json" }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "circlejob.txt" }}
33+
key: deps1-{{ .Branch }}-{{ checksum "dev-requirements.txt" }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json" }}-{{ checksum ".circleci/config.yml" }}-{{ checksum "circlejob.txt" }}
3434
paths:
3535
- 'venv'
3636
- 'node_modules'

.npmignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ node_modules/
22
.npm
33
.git/
44
vv/
5-
venv/
5+
venv*
66
*.pyc
77
*.log
88
.DS_Store

CHANGELOG.md

+148
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,154 @@
11
# Change Log for dash-core-components
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
4+
5+
## [0.38.1] - 2018-11-14
6+
### Fixed
7+
- The issue [#115](https://github.com/plotly/dash-core-components/issues/115)
8+
with datepicker, which didn't appear when the date value is `None` was fixed.
9+
By default, current month would appear in such cases for
10+
`DatePickerRange` and `DatePickerSingle` components.
11+
See pull request https://github.com/plotly/dash-core-components/pull/201.
12+
- Refactored the way the Graph component would generate an unique id if none provided.
13+
- Default CSS imported via `style-loader` is now placed at top, so that user supplied CSS can overwrite it, fixes [#380](https://github.com/plotly/dash-core-components/issues/380)
14+
15+
## [0.38.0] - 2018-11-07
16+
### Fixed
17+
- Changed the way the default CSS files for some components are loaded to being loaded with webpack instead of as dependencies.
18+
19+
## [0.37.2] - 2018-11-07
20+
### Changed
21+
- Updated `react-select` to version `2.1.0`
22+
23+
## [0.37.1] - 2018-11-07
24+
### Added
25+
- Added `clickannotation` event to `dcc.Graph`.
26+
See https://github.com/plotly/dash-core-components/pull/182.
27+
28+
## [0.37.0] - 2018-11-04
29+
### Fixed
30+
- Some Input props weren't being picked up by React. Changed:
31+
- `autocomplete` to `autoComplete`
32+
- `autofocus` to `autoFocus`
33+
- `inputmode` to `inputMode`
34+
- `maxlength` to `maxLength`
35+
- `minlength` to `minLength`
36+
### Added
37+
- Unit tests for `Input` component.
38+
- New `debounce` prop for `Input` component that determines if the input should update to a Dash server immediately, or on 'Enter' key. Fixes [#169](https://github.com/plotly/dash-core-components/issues/169)
39+
### Changed
40+
- `min` and `max` prop now won't update the input when values are lower than or greater than `min` and `max` respectively. Fixes[#173](https://github.com/plotly/dash-core-components/issues/173)
41+
- `step` prop can now be a `number` and is therefor set correctly on the corresponding `<input/>` tag. Fixes [#292](https://github.com/plotly/dash-core-components/issues/292)
42+
43+
## [0.36.0] - 2018-11-01
44+
### Fixed
45+
- The `npm start` command now runs the Demo app again [#346](https://github.com/plotly/dash-core-components/issues/346)
46+
47+
## [0.36.0] - 2018-10-31
48+
### Updated
49+
- Updated plotly.js to 1.42.1 [#354](https://github.com/plotly/dash-core-components/pull/354)
50+
- https://github.com/plotly/plotly.js/releases/tag/v1.42.0
51+
- https://github.com/plotly/plotly.js/releases/tag/v1.42.1
52+
- https://github.com/plotly/plotly.js/releases/tag/v1.42.2
53+
54+
### Fixed
55+
- Fix runaway loops for `scattergl` lines and fill traces
56+
(bug introduced in 1.42.0) [#3199]
57+
- Fix size and alignment in vertical modebars [#3193]
58+
- Fix legend item rendering for traces with typed array marker
59+
settings [#3192]
60+
61+
62+
### As part of [plotly.js 1.42.1](https://github.com/plotly/plotly.js/releases/tag/v1.42.1)
63+
64+
#### Fixed
65+
- Fix IE regression introduced in 1.42.0 [#3187]
66+
- Fix parcats text-shadowing on dark plot_bgcolor [#3191]
67+
- Fix scatter3d text alignment [#3180]
68+
- Fix hoverinfo flags in attribute descriptions [#3158]
69+
- No longer list and coerce unused hoverlabel attribute in parcoods [#3158]
70+
- No longer list and coerce transforms attributes in traces that don't support them [#3158]
71+
72+
### As part of [plotly.js 1.42.0](https://github.com/plotly/plotly.js/releases/tag/v1.42.0)
73+
74+
### Added
75+
- Add `parcats` (aka parallel categories) trace type [#2963, #3072]
76+
- Add new gl3d tick and title auto-rotation algorithm that limits text
77+
overlaps [#3084, #3104, #3131]
78+
- Add support for reversed-range axes on gl3d subplots [#3141]
79+
- Add modebar layout style attributes: `orientation`, `bgcolor`, `color`
80+
and `activecolor` [#3068, #3091]
81+
- Add `title`, `titleposition` and `titlefont` attributes to `pie` traces [#2987]
82+
- Add `hoverlabel.split` attribute to `ohlc` and `candlestick` traces to split
83+
hover labels into multiple pieces [#2959]
84+
- Add support for `line.shape` values 'hv', 'vh', 'hvh' and 'vhv'
85+
in `scattergl` traces [#3087]
86+
- Add handler for `PlotlyConfig.MathJaxConfig: 'local'` to override our default
87+
MathJax behavior which modifies the global MathJax config on load [#2994]
88+
- Add support for graph div as first argument for `Plotly.makeTemplate`
89+
and `Plotly.validateTemplate` [#3111, #3118]
90+
- Implement trace, node and link hoverinfo for `sankey` traces [#3096, #3150]
91+
- Implement per-sector textfont settings in `pie` traces [#3130]
92+
93+
### Changed
94+
- Use new Plotly logo in "Produced with Plotly" modebar button [#3068]
95+
- Improve `histogram` autobin algorithm: allow partial bin specification,
96+
deprecate `autobin(x|y)` attributes, force stacked/grouped histograms to match size
97+
and have compatible `start` value [#3044]
98+
- Count distinct values for category and date axis auto-type, which
99+
improves the detection of "NaN" string values in numerical data [#3070]
100+
- Improve bar and pie textfont color inheritance [#3130]
101+
- Improve `splom` first-render, axis range relayout and marker restyle
102+
performance [#3057, #3161]
103+
- Make `splom` `xaxes` and `yaxes` list always have same length as the trace
104+
`dimensions` regardless of their partial visiblities [#3057]
105+
- Improve axis `overlaying` documentation [#3082]
106+
107+
### Fixed
108+
- Fix `gl3d` subplots on tablets [#3088]
109+
- Fix responsive behavior under flexbox and grid CSS [#3056, #3090, #3122]
110+
- Fix relayout calls turning back `autosize` on [#3120]
111+
- Fix MathJax rendering (for recent versions of MathJax) [#2994]
112+
- Fix `scattergl` update on graphs with fractional computed dimensions [#3132]
113+
- Fix `scattergl` symbols in MS Edge [#2750]
114+
- Fix `scattergl` selections on overlaying axes [#3067]
115+
- Fix `scattergl` `tozero` fills with bad values [#3087, #3168]
116+
- Fix `scattergl` fill layer ordering [#3087]
117+
- Fix `scattergl` lines on reversed-range axes [#3078]
118+
- Fix axis auto-type routine for boolean data [#3070]
119+
- Fix `splom` axis placement when the diagonal is missing [#3057]
120+
- Fix line `restyle` calls on `parcoords` traces [#3178]
121+
- Fix `parcoods` rendering after `hovermode` relayout calls [#3123]
122+
- Fix WebGL warnings for `scatter3d` traces with blank text items [#3171, #3177]
123+
- Fix WebGL warnings for `scatter3d` trace with empty lines [#3174]
124+
- Fix rendering of `scatter3d` lines for certain scene angles [#3163]
125+
- Fix handling of large pad values in `sankey` traces [#3143]
126+
- Fix `scatterpolargl` to `scatterpolar` toggling [#3098]
127+
- Fix `scatterpolargl` axis-autorange padding [#3098]
128+
- Fix `bar` text position for traces with set `base` [#3156]
129+
- Fix `bar` support for typed arrays for `width` and `offset` attributes [#3169]
130+
- Fix aggregate transforms with bad group values [#3093]
131+
- Fix transforms operating on auto-invisible traces [#3139]
132+
- Fix templating for polar and carpet axes [#3092, #3095]
133+
- Ignore invalid trace indices in restyle and update [#3114]
134+
- Fix grid style `relayout` calls on graph with large `splom` traces [#3067]
135+
- Fix logging on some old browsers [#3137]
136+
- Remove erroneous warning `WARN: unrecognized full object value` when
137+
relayouting array containers [#3053]
138+
139+
## [0.35.2] - 2018-10-30
140+
### Fixed
141+
- Fix Input not used in callbacks resetting the value on updates. [#350](https://github.com/plotly/dash-core-components/pull/350)
142+
143+
## [0.35.1] - 2018-10-29
144+
### Fixed
145+
- Fix Dropdown options prop docstring typo [#328](https://github.com/plotly/dash-core-components/pull/328/files)
146+
- Fix Input readonly prop -> readOnly [#348](https://github.com/plotly/dash-core-components/pull/348)
147+
148+
## [0.35.0] - 2018-10-22
149+
### Added
150+
- n_blur/n_submit and timestamps props added to the Input component. [#326](https://github.com/plotly/dash-core-components/pull/326)
151+
4152
## [0.34.0] - 2018-10-17
5153
### Added
6154
- `npm run test-unit` will run new Jest+Enzyme unit tests

MANIFEST.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ include dash_core_components/dash_core_components.dev.js
33
include dash_core_components/metadata.json
44
include dash_core_components/[email protected]
55
include dash_core_components/[email protected]
6-
include dash_core_components/plotly-1.41.3.min.js
6+
include dash_core_components/plotly-1.42.2.min.js
77
include dash_core_components/[email protected]
88
include dash_core_components/[email protected]
99
include dash_core_components/[email protected]

README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ $ npm i
1818
2. Build the code:
1919

2020
```
21-
$ npm run build-all
21+
$ npm run build:all
2222
```
2323

2424
3. Install the library
@@ -57,11 +57,14 @@ You have to maintain the list of components in `demo/Demo.react.js`.
5757
### Code quality and tests
5858

5959
### To run integration tests (test_integration.py)
60-
You can run the unit tests with the
60+
You can run the Selenium integration tests with the
6161
```sh
6262
npm test
6363
```
64-
command.
64+
command, and the Jest unit tests with the
65+
```sh
66+
npm run test-unit
67+
```
6568

6669
### Testing your components in Dash
6770
1. Run the build watcher by running

dash_core_components/Graph.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66

7-
schema = {'style': {'required': False, 'type': 'dict', 'nullable': False}, 'figure': {'required': False, 'type': 'dict', 'nullable': False}, 'config': {'required': False, 'nullable': False, 'type': 'dict', 'allow_unknown': False, 'schema': {'topojsonURL': {'type': 'string'}, 'fillFrame': {'type': 'boolean'}, 'displayModeBar': {'type': ('string', 'number'), 'allowed': [True, False, 'hover']}, 'autosizable': {'type': 'boolean'}, 'doubleClick': {'type': ('string', 'number'), 'allowed': [False, 'reset', 'autosize', 'reset+autosize']}, 'sendData': {'type': 'boolean'}, 'queueLength': {'type': 'number'}, 'displaylogo': {'type': 'boolean'}, 'edits': {'schema': {'colorbarPosition': {'type': 'boolean'}, 'annotationPosition': {'type': 'boolean'}, 'shapePosition': {'type': 'boolean'}, 'annotationText': {'type': 'boolean'}, 'titleText': {'type': 'boolean'}, 'legendPosition': {'type': 'boolean'}, 'legendText': {'type': 'boolean'}, 'annotationTail': {'type': 'boolean'}, 'colorbarTitleText': {'type': 'boolean'}, 'axisTitleText': {'type': 'boolean'}}, 'type': 'dict', 'allow_unknown': False, 'nullable': False}, 'showLink': {'type': 'boolean'}, 'showAxisDragHandles': {'type': 'boolean'}, 'modeBarButtons': {}, 'scrollZoom': {'type': 'boolean'}, 'editable': {'type': 'boolean'}, 'linkText': {'type': 'string'}, 'staticPlot': {'type': 'boolean'}, 'showTips': {'type': 'boolean'}, 'mapboxAccessToken': {}, 'frameMargins': {'type': 'number'}, 'plotGlPixelRatio': {'type': 'number'}, 'modeBarButtonsToRemove': {'type': 'list'}, 'modeBarButtonsToAdd': {'type': 'list'}, 'showAxisRangeEntryBoxes': {'type': 'boolean'}}}, 'setProps': {'required': False, 'nullable': False}, 'dashEvents': {'required': False, 'nullable': False, 'type': ('string', 'number'), 'allowed': ['click', 'hover', 'selected', 'relayout', 'unhover']}, 'fireEvent': {'required': False, 'nullable': False}, 'className': {'required': False, 'type': 'string', 'nullable': False}, 'clear_on_unhover': {'required': False, 'type': 'boolean', 'nullable': False}, 'relayoutData': {'required': False, 'type': 'dict', 'nullable': False}, 'clickData': {'required': False, 'type': 'dict', 'nullable': False}, 'animate': {'required': False, 'type': 'boolean', 'nullable': False}, 'hoverData': {'required': False, 'type': 'dict', 'nullable': False}, 'animation_options': {'required': False, 'type': 'dict', 'nullable': False}, 'id': {'required': False, 'type': 'string', 'nullable': False}, 'selectedData': {'required': False, 'type': 'dict', 'nullable': False}}
7+
schema = {'style': {'required': False, 'type': 'dict', 'nullable': False}, 'figure': {'required': False, 'type': 'dict', 'nullable': False}, 'animation_options': {'required': False, 'type': 'dict', 'nullable': False}, 'setProps': {'required': False, 'nullable': False}, 'dashEvents': {'required': False, 'nullable': False, 'type': ('string', 'number'), 'allowed': ['click', 'clickannotation', 'hover', 'selected', 'relayout', 'unhover']}, 'fireEvent': {'required': False, 'nullable': False}, 'className': {'required': False, 'type': 'string', 'nullable': False}, 'clear_on_unhover': {'required': False, 'type': 'boolean', 'nullable': False}, 'relayoutData': {'required': False, 'type': 'dict', 'nullable': False}, 'config': {'required': False, 'nullable': False, 'type': 'dict', 'allow_unknown': False, 'schema': {'topojsonURL': {'type': 'string'}, 'fillFrame': {'type': 'boolean'}, 'displayModeBar': {'type': ('string', 'number'), 'allowed': [True, False, 'hover']}, 'autosizable': {'type': 'boolean'}, 'doubleClick': {'type': ('string', 'number'), 'allowed': [False, 'reset', 'autosize', 'reset+autosize']}, 'sendData': {'type': 'boolean'}, 'queueLength': {'type': 'number'}, 'displaylogo': {'type': 'boolean'}, 'edits': {'schema': {'colorbarPosition': {'type': 'boolean'}, 'annotationPosition': {'type': 'boolean'}, 'shapePosition': {'type': 'boolean'}, 'annotationText': {'type': 'boolean'}, 'titleText': {'type': 'boolean'}, 'legendPosition': {'type': 'boolean'}, 'legendText': {'type': 'boolean'}, 'annotationTail': {'type': 'boolean'}, 'colorbarTitleText': {'type': 'boolean'}, 'axisTitleText': {'type': 'boolean'}}, 'type': 'dict', 'allow_unknown': False, 'nullable': False}, 'showLink': {'type': 'boolean'}, 'showAxisDragHandles': {'type': 'boolean'}, 'modeBarButtons': {}, 'scrollZoom': {'type': 'boolean'}, 'editable': {'type': 'boolean'}, 'linkText': {'type': 'string'}, 'staticPlot': {'type': 'boolean'}, 'showTips': {'type': 'boolean'}, 'mapboxAccessToken': {}, 'frameMargins': {'type': 'number'}, 'plotGlPixelRatio': {'type': 'number'}, 'modeBarButtonsToRemove': {'type': 'list'}, 'modeBarButtonsToAdd': {'type': 'list'}, 'showAxisRangeEntryBoxes': {'type': 'boolean'}}}, 'clickData': {'required': False, 'type': 'dict', 'nullable': False}, 'animate': {'required': False, 'type': 'boolean', 'nullable': False}, 'hoverData': {'required': False, 'type': 'dict', 'nullable': False}, 'clickAnnotationData': {'required': False, 'type': 'dict', 'nullable': False}, 'id': {'required': False, 'type': 'string', 'nullable': False}, 'selectedData': {'required': False, 'type': 'dict', 'nullable': False}}
88

99
class Graph(Component):
1010
"""A Graph component.
@@ -15,6 +15,7 @@ class Graph(Component):
1515
in callbacks. The ID needs to be unique across all of the
1616
components in an app.
1717
- clickData (dict; optional): Data from latest click event
18+
- clickAnnotationData (dict; optional): Data from latest click annotation event
1819
- hoverData (dict; optional): Data from latest hover event
1920
- clear_on_unhover (boolean; optional): If True, `clear_on_unhover` will clear the `hoverData` property
2021
when the user "unhovers" from a point.
@@ -87,16 +88,16 @@ class Graph(Component):
8788
If using an Mapbox Atlas server, set this option to '',
8889
so that plotly.js won't attempt to authenticate to the public Mapbox server.
8990
90-
Available events: 'click', 'hover', 'selected', 'relayout', 'unhover'"""
91+
Available events: 'click', 'clickannotation', 'hover', 'selected', 'relayout', 'unhover'"""
9192
_schema = schema
9293
@_explicitize_args
93-
def __init__(self, id=Component.UNDEFINED, clickData=Component.UNDEFINED, hoverData=Component.UNDEFINED, clear_on_unhover=Component.UNDEFINED, selectedData=Component.UNDEFINED, relayoutData=Component.UNDEFINED, figure=Component.UNDEFINED, style=Component.UNDEFINED, className=Component.UNDEFINED, animate=Component.UNDEFINED, animation_options=Component.UNDEFINED, config=Component.UNDEFINED, **kwargs):
94-
self._prop_names = ['id', 'clickData', 'hoverData', 'clear_on_unhover', 'selectedData', 'relayoutData', 'figure', 'style', 'className', 'animate', 'animation_options', 'config']
94+
def __init__(self, id=Component.UNDEFINED, clickData=Component.UNDEFINED, clickAnnotationData=Component.UNDEFINED, hoverData=Component.UNDEFINED, clear_on_unhover=Component.UNDEFINED, selectedData=Component.UNDEFINED, relayoutData=Component.UNDEFINED, figure=Component.UNDEFINED, style=Component.UNDEFINED, className=Component.UNDEFINED, animate=Component.UNDEFINED, animation_options=Component.UNDEFINED, config=Component.UNDEFINED, **kwargs):
95+
self._prop_names = ['id', 'clickData', 'clickAnnotationData', 'hoverData', 'clear_on_unhover', 'selectedData', 'relayoutData', 'figure', 'style', 'className', 'animate', 'animation_options', 'config']
9596
self._type = 'Graph'
9697
self._namespace = 'dash_core_components'
9798
self._valid_wildcard_attributes = []
98-
self.available_events = ['click', 'hover', 'selected', 'relayout', 'unhover']
99-
self.available_properties = ['id', 'clickData', 'hoverData', 'clear_on_unhover', 'selectedData', 'relayoutData', 'figure', 'style', 'className', 'animate', 'animation_options', 'config']
99+
self.available_events = ['click', 'clickannotation', 'hover', 'selected', 'relayout', 'unhover']
100+
self.available_properties = ['id', 'clickData', 'clickAnnotationData', 'hoverData', 'clear_on_unhover', 'selectedData', 'relayoutData', 'figure', 'style', 'className', 'animate', 'animation_options', 'config']
100101
self.available_wildcard_properties = []
101102

102103
_explicit_args = kwargs.pop('_explicit_args')

0 commit comments

Comments
 (0)