Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 17a6b52

Browse files
committed
Add calc prioritization
1 parent dbf269f commit 17a6b52

File tree

8 files changed

+143
-3
lines changed

8 files changed

+143
-3
lines changed

lib/contourcarpet.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/**
2+
* Copyright 2012-2017, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
'use strict';
10+
11+
module.exports = require('../src/traces/contourcarpet');

lib/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ Plotly.register([
3737

3838
require('./carpet'),
3939
require('./scattercarpet'),
40+
require('./contourcarpet'),
4041

4142
require('./ohlc'),
4243
require('./candlestick')

src/plots/plots.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1996,11 +1996,27 @@ plots.doCalcdata = function(gd, traces) {
19961996
}
19971997
}
19981998

1999-
// 'regular' loop
1999+
// Look up priorities
2000+
var priority;
2001+
var prioritizedFullDataLookup = [];
2002+
var hasPriorities = false;
20002003
for(i = 0; i < fullData.length; i++) {
2004+
trace = fullData[i];
2005+
_module = trace._module;
2006+
priority = (_module && _module.calcPriority) ? _module.calcPriority : 0;
2007+
hasPriorities = hasPriorities || priority;
2008+
prioritizedFullDataLookup.push({index: i, priority: priority});
2009+
}
2010+
2011+
// Sort by priority descending so that higher priority is computed first:
2012+
if(hasPriorities) prioritizedFullDataLookup.sort(function(a, b) { return b.priority - a.priority; });
2013+
2014+
// 'regular' loop
2015+
for(i = 0; i < prioritizedFullDataLookup.length; i++) {
2016+
var index = prioritizedFullDataLookup[i].index;
20012017
var cd = [];
20022018

2003-
trace = fullData[i];
2019+
trace = fullData[index];
20042020

20052021
if(trace.visible === true) {
20062022
_module = trace._module;
@@ -2024,6 +2040,6 @@ plots.doCalcdata = function(gd, traces) {
20242040
if(!cd[0].t) cd[0].t = {};
20252041
cd[0].trace = trace;
20262042

2027-
calcdata[i] = cd;
2043+
calcdata[index] = cd;
20282044
}
20292045
};

src/traces/carpet/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Carpet.supplyDefaults = require('./defaults');
1616
Carpet.plot = require('./plot');
1717
Carpet.calc = require('./calc');
1818
Carpet.animatable = true;
19+
Carpet.calcPriority = 1;
1920

2021
Carpet.moduleType = 'trace';
2122
Carpet.name = 'carpet';
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* Copyright 2012-2016, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
'use strict';
10+
11+
var scatterAttrs = require('../scatter/attributes');
12+
var plotAttrs = require('../../plots/attributes');
13+
var colorAttributes = require('../../components/colorscale/color_attributes');
14+
var colorbarAttrs = require('../../components/colorbar/attributes');
15+
16+
var extendFlat = require('../../lib/extend').extendFlat;
17+
18+
var scatterMarkerAttrs = scatterAttrs.marker,
19+
scatterLineAttrs = scatterAttrs.line,
20+
scatterMarkerLineAttrs = scatterMarkerAttrs.line;
21+
22+
module.exports = {
23+
carpetid: {
24+
valType: 'string',
25+
role: 'info',
26+
description: [
27+
'An identifier for this carpet, so that `scattercarpet` and',
28+
'`scattercontour` traces can specify a carpet plot on which',
29+
'they lie'
30+
].join(' ')
31+
},
32+
};

src/traces/contourcarpet/defaults.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* Copyright 2012-2016, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
10+
'use strict';
11+
12+
var Lib = require('../../lib');
13+
14+
var constants = require('../scatter/constants');
15+
var subTypes = require('../scatter/subtypes');
16+
var handleMarkerDefaults = require('../scatter/marker_defaults');
17+
var handleLineDefaults = require('../scatter/line_defaults');
18+
var handleLineShapeDefaults = require('../scatter/line_shape_defaults');
19+
var handleTextDefaults = require('../scatter/text_defaults');
20+
var handleFillColorDefaults = require('../scatter/fillcolor_defaults');
21+
22+
var attributes = require('./attributes');
23+
24+
25+
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
26+
function coerce(attr, dflt) {
27+
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
28+
}
29+
30+
coerce('carpetid');
31+
32+
};

src/traces/contourcarpet/index.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Copyright 2012-2016, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
'use strict';
10+
11+
var ContourCarpet = {};
12+
13+
ContourCarpet.attributes = require('./attributes');
14+
ContourCarpet.supplyDefaults = require('./defaults');
15+
// ContourCarpet.colorbar = require('../scatter/colorbar');
16+
// ContourCarpet.calc = require('./calc');
17+
ContourCarpet.plot = require('./plot');
18+
// ContourCarpet.style = require('./style');
19+
// ContourCarpet.hoverPoints = require('./hover');
20+
// ContourCarpet.selectPoints = require('./select');
21+
22+
ContourCarpet.moduleType = 'trace';
23+
ContourCarpet.name = 'contourcarpet';
24+
ContourCarpet.basePlotModule = require('../../plots/cartesian');
25+
ContourCarpet.categories = ['carpet', 'symbols', 'markerColorscale', 'showLegend'];
26+
ContourCarpet.meta = {
27+
hrName: 'contour_carpet',
28+
description: [].join(' ')
29+
};
30+
31+
module.exports = ContourCarpet;

src/traces/contourcarpet/plot.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* Copyright 2012-2016, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
'use strict';
10+
11+
var scatterPlot = require('../scatter/plot');
12+
var Axes = require('../../plots/cartesian/axes');
13+
14+
module.exports = function plot(gd, plotinfoproxy, data) {
15+
var i, trace, node;
16+
};

0 commit comments

Comments
 (0)