Refactor event within view detection into utils
[MAILPOET-1819]
This commit is contained in:
committed by
M. Shull
parent
b8ce70ec2f
commit
d445495cba
@ -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;
|
||||
},
|
||||
});
|
||||
|
13
assets/js/src/newsletter_editor/utils.js
Normal file
13
assets/js/src/newsletter_editor/utils.js
Normal 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;
|
||||
};
|
Reference in New Issue
Block a user