package.src.lib.gup.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plotly.js Show documentation
Show all versions of plotly.js Show documentation
The open source javascript graphing library that powers plotly
The newest version!
'use strict';
var identity = require('./identity');
function wrap(d) {return [d];}
module.exports = {
// The D3 data binding concept and the General Update Pattern promotes the idea of
// traversing into the scenegraph by using the `.data(fun, keyFun)` call.
// The `fun` is most often a `repeat`, ie. the elements beneath a `` element need
// access to the same data, or a `descend`, which fans a scenegraph node into a bunch of
// of elements, e.g. points, lines, rows, requiring an array as input.
// The role of the `keyFun` is to identify what elements are being entered/exited/updated,
// otherwise D3 reverts to using a plain index which would screw up `transition`s.
keyFun: function(d) {return d.key;},
repeat: wrap,
descend: identity,
// Plotly.js uses a convention of storing the actual contents of the `calcData` as the
// element zero of a container array. These helpers are just used for clarity as a
// newcomer to the codebase may not know what the `[0]` is, and whether there can be further
// elements (not atm).
wrap: wrap,
unwrap: function(d) {return d[0];}
};