kibana-123
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
41 lines (34 loc) • 1.12 kB
JavaScript
import d3 from 'd3';
define(function () {
return function ChartTitleSplitFactory() {
/*
* Adds div DOM elements to either the `.y-axis-chart-title` element or the
* `.x-axis-chart-title` element based on the data layout.
* For example, if the data has rows, it returns the same number of
* `.chart-title` elements as row objects.
* if not data.rows or data.columns, return no chart titles
*/
return function (selection, parent) {
selection.each(function (data) {
const div = d3.select(this);
if (!data.slices) {
div.selectAll('.chart-title')
.append('div')
.data(function (d) {
return d.rows ? d.rows : d.columns;
})
.enter()
.append('div')
.attr('class', 'chart-title');
if (data.rows) {
d3.select(parent).select('.x-axis-chart-title').remove();
} else {
d3.select(parent).select('.y-axis-chart-title').remove();
}
return div;
}
return d3.select(this).remove();
});
};
};
});