MDL-41238 atto - close menu style when clicking anywhere outside it
This commit is contained in:
+10
-3
@@ -58,13 +58,21 @@ M.editor_atto = M.editor_atto || {
|
||||
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();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -163,7 +171,6 @@ M.editor_atto = M.editor_atto || {
|
||||
|
||||
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++) {
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+10
-3
@@ -58,13 +58,21 @@ M.editor_atto = M.editor_atto || {
|
||||
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();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -163,7 +171,6 @@ M.editor_atto = M.editor_atto || {
|
||||
|
||||
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++) {
|
||||
|
||||
+10
-3
@@ -56,13 +56,21 @@ M.editor_atto = M.editor_atto || {
|
||||
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();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -161,7 +169,6 @@ M.editor_atto = M.editor_atto || {
|
||||
|
||||
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++) {
|
||||
|
||||
Reference in New Issue
Block a user