dropInEditor()

in public/src/js/models/article/editor.js [119:140]


    dropInEditor(element) {
        var sourceMeta = element.getData('sourceMeta');
        var params = (this.opts.validator || {}).params || {};
        var targetMethod = this.type === 'image' ? 'assignToObjectElement' : 'assignImageToSpreadElement';

        if (sourceMeta) {
            // Drag and drop from another editor, assume valid
            try {
                sourceMeta = JSON.parse(sourceMeta);
                this[targetMethod](params, sourceMeta, sourceMeta.origin);
            } catch (ex) {
                alert('You cannot drag that element here.');
            }
        } else {
            return validateImageEvent({dataTransfer: element}, params.options)
                .then(img => {
                    this[targetMethod](params, img, img.origin);
                }, err => {
                    this[targetMethod](params, err);
                });
        }
    }