Refactor event within view detection into utils

[MAILPOET-1819]
This commit is contained in:
Rostislav Wolny
2019-03-08 15:46:31 +01:00
committed by M. Shull
parent b8ce70ec2f
commit d445495cba
2 changed files with 15 additions and 18 deletions

View File

@ -6,7 +6,7 @@
import Marionette from 'backbone.marionette';
import BehaviorsLookup from 'newsletter_editor/behaviors/BehaviorsLookup';
import interact from 'interact';
import _ from 'underscore';
import { isEventInsideElement } from 'newsletter_editor/utils';
var BL = BehaviorsLookup;
@ -66,7 +66,7 @@ BL.ResizableBehavior = Marionette.Behavior.extend({
.on('resizeend', function resizeend(event) {
that.view.model.trigger('stopEditing');
that.isBeingResized = null;
if (!that.detectMousePointerFocus(event).isViewFocused) {
if (!isEventInsideElement(event, that.view.$el)) {
that.hideResizeHandle();
}
that.$el.removeClass('mailpoet_resize_active');
@ -86,20 +86,4 @@ BL.ResizableBehavior = Marionette.Behavior.extend({
this.view.$(this.options.resizeHandleSelector).addClass('mailpoet_hidden');
}
},
detectMousePointerFocus: function detectMousePointerFocus(event) {
var eventCopy = _.extend({}, event);
var offset = this.view.$el.offset();
var height = this.view.$el.height();
var width = this.view.$el.width();
if (event.pageX < offset.left
|| event.pageX > offset.left + width
|| event.pageY < offset.top
|| event.pageY > offset.top + height
) {
eventCopy.isViewFocused = false;
} else {
eventCopy.isViewFocused = true;
}
return eventCopy;
},
});

View File

@ -0,0 +1,13 @@
export const isEventInsideElement = (event, $el) => {
var offset = $el.offset();
var height = $el.height();
var width = $el.width();
if (event.pageX < offset.left
|| event.pageX > offset.left + width
|| event.pageY < offset.top
|| event.pageY > offset.top + height
) {
return false;
}
return true;
};