Skip to content

Commit e8d081e

Browse files
committed
allow typedArrays to be used in axis tickvals
1 parent a61c204 commit e8d081e

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/plots/cartesian/tick_value_defaults.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
'use strict';
1010

1111
var cleanTicks = require('./clean_ticks');
12+
var isArrayOrTypedArray = require('../../lib').isArrayOrTypedArray;
1213

1314
module.exports = function handleTickValueDefaults(containerIn, containerOut, coerce, axType) {
1415
function readInput(attr) {
@@ -22,7 +23,7 @@ module.exports = function handleTickValueDefaults(containerIn, containerOut, coe
2223
var _dtick = readInput('dtick');
2324
var _tickvals = readInput('tickvals');
2425

25-
var tickmodeDefault = Array.isArray(_tickvals) ? 'array' :
26+
var tickmodeDefault = isArrayOrTypedArray(_tickvals) ? 'array' :
2627
_dtick ? 'linear' :
2728
'auto';
2829
var tickmode = coerce('tickmode', tickmodeDefault);

test/jasmine/tests/axes_test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1905,6 +1905,15 @@ describe('Test axes', function() {
19051905
expect(axOut.tickmode).toBe('array');
19061906
expect(axIn.tickmode).toBeUndefined();
19071907

1908+
var arr = new Float32Array(2);
1909+
arr[0] = 0;
1910+
arr[1] = 1;
1911+
axIn = {tickvals: arr};
1912+
axOut = {};
1913+
mockSupplyDefaults(axIn, axOut, 'linear');
1914+
expect(axOut.tickmode).toBe('array');
1915+
expect(axIn.tickmode).toBeUndefined();
1916+
19081917
axIn = {dtick: 1};
19091918
axOut = {};
19101919
mockSupplyDefaults(axIn, axOut, 'linear');

0 commit comments

Comments
 (0)