@visactor/react-vchart
Version:
The react version of VChart 4.x
37 lines (32 loc) • 1.54 kB
JavaScript
;
var __importDefault = this && this.__importDefault || function(mod) {
return mod && mod.__esModule ? mod : {
default: mod
};
};
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.createTooltip = void 0;
const react_1 = __importDefault(require("react")), vutils_1 = require("@visactor/vutils"), vchart_1 = require("@visactor/vchart"), createTooltip = (componentName, specName, registers) => {
registers && registers.length && vchart_1.VChart.useRegisters(registers);
const ignoreKeys = [ "updateId", "componentId", "children" ], Comp = props => {
const updateId = react_1.default.useRef(props.updateId);
return props.updateId !== updateId.current && (updateId.current = props.updateId),
null;
};
return Comp.displayName = componentName, Comp.parseSpec = props => {
const newTooltipSpec = (0, vutils_1.pickWithout)(props, ignoreKeys);
return !props.tooltipRender && props.children && (newTooltipSpec.tooltipRender = (tooltipElement, actualTooltip, params) => react_1.default.Children.map(props.children, (child => (0,
vutils_1.isObject)(child) ? react_1.default.cloneElement(child, {
tooltipElement: tooltipElement,
actualTooltip: actualTooltip,
params: params
}) : child))), {
spec: newTooltipSpec,
specName: specName,
isSingle: !0
};
}, Comp;
};
exports.createTooltip = createTooltip;
//# sourceMappingURL=BaseTooltip.js.map