@netdata/charts
Version:
Netdata frontend SDK and chart utilities
37 lines • 1.98 kB
JavaScript
export var defaultCellSize = 17;
export var defaultPadding = 1;
export var defaultAspectRatio = Math.round(16 / 9);
export var getCellBoxSize = function getCellBoxSize() {
var cellSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultCellSize;
var padding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultPadding;
return cellSize - padding;
};
export var getRows = function getRows(data) {
var aspectRatio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultAspectRatio;
return Math.sqrt(data.length / aspectRatio) || 1;
};
export var getColumns = function getColumns(rows) {
var aspectRatio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultAspectRatio;
return rows * aspectRatio || 1;
};
export var getXPosition = function getXPosition(columns, index) {
var cellSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultCellSize;
return Math.floor(index % columns) * cellSize;
};
export var getYPosition = function getYPosition(columns, index) {
var cellSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultCellSize;
return Math.floor(index / columns) * cellSize;
};
export var getFullWidth = function getFullWidth(columns) {
var cellSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultCellSize;
return Math.ceil(columns) * cellSize;
};
export var getFullHeight = function getFullHeight(rows) {
var cellSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultCellSize;
var padding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultCellSize;
return Math.ceil(rows) * cellSize + padding;
};
export var getOffsetPosition = function getOffsetPosition(offset) {
var cellSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultCellSize;
return Math.floor(offset / cellSize);
};