var disabled = this.getAttribute('disabled');
var overlayid = this.getAttribute('data-menu');
var overlay = M.editor_atto.menus[overlayid];
-
+ var menu = overlay.get('bodyContent');
if (overlay.get('visible') || disabled) {
overlay.hide();
+ menu.detach('clickoutside');
} else {
+ menu.on('clickoutside', function(ev) {
+ if (ev.target.ancestor() !== this) {
+ if (overlay.get('visible')) {
+ menu.detach('clickoutside');
+ overlay.hide();
+ }
+ }
+ }, this);
overlay.show();
}
-
},
/**
var menu = Y.Node.create('<div class="atto_' + plugin + '_menu' +
' atto_menu" data-editor="' + Y.Escape.html(elementid) + '"></div>');
-
var i = 0, entry = {};
for (i = 0; i < entries.length; i++) {