UNPKG

@visactor/react-vchart

Version:

The react version of VChart 4.x

118 lines (112 loc) 5.46 kB
"use strict"; 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