diff --git a/src/utils/Sorter.js b/src/utils/Sorter.js index 2baa667ef..62c9a87af 100644 --- a/src/utils/Sorter.js +++ b/src/utils/Sorter.js @@ -431,17 +431,22 @@ module.exports = Backbone.View.extend({ */ validTarget(trg) { let srcModel = this.getSourceModel(); - let src = srcModel.view.el; + let src = srcModel && srcModel.view && srcModel.view.el; let trgModel = this.getTargetModel(trg); - trg = trgModel.view.el; + trg = trgModel && trgModel.view && trgModel.view.el; let result = { - result: true, + valid: true, src, srcModel, trg, trgModel }; + if (!src || !trg) { + result.valid = false; + return result; + } + // Check if the target could accept the source let droppable = trgModel.get('droppable'); droppable = droppable instanceof Array ? droppable.join(', ') : droppable; @@ -457,7 +462,7 @@ module.exports = Backbone.View.extend({ result.draggable = draggable; if (!droppable || !draggable) { - result.result = false; + result.valid = false; } return result; @@ -497,7 +502,7 @@ module.exports = Backbone.View.extend({ this.targetP = this.closest(target, this.containerSel); // Check if the source is valid with the target - if (!this.validTarget(target).result) { + if (!this.validTarget(target).valid) { return this.dimsFromTarget(this.targetP, rX, rY); }