<commit_before>const React = require('react');
const PropTypes = require('prop-types');
const Interact = require('interact.js');
const _ = require('lodash');

const Header = require('project/components/Header.js');
const Project = require('project/components/Project.js');
const Footer = require('shared/components/Footer.js');
const PairingHistory = require('project/components/PairingHistory.js');

class App extends React.Component {
    constructor(props) {
        super(props);
        this.fromPairingBoardIndex = undefined;
        this.toPairingBoardIndex = undefined;
    }

    componentDidMount() {
        Interact('.draggable').draggable({
            restrict: {
                restriction: ".project-page-container"
            },
            autoScroll: true,

            onmove: function dragMoveListener (event) {
                const target = event.target;
                const x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx;
                const y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;

                target.style.webkitTransform = target.style.transform = 'translate(' + x + 'px, ' + y + 'px)';

                target.setAttribute('data-x', x);
                target.setAttribute('data-y', y);
            },

            onend: function(event) {
                event.target.removeAttribute('style');
                event.target.removeAttribute('data-x');
                event.target.removeAttribute('data-y');
            }
        });

        Interact('.dropzone').dropzone({
            accept: '.draggable.person',
            overlap: 'center',

            ondropactivate: function (event) {
                event.target.classList.add('drop-active');
            },
            ondropdeactivate: function (event) {
                event.target.classList.remove('drop-active');
            },
            ondragenter: this.dropzoneOnDragEnter.bind(this),
            ondragleave: this.dropzoneOnDragLeave.bind(this),
            ondrop: this.dropzoneOnDrop.bind(this)
        });

        Interact('.delete-parrit').dropzone({
            accept: '.draggable.person',
            overlap: 'center',

            ondropactivate: function (event) {
                event.target.classList.add('drop-active');<commit_msg>Change overlap for deleting a parrit from center to 0.01<commit_after>const React = require('react');
const PropTypes = require('prop-types');
const Interact = require('interact.js');
const _ = require('lodash');

const Header = require('project/components/Header.js');
const Project = require('project/components/Project.js');
const Footer = require('shared/components/Footer.js');
const PairingHistory = require('project/components/PairingHistory.js');

class App extends React.Component {
    constructor(props) {
        super(props);
        this.fromPairingBoardIndex = undefined;
        this.toPairingBoardIndex = undefined;
    }

    componentDidMount() {
        Interact('.draggable').draggable({
            restrict: {
                restriction: ".project-page-container"
            },
            autoScroll: true,

            onmove: function dragMoveListener (event) {
                const target = event.target;
                const x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx;
                const y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy;

                target.style.webkitTransform = target.style.transform = 'translate(' + x + 'px, ' + y + 'px)';

                target.setAttribute('data-x', x);
                target.setAttribute('data-y', y);
            },

            onend: function(event) {
                event.target.removeAttribute('style');
                event.target.removeAttribute('data-x');
                event.target.removeAttribute('data-y');
            }
        });

        Interact('.dropzone').dropzone({
            accept: '.draggable.person',
            overlap: 'center',

            ondropactivate: function (event) {
                event.target.classList.add('drop-active');
            },
            ondropdeactivate: function (event) {
                event.target.classList.remove('drop-active');
            },
            ondragenter: this.dropzoneOnDragEnter.bind(this),
            ondragleave: this.dropzoneOnDragLeave.bind(this),
            ondrop: this.dropzoneOnDrop.bind(this)
        });

        Interact('.delete-parrit').dropzone({
            accept: '.draggable.person',
            overlap: 0.01,

            ondropactivate: function (event) {
                event.target.classList.add('drop-active');
{'fraction_non_alphanumeric': 0.13413845158507656, 'fraction_numerical': 0.0021565667457407807, 'mean_word_length': 2.1211305518169583, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6185954', 'n_tokens_mistral': 1245, 'n_tokens_neox': 1209, 'n_words': 210}