Skip to content

Commit c046397

Browse files
committed
Merge branch 'master' into parcoords-multiselect-squashed
2 parents 1030542 + cea4fd4 commit c046397

File tree

413 files changed

+768954
-774195
lines changed

Some content is hidden

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

413 files changed

+768954
-774195
lines changed

.circleci/test.sh

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,37 @@ set +e
55
set +o pipefail
66

77
EXIT_STATE=0
8+
MAX_AUTO_RETRY=5
9+
10+
# inspired by https://unix.stackexchange.com/a/82602
11+
retry () {
12+
local n=0
13+
14+
until [ $n -ge $MAX_AUTO_RETRY ]; do
15+
"$@" && break
16+
n=$[$n+1]
17+
echo ''
18+
echo run $n of $MAX_AUTO_RETRY failed, trying again ...
19+
echo ''
20+
sleep 15
21+
done
22+
23+
if [ $n -eq $MAX_AUTO_RETRY ]; then
24+
EXIT_STATE=1
25+
fi
26+
}
827

928
case $1 in
1029

1130
jasmine)
12-
npm run test-jasmine -- --skip-tags=gl,noCI || EXIT_STATE=$?
31+
npm run test-jasmine -- --skip-tags=gl,noCI,flaky || EXIT_STATE=$?
1332
exit $EXIT_STATE
1433
;;
1534

1635
jasmine2)
17-
npm run test-jasmine -- --tags=gl --skip-tags=noCI || EXIT_STATE=$?
18-
npm run test-bundle || EXIT_STATE=$?
36+
npm run test-jasmine -- --tags=gl --skip-tags=noCI,flaky || EXIT_STATE=$?
37+
retry npm run test-jasmine -- --tags=flaky --skip-tags=noCI
38+
npm run test-bundle || EXIT_STATE=$?
1939
exit $EXIT_STATE
2040
;;
2141

.eslintrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"Int16Array": true,
1818
"Int32Array": true,
1919
"ArrayBuffer": true,
20+
"DataView": true,
2021
"SVGElement": false
2122
},
2223
"rules": {

CHANGELOG.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,109 @@ https://github.com/plotly/plotly.js/compare/vX.Y.Z...master
1010
where X.Y.Z is the semver of most recent plotly.js release.
1111

1212

13+
## [1.35.2] -- 2018-03-09
14+
15+
### Fixed
16+
- Ping `mapbox-gl` to `0.44.1` so that users on fresh
17+
`npm install` do not get the wrong mapbox-gl version message [#2467]
18+
- Fix swapping between `scatter` and `scatter3d` traces and other
19+
potential problems caused by incorrect axis constraints resetting [#2465]
20+
21+
22+
## [1.35.1] -- 2018-03-08
23+
24+
### Fixed
25+
- Fix `scatterpolar` in dist and CDN bundles
26+
(due to `browser-pack-flat` discrepancy introduced in 1.35.0) [#2458]
27+
- Fix removing and adding scatter(gl) as not the first module [#2455]
28+
- Ensure we don't draw ticks if there are none to draw [#2454]
29+
30+
31+
## [1.35.0] -- 2018-03-07
32+
33+
### Added
34+
- Add `automargin` attribute to cartesian axes which auto-expands margins
35+
when ticks, tick labels and/or axis titles do not fit on the graph [#2243]
36+
- Add support for typed arrays as data array inputs [#2388]
37+
- Add layout `grids` attribute for easy subplot generation [#2399]
38+
- Implement `cliponaxis: false` for bar text [#2378]
39+
- Add opposite axis attributes for range slider to control y axis range behavior [#2364]
40+
- Generalize `hoverdistance` and `spikedistance` for area-like objects [#2379]
41+
- Bring `scattergl` auto-range logic to par with SVG `scatter` [#2404]
42+
- Add selected/unselected marker color size support to `scattermapbox` traces [#2361]
43+
44+
### Changed
45+
- Remove all circular dependencies in our `src/` directory [#2429]
46+
- Build our CDN bundles with `browser-pack-flat` browserify plugin [#2447]
47+
- Bump `mapbox-gl` to `v0.44.0` [#2361]
48+
- Bump `glslify` to `v6.1.1` [#2377]
49+
- Stop relinking `customdata`, `ids` and any matching objects
50+
in `gd._fullLayout` during `Plots.supplyDefaults` [#2375]
51+
52+
### Fixed
53+
- Fix buggy auto-range / auto-margin interaction
54+
leading to axis range inconsistencies on redraws
55+
(this bug was mostly noticeable on graphs with legends) [#2437]
56+
- Bring back `scattergl` lines under select/lasso `dragmode`
57+
(bug introduced in `1.33.0`) [#2377]
58+
- Fix `scattergl` visible toggling for graphs with multiple traces
59+
with different modes (bug introduced in `1.33.0`) [#2442]
60+
- Bring back `spikelines` for traces other than `scatter`
61+
(bug introduced in `1.33.0`) [#2379]
62+
- Fix `Plotly.Fx.hover` acting on multiple subplots
63+
(bug introduced in `1.32.0`) [#2379]
64+
- Fix range slider with stacked y axes positioning
65+
(bug introduced in `1.32.0`) [#2451]
66+
- Fix `scattergl` color clustering [#2377]
67+
- Fix `Plotly.restyle` for `scattergl` `fill` [#2377]
68+
- Fix multi-line y-axis label positioning [#2424]
69+
- Fix centered hover labels edge cases [#2440, #2445]
70+
- Fix hover labels in bar groups in compare mode [#2414]
71+
- Fix axes and axis lines removal [#2416]
72+
- Fix auto-sizing in `Plotly.react` [#2437]
73+
- Fix error bars for `Plotly.react` and uneven data arrays [#2360]
74+
- Fix edits for date-string referenced annotations [#2368]
75+
- Fix `z` hover labels with exponents [#2422]
76+
- Fix yet another histogram edge case [#2413]
77+
- Fix fall back for contour labels when there's only one contour [#2411]
78+
- Fix `scatterpolar` category angular period calculations [#2449]
79+
- Clear select outlines on mapbox zoomstart [#2361]
80+
- Fix legend click to causes legend scroll bug [#2426]
81+
82+
83+
## [1.34.0] -- 2018-02-12
84+
85+
### Added
86+
- Add `Plotly.react`, a new do-it-all API method that creates and update graphs
87+
using the same API signature [#2341]
88+
- Add constraint-type contours to `contour` traces [#2270]
89+
- Add `notched` and `notchwidth` attributes to `box` traces [#2305]
90+
- Add localization machinery to auto-formatted date axis ticks [#2261]
91+
- Add support for `text` in `mesh3d` traces [#2327]
92+
- Add support for scalar `text` in `surface` traces [#2327]
93+
- Make mode bar for graphs with multiple subplot types more usable [#2339]
94+
- Add `npm@5` package-lock file [#2323]
95+
96+
### Changed
97+
- All of gl-vis dependencies now use `[email protected]` [#2293, #2306]
98+
- All our dependencies and source now use `[email protected]` [#2326]
99+
100+
### Fixed
101+
- Prevent page scroll on mobile device on `gl2d` and `gl3d` subplots [#2296]
102+
- Fix multi-marker `scattergl` selection errors (bug introduced in `1.33.0`) [#2295]
103+
- Fix `Plotly.addTraces` in `scattergl` selection call backs (bug introduced in `1.33.0`) [#2298]
104+
- Fix trace `opacity` restyle for `scattergl` traces (bug introduced in `1.33.0`) [#2299]
105+
- Fix `scattergl` handling of `selectedpoints` across multiple traces [#2311]
106+
- Fix `scattergl` horizontal and vertical line rendering [#2340]
107+
- Fix restyle for scalar `hoverinfo` for `scatter3d`, `surface` and `mesh3d` traces [#2327]
108+
- Fix `table` when content-less cells and headers are supplied [#2314]
109+
- Fix `Plotly.animate` for attribute nested in `dimensions` containers [#2324]
110+
- Fix `hoverformat` on `visible: false` cartesian axes (bug introduced in `1.33.0`) [#2329]
111+
- Fix handling of double negative translate transform values [#2339]
112+
- Fix compare `hovermode` fallback for non-cartesian subplot types [#2339]
113+
- Fix animation error messages when overriding and ignoring frames updates [#2313]
114+
115+
13116
## [1.33.1] -- 2018-01-24
14117

15118
### Fixed

devtools/test_dashboard/devtools.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ function searchMocks(e) {
202202

203203
results.forEach(function(r) {
204204
var result = document.createElement('span');
205-
result.className = 'search-result';
205+
result.className = getResultClass(r.name);
206206
result.innerText = r.name;
207207

208208
result.addEventListener('click', function() {
@@ -212,6 +212,10 @@ function searchMocks(e) {
212212
// Clear plots and plot selected.
213213
Tabs.purge();
214214
Tabs.plotMock(mockName);
215+
216+
mocksList.querySelectorAll('span').forEach(function(el) {
217+
el.className = getResultClass(el.innerText);
218+
});
215219
});
216220

217221
mocksList.appendChild(result);
@@ -222,8 +226,16 @@ function searchMocks(e) {
222226
});
223227
}
224228

229+
function getNameFromHash() {
230+
return window.location.hash.replace(/^#/, '');
231+
}
232+
233+
function getResultClass(name) {
234+
return 'search-result' + (getNameFromHash() === name ? ' search-result__selected' : '');
235+
}
236+
225237
function plotFromHash() {
226-
var initialMock = window.location.hash.replace(/^#/, '');
238+
var initialMock = getNameFromHash();
227239

228240
if(initialMock.length > 0) {
229241
Tabs.plotMock(initialMock);

devtools/test_dashboard/style.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ header span{
5656
color: #fff;
5757
background-color: #4983EC;
5858
}
59+
.search-result__selected{
60+
background-color: #DDDDEE;
61+
}
5962
#plots{
6063
overflow: scroll;
6164
}

dist/README.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ You can grab the relevant MathJax files in `./dist/extras/mathjax/`.
3838
Plotly.js defaults to US English (en-US) and includes British English (en) in the standard bundle.
3939
Many other localizations are available - here is an example using Swiss-German (de-CH),
4040
see the contents of this directory for the full list.
41-
They are also available on our CDN as https://cdn.plot.ly/plotly-locale-de-ch-latest.js OR https://cdn.plot.ly/plotly-locale-de-ch-1.33.1.js
41+
They are also available on our CDN as https://cdn.plot.ly/plotly-locale-de-ch-latest.js OR https://cdn.plot.ly/plotly-locale-de-ch-1.35.2.js
4242
Note that the file names are all lowercase, even though the region is uppercase when you apply a locale.
4343

4444
*After* the plotly.js script tag, add:
@@ -61,11 +61,11 @@ The main plotly.js bundle includes all the official (non-beta) trace modules.
6161

6262
It be can imported as minified javascript
6363
- using dist file `dist/plotly.min.js`
64-
- using CDN URL https://cdn.plot.ly/plotly-latest.min.js OR https://cdn.plot.ly/plotly-1.33.1.min.js
64+
- using CDN URL https://cdn.plot.ly/plotly-latest.min.js OR https://cdn.plot.ly/plotly-1.35.2.min.js
6565

6666
or as raw javascript:
6767
- using dist file `dist/plotly.js`
68-
- using CDN URL https://cdn.plot.ly/plotly-latest.js OR https://cdn.plot.ly/plotly-1.33.1.js
68+
- using CDN URL https://cdn.plot.ly/plotly-latest.js OR https://cdn.plot.ly/plotly-1.35.2.js
6969
- using CommonJS with `require('plotly.js')`
7070

7171
If you would like to have access to the attribute meta information (including attribute descriptions as on the [schema reference page](https://plot.ly/javascript/reference/)), use dist file `dist/plotly-with-meta.js`
@@ -74,7 +74,7 @@ The main plotly.js bundle weights in at:
7474

7575
| plotly.js | plotly.min.js | plotly.min.js + gzip | plotly-with-meta.js |
7676
|-----------|---------------|----------------------|---------------------|
77-
| 5.7 MB | 2.3 MB | 707 kB | 5.9 MB |
77+
| 6.1 MB | 2.4 MB | 739.9 kB | 6.3 MB |
7878

7979
## Partial bundles
8080

@@ -98,13 +98,13 @@ The `basic` partial bundle contains the `scatter`, `bar` and `pie` trace modules
9898
| dist bundle (minified) | `dist/plotly-basic.min.js` |
9999
| CDN URL (latest) | https://cdn.plot.ly/plotly-basic-latest.js |
100100
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-basic-latest.min.js |
101-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-basic-1.33.1.js |
102-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-basic-1.33.1.min.js |
101+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-basic-1.35.2.js |
102+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-basic-1.35.2.min.js |
103103
| CommonJS | `require('plotly.js/lib/index-basic')` |
104104

105105
| Raw size | Minified size | Minified + gzip size |
106106
|------|-----------------|------------------------|
107-
| 2 MB | 721.3 kB | 234.3 kB |
107+
| 2 MB | 685.4 kB | 229.5 kB |
108108

109109
### plotly.js cartesian
110110

@@ -116,13 +116,13 @@ The `cartesian` partial bundle contains the `scatter`, `bar`, `box`, `heatmap`,
116116
| dist bundle (minified) | `dist/plotly-cartesian.min.js` |
117117
| CDN URL (latest) | https://cdn.plot.ly/plotly-cartesian-latest.js |
118118
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-cartesian-latest.min.js |
119-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-cartesian-1.33.1.js |
120-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-cartesian-1.33.1.min.js |
119+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-cartesian-1.35.2.js |
120+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-cartesian-1.35.2.min.js |
121121
| CommonJS | `require('plotly.js/lib/index-cartesian')` |
122122

123123
| Raw size | Minified size | Minified + gzip size |
124124
|------|-----------------|------------------------|
125-
| 2.3 MB | 825.4 kB | 266.9 kB |
125+
| 2.3 MB | 774.3 kB | 260.8 kB |
126126

127127
### plotly.js geo
128128

@@ -134,13 +134,13 @@ The `geo` partial bundle contains the `scatter`, `scattergeo` and `choropleth` t
134134
| dist bundle (minified) | `dist/plotly-geo.min.js` |
135135
| CDN URL (latest) | https://cdn.plot.ly/plotly-geo-latest.js |
136136
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-geo-latest.min.js |
137-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-geo-1.33.1.js |
138-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-geo-1.33.1.min.js |
137+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-geo-1.35.2.js |
138+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-geo-1.35.2.min.js |
139139
| CommonJS | `require('plotly.js/lib/index-geo')` |
140140

141141
| Raw size | Minified size | Minified + gzip size |
142142
|------|-----------------|------------------------|
143-
| 2 MB | 746.4 kB | 244 kB |
143+
| 2.1 MB | 707.5 kB | 238.7 kB |
144144

145145
### plotly.js gl3d
146146

@@ -152,13 +152,13 @@ The `gl3d` partial bundle contains the `scatter`, `scatter3d`, `surface` and `me
152152
| dist bundle (minified) | `dist/plotly-gl3d.min.js` |
153153
| CDN URL (latest) | https://cdn.plot.ly/plotly-gl3d-latest.js |
154154
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-gl3d-latest.min.js |
155-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-gl3d-1.33.1.js |
156-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-gl3d-1.33.1.min.js |
155+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-gl3d-1.35.2.js |
156+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-gl3d-1.35.2.min.js |
157157
| CommonJS | `require('plotly.js/lib/index-gl3d')` |
158158

159159
| Raw size | Minified size | Minified + gzip size |
160160
|------|-----------------|------------------------|
161-
| 2.9 MB | 1.2 MB | 373.1 kB |
161+
| 3 MB | 1.1 MB | 361.7 kB |
162162

163163
### plotly.js gl2d
164164

@@ -170,13 +170,13 @@ The `gl2d` partial bundle contains the `scatter`, `scattergl`, `pointcloud`, `he
170170
| dist bundle (minified) | `dist/plotly-gl2d.min.js` |
171171
| CDN URL (latest) | https://cdn.plot.ly/plotly-gl2d-latest.js |
172172
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-gl2d-latest.min.js |
173-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-gl2d-1.33.1.js |
174-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-gl2d-1.33.1.min.js |
173+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-gl2d-1.35.2.js |
174+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-gl2d-1.35.2.min.js |
175175
| CommonJS | `require('plotly.js/lib/index-gl2d')` |
176176

177177
| Raw size | Minified size | Minified + gzip size |
178178
|------|-----------------|------------------------|
179-
| 2.9 MB | 1.2 MB | 387.2 kB |
179+
| 3 MB | 1.1 MB | 379.7 kB |
180180

181181
### plotly.js mapbox
182182

@@ -188,13 +188,13 @@ The `mapbox` partial bundle contains the `scatter` and `scattermapbox` trace mod
188188
| dist bundle (minified) | `dist/plotly-mapbox.min.js` |
189189
| CDN URL (latest) | https://cdn.plot.ly/plotly-mapbox-latest.js |
190190
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-mapbox-latest.min.js |
191-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-mapbox-1.33.1.js |
192-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-mapbox-1.33.1.min.js |
191+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-mapbox-1.35.2.js |
192+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-mapbox-1.35.2.min.js |
193193
| CommonJS | `require('plotly.js/lib/index-mapbox')` |
194194

195195
| Raw size | Minified size | Minified + gzip size |
196196
|------|-----------------|------------------------|
197-
| 3 MB | 1.1 MB | 346.1 kB |
197+
| 3.3 MB | 1.3 MB | 382.1 kB |
198198

199199
### plotly.js finance
200200

@@ -206,13 +206,13 @@ The `finance` partial bundle contains the `scatter`, `bar`, `histogram`, `pie`,
206206
| dist bundle (minified) | `dist/plotly-finance.min.js` |
207207
| CDN URL (latest) | https://cdn.plot.ly/plotly-finance-latest.js |
208208
| CDN URL (latest minified) | https://cdn.plot.ly/plotly-finance-latest.min.js |
209-
| CDN URL (tagged) | https://cdn.plot.ly/plotly-finance-1.33.1.js |
210-
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-finance-1.33.1.min.js |
209+
| CDN URL (tagged) | https://cdn.plot.ly/plotly-finance-1.35.2.js |
210+
| CDN URL (tagged minified) | https://cdn.plot.ly/plotly-finance-1.35.2.min.js |
211211
| CommonJS | `require('plotly.js/lib/index-finance')` |
212212

213213
| Raw size | Minified size | Minified + gzip size |
214214
|------|-----------------|------------------------|
215-
| 2.1 MB | 757.7 kB | 245.2 kB |
215+
| 2.1 MB | 715.9 kB | 240 kB |
216216

217217
----------------
218218

0 commit comments

Comments
 (0)