UNPKG

@visactor/react-vrender

Version:
74 lines (70 loc) 2.61 kB
export const REACT_TO_CANOPUS_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" }; const isEvent = key => !!REACT_TO_CANOPUS_EVENTS[key]; export const splitProps = props => { const eventProps = {}, graphicProps = {}; return Object.keys(props).forEach((key => { REACT_TO_CANOPUS_EVENTS[key] ? eventProps[key] = props[key] : graphicProps[key] = props[key]; })), { graphicProps: graphicProps, eventProps: eventProps }; }; export const bindGraphicEvent = (eventProps, instance) => { Object.keys(eventProps).forEach((propKey => { "function" == typeof eventProps[propKey] && instance.addEventListener(REACT_TO_CANOPUS_EVENTS[propKey], eventProps[propKey]); })); }; export const updateProps = (instance, newProps, oldProps) => { Object.keys(oldProps).forEach((key => { oldProps && oldProps[key] !== newProps[key] && (isEvent(key) ? instance.removeEventListener(REACT_TO_CANOPUS_EVENTS[key], oldProps[key]) : instance.setAttribute(key, void 0)); })), Object.keys(newProps).forEach((key => { oldProps[key] !== newProps[key] && (isEvent(key) ? "function" == typeof newProps[key] && instance.addEventListener(REACT_TO_CANOPUS_EVENTS[key], newProps[key]) : instance.setAttribute(key, newProps[key])); })); }; //# sourceMappingURL=processProps.js.map