_updateElementGeometry: function(rectangle, index, reset) {
var me = this;
var model = rectangle._model;
- var vscale = me.getValueScale();
+ var vscale = me._getValueScale();
var base = vscale.getBasePixel();
var horizontal = vscale.isHorizontal();
var ruler = me._ruler || me.getRuler();
model.width = horizontal ? undefined : ipixels.size;
},
- /**
- * @private
- */
- getValueScaleId: function() {
- return this.getMeta().yAxisID;
- },
-
- /**
- * @private
- */
- getIndexScaleId: function() {
- return this.getMeta().xAxisID;
- },
-
- /**
- * @private
- */
- getValueScale: function() {
- return this.getScaleForId(this.getValueScaleId());
- },
-
- /**
- * @private
- */
- getIndexScale: function() {
- return this.getScaleForId(this.getIndexScaleId());
- },
-
/**
* Returns the stacks based on groups and bar visibility.
* @param {Number} [last] - The dataset index
_getStacks: function(last) {
var me = this;
var chart = me.chart;
- var scale = me.getIndexScale();
+ var scale = me._getIndexScale();
var stacked = scale.options.stacked;
var ilen = last === undefined ? chart.data.datasets.length : last + 1;
var stacks = [];
*/
getRuler: function() {
var me = this;
- var scale = me.getIndexScale();
+ var scale = me._getIndexScale();
var stackCount = me.getStackCount();
var datasetIndex = me.index;
var isHorizontal = scale.isHorizontal();
var me = this;
var chart = me.chart;
var meta = me.getMeta();
- var scale = me.getValueScale();
+ var scale = me._getValueScale();
var isHorizontal = scale.isHorizontal();
var datasets = chart.data.datasets;
var value = +scale.getRightValue(datasets[datasetIndex].data[index]);
if (imeta.bar &&
imeta.stack === stack &&
- imeta.controller.getValueScaleId() === scale.id &&
+ imeta.controller._getValueScaleId() === scale.id &&
chart.isDatasetVisible(i)) {
ivalue = +scale.getRightValue(datasets[i].data[index]);
draw: function() {
var me = this;
var chart = me.chart;
- var scale = me.getValueScale();
+ var scale = me._getValueScale();
var rects = me.getMeta().data;
var dataset = me.getDataset();
var ilen = rects.length;
/**
* @private
*/
- getValueScaleId: function() {
+ _getValueScaleId: function() {
return this.getMeta().xAxisID;
},
/**
* @private
*/
- getIndexScaleId: function() {
+ _getIndexScaleId: function() {
return this.getMeta().yAxisID;
}
});
return this.chart.scales[scaleID];
},
+ /**
+ * @private
+ */
+ _getValueScaleId: function() {
+ return this.getMeta().yAxisID;
+ },
+
+ /**
+ * @private
+ */
+ _getIndexScaleId: function() {
+ return this.getMeta().xAxisID;
+ },
+
+ /**
+ * @private
+ */
+ _getValueScale: function() {
+ return this.getScaleForId(this._getValueScaleId());
+ },
+
+ /**
+ * @private
+ */
+ _getIndexScale: function() {
+ return this.getScaleForId(this._getIndexScaleId());
+ },
+
reset: function() {
this.update(true);
},
getLabelForIndex: function(index, datasetIndex) {
var me = this;
- var data = me.chart.data;
- var isHorizontal = me.isHorizontal();
+ var chart = me.chart;
- if (data.yLabels && !isHorizontal) {
- return me.getRightValue(data.datasets[datasetIndex].data[index]);
+ if (chart.getDatasetMeta(datasetIndex).controller._getValueScaleId() === me.id) {
+ return me.getRightValue(chart.data.datasets[datasetIndex].data[index]);
}
+
return me.ticks[index - me.minIndex];
},
expect(scale.ticks).toEqual(labels);
});
- it ('should get the correct label for the index', function() {
- var scaleID = 'myScale';
-
- var mockData = {
- datasets: [{
- yAxisID: scaleID,
- data: [10, 5, 0, 25, 78]
- }],
- labels: ['tick1', 'tick2', 'tick3', 'tick4', 'tick5']
- };
-
- var config = Chart.helpers.clone(Chart.scaleService.getScaleDefaults('category'));
- var Constructor = Chart.scaleService.getScaleConstructor('category');
- var scale = new Constructor({
- ctx: {},
- options: config,
- chart: {
- data: mockData
+ it('should get the correct label for the index', function() {
+ var chart = window.acquireChart({
+ type: 'line',
+ data: {
+ datasets: [{
+ xAxisID: 'xScale0',
+ yAxisID: 'yScale0',
+ data: [10, 5, 0, 25, 78]
+ }],
+ labels: ['tick1', 'tick2', 'tick3', 'tick4', 'tick5']
},
- id: scaleID
+ options: {
+ scales: {
+ xAxes: [{
+ id: 'xScale0',
+ type: 'category',
+ position: 'bottom'
+ }],
+ yAxes: [{
+ id: 'yScale0',
+ type: 'linear'
+ }]
+ }
+ }
});
- scale.determineDataLimits();
- scale.buildTicks();
+ var scale = chart.scales.xScale0;
- expect(scale.getLabelForIndex(1)).toBe('tick2');
+ expect(scale.getLabelForIndex(1, 0)).toBe('tick2');
});
- it ('Should get the correct pixel for a value when horizontal', function() {
+ it('Should get the correct pixel for a value when horizontal', function() {
var chart = window.acquireChart({
type: 'line',
data: {
expect(xScale.getValueForPixel(417)).toBe(4);
});
- it ('Should get the correct pixel for a value when there are repeated labels', function() {
+ it('Should get the correct pixel for a value when there are repeated labels', function() {
var chart = window.acquireChart({
type: 'line',
data: {
expect(xScale.getPixelForValue('tick_1', 1, 0)).toBeCloseToPixel(143);
});
- it ('Should get the correct pixel for a value when horizontal and zoomed', function() {
+ it('Should get the correct pixel for a value when horizontal and zoomed', function() {
var chart = window.acquireChart({
type: 'line',
data: {
expect(xScale.getPixelForValue(0, 3, 0)).toBeCloseToPixel(429);
});
- it ('should get the correct pixel for a value when vertical', function() {
+ it('should get the correct pixel for a value when vertical', function() {
var chart = window.acquireChart({
type: 'line',
data: {
expect(yScale.getValueForPixel(437)).toBe(4);
});
- it ('should get the correct pixel for a value when vertical and zoomed', function() {
+ it('should get the correct pixel for a value when vertical and zoomed', function() {
var chart = window.acquireChart({
type: 'line',
data: {