-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
Copy pathindex.js
46 lines (37 loc) · 1.1 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* Copyright 2012-2017, Plotly, Inc.
* All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
var Registry = require('../../registry');
var Lib = require('../../lib');
module.exports = {
moduleType: 'component',
name: 'annotations3d',
schema: {
subplots: {
scene: {annotations: require('./attributes')}
}
},
layoutAttributes: require('./attributes'),
handleDefaults: require('./defaults'),
includeBasePlot: includeGL3D,
convert: require('./convert'),
draw: require('./draw')
};
function includeGL3D(layoutIn, layoutOut) {
var GL3D = Registry.subplotsRegistry.gl3d;
if(!GL3D) return;
var attrRegex = GL3D.attrRegex;
var keys = Object.keys(layoutIn);
for(var i = 0; i < keys.length; i++) {
var k = keys[i];
if(attrRegex.test(k) && (layoutIn[k].annotations || []).length) {
Lib.pushUnique(layoutOut._basePlotModules, GL3D);
Lib.pushUnique(layoutOut._subplots.gl3d, k);
}
}
}