How to use @mozillareality/react-dnd-html5-backend - 2 common examples

To help you get started, we’ve selected a few @mozillareality/react-dnd-html5-backend examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mozilla / Spoke / src / client / ui / explorer / NativeFileDropTarget.js View on Github external
import { DropTarget } from "react-dnd";
import { NativeTypes } from "@mozillareality/react-dnd-html5-backend";
import { getFilesFromDragEvent } from "html-dir-content";
import styles from "./AssetDropTarget.scss";

function NativeFileDropTarget({ connectDropTarget, children }) {
  return connectDropTarget(<div>{children}</div>);
}

NativeFileDropTarget.propTypes = {
  connectDropTarget: PropTypes.func,
  children: PropTypes.node
};

export default DropTarget(
  [NativeTypes.DATA_TRANSFER],
  {
    drop(props, monitor) {
      const item = monitor.getItem();

      const filesPromise = getFilesFromDragEvent(item, true);

      if (props.onDropNativeFiles &amp;&amp; !monitor.didDrop()) {
        props.onDropNativeFiles(filesPromise, props.target);
      }

      return item;
    },
    canDrop(props) {
      if (props.target) {
        return !!props.target.isDirectory;
      }
github mozilla / Spoke / src / client / ui / explorer / AssetDropTarget.js View on Github external
import PropTypes from "prop-types";
import { NativeTypes } from "@mozillareality/react-dnd-html5-backend";
import { DropTarget } from "react-dnd";
import styles from "./AssetDropTarget.scss";

function AssetDropTarget({ connectDropTarget, children }) {
  return connectDropTarget(<div>{children}</div>);
}

AssetDropTarget.propTypes = {
  connectDropTarget: PropTypes.func,
  children: PropTypes.node
};

export default DropTarget(
  ["file", NativeTypes.DATA_TRANSFER],
  {
    drop(props, monitor) {
      const item = monitor.getItem();

      if (props.onDropAsset) {
        props.onDropAsset(item);
      }

      return item;
    }
  },
  (connect, monitor) =&gt; ({
    connectDropTarget: connect.dropTarget(),
    isOver: monitor.isOver(),
    canDrop: monitor.canDrop()
  })

@mozillareality/react-dnd-html5-backend

HTML5 backend for React DnD

MIT
Latest version published 7 years ago

Package Health Score

63 / 100
Full package analysis

Popular @mozillareality/react-dnd-html5-backend functions

Similar packages