import React from 'react'; import ReactDOM from 'react-dom'; import JqxDragDrop from '../../../jqwidgets-react/react_jqxdragdrop.js'; import JqxPanel from '../../../jqwidgets-react/react_jqxpanel.js'; class App extends React.Component { componentDidMount(){ this.refs.DragDrop.on('dragStart', (event) => { this.addEvent(event.type, event.args.position); }); this.refs.DragDrop.on('dragEnd', (event) => { this.addEvent(event.type, event.args.position); }); this.refs.DragDrop.on('dropTargetEnter', (event) => { this.addEvent(event.type, event.args.position); }); this.refs.DragDrop.on('dropTargetLeave', (event) => { this.addEvent(event.type, event.args.position); }); this.centerLabels(); } addEvent(type, position) { this.refs.Panel.prepend('
Event: ' + type + ', (' + position.left.toString().substring(0,2) + ', ' + position.top.toString().substring(0,2) + ')
'); } centerLabels() { let labels = document.getElementsByClassName('label'); for (let i = 0; i < labels.length; i++) { let parentHeight = labels[i].parentElement.offsetHeight; let elementheight = labels[i].clientHeight; let top = (parentHeight - elementheight) / 2; labels[i].style.top = top + 'px'; } } render () { return (
I can be dragged only inside my parent
I am a drop target
) } } ReactDOM.render(, document.getElementById('app'));