Skip to content

Commit

Permalink
Merge 6a5607c into f7b2f64
Browse files Browse the repository at this point in the history
  • Loading branch information
LouisBrunner committed Oct 17, 2019
2 parents f7b2f64 + 6a5607c commit 38c281e
Show file tree
Hide file tree
Showing 15 changed files with 288 additions and 413 deletions.
1 change: 0 additions & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ module.exports = {
},
},
plugins: [
['@babel/plugin-proposal-decorators', { legacy: true }],
['@babel/plugin-proposal-class-properties', { loose: true }],
],
};
11 changes: 8 additions & 3 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
const glob = require('glob');

module.exports = {
transformIgnorePatterns: [
'/node_modules/(?!(dnd-core|react-dnd|react-dnd-test-backend))',
],
moduleNameMapper: {
'^dnd-core$': 'dnd-core/dist/cjs',
'^react-dnd$': 'react-dnd/dist/cjs',
'^react-dnd-html5-backend$': 'react-dnd-html5-backend/dist/cjs',
'^react-dnd-touch-backend$': 'react-dnd-touch-backend/dist/cjs',
'^react-dnd-test-backend$': 'react-dnd-test-backend/dist/cjs',
'^react-dnd-test-utils$': 'react-dnd-test-utils/dist/cjs',
},
setupFilesAfterEnv: ['<rootDir>/tests/setup.js'],
collectCoverage: true,
coverageReporters: process.env.CI ? ['lcov'] : ['text', 'text-summary', 'html'], // eslint-disable-line no-process-env
Expand Down
162 changes: 142 additions & 20 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
"@babel/cli": "^7.6.4",
"@babel/core": "^7.6.4",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-proposal-decorators": "^7.6.0",
"@babel/preset-env": "^7.6.3",
"@babel/preset-react": "^7.6.3",
"@babel/register": "^7.6.2",
Expand All @@ -44,6 +43,11 @@
"lerna": "^3.17.0",
"react": "^16.10.2",
"react-dom": "^16.10.2",
"react-dnd": "^9.4.0",
"react-dnd-html5-backend": "^9.4.0",
"react-dnd-touch-backend": "^9.4.0",
"react-dnd-test-backend": "^9.4.0",
"react-dnd-test-utils": "^9.4.0",
"webpack": "^4.41.1",
"webpack-cli": "^3.3.9",
"webpack-dev-server": "^3.8.2",
Expand Down
4 changes: 1 addition & 3 deletions packages/react-dnd-multi-backend/examples/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ import MultiBackend, { Preview } from '../src/index.js';
import HTML5toTouch from '../src/HTML5toTouch.js';
import Card from './Card';
import Basket from './Basket';
import objectAssign from 'object-assign';

export default class App extends PureComponent {
generatePreview(type, item, style) {
objectAssign(style, {backgroundColor: item.color, width: '50px', height: '50px'});
return <div style={style}>Generated</div>;
return <div style={{...style, backgroundColor: item.color, width: '50px', height: '50px'}}>Generated</div>;
}

render() {
Expand Down
55 changes: 22 additions & 33 deletions packages/react-dnd-multi-backend/examples/Basket.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,26 @@
import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { DropTarget } from 'react-dnd';
import React from 'react';
import { useDrop } from 'react-dnd';

const spec = {
drop: (props, monitor) => {
const message = `Dropped: ${monitor.getItem().color}`;
document.getElementById('console').innerHTML += `${message}<br />`;
},
};

function collect(connect, monitor) {
return {
connectDropTarget: connect.dropTarget(),
isOver: monitor.isOver(),
canDrop: monitor.canDrop(),
};
}
const Basket = () => {
const [collectedProps, drop] = useDrop({
accept: 'card',
drop: (item) => {
const message = `Dropped: ${item.color}`;
document.getElementById('console').innerHTML += `${message}<br />`;
},
collect: (monitor) => {
return {
isOver: monitor.isOver(),
canDrop: monitor.canDrop(),
};
},
});

class Basket extends PureComponent {
static propTypes = {
connectDropTarget: PropTypes.func.isRequired,
isOver: PropTypes.bool.isRequired,
canDrop: PropTypes.bool.isRequired,
}
const isOver = collectedProps.isOver;
const canDrop = collectedProps.canDrop;
const style = {backgroundColor: (isOver && canDrop) ? '#f3f3f3' : '#cccccc', border: '1px dashed black'};

render() {
const isOver = this.props.isOver;
const canDrop = this.props.canDrop;
const connectDropTarget = this.props.connectDropTarget;
const style = { backgroundColor: (isOver && canDrop) ? '#f3f3f3' : '#cccccc', border: '1px dashed black' };

return connectDropTarget(<div className="square" style={style} />);
}
}
return <div className="square" style={style} ref={drop} />;
};

export default DropTarget('square', spec, collect)(Basket);
export default Basket;

0 comments on commit 38c281e

Please sign in to comment.