You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.6 KiB
41 lines
1.6 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.sizeOf = sizeOf;
|
|
const util_1 = require("@antv/util");
|
|
const parseInt10 = (d) => (d ? parseInt(d) : 0);
|
|
/**
|
|
* Get the container's bounding size.
|
|
* @param container dom element.
|
|
* @returns the container width and height
|
|
*/
|
|
function getContainerSize(container) {
|
|
const style = getComputedStyle(container);
|
|
const wrapperWidth = container.clientWidth || parseInt10(style.width);
|
|
const wrapperHeight = container.clientHeight || parseInt10(style.height);
|
|
const widthPadding = parseInt10(style.paddingLeft) + parseInt10(style.paddingRight);
|
|
const heightPadding = parseInt10(style.paddingTop) + parseInt10(style.paddingBottom);
|
|
return [wrapperWidth - widthPadding, wrapperHeight - heightPadding];
|
|
}
|
|
/**
|
|
* Get the size of Graph.
|
|
* @param container container of Graph
|
|
* @returns Size of Graph
|
|
*/
|
|
function sizeOf(container) {
|
|
if (!container)
|
|
return [0, 0];
|
|
let effectiveWidth = 640;
|
|
let effectiveHeight = 480;
|
|
const [containerWidth, containerHeight] = getContainerSize(container);
|
|
effectiveWidth = containerWidth || effectiveWidth;
|
|
effectiveHeight = containerHeight || effectiveHeight;
|
|
/** Minimum width */
|
|
const MIN_CHART_WIDTH = 1;
|
|
/** Minimum height */
|
|
const MIN_CHART_HEIGHT = 1;
|
|
return [
|
|
Math.max((0, util_1.isNumber)(effectiveWidth) ? effectiveWidth : MIN_CHART_WIDTH, MIN_CHART_WIDTH),
|
|
Math.max((0, util_1.isNumber)(effectiveHeight) ? effectiveHeight : MIN_CHART_HEIGHT, MIN_CHART_HEIGHT),
|
|
];
|
|
}
|
|
//# sourceMappingURL=dom.js.map
|