37 lines
1.3 KiB
Java
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;
|