Skip to content

Commit 4ef827e

Browse files
committed
fix(main): Corrected issue #1359 and some older issues around refesh of popover display
- oneEvent() now uses the standard element.one() - we now set displayElements.resize.overlay.css('display') to 'block' to show and 'none' to hide
1 parent c302e79 commit 4ef827e

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/main.js

+11-10
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,12 @@ textAngular.directive("textAngular", [
2424
_serial = (attrs.serial) ? attrs.serial : Math.floor(Math.random() * 10000000000000000),
2525
_taExecCommand, _resizeMouseDown, _updateSelectedStylesTimeout;
2626
var _resizeTimeout;
27-
var _resizeElement;
2827

2928
scope._name = (attrs.name) ? attrs.name : 'textAngularEditor' + _serial;
3029

3130
var oneEvent = function(_element, event, action){
3231
$timeout(function(){
33-
// shim the .one till fixed
34-
var _func = function(){
35-
_element.off(event, _func);
36-
action.apply(this, arguments);
37-
};
38-
_element.on(event, _func);
32+
_element.one(event, action);
3933
}, 100);
4034
};
4135
_taExecCommand = taExecCommand(attrs.taDefaultWrap);
@@ -131,8 +125,8 @@ textAngular.directive("textAngular", [
131125
if(_resizeTimeout) $timeout.cancel(_resizeTimeout);
132126
_resizeTimeout = $timeout(function() {
133127
//console.log('resize', scope.displayElements.popover.css('display'));
134-
scope.reflowPopover(_resizeElement);
135-
scope.reflowResizeOverlay(_resizeElement);
128+
scope.reflowPopover(scope.resizeElement);
129+
scope.reflowResizeOverlay(scope.resizeElement);
136130
}, 100);
137131
}
138132
};
@@ -211,7 +205,13 @@ textAngular.directive("textAngular", [
211205
scope.showPopover = function(_el){
212206
scope.getScrollTop(scope.displayElements.scrollWindow[0], true);
213207
scope.displayElements.popover.css('display', 'block');
214-
_resizeElement = _el;
208+
// we must use a $timeout here, or the css change to the
209+
// displayElements.resize.overlay will not take!!!
210+
// WHY???
211+
$timeout(function() {
212+
scope.displayElements.resize.overlay.css('display', 'block');
213+
});
214+
scope.resizeElement = _el;
215215
scope.reflowPopover(_el);
216216
$animate.addClass(scope.displayElements.popover, 'in');
217217
oneEvent($document.find('body'), 'click keyup', function(){scope.hidePopover();});
@@ -250,6 +250,7 @@ textAngular.directive("textAngular", [
250250
scope.displayElements.popoverContainer.attr('style', '');
251251
scope.displayElements.popoverContainer.attr('class', 'popover-content');
252252
scope.displayElements.popover.removeClass('in');
253+
scope.displayElements.resize.overlay.css('display', 'none');
253254
};
254255

255256
// setup the resize overlay

0 commit comments

Comments
 (0)