diff --git a/package.json b/package.json index bb97ce0fe..088d4250f 100644 --- a/package.json +++ b/package.json @@ -55,10 +55,10 @@ "proxyquire": "1.3.1", "q": "^1.0.1", "raven": "0.7.2", - "react": "^0.14.7", - "react-addons-css-transition-group": "^0.14.7", - "react-addons-test-utils": "^0.14.7", - "react-dom": "^0.14.7", + "react": "^15.0.1", + "react-addons-css-transition-group": "^15.0.1", + "react-addons-test-utils": "^15.0.1", + "react-dom": "^15.0.1", "reflux": "0.1.13", "request": "^2.53", "request-progress": "^0.3", diff --git a/spec/components/editable-list-spec.jsx b/spec/components/editable-list-spec.jsx index 6a9cb4541..09fe590d5 100644 --- a/spec/components/editable-list-spec.jsx +++ b/spec/components/editable-list-spec.jsx @@ -170,7 +170,7 @@ describe('EditableList', ()=> { const item = findDOMNode(makeItem('item 1', 0)); expect(item.className.indexOf('selected')).toEqual(-1); expect(item.className.indexOf('editable-item')).not.toEqual(-1); - expect(item.childNodes[0].textContent).toEqual('item 1'); + expect(item.innerText).toEqual('item 1'); }); it('renders correctly when item is component', ()=> { diff --git a/src/components/editable-list.jsx b/src/components/editable-list.jsx index be6abe90b..6b66eb5e3 100644 --- a/src/components/editable-list.jsx +++ b/src/components/editable-list.jsx @@ -1,4 +1,5 @@ import _ from 'underscore'; +import uuid from 'node-uuid'; import classNames from 'classnames'; import ScrollRegion from './scroll-region'; import KeyCommandsRegion from './key-commands-region'; @@ -115,6 +116,7 @@ class EditableList extends Component { constructor(props) { super(props); + this.listId = uuid.v4(); this.state = { dropInsertionIndex: -1, editingIndex: -1, @@ -280,8 +282,6 @@ class EditableList extends Component { } const row = event.target.closest('[data-item-idx]') || event.target; - const wrapperId = ReactDOM.findDOMNode(this.refs.itemsWrapper).dataset.reactid; - if (!row.dataset.itemIdx) { return; } @@ -293,14 +293,14 @@ class EditableList extends Component { } event.dataTransfer.setData('editablelist-index', row.dataset.itemIdx); - event.dataTransfer.setData('editablelist-reactid', wrapperId); + event.dataTransfer.setData('editablelist-listid', this.listId); event.dataTransfer.effectAllowed = "move"; }; _onDragOver = (event)=> { const wrapperNode = ReactDOM.findDOMNode(this.refs.itemsWrapper); - const originWrapperId = event.dataTransfer.getData('editablelist-reactid') - const originSameList = (originWrapperId === wrapperNode.dataset.reactid); + const originListId = event.dataTransfer.getData('editablelist-listid') + const originSameList = (originListId === this.listId); let dropInsertionIndex = 0; if ((event.currentTarget === wrapperNode) && originSameList) { diff --git a/src/components/menu.cjsx b/src/components/menu.cjsx index 771ec3b44..1291b5558 100644 --- a/src/components/menu.cjsx +++ b/src/components/menu.cjsx @@ -24,7 +24,6 @@ class MenuItem extends React.Component ### @propTypes: divider: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.bool]) - key: React.PropTypes.string selected: React.PropTypes.bool checked: React.PropTypes.bool @@ -39,7 +38,7 @@ class MenuItem extends React.Component "item": true "selected": @props.selected "checked": @props.checked -