|
2 | 2 |
|
3 | 3 | var d3 = require('@plotly/d3');
|
4 | 4 | var Lib = require('../../lib');
|
| 5 | +var isArrayOrTypedArray = Lib.isArrayOrTypedArray; |
5 | 6 | var numberFormat = Lib.numberFormat;
|
6 | 7 | var rgba = require('color-rgba');
|
7 | 8 |
|
@@ -237,7 +238,7 @@ function viewModel(state, callbacks, model) {
|
237 | 238 | var key = dimension.label + (foundKey ? '__' + foundKey : '');
|
238 | 239 | var specifiedConstraint = dimension.constraintrange;
|
239 | 240 | var filterRangeSpecified = specifiedConstraint && specifiedConstraint.length;
|
240 |
| - if(filterRangeSpecified && !Array.isArray(specifiedConstraint[0])) { |
| 241 | + if(filterRangeSpecified && !isArrayOrTypedArray(specifiedConstraint[0])) { |
241 | 242 | specifiedConstraint = [specifiedConstraint];
|
242 | 243 | }
|
243 | 244 | var filterRange = filterRangeSpecified ?
|
@@ -265,11 +266,13 @@ function viewModel(state, callbacks, model) {
|
265 | 266 | var ticktext;
|
266 | 267 | function makeTickItem(v, i) { return {val: v, text: ticktext[i]}; }
|
267 | 268 | function sortTickItem(a, b) { return a.val - b.val; }
|
268 |
| - if(Array.isArray(tickvals) && tickvals.length) { |
| 269 | + if(isArrayOrTypedArray(tickvals) && tickvals.length) { |
| 270 | + if(Lib.isTypedArray(tickvals)) tickvals = Array.from(tickvals); |
| 271 | + |
269 | 272 | ticktext = dimension.ticktext;
|
270 | 273 |
|
271 | 274 | // ensure ticktext and tickvals have same length
|
272 |
| - if(!Array.isArray(ticktext) || !ticktext.length) { |
| 275 | + if(!isArrayOrTypedArray(ticktext) || !ticktext.length) { |
273 | 276 | ticktext = tickvals.map(numberFormat(dimension.tickformat));
|
274 | 277 | } else if(ticktext.length > tickvals.length) {
|
275 | 278 | ticktext = ticktext.slice(0, tickvals.length);
|
|
0 commit comments