Skip to content

Commit 68268e3

Browse files
committed
register components modules
- legend, annotations, shapes, images, rangeslider, rangeselector and updatemenus are now registerd in src/core.js - add 'moduleType' and 'name' properties to component modules - rename 'attributes' prop -> 'layoutAttributes' (for consistency) - rename 'supplyLayoutDefaults' -> 'handleDefaults' when component defaults are required in another default module
1 parent c6aa0fb commit 68268e3

File tree

12 files changed

+56
-20
lines changed

12 files changed

+56
-20
lines changed

src/components/annotations/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
var Plotly = require('../../plotly');
1313

14+
exports.moduleType = 'component';
15+
16+
exports.name = 'annotations';
1417

1518
exports.ARROWPATHS = require('./arrow_paths');
1619

src/components/images/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ var attributes = require('./attributes');
1515

1616

1717
module.exports = {
18+
moduleType: 'component',
19+
name: 'images',
1820
draw: draw,
1921
layoutAttributes: attributes,
2022
supplyLayoutDefaults: supplyLayoutDefaults

src/components/legend/index.js

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212

1313
var legend = module.exports = {};
1414

15+
16+
legend.moduleType = 'component';
17+
18+
legend.name = 'legend';
19+
1520
legend.layoutAttributes = require('./attributes');
1621

1722
legend.supplyLayoutDefaults = require('./defaults');

src/components/rangeselector/defaults.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ var buttonAttrs = require('./button_attributes');
1616
var constants = require('./constants');
1717

1818

19-
module.exports = function rangeSelectorDefaults(containerIn, containerOut, layout, counterAxes) {
19+
module.exports = function handleDefaults(containerIn, containerOut, layout, counterAxes) {
2020
var selectorIn = containerIn.rangeselector || {},
2121
selectorOut = containerOut.rangeselector = {};
2222

src/components/rangeselector/index.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@
99
'use strict';
1010

1111

12-
exports.attributes = require('./attributes');
12+
exports.moduleType = 'component';
1313

14-
exports.supplyLayoutDefaults = require('./defaults');
14+
exports.name = 'rangeselector';
15+
16+
exports.layoutAttributes = require('./attributes');
17+
18+
exports.handleDefaults = require('./defaults');
1519

1620
exports.draw = require('./draw');

src/components/rangeslider/defaults.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var Lib = require('../../lib');
1212
var attributes = require('./attributes');
1313

1414

15-
module.exports = function supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes) {
15+
module.exports = function handleDefaults(layoutIn, layoutOut, axName, counterAxes) {
1616
if(!layoutIn[axName].rangeslider) return;
1717

1818
var containerIn = Lib.isPlainObject(layoutIn[axName].rangeslider) ?

src/components/rangeslider/index.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
var Plots = require('../../plots/plots');
1313

1414
var createSlider = require('./create_slider');
15-
var supplyLayoutDefaults = require('./defaults');
15+
var layoutAttributes = require('./attributes');
16+
var handleDefaults = require('./defaults');
1617

1718

1819
module.exports = {
19-
draw: draw,
20-
supplyLayoutDefaults: supplyLayoutDefaults
20+
moduleType: 'component',
21+
name: 'rangeslider',
22+
layoutAttributes: layoutAttributes,
23+
handleDefaults: handleDefaults,
24+
draw: draw
2125
};
2226

2327
function draw(gd) {

src/components/shapes/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99

1010
'use strict';
1111

12+
exports.moduleType = 'component';
13+
14+
exports.name = 'shapes';
1215

1316
exports.layoutAttributes = require('./attributes');
1417

src/components/updatemenus/index.js

+4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
'use strict';
1010

1111

12+
exports.moduleType = 'component';
13+
14+
exports.name = 'updatemenus';
15+
1216
exports.layoutAttributes = require('./attributes');
1317

1418
exports.supplyLayoutDefaults = require('./defaults');

src/core.js

+11
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@ exports.validate = require('./plot_api/validate');
4747
// scatter is the only trace included by default
4848
exports.register(require('./traces/scatter'));
4949

50+
// register all registrable components modules
51+
exports.register([
52+
require('./components/legend'),
53+
require('./components/annotations'),
54+
require('./components/shapes'),
55+
require('./components/images'),
56+
require('./components/updatemenus'),
57+
require('./components/rangeslider'),
58+
require('./components/rangeselector')
59+
]);
60+
5061
// plot icons
5162
exports.Icons = require('../build/ploticon');
5263

test/jasmine/tests/range_selector_test.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var mouseEvent = require('../assets/mouse_event');
1414
describe('range selector defaults:', function() {
1515
'use strict';
1616

17-
var supplyLayoutDefaults = RangeSelector.supplyLayoutDefaults;
17+
var handleDefaults = RangeSelector.handleDefaults;
1818

1919
function supply(containerIn, containerOut) {
2020
containerOut.domain = [0, 1];
@@ -25,7 +25,7 @@ describe('range selector defaults:', function() {
2525

2626
var counterAxes = ['yaxis'];
2727

28-
supplyLayoutDefaults(containerIn, containerOut, layout, counterAxes);
28+
handleDefaults(containerIn, containerOut, layout, counterAxes);
2929
}
3030

3131
it('should set \'visible\' to false when no buttons are present', function() {
@@ -139,7 +139,7 @@ describe('range selector defaults:', function() {
139139
};
140140
var counterAxes = ['yaxis'];
141141

142-
supplyLayoutDefaults(containerIn, containerOut, layout, counterAxes);
142+
handleDefaults(containerIn, containerOut, layout, counterAxes);
143143

144144
expect(containerOut.rangeselector.x).toEqual(0);
145145
expect(containerOut.rangeselector.y).toBeCloseTo(0.47);
@@ -170,7 +170,7 @@ describe('range selector defaults:', function() {
170170
};
171171
var counterAxes = ['yaxis', 'yaxis2', 'yaxis3'];
172172

173-
supplyLayoutDefaults(containerIn, containerOut, layout, counterAxes);
173+
handleDefaults(containerIn, containerOut, layout, counterAxes);
174174

175175
expect(containerOut.rangeselector.x).toEqual(0.5);
176176
expect(containerOut.rangeselector.y).toBeCloseTo(0.87);

test/jasmine/tests/range_slider_test.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ describe('the range slider', function() {
214214
});
215215
});
216216

217-
describe('supplyLayoutDefaults function', function() {
217+
describe('handleDefaults function', function() {
218218

219219
it('should not coerce anything if rangeslider isn\'t set', function() {
220220
var layoutIn = { xaxis: {}, yaxis: {}},
@@ -223,7 +223,7 @@ describe('the range slider', function() {
223223
counterAxes = ['yaxis'],
224224
expected = { xaxis: {}, yaxis: {}};
225225

226-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
226+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
227227

228228
expect(layoutIn).toEqual(expected);
229229
});
@@ -235,7 +235,7 @@ describe('the range slider', function() {
235235
counterAxes = ['yaxis'],
236236
expected = { xaxis: { rangeslider: { visible: true }}, yaxis: {}};
237237

238-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
238+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
239239

240240
expect(layoutIn).toEqual(expected);
241241
});
@@ -261,7 +261,7 @@ describe('the range slider', function() {
261261
}
262262
};
263263

264-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
264+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
265265

266266
expect(layoutOut).toEqual(expected);
267267
});
@@ -287,7 +287,7 @@ describe('the range slider', function() {
287287
}
288288
};
289289

290-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
290+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
291291

292292
expect(layoutOut).toEqual(expected);
293293
});
@@ -319,7 +319,7 @@ describe('the range slider', function() {
319319
}
320320
};
321321

322-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
322+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
323323

324324
expect(layoutOut).toEqual(expected);
325325
});
@@ -344,7 +344,7 @@ describe('the range slider', function() {
344344
yaxis2: { fixedrange: true }
345345
};
346346

347-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
347+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
348348

349349
expect(layoutOut).toEqual(expected);
350350
});
@@ -369,7 +369,7 @@ describe('the range slider', function() {
369369
yaxis: { fixedrange: true }
370370
};
371371

372-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
372+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
373373

374374
expect(layoutOut).toEqual(expected);
375375
});
@@ -394,7 +394,7 @@ describe('the range slider', function() {
394394
yaxis: { fixedrange: true }
395395
};
396396

397-
RangeSlider.supplyLayoutDefaults(layoutIn, layoutOut, axName, counterAxes);
397+
RangeSlider.handleDefaults(layoutIn, layoutOut, axName, counterAxes);
398398

399399
expect(layoutOut).toEqual(expected);
400400
});

0 commit comments

Comments
 (0)