superset divgrid 源码
superset divgrid 代码
文件路径:/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/divgrid.js
/* [LICENSE TBD] */
/* eslint-disable */
// from http://bl.ocks.org/3687826
export default function (config) {
var columns = [];
var dg = function (selection) {
if (columns.length == 0) columns = d3.keys(selection.data()[0][0]);
// header
selection
.selectAll('.header')
.data([true])
.enter()
.append('div')
.attr('class', 'header');
var header = selection.select('.header').selectAll('.cell').data(columns);
header
.enter()
.append('div')
.attr('class', function (d, i) {
return 'col-' + i;
})
.classed('cell', true);
selection.selectAll('.header .cell').text(function (d) {
return d;
});
header.exit().remove();
// rows
var rows = selection.selectAll('.row').data(function (d) {
return d;
});
rows.enter().append('div').attr('class', 'row');
rows.exit().remove();
var cells = selection
.selectAll('.row')
.selectAll('.cell')
.data(function (d) {
return columns.map(function (col) {
return d[col];
});
});
// cells
cells
.enter()
.append('div')
.attr('class', function (d, i) {
return 'col-' + i;
})
.classed('cell', true);
cells.exit().remove();
selection.selectAll('.cell').text(function (d) {
return d;
});
return dg;
};
dg.columns = function (_) {
if (!arguments.length) return columns;
columns = _;
return this;
};
return dg;
}
相关信息
相关文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦