Skip to content

Commit 0e0928b

Browse files
authored
Merge pull request #1144 from plotly/plot-schema-from-registry
Refactor PlotSchema
2 parents 0649d16 + 93fa913 commit 0e0928b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+613
-740
lines changed

src/components/annotations/attributes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var extendFlat = require('../../lib/extend').extendFlat;
1515

1616

1717
module.exports = {
18-
_isLinkedToArray: true,
18+
_isLinkedToArray: 'annotation',
1919

2020
visible: {
2121
valType: 'boolean',

src/components/annotations/index.js

+9-21
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,16 @@
99

1010
'use strict';
1111

12-
var Plotly = require('../../plotly');
13-
14-
exports.moduleType = 'component';
15-
16-
exports.name = 'annotations';
17-
18-
exports.ARROWPATHS = require('./arrow_paths');
19-
20-
exports.layoutAttributes = require('./attributes');
21-
22-
exports.supplyLayoutDefaults = require('./defaults');
23-
24-
exports.calcAutorange = require('./calc_autorange');
25-
26-
exports.arrowhead = require('./draw_arrow_head');
27-
2812
var drawModule = require('./draw');
29-
exports.draw = drawModule.draw;
30-
exports.drawOne = drawModule.drawOne;
3113

32-
exports.add = function(gd) {
33-
var nextAnn = gd._fullLayout.annotations.length;
14+
module.exports = {
15+
moduleType: 'component',
16+
name: 'annotations',
17+
18+
layoutAttributes: require('./attributes'),
19+
supplyLayoutDefaults: require('./defaults'),
3420

35-
Plotly.relayout(gd, 'annotations[' + nextAnn + ']', 'add');
21+
calcAutorange: require('./calc_autorange'),
22+
draw: drawModule.draw,
23+
drawOne: drawModule.drawOne
3624
};

src/components/images/attributes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var cartesianConstants = require('../../plots/cartesian/constants');
1212

1313

1414
module.exports = {
15-
_isLinkedToArray: true,
15+
_isLinkedToArray: 'image',
1616

1717
visible: {
1818
valType: 'boolean',

src/components/images/index.js

+5-9
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,12 @@
88

99
'use strict';
1010

11-
12-
var draw = require('./draw');
13-
var supplyLayoutDefaults = require('./defaults');
14-
var attributes = require('./attributes');
15-
16-
1711
module.exports = {
1812
moduleType: 'component',
1913
name: 'images',
20-
draw: draw,
21-
layoutAttributes: attributes,
22-
supplyLayoutDefaults: supplyLayoutDefaults
14+
15+
layoutAttributes: require('./attributes'),
16+
supplyLayoutDefaults: require('./defaults'),
17+
18+
draw: require('./draw')
2319
};

src/components/legend/index.js

+8-12
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@
1010
'use strict';
1111

1212

13-
var legend = module.exports = {};
13+
module.exports = {
14+
moduleType: 'component',
15+
name: 'legend',
1416

17+
layoutAttributes: require('./attributes'),
18+
supplyLayoutDefaults: require('./defaults'),
1519

16-
legend.moduleType = 'component';
17-
18-
legend.name = 'legend';
19-
20-
legend.layoutAttributes = require('./attributes');
21-
22-
legend.supplyLayoutDefaults = require('./defaults');
23-
24-
legend.draw = require('./draw');
25-
26-
legend.style = require('./style');
20+
draw: require('./draw'),
21+
style: require('./style')
22+
};

src/components/rangeselector/attributes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ var extendFlat = require('../../lib/extend').extendFlat;
1414
var buttonAttrs = require('./button_attributes');
1515

1616
buttonAttrs = extendFlat(buttonAttrs, {
17-
_isLinkedToArray: true,
17+
_isLinkedToArray: 'button',
18+
1819
description: [
1920
'Sets the specifications for each buttons.',
2021
'By default, a range selector comes with no buttons.'

src/components/rangeselector/index.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
'use strict';
1010

11+
module.exports = {
12+
moduleType: 'component',
13+
name: 'rangeselector',
1114

12-
exports.moduleType = 'component';
15+
layoutNodes: ['xaxis.'],
16+
layoutAttributes: require('./attributes'),
17+
handleDefaults: require('./defaults'),
1318

14-
exports.name = 'rangeselector';
15-
16-
exports.layoutAttributes = require('./attributes');
17-
18-
exports.handleDefaults = require('./defaults');
19-
20-
exports.draw = require('./draw');
19+
draw: require('./draw')
20+
};

src/components/rangeslider/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
module.exports = {
1212
moduleType: 'component',
1313
name: 'rangeslider',
14+
15+
layoutNodes: ['xaxis.'],
1416
layoutAttributes: require('./attributes'),
1517
handleDefaults: require('./defaults'),
18+
1619
draw: require('./draw')
1720
};

src/components/shapes/attributes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var extendFlat = require('../../lib/extend').extendFlat;
1515
var scatterLineAttrs = scatterAttrs.line;
1616

1717
module.exports = {
18-
_isLinkedToArray: true,
18+
_isLinkedToArray: 'shape',
1919

2020
visible: {
2121
valType: 'boolean',

src/components/shapes/index.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99

1010
'use strict';
1111

12-
exports.moduleType = 'component';
13-
14-
exports.name = 'shapes';
15-
16-
exports.layoutAttributes = require('./attributes');
12+
var drawModule = require('./draw');
1713

18-
exports.supplyLayoutDefaults = require('./defaults');
14+
module.exports = {
15+
moduleType: 'component',
16+
name: 'shapes',
1917

20-
exports.calcAutorange = require('./calc_autorange');
18+
layoutAttributes: require('./attributes'),
19+
supplyLayoutDefaults: require('./defaults'),
2120

22-
var drawModule = require('./draw');
23-
exports.draw = drawModule.draw;
24-
exports.drawOne = drawModule.drawOne;
21+
calcAutorange: require('./calc_autorange'),
22+
draw: drawModule.draw,
23+
drawOne: drawModule.drawOne
24+
};

src/components/sliders/attributes.js

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

1818
var stepsAttrs = {
19-
_isLinkedToArray: true,
19+
_isLinkedToArray: 'step',
2020

2121
method: {
2222
valType: 'enumerated',
@@ -57,6 +57,8 @@ var stepsAttrs = {
5757
};
5858

5959
module.exports = {
60+
_isLinkedToArray: 'slider',
61+
6062
visible: {
6163
valType: 'boolean',
6264
role: 'info',

src/components/sliders/constants.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212

1313
module.exports = {
1414

15-
// layout attribute names
15+
// layout attribute name
1616
name: 'sliders',
17-
itemName: 'slider',
1817

1918
// class names
2019
containerClassName: 'slider-container',

src/components/sliders/index.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88

99
'use strict';
1010

11+
var constants = require('./constants');
1112

12-
exports.moduleType = 'component';
13+
module.exports = {
14+
moduleType: 'component',
15+
name: constants.name,
1316

14-
exports.name = 'sliders';
17+
layoutAttributes: require('./attributes'),
18+
supplyLayoutDefaults: require('./defaults'),
1519

16-
exports.layoutAttributes = require('./attributes');
17-
18-
exports.supplyLayoutDefaults = require('./defaults');
19-
20-
exports.draw = require('./draw');
20+
draw: require('./draw')
21+
};

src/components/updatemenus/attributes.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var extendFlat = require('../../lib/extend').extendFlat;
1414
var padAttrs = require('../../plots/pad_attributes');
1515

1616
var buttonsAttrs = {
17-
_isLinkedToArray: true,
17+
_isLinkedToArray: 'button',
1818

1919
method: {
2020
valType: 'enumerated',
@@ -48,7 +48,7 @@ var buttonsAttrs = {
4848
};
4949

5050
module.exports = {
51-
_isLinkedToArray: true,
51+
_isLinkedToArray: 'updatemenu',
5252

5353
visible: {
5454
valType: 'boolean',

src/components/updatemenus/constants.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212

1313
module.exports = {
1414

15-
// layout attribute names
15+
// layout attribute name
1616
name: 'updatemenus',
17-
itemName: 'updatemenu',
1817

1918
// class names
2019
containerClassName: 'updatemenu-container',

src/components/updatemenus/index.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88

99
'use strict';
1010

11+
var constants = require('./constants');
1112

12-
exports.moduleType = 'component';
13+
module.exports = {
14+
moduleType: 'component',
15+
name: constants.name,
1316

14-
exports.name = 'updatemenus';
17+
layoutAttributes: require('./attributes'),
18+
supplyLayoutDefaults: require('./defaults'),
1519

16-
exports.layoutAttributes = require('./attributes');
17-
18-
exports.supplyLayoutDefaults = require('./defaults');
19-
20-
exports.draw = require('./draw');
20+
draw: require('./draw')
21+
};

0 commit comments

Comments
 (0)