@visactor/react-vchart
Version:
The react version of VChart 4.x
118 lines (112 loc) • 5.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.bindEventsToChart = exports.findEventProps = exports.VCHART_TO_REACT_EVENTS = exports.COMMON_EVENTK_KEYS = exports.CHART_EVENTS_KEYS = exports.CHART_EVENTS = exports.CHART_LIFECYCLE_EVENTS = exports.HIERARCHY_EVENTS = exports.DIMENSION_EVENTS = exports.SCROLLBAR_CUSTOMIZED_EVENTS = exports.PLAYER_CUSTOMIZED_EVENTS = exports.DATAZOOM_CUSTOMIZED_EVENTS = exports.BRUSH_CUSTOMIZED_EVENTS = exports.LEGEND_CUSTOMIZED_EVENTS = exports.REACT_TO_VCHART_EVENTS = void 0,
exports.REACT_TO_VCHART_EVENTS = {
onPointerDown: "pointerdown",
onPointerUp: "pointerup",
onPointerUpOutside: "pointerupoutside",
onPointerTap: "pointertap",
onPointerOver: "pointerover",
onPointerMove: "pointermove",
onPointerEnter: "pointerenter",
onPointerLeave: "pointerleave",
onPointerOut: "pointerout",
onMouseDown: "mousedown",
onMouseUp: "mouseup",
onMouseUpOutside: "mouseupoutside",
onMouseMove: "mousemove",
onMouseOver: "mouseover",
onMouseOut: "mouseout",
onMouseEnter: "mouseenter",
onMouseLeave: "mouseleave",
onPinch: "pinch",
onPinchStart: "pinchstart",
onPinchEnd: "pinchend",
onPan: "pan",
onPanStart: "panstart",
onPanEnd: "panend",
onDrag: "drag",
onDragStart: "dragstart",
onDragEnter: "dragenter",
onDragLeave: "dragleave",
onDragOver: "dragover",
onDragEnd: "dragend",
onRightDown: "rightdown",
onRightUp: "rightup",
onRightUpOutside: "rightupoutside",
onTouchStart: "touchstart",
onTouchEnd: "touchend",
onTouchEndOutside: "touchendoutside",
onTouchMove: "touchmove",
onTouchCancel: "touchcancel",
onPress: "press",
onPressUp: "pressup",
onPressEnd: "pressend",
onSwipe: "swipe",
onDrop: "drop",
onWeel: "wheel",
onClick: "click",
onDblClick: "dblclick"
}, exports.LEGEND_CUSTOMIZED_EVENTS = {
onLegendItemHover: "legendItemHover",
onLegendItemUnHover: "legendItemUnHover",
onLegendItemClick: "legendItemClick",
onLegendFilter: "legendFilter",
onLegendSelectedDataChange: "legendSelectedDataChange"
}, exports.BRUSH_CUSTOMIZED_EVENTS = {
onBrushStart: "brushStart",
onBrushChange: "brushChange",
onBrushEnd: "brushEnd",
onBrushClear: "brushClear"
}, exports.DATAZOOM_CUSTOMIZED_EVENTS = {
onDataZoomChange: "dataZoomChange"
}, exports.PLAYER_CUSTOMIZED_EVENTS = {
onPlayerPlay: "playerPlay",
onPlayerPause: "playerPause",
onPlayerEnd: "playerEnd",
onPlayerChange: "playerChange",
onPlayerForward: "playerForward",
onPlayerBackward: "playerBackward"
}, exports.SCROLLBAR_CUSTOMIZED_EVENTS = {
onScrollBarChange: "scrollBarChange"
}, exports.DIMENSION_EVENTS = {
onDimensionHover: "dimensionHover",
onDimensionClick: "dimensionClick"
}, exports.HIERARCHY_EVENTS = {
onDrill: "drill"
}, exports.CHART_LIFECYCLE_EVENTS = {
onInitialized: "initialized",
onRendered: "rendered",
onRenderFinished: "renderFinished",
onAnimationFinished: "animationFinished",
onLayoutStart: "layoutStart",
onLayoutEnd: "layoutEnd"
}, exports.CHART_EVENTS = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, exports.LEGEND_CUSTOMIZED_EVENTS), exports.BRUSH_CUSTOMIZED_EVENTS), exports.PLAYER_CUSTOMIZED_EVENTS), exports.DATAZOOM_CUSTOMIZED_EVENTS), exports.SCROLLBAR_CUSTOMIZED_EVENTS), exports.DIMENSION_EVENTS), exports.CHART_LIFECYCLE_EVENTS), exports.HIERARCHY_EVENTS), exports.REACT_TO_VCHART_EVENTS),
exports.CHART_EVENTS_KEYS = Object.keys(exports.CHART_EVENTS).concat(Object.keys(exports.REACT_TO_VCHART_EVENTS).map((evt => `${evt}Filter`))),
exports.COMMON_EVENTK_KEYS = Object.keys(exports.REACT_TO_VCHART_EVENTS), exports.VCHART_TO_REACT_EVENTS = Object.keys(exports.REACT_TO_VCHART_EVENTS).reduce(((res, key) => (res[exports.REACT_TO_VCHART_EVENTS[key]] = key,
res)), {});
const findEventProps = (props, supportedEvents = exports.REACT_TO_VCHART_EVENTS) => {
const result = {};
return Object.keys(props).forEach((key => {
supportedEvents[key] && props[key] && (result[key] = props[key]);
})), result;
};
exports.findEventProps = findEventProps;
const bindEventsToChart = (chart, newProps, prevProps, supportedEvents = exports.REACT_TO_VCHART_EVENTS) => {
if (!newProps && !prevProps || !chart) return !1;
const prevEventProps = prevProps ? (0, exports.findEventProps)(prevProps, supportedEvents) : null, newEventProps = newProps ? (0,
exports.findEventProps)(newProps, supportedEvents) : null;
return prevEventProps && Object.keys(prevEventProps).forEach((eventKey => {
if (!newEventProps || !newEventProps[eventKey] || newEventProps[eventKey] !== prevEventProps[eventKey]) {
chart.off(supportedEvents[eventKey], prevEventProps[eventKey]);
}
})), newEventProps && Object.keys(newEventProps).forEach((eventKey => {
if (!prevEventProps || !prevEventProps[eventKey] || prevEventProps[eventKey] !== newEventProps[eventKey]) {
const filter = newProps[`${eventKey}Filter`];
filter ? chart.on(supportedEvents[eventKey], filter, newEventProps[eventKey]) : chart.on(supportedEvents[eventKey], newEventProps[eventKey]);
}
})), !0;
};
exports.bindEventsToChart = bindEventsToChart;
//# sourceMappingURL=eventsUtils.js.map