plotly.js 2.13.1 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/README.md +3 -3
- package/dist/README.md +26 -26
- package/dist/plot-schema.json +12 -0
- package/dist/plotly-basic.js +83 -29
- package/dist/plotly-basic.min.js +2 -2
- package/dist/plotly-cartesian.js +83 -29
- package/dist/plotly-cartesian.min.js +2 -2
- package/dist/plotly-finance.js +83 -29
- package/dist/plotly-finance.min.js +2 -2
- package/dist/plotly-geo-assets.js +2 -2
- package/dist/plotly-geo.js +83 -29
- package/dist/plotly-geo.min.js +2 -2
- package/dist/plotly-gl2d.js +83 -29
- package/dist/plotly-gl2d.min.js +2 -2
- package/dist/plotly-gl3d.js +83 -29
- package/dist/plotly-gl3d.min.js +2 -2
- package/dist/plotly-locale-nl.js +1 -1
- package/dist/plotly-mapbox.js +83 -29
- package/dist/plotly-mapbox.min.js +2 -2
- package/dist/plotly-strict.js +133 -61
- package/dist/plotly-strict.min.js +2 -2
- package/dist/plotly-with-meta.js +137 -61
- package/dist/plotly.js +133 -61
- package/dist/plotly.min.js +2 -2
- package/lib/locales/nl.js +42 -2
- package/package.json +1 -1
- package/src/components/selections/draw.js +11 -1
- package/src/components/selections/select.js +55 -25
- package/src/plot_api/plot_config.js +6 -0
- package/src/plots/plots.js +10 -1
- package/src/traces/sankey/attributes.js +8 -0
- package/src/traces/sankey/base_plot.js +1 -0
- package/src/traces/sankey/defaults.js +1 -0
- package/src/traces/sankey/render.js +43 -32
- package/src/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,32 @@ To see all merged commits on the master branch that will be part of the next plo
|
|
|
9
9
|
|
|
10
10
|
where X.Y.Z is the semver of most recent plotly.js release.
|
|
11
11
|
|
|
12
|
+
## [2.14.0] -- 2022-08-10
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- Add support for sankey links with arrows [[#6276](https://github.com/plotly/plotly.js/pull/6276)],
|
|
16
|
+
with thanks to @Andy2003 for the contribution!
|
|
17
|
+
- Add `editSelection` option to config [[#6285](https://github.com/plotly/plotly.js/pull/6285)]
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Update dutch translations and fix dateMonth format for `nl` locale to confirm with expected nl format [[#6261](https://github.com/plotly/plotly.js/pull/6261)],
|
|
21
|
+
with thanks to @eirvandelden for the contribution!
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## [2.13.3] -- 2022-07-25
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- Emit plotly_selected event on plot API calls and GUI edits [[#6277](https://github.com/plotly/plotly.js/pull/6277)]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [2.13.2] -- 2022-07-21
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Fix `sankey` select error (regression introduced in 2.13.0) [[#6265](https://github.com/plotly/plotly.js/pull/6265)]
|
|
34
|
+
- Handle missing drag layer of invisible `sankey` traces to fix select error [[#6267](https://github.com/plotly/plotly.js/pull/6267)]
|
|
35
|
+
- Emit selection event in shape drawing `dragmode`s when an existing selection is modified [[#6262](https://github.com/plotly/plotly.js/pull/6262)]
|
|
36
|
+
|
|
37
|
+
|
|
12
38
|
## [2.13.1] -- 2022-07-14
|
|
13
39
|
|
|
14
40
|
### Fixed
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
|
|
|
55
55
|
|
|
56
56
|
```html
|
|
57
57
|
<head>
|
|
58
|
-
<script src="https://cdn.plot.ly/plotly-2.
|
|
58
|
+
<script src="https://cdn.plot.ly/plotly-2.14.0.min.js"></script>
|
|
59
59
|
</head>
|
|
60
60
|
<body>
|
|
61
61
|
<div id="gd"></div>
|
|
@@ -72,7 +72,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
|
|
|
72
72
|
Alternatively you may consider using [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) in the script tag.
|
|
73
73
|
```html
|
|
74
74
|
<script type="module">
|
|
75
|
-
import "https://cdn.plot.ly/plotly-2.
|
|
75
|
+
import "https://cdn.plot.ly/plotly-2.14.0.min.js"
|
|
76
76
|
Plotly.newPlot("gd", [{ y: [1, 2, 3] }])
|
|
77
77
|
</script>
|
|
78
78
|
```
|
|
@@ -82,7 +82,7 @@ Fastly supports Plotly.js with free CDN service. Read more at <https://www.fastl
|
|
|
82
82
|
### Un-minified versions are also available on CDN
|
|
83
83
|
While non-minified source files may contain characters outside UTF-8, it is recommended that you specify the `charset` when loading those bundles.
|
|
84
84
|
```html
|
|
85
|
-
<script src="https://cdn.plot.ly/plotly-2.
|
|
85
|
+
<script src="https://cdn.plot.ly/plotly-2.14.0.js" charset="utf-8"></script>
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
> Please note that as of v2 the "plotly-latest" outputs (e.g. https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version.
|
package/dist/README.md
CHANGED
|
@@ -46,9 +46,9 @@ The main plotly.js bundles weight in at:
|
|
|
46
46
|
| 8.4 MB | 3.5 MB | 1 MB | 8.7 MB |
|
|
47
47
|
|
|
48
48
|
#### CDN links
|
|
49
|
-
> https://cdn.plot.ly/plotly-2.
|
|
49
|
+
> https://cdn.plot.ly/plotly-2.14.0.js
|
|
50
50
|
|
|
51
|
-
> https://cdn.plot.ly/plotly-2.
|
|
51
|
+
> https://cdn.plot.ly/plotly-2.14.0.min.js
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
#### npm packages
|
|
@@ -91,12 +91,12 @@ The `basic` partial bundle contains trace modules `bar`, `pie` and `scatter`.
|
|
|
91
91
|
|
|
92
92
|
| Raw size | Minified size | Minified + gzip size |
|
|
93
93
|
|------|-----------------|------------------------|
|
|
94
|
-
| 2.7 MB |
|
|
94
|
+
| 2.7 MB | 998.4 kB | 324.6 kB |
|
|
95
95
|
|
|
96
96
|
#### CDN links
|
|
97
|
-
> https://cdn.plot.ly/plotly-basic-2.
|
|
97
|
+
> https://cdn.plot.ly/plotly-basic-2.14.0.js
|
|
98
98
|
|
|
99
|
-
> https://cdn.plot.ly/plotly-basic-2.
|
|
99
|
+
> https://cdn.plot.ly/plotly-basic-2.14.0.min.js
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
#### npm packages
|
|
@@ -114,12 +114,12 @@ The `cartesian` partial bundle contains trace modules `bar`, `box`, `contour`, `
|
|
|
114
114
|
|
|
115
115
|
| Raw size | Minified size | Minified + gzip size |
|
|
116
116
|
|------|-----------------|------------------------|
|
|
117
|
-
| 3.4 MB | 1.2 MB | 397.
|
|
117
|
+
| 3.4 MB | 1.2 MB | 397.7 kB |
|
|
118
118
|
|
|
119
119
|
#### CDN links
|
|
120
|
-
> https://cdn.plot.ly/plotly-cartesian-2.
|
|
120
|
+
> https://cdn.plot.ly/plotly-cartesian-2.14.0.js
|
|
121
121
|
|
|
122
|
-
> https://cdn.plot.ly/plotly-cartesian-2.
|
|
122
|
+
> https://cdn.plot.ly/plotly-cartesian-2.14.0.min.js
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
#### npm packages
|
|
@@ -137,12 +137,12 @@ The `geo` partial bundle contains trace modules `choropleth`, `scatter` and `sca
|
|
|
137
137
|
|
|
138
138
|
| Raw size | Minified size | Minified + gzip size |
|
|
139
139
|
|------|-----------------|------------------------|
|
|
140
|
-
| 3.1 MB | 1.1 MB | 367.
|
|
140
|
+
| 3.1 MB | 1.1 MB | 367.3 kB |
|
|
141
141
|
|
|
142
142
|
#### CDN links
|
|
143
|
-
> https://cdn.plot.ly/plotly-geo-2.
|
|
143
|
+
> https://cdn.plot.ly/plotly-geo-2.14.0.js
|
|
144
144
|
|
|
145
|
-
> https://cdn.plot.ly/plotly-geo-2.
|
|
145
|
+
> https://cdn.plot.ly/plotly-geo-2.14.0.min.js
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
#### npm packages
|
|
@@ -160,12 +160,12 @@ The `gl3d` partial bundle contains trace modules `cone`, `isosurface`, `mesh3d`,
|
|
|
160
160
|
|
|
161
161
|
| Raw size | Minified size | Minified + gzip size |
|
|
162
162
|
|------|-----------------|------------------------|
|
|
163
|
-
| 3.9 MB | 1.5 MB | 488.
|
|
163
|
+
| 3.9 MB | 1.5 MB | 488.4 kB |
|
|
164
164
|
|
|
165
165
|
#### CDN links
|
|
166
|
-
> https://cdn.plot.ly/plotly-gl3d-2.
|
|
166
|
+
> https://cdn.plot.ly/plotly-gl3d-2.14.0.js
|
|
167
167
|
|
|
168
|
-
> https://cdn.plot.ly/plotly-gl3d-2.
|
|
168
|
+
> https://cdn.plot.ly/plotly-gl3d-2.14.0.min.js
|
|
169
169
|
|
|
170
170
|
|
|
171
171
|
#### npm packages
|
|
@@ -183,12 +183,12 @@ The `gl2d` partial bundle contains trace modules `heatmapgl`, `parcoords`, `poin
|
|
|
183
183
|
|
|
184
184
|
| Raw size | Minified size | Minified + gzip size |
|
|
185
185
|
|------|-----------------|------------------------|
|
|
186
|
-
| 4.4 MB | 1.8 MB | 580.
|
|
186
|
+
| 4.4 MB | 1.8 MB | 580.6 kB |
|
|
187
187
|
|
|
188
188
|
#### CDN links
|
|
189
|
-
> https://cdn.plot.ly/plotly-gl2d-2.
|
|
189
|
+
> https://cdn.plot.ly/plotly-gl2d-2.14.0.js
|
|
190
190
|
|
|
191
|
-
> https://cdn.plot.ly/plotly-gl2d-2.
|
|
191
|
+
> https://cdn.plot.ly/plotly-gl2d-2.14.0.min.js
|
|
192
192
|
|
|
193
193
|
|
|
194
194
|
#### npm packages
|
|
@@ -206,12 +206,12 @@ The `mapbox` partial bundle contains trace modules `choroplethmapbox`, `densitym
|
|
|
206
206
|
|
|
207
207
|
| Raw size | Minified size | Minified + gzip size |
|
|
208
208
|
|------|-----------------|------------------------|
|
|
209
|
-
| 4.4 MB | 1.7 MB | 521.
|
|
209
|
+
| 4.4 MB | 1.7 MB | 521.5 kB |
|
|
210
210
|
|
|
211
211
|
#### CDN links
|
|
212
|
-
> https://cdn.plot.ly/plotly-mapbox-2.
|
|
212
|
+
> https://cdn.plot.ly/plotly-mapbox-2.14.0.js
|
|
213
213
|
|
|
214
|
-
> https://cdn.plot.ly/plotly-mapbox-2.
|
|
214
|
+
> https://cdn.plot.ly/plotly-mapbox-2.14.0.min.js
|
|
215
215
|
|
|
216
216
|
|
|
217
217
|
#### npm packages
|
|
@@ -229,12 +229,12 @@ The `finance` partial bundle contains trace modules `bar`, `candlestick`, `funne
|
|
|
229
229
|
|
|
230
230
|
| Raw size | Minified size | Minified + gzip size |
|
|
231
231
|
|------|-----------------|------------------------|
|
|
232
|
-
| 3 MB | 1.1 MB | 357.
|
|
232
|
+
| 3 MB | 1.1 MB | 357.3 kB |
|
|
233
233
|
|
|
234
234
|
#### CDN links
|
|
235
|
-
> https://cdn.plot.ly/plotly-finance-2.
|
|
235
|
+
> https://cdn.plot.ly/plotly-finance-2.14.0.js
|
|
236
236
|
|
|
237
|
-
> https://cdn.plot.ly/plotly-finance-2.
|
|
237
|
+
> https://cdn.plot.ly/plotly-finance-2.14.0.min.js
|
|
238
238
|
|
|
239
239
|
|
|
240
240
|
#### npm packages
|
|
@@ -252,12 +252,12 @@ The `strict` partial bundle contains trace modules `bar`, `barpolar`, `box`, `ca
|
|
|
252
252
|
|
|
253
253
|
| Raw size | Minified size | Minified + gzip size |
|
|
254
254
|
|------|-----------------|------------------------|
|
|
255
|
-
| 8.8 MB | 3.
|
|
255
|
+
| 8.8 MB | 3.9 MB | 1.1 MB |
|
|
256
256
|
|
|
257
257
|
#### CDN links
|
|
258
|
-
> https://cdn.plot.ly/plotly-strict-2.
|
|
258
|
+
> https://cdn.plot.ly/plotly-strict-2.14.0.js
|
|
259
259
|
|
|
260
|
-
> https://cdn.plot.ly/plotly-strict-2.
|
|
260
|
+
> https://cdn.plot.ly/plotly-strict-2.14.0.min.js
|
|
261
261
|
|
|
262
262
|
|
|
263
263
|
#### npm packages
|
package/dist/plot-schema.json
CHANGED
|
@@ -199,6 +199,11 @@
|
|
|
199
199
|
"valType": "boolean"
|
|
200
200
|
}
|
|
201
201
|
},
|
|
202
|
+
"editSelection": {
|
|
203
|
+
"description": "Enables moving selections.",
|
|
204
|
+
"dflt": true,
|
|
205
|
+
"valType": "boolean"
|
|
206
|
+
},
|
|
202
207
|
"fillFrame": {
|
|
203
208
|
"description": "When `layout.autosize` is turned on, determines whether the graph fills the container (the default) or the screen (if set to *true*).",
|
|
204
209
|
"dflt": false,
|
|
@@ -42051,6 +42056,13 @@
|
|
|
42051
42056
|
"valType": "number"
|
|
42052
42057
|
},
|
|
42053
42058
|
"link": {
|
|
42059
|
+
"arrowlen": {
|
|
42060
|
+
"description": "Sets the length (in px) of the links arrow, if 0 no arrow will be drawn.",
|
|
42061
|
+
"dflt": 0,
|
|
42062
|
+
"editType": "calc",
|
|
42063
|
+
"min": 0,
|
|
42064
|
+
"valType": "number"
|
|
42065
|
+
},
|
|
42054
42066
|
"color": {
|
|
42055
42067
|
"arrayOk": true,
|
|
42056
42068
|
"description": "Sets the `link` color. It can be a single value, or an array for specifying color for each `link`. If `link.color` is omitted, then by default, a translucent grey link will be used.",
|
package/dist/plotly-basic.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* plotly.js (basic) v2.
|
|
2
|
+
* plotly.js (basic) v2.14.0
|
|
3
3
|
* Copyright 2012-2022, Plotly, Inc.
|
|
4
4
|
* All rights reserved.
|
|
5
5
|
* Licensed under the MIT license
|
|
@@ -36135,6 +36135,10 @@ function draw(gd) {
|
|
|
36135
36135
|
}
|
|
36136
36136
|
}
|
|
36137
36137
|
|
|
36138
|
+
function couldHaveActiveSelection(gd) {
|
|
36139
|
+
return gd._context.editSelection;
|
|
36140
|
+
}
|
|
36141
|
+
|
|
36138
36142
|
function drawOne(gd, index) {
|
|
36139
36143
|
// remove the existing selection if there is one.
|
|
36140
36144
|
// because indices can change, we need to look in all selection layers
|
|
@@ -36171,7 +36175,7 @@ function drawOne(gd, index) {
|
|
|
36171
36175
|
lineDash = 'solid';
|
|
36172
36176
|
}
|
|
36173
36177
|
|
|
36174
|
-
var isActiveSelection =
|
|
36178
|
+
var isActiveSelection = couldHaveActiveSelection(gd) &&
|
|
36175
36179
|
gd._fullLayout._activeSelectionIndex === index;
|
|
36176
36180
|
|
|
36177
36181
|
if(isActiveSelection) {
|
|
@@ -36238,6 +36242,8 @@ function setClipPath(selectionPath, gd, selectionOptions) {
|
|
|
36238
36242
|
|
|
36239
36243
|
|
|
36240
36244
|
function activateSelection(gd, path) {
|
|
36245
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
36246
|
+
|
|
36241
36247
|
var element = path.node();
|
|
36242
36248
|
var id = +element.getAttribute('data-index');
|
|
36243
36249
|
if(id >= 0) {
|
|
@@ -36254,6 +36260,8 @@ function activateSelection(gd, path) {
|
|
|
36254
36260
|
}
|
|
36255
36261
|
|
|
36256
36262
|
function activateLastSelection(gd) {
|
|
36263
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
36264
|
+
|
|
36257
36265
|
var id = gd._fullLayout.selections.length - 1;
|
|
36258
36266
|
gd._fullLayout._activeSelectionIndex = id;
|
|
36259
36267
|
gd._fullLayout._deactivateSelection = deactivateSelection;
|
|
@@ -36261,6 +36269,8 @@ function activateLastSelection(gd) {
|
|
|
36261
36269
|
}
|
|
36262
36270
|
|
|
36263
36271
|
function deactivateSelection(gd) {
|
|
36272
|
+
if(!couldHaveActiveSelection(gd)) return;
|
|
36273
|
+
|
|
36264
36274
|
var id = gd._fullLayout._activeSelectionIndex;
|
|
36265
36275
|
if(id >= 0) {
|
|
36266
36276
|
clearOutlineControllers(gd);
|
|
@@ -36592,7 +36602,14 @@ var p2r = helpers.p2r;
|
|
|
36592
36602
|
var axValue = helpers.axValue;
|
|
36593
36603
|
var getTransform = helpers.getTransform;
|
|
36594
36604
|
|
|
36605
|
+
function hasSubplot(dragOptions) {
|
|
36606
|
+
// N.B. subplot may be falsy e.g zero sankey index!
|
|
36607
|
+
return dragOptions.subplot !== undefined;
|
|
36608
|
+
}
|
|
36609
|
+
|
|
36595
36610
|
function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
36611
|
+
var isCartesian = !hasSubplot(dragOptions);
|
|
36612
|
+
|
|
36596
36613
|
var isFreeMode = freeMode(mode);
|
|
36597
36614
|
var isRectMode = rectMode(mode);
|
|
36598
36615
|
var isOpenMode = openMode(mode);
|
|
@@ -36606,7 +36623,7 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36606
36623
|
var gd = dragOptions.gd;
|
|
36607
36624
|
var fullLayout = gd._fullLayout;
|
|
36608
36625
|
var immediateSelect = isSelectMode && fullLayout.newselection.mode === 'immediate' &&
|
|
36609
|
-
|
|
36626
|
+
isCartesian; // N.B. only cartesian subplots have persistent selection
|
|
36610
36627
|
|
|
36611
36628
|
var zoomLayer = fullLayout._zoomlayer;
|
|
36612
36629
|
var dragBBox = dragOptions.element.getBoundingClientRect();
|
|
@@ -36654,9 +36671,9 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36654
36671
|
opacity: isDrawMode ? newStyle.opacity / 2 : 1,
|
|
36655
36672
|
fill: (isDrawMode && !isOpenMode) ? newStyle.fillcolor : 'none',
|
|
36656
36673
|
stroke: newStyle.line.color || (
|
|
36657
|
-
|
|
36658
|
-
|
|
36659
|
-
|
|
36674
|
+
isCartesian ?
|
|
36675
|
+
Color.contrast(gd._fullLayout.plot_bgcolor) :
|
|
36676
|
+
'#7f7f7f' // non-cartesian subplot
|
|
36660
36677
|
),
|
|
36661
36678
|
'stroke-dasharray': dashStyle(newStyle.line.dash, newStyle.line.width),
|
|
36662
36679
|
'stroke-width': newStyle.line.width + 'px',
|
|
@@ -36687,6 +36704,8 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36687
36704
|
|
|
36688
36705
|
if(immediateSelect && !evt.shiftKey) {
|
|
36689
36706
|
dragOptions._clearSubplotSelections = function() {
|
|
36707
|
+
if(!isCartesian) return;
|
|
36708
|
+
|
|
36690
36709
|
var xRef = xAxis._id;
|
|
36691
36710
|
var yRef = yAxis._id;
|
|
36692
36711
|
deselectSubplot(gd, xRef, yRef, searchTraces);
|
|
@@ -36707,6 +36726,8 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36707
36726
|
}
|
|
36708
36727
|
|
|
36709
36728
|
if(selectionErased) {
|
|
36729
|
+
gd._fullLayout._noEmitSelectedAtStart = true;
|
|
36730
|
+
|
|
36710
36731
|
Registry.call('_guiRelayout', gd, {
|
|
36711
36732
|
selections: list
|
|
36712
36733
|
});
|
|
@@ -36848,10 +36869,10 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36848
36869
|
displayOutlines(convertPoly(mergedPolygons, isOpenMode), outlines, dragOptions);
|
|
36849
36870
|
|
|
36850
36871
|
if(isSelectMode) {
|
|
36851
|
-
var _res = reselect(gd);
|
|
36872
|
+
var _res = reselect(gd, false);
|
|
36852
36873
|
var extraPoints = _res.eventData ? _res.eventData.points.slice() : [];
|
|
36853
36874
|
|
|
36854
|
-
_res = reselect(gd, selectionTesters, searchTraces, dragOptions);
|
|
36875
|
+
_res = reselect(gd, false, selectionTesters, searchTraces, dragOptions);
|
|
36855
36876
|
selectionTesters = _res.selectionTesters;
|
|
36856
36877
|
eventData = _res.eventData;
|
|
36857
36878
|
|
|
@@ -36945,9 +36966,13 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36945
36966
|
}
|
|
36946
36967
|
}
|
|
36947
36968
|
|
|
36948
|
-
|
|
36949
|
-
|
|
36950
|
-
|
|
36969
|
+
if(subSelections.length < allSelections.length) {
|
|
36970
|
+
gd._fullLayout._noEmitSelectedAtStart = true;
|
|
36971
|
+
|
|
36972
|
+
Registry.call('_guiRelayout', gd, {
|
|
36973
|
+
selections: subSelections
|
|
36974
|
+
});
|
|
36975
|
+
}
|
|
36951
36976
|
}
|
|
36952
36977
|
}
|
|
36953
36978
|
} else {
|
|
@@ -36993,7 +37018,9 @@ function prepSelect(evt, startX, startY, dragOptions, mode) {
|
|
|
36993
37018
|
dragOptions.doneFnCompleted(selection);
|
|
36994
37019
|
}
|
|
36995
37020
|
|
|
36996
|
-
|
|
37021
|
+
if(isSelectMode) {
|
|
37022
|
+
emitSelected(gd, eventData);
|
|
37023
|
+
}
|
|
36997
37024
|
}).catch(Lib.error);
|
|
36998
37025
|
};
|
|
36999
37026
|
}
|
|
@@ -37215,15 +37242,23 @@ function coerceSelectionsCache(evt, gd, dragOptions) {
|
|
|
37215
37242
|
}
|
|
37216
37243
|
}
|
|
37217
37244
|
|
|
37245
|
+
function hasActiveShape(gd) {
|
|
37246
|
+
return gd._fullLayout._activeShapeIndex >= 0;
|
|
37247
|
+
}
|
|
37248
|
+
|
|
37249
|
+
function hasActiveSelection(gd) {
|
|
37250
|
+
return gd._fullLayout._activeSelectionIndex >= 0;
|
|
37251
|
+
}
|
|
37252
|
+
|
|
37218
37253
|
function clearSelectionsCache(dragOptions, immediateSelect) {
|
|
37219
37254
|
var dragmode = dragOptions.dragmode;
|
|
37220
37255
|
var plotinfo = dragOptions.plotinfo;
|
|
37221
37256
|
|
|
37222
37257
|
var gd = dragOptions.gd;
|
|
37223
|
-
if(gd
|
|
37258
|
+
if(hasActiveShape(gd)) {
|
|
37224
37259
|
gd._fullLayout._deactivateShape(gd);
|
|
37225
37260
|
}
|
|
37226
|
-
if(gd
|
|
37261
|
+
if(hasActiveSelection(gd)) {
|
|
37227
37262
|
gd._fullLayout._deactivateSelection(gd);
|
|
37228
37263
|
}
|
|
37229
37264
|
|
|
@@ -37251,11 +37286,13 @@ function clearSelectionsCache(dragOptions, immediateSelect) {
|
|
|
37251
37286
|
var selections;
|
|
37252
37287
|
if(
|
|
37253
37288
|
isSelectMode &&
|
|
37254
|
-
!dragOptions
|
|
37289
|
+
!hasSubplot(dragOptions) // only allow cartesian - no mapbox for now
|
|
37255
37290
|
) {
|
|
37256
37291
|
selections = newSelections(outlines, dragOptions);
|
|
37257
37292
|
}
|
|
37258
37293
|
if(selections) {
|
|
37294
|
+
gd._fullLayout._noEmitSelectedAtStart = true;
|
|
37295
|
+
|
|
37259
37296
|
Registry.call('_guiRelayout', gd, {
|
|
37260
37297
|
selections: selections
|
|
37261
37298
|
}).then(function() {
|
|
@@ -37290,7 +37327,10 @@ function determineSearchTraces(gd, xAxes, yAxes, subplot) {
|
|
|
37290
37327
|
|
|
37291
37328
|
if(trace.visible !== true || !trace._module || !trace._module.selectPoints) continue;
|
|
37292
37329
|
|
|
37293
|
-
if(
|
|
37330
|
+
if(
|
|
37331
|
+
hasSubplot({subplot: subplot}) &&
|
|
37332
|
+
(trace.subplot === subplot || trace.geo === subplot)
|
|
37333
|
+
) {
|
|
37294
37334
|
searchTraces.push(createSearchInfo(trace._module, cd, xAxes[0], yAxes[0]));
|
|
37295
37335
|
} else if(trace.type === 'splom') {
|
|
37296
37336
|
// FIXME: make sure we don't have more than single axis for splom
|
|
@@ -37590,7 +37630,7 @@ function _doSelect(selectionTesters, searchTraces) {
|
|
|
37590
37630
|
return allSelections;
|
|
37591
37631
|
}
|
|
37592
37632
|
|
|
37593
|
-
function reselect(gd, selectionTesters, searchTraces, dragOptions) {
|
|
37633
|
+
function reselect(gd, mayEmitSelected, selectionTesters, searchTraces, dragOptions) {
|
|
37594
37634
|
var hadSearchTraces = !!searchTraces;
|
|
37595
37635
|
var plotinfo, xRef, yRef;
|
|
37596
37636
|
if(dragOptions) {
|
|
@@ -37713,15 +37753,15 @@ function reselect(gd, selectionTesters, searchTraces, dragOptions) {
|
|
|
37713
37753
|
updateSelectedState(gd, allSearchTraces, eventData);
|
|
37714
37754
|
|
|
37715
37755
|
var clickmode = fullLayout.clickmode;
|
|
37716
|
-
var sendEvents = clickmode.indexOf('event') > -1;
|
|
37756
|
+
var sendEvents = clickmode.indexOf('event') > -1 && mayEmitSelected;
|
|
37717
37757
|
|
|
37718
37758
|
if(
|
|
37719
37759
|
!plotinfo && // get called from plot_api & plots
|
|
37720
|
-
|
|
37760
|
+
mayEmitSelected
|
|
37721
37761
|
) {
|
|
37722
|
-
|
|
37723
|
-
var activePolygons = getLayoutPolygons(gd, true);
|
|
37762
|
+
var activePolygons = getLayoutPolygons(gd, true);
|
|
37724
37763
|
|
|
37764
|
+
if(activePolygons.length) {
|
|
37725
37765
|
var xref = activePolygons[0].xref;
|
|
37726
37766
|
var yref = activePolygons[0].yref;
|
|
37727
37767
|
if(xref && yref) {
|
|
@@ -37734,8 +37774,12 @@ function reselect(gd, selectionTesters, searchTraces, dragOptions) {
|
|
|
37734
37774
|
|
|
37735
37775
|
fillRangeItems(eventData, poly);
|
|
37736
37776
|
}
|
|
37777
|
+
}
|
|
37737
37778
|
|
|
37738
|
-
|
|
37779
|
+
if(gd._fullLayout._noEmitSelectedAtStart) {
|
|
37780
|
+
gd._fullLayout._noEmitSelectedAtStart = false;
|
|
37781
|
+
} else {
|
|
37782
|
+
if(sendEvents) emitSelected(gd, eventData);
|
|
37739
37783
|
}
|
|
37740
37784
|
|
|
37741
37785
|
fullLayout._reselect = false;
|
|
@@ -37757,7 +37801,7 @@ function reselect(gd, selectionTesters, searchTraces, dragOptions) {
|
|
|
37757
37801
|
if(eventData.points.length) {
|
|
37758
37802
|
emitSelected(gd, eventData);
|
|
37759
37803
|
} else {
|
|
37760
|
-
gd
|
|
37804
|
+
emitDeselect(gd);
|
|
37761
37805
|
}
|
|
37762
37806
|
}
|
|
37763
37807
|
|
|
@@ -38045,13 +38089,10 @@ function getFillRangeItems(dragOptions) {
|
|
|
38045
38089
|
}
|
|
38046
38090
|
|
|
38047
38091
|
function emitSelecting(gd, eventData) {
|
|
38048
|
-
if(drawMode(gd._fullLayout.dragmode)) return;
|
|
38049
38092
|
gd.emit('plotly_selecting', eventData);
|
|
38050
38093
|
}
|
|
38051
38094
|
|
|
38052
38095
|
function emitSelected(gd, eventData) {
|
|
38053
|
-
if(drawMode(gd._fullLayout.dragmode)) return;
|
|
38054
|
-
|
|
38055
38096
|
if(eventData) {
|
|
38056
38097
|
eventData.selections = (gd.layout || {}).selections || [];
|
|
38057
38098
|
}
|
|
@@ -38060,7 +38101,6 @@ function emitSelected(gd, eventData) {
|
|
|
38060
38101
|
}
|
|
38061
38102
|
|
|
38062
38103
|
function emitDeselect(gd) {
|
|
38063
|
-
if(drawMode(gd._fullLayout.dragmode)) return;
|
|
38064
38104
|
gd.emit('plotly_deselect', null);
|
|
38065
38105
|
}
|
|
38066
38106
|
|
|
@@ -55505,6 +55545,11 @@ var configAttributes = {
|
|
|
55505
55545
|
}
|
|
55506
55546
|
},
|
|
55507
55547
|
|
|
55548
|
+
editSelection: {
|
|
55549
|
+
valType: 'boolean',
|
|
55550
|
+
dflt: true,
|
|
55551
|
+
},
|
|
55552
|
+
|
|
55508
55553
|
autosizable: {
|
|
55509
55554
|
valType: 'boolean',
|
|
55510
55555
|
dflt: false,
|
|
@@ -74508,7 +74553,16 @@ plots.redrag = function(gd) {
|
|
|
74508
74553
|
};
|
|
74509
74554
|
|
|
74510
74555
|
plots.reselect = function(gd) {
|
|
74511
|
-
|
|
74556
|
+
var fullLayout = gd._fullLayout;
|
|
74557
|
+
|
|
74558
|
+
var A = (gd.layout || {}).selections;
|
|
74559
|
+
var B = fullLayout._previousSelections;
|
|
74560
|
+
fullLayout._previousSelections = A;
|
|
74561
|
+
|
|
74562
|
+
var mayEmitSelected = fullLayout._reselect ||
|
|
74563
|
+
JSON.stringify(A) !== JSON.stringify(B);
|
|
74564
|
+
|
|
74565
|
+
Registry.getComponentMethod('selections', 'reselect')(gd, mayEmitSelected);
|
|
74512
74566
|
};
|
|
74513
74567
|
|
|
74514
74568
|
plots.generalUpdatePerTraceModule = function(gd, subplot, subplotCalcData, subplotLayout) {
|
|
@@ -84670,7 +84724,7 @@ function getSortFunc(opts, d2c) {
|
|
|
84670
84724
|
'use strict';
|
|
84671
84725
|
|
|
84672
84726
|
// package version injected by `npm run preprocess`
|
|
84673
|
-
exports.version = '2.
|
|
84727
|
+
exports.version = '2.14.0';
|
|
84674
84728
|
|
|
84675
84729
|
},{}]},{},[8])(8)
|
|
84676
84730
|
});
|