NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/data-set/lib/connector/hexjson.js
2023-09-14 14:47:11 +08:00

37 lines
1.3 KiB
Java

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var util_1 = require("@antv/util");
var d3_hexjson_1 = require("d3-hexjson");
var data_set_1 = require("../data-set");
var DEFAULT_OPTIONS = {
width: 1,
height: 1,
};
function processRow(row) {
row.cx = row.x;
row.cy = row.y;
row.x = [];
row.y = [];
row.vertices.forEach(function (v) {
row.x.push(v.x + row.cx);
row.y.push(v.y + row.cy);
});
return row;
}
function HexJSONConnector(data, options, dataView) {
dataView.dataType = data_set_1.DataSet.CONSTANTS.HEX;
options = util_1.assign({}, DEFAULT_OPTIONS, options);
var width = options.width, height = options.height;
var HexJSON = util_1.deepMix([], data);
dataView._HexJSON = HexJSON;
var grid = (dataView._GridHexJSON = d3_hexjson_1.getGridForHexJSON(HexJSON));
var rows = (dataView.rows = d3_hexjson_1.renderHexJSON(HexJSON, width, height).map(processRow));
dataView._gridRows = d3_hexjson_1.renderHexJSON(grid, width, height).map(processRow);
return rows;
}
data_set_1.DataSet.registerConnector('hex', HexJSONConnector);
data_set_1.DataSet.registerConnector('hexjson', HexJSONConnector);
data_set_1.DataSet.registerConnector('hex-json', HexJSONConnector);
data_set_1.DataSet.registerConnector('HexJSON', HexJSONConnector);
exports.default = HexJSONConnector;