Skip to content

Commit 1d00765

Browse files
committed
Better scale export (class with static _defaults)
1 parent 1a7a36d commit 1d00765

File tree

6 files changed

+18
-26
lines changed

6 files changed

+18
-26
lines changed

src/chart.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ require('./core/core.controller')(Chart);
2929

3030
// Register built-in scales
3131
var scales = require('./scales');
32-
Chart.helpers.each(scales, function(register) {
33-
register();
32+
Chart.helpers.each(scales, function(scale, type) {
33+
Chart.scaleService.registerScaleType(type, scale, scale._defaults);
3434
});
3535

3636
// Loading built-in plugins

src/scales/scale.category.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
'use strict';
22

33
var Scale = require('../core/core.scale');
4-
var scales = require('../core/core.scaleService');
54

65
var defaultConfig = {
76
position: 'bottom'
87
};
98

10-
var CategoryScale = Scale.extend({
9+
module.exports = Scale.extend({
1110
/**
1211
* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those
1312
* else fall back to data.labels
@@ -131,6 +130,5 @@ var CategoryScale = Scale.extend({
131130
}
132131
});
133132

134-
module.exports = function() {
135-
scales.registerScaleType('category', CategoryScale, defaultConfig);
136-
};
133+
// INTERNAL: static default options, registered in src/chart.js
134+
module.exports._defaults = defaultConfig;

src/scales/scale.linear.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
var helpers = require('../helpers/index');
44
var LinearScaleBase = require('./scale.linearbase');
5-
var scales = require('../core/core.scaleService');
65
var Ticks = require('../core/core.ticks');
76

87
var defaultConfig = {
@@ -12,7 +11,7 @@ var defaultConfig = {
1211
}
1312
};
1413

15-
var LinearScale = LinearScaleBase.extend({
14+
module.exports = LinearScaleBase.extend({
1615
determineDataLimits: function() {
1716
var me = this;
1817
var opts = me.options;
@@ -187,6 +186,5 @@ var LinearScale = LinearScaleBase.extend({
187186
}
188187
});
189188

190-
module.exports = function() {
191-
scales.registerScaleType('linear', LinearScale, defaultConfig);
192-
};
189+
// INTERNAL: static default options, registered in src/chart.js
190+
module.exports._defaults = defaultConfig;

src/scales/scale.logarithmic.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
var defaults = require('../core/core.defaults');
44
var helpers = require('../helpers/index');
55
var Scale = require('../core/core.scale');
6-
var scales = require('../core/core.scaleService');
76
var Ticks = require('../core/core.ticks');
87

98
/**
@@ -53,6 +52,7 @@ function generateTicks(generationOptions, dataRange) {
5352
return ticks;
5453
}
5554

55+
// INTERNAL: static default options, registered in src/chart.js
5656
var defaultConfig = {
5757
position: 'left',
5858

@@ -62,7 +62,7 @@ var defaultConfig = {
6262
}
6363
};
6464

65-
var LogarithmicScale = Scale.extend({
65+
module.exports = Scale.extend({
6666
determineDataLimits: function() {
6767
var me = this;
6868
var opts = me.options;
@@ -347,6 +347,5 @@ var LogarithmicScale = Scale.extend({
347347
}
348348
});
349349

350-
module.exports = function() {
351-
scales.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);
352-
};
350+
// INTERNAL: static default options, registered in src/chart.js
351+
module.exports._defaults = defaultConfig;

src/scales/scale.radialLinear.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
var defaults = require('../core/core.defaults');
44
var helpers = require('../helpers/index');
55
var LinearScaleBase = require('./scale.linearbase');
6-
var scales = require('../core/core.scaleService');
76
var Ticks = require('../core/core.ticks');
87

98
var defaultConfig = {
@@ -316,7 +315,7 @@ function numberOrZero(param) {
316315
return helpers.isNumber(param) ? param : 0;
317316
}
318317

319-
var LinearRadialScale = LinearScaleBase.extend({
318+
module.exports = LinearScaleBase.extend({
320319
setDimensions: function() {
321320
var me = this;
322321

@@ -529,6 +528,5 @@ var LinearRadialScale = LinearScaleBase.extend({
529528
}
530529
});
531530

532-
module.exports = function() {
533-
scales.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);
534-
};
531+
// INTERNAL: static default options, registered in src/chart.js
532+
module.exports._defaults = defaultConfig;

src/scales/scale.time.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ var defaultConfig = {
488488
}
489489
};
490490

491-
var TimeScale = Scale.extend({
491+
module.exports = Scale.extend({
492492
initialize: function() {
493493
if (!moment) {
494494
throw new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');
@@ -788,6 +788,5 @@ var TimeScale = Scale.extend({
788788
}
789789
});
790790

791-
module.exports = function() {
792-
scales.registerScaleType('time', TimeScale, defaultConfig);
793-
};
791+
// INTERNAL: static default options, registered in src/chart.js
792+
module.exports._defaults = defaultConfig;

0 commit comments

Comments
 (0)