UNPKG

@spalger/kibana

Version:

Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic

53 lines (49 loc) 1.44 kB
define(function () { return function ChartSplitFactory() { var d3 = require('d3'); /* * Adds div DOM elements to the `.chart-wrapper` element based on the data layout. * For example, if the data has rows, it returns the same number of * `.chart` elements as row objects. */ return function split(selection) { selection.each(function (data) { var div = d3.select(this) .attr('class', function () { // Determine the parent class if (data.rows) { return 'chart-wrapper-row'; } else if (data.columns) { return 'chart-wrapper-column'; } else { return 'chart-wrapper'; } }); var divClass; var charts = div.selectAll('charts') .append('div') .data(function (d) { // Determine the child class if (d.rows) { divClass = 'chart-row'; return d.rows; } else if (d.columns) { divClass = 'chart-column'; return d.columns; } else { divClass = 'chart'; return [d]; } }) .enter() .append('div') .attr('class', function () { return divClass; }); if (!data.geoJson) { charts.call(split); } }); }; }; });