@visactor/openinula-vchart
Version:
The openinula version of VChart 4.x
48 lines (43 loc) • 2.4 kB
JavaScript
;
var __importDefault = this && this.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : {
default: mod
};
};
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.initCustomTooltip = void 0;
const openinula_1 = __importDefault(require("openinula")), vutils_1 = require("@visactor/vutils"), constant_1 = require("./constant"), openinula_2 = require("openinula"), initCustomTooltip = (setTooltipNode, props, spec) => {
let render;
if ((null == spec ? void 0 : spec.tooltipRender) ? (render = spec.tooltipRender,
delete spec.tooltipRender) : (null == spec ? void 0 : spec.children) ? render = (tooltipElement, actualTooltip, params) => openinula_1.default.Children.map(spec.children, (child => (0,
vutils_1.isObject)(child) ? openinula_1.default.cloneElement(child, {
tooltipElement: tooltipElement,
actualTooltip: actualTooltip,
params: params
}) : child)) : props.tooltipRender && (render = props.tooltipRender), render) {
let reserve;
return (null == spec ? void 0 : spec.reserveDefaultTooltip) ? (reserve = spec.reserveDefaultTooltip,
delete spec.reserveDefaultTooltip) : reserve = props.reserveDefaultTooltip, Object.assign(Object.assign({}, spec), {
updateElement: (el, actualTooltip, params) => {
const {changePositionOnly: changePositionOnly} = params;
if (!changePositionOnly) {
if (!reserve) {
el.style.width = "auto", el.style.height = "auto", el.style.minHeight = "auto",
el.style.padding = "0px";
for (let i = 0; i < el.children.length; i++) {
const childNode = el.children[i];
childNode.className !== constant_1.REACT_TOOLTIP_ClASS_NAME && "none" !== childNode.style.display && (childNode.style.display = "none");
}
}
setTooltipNode((0, openinula_2.createPortal)(openinula_1.default.createElement("div", {
className: constant_1.REACT_TOOLTIP_ClASS_NAME
}, render(el, actualTooltip, params)), el));
}
}
});
}
return spec;
};
exports.initCustomTooltip = initCustomTooltip;
//# sourceMappingURL=util.js.map