| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | UE.plugins['dragdrop'] = function (){    var me = this;    me.ready(function(){        domUtils.on(this.body,'dragend',function(){            var rng = me.selection.getRange();            var node = rng.getClosedNode()||me.selection.getStart();            if(node && node.tagName == 'IMG'){                var pre = node.previousSibling,next;                while(next = node.nextSibling){                    if(next.nodeType == 1 && next.tagName == 'SPAN' && !next.firstChild){                        domUtils.remove(next)                    }else{                        break;                    }                }                if((pre && pre.nodeType == 1 && !domUtils.isEmptyBlock(pre) || !pre) && (!next || next && !domUtils.isEmptyBlock(next))){                    if(pre && pre.tagName == 'P' && !domUtils.isEmptyBlock(pre)){                        pre.appendChild(node);                        domUtils.moveChild(next,pre);                        domUtils.remove(next);                    }else  if(next && next.tagName == 'P' && !domUtils.isEmptyBlock(next)){                        next.insertBefore(node,next.firstChild);                    }                    if(pre && pre.tagName == 'P' && domUtils.isEmptyBlock(pre)){                        domUtils.remove(pre)                    }                    if(next && next.tagName == 'P' && domUtils.isEmptyBlock(next)){                        domUtils.remove(next)                    }                    rng.selectNode(node).select();                    me.fireEvent('saveScene');                }            }        })    });    me.addListener('keyup', function(type, evt) {        var keyCode = evt.keyCode || evt.which;        if (keyCode == 13) {            var rng = me.selection.getRange(),node;            if(node = domUtils.findParentByTagName(rng.startContainer,'p',true)){                if(domUtils.getComputedStyle(node,'text-align') == 'center'){                    domUtils.removeStyle(node,'text-align')                }            }        }    })};
 |