diff --git a/src/stackedMap/stackedMap.js b/src/stackedMap/stackedMap.js index f1f4d857b4..765e53c825 100644 --- a/src/stackedMap/stackedMap.js +++ b/src/stackedMap/stackedMap.js @@ -9,10 +9,11 @@ angular.module('ui.bootstrap.stackedMap', []) var stack = []; return { - add: function(key, value) { + add: function(key, value, options) { stack.push({ key: key, - value: value + value: value, + options: options }); }, get: function(key) { @@ -51,4 +52,4 @@ angular.module('ui.bootstrap.stackedMap', []) }; } }; - }); \ No newline at end of file + }); diff --git a/src/tooltip/tooltip.js b/src/tooltip/tooltip.js index dd02a077a1..dea385088b 100644 --- a/src/tooltip/tooltip.js +++ b/src/tooltip/tooltip.js @@ -80,7 +80,8 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s function keypressListener(e) { if (e.which === 27) { var last = openedTooltips.top(); - if (last) { + var enableEsc = last ? last.options.enableEsc : true; + if (last && enableEsc) { last.value.close(); last = null; } @@ -146,6 +147,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s var positionTimeout; var adjustmentTimeout; var appendToBody = angular.isDefined(options.appendToBody) ? options.appendToBody : false; + var enableEsc = !angular.isDefined(attrs[prefix + 'EnableEsc']); var triggers = getTriggers(undefined); var hasEnableExp = angular.isDefined(attrs[prefix + 'Enable']); var ttScope = scope.$new(true); @@ -334,9 +336,9 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s } }); - openedTooltips.add(ttScope, { - close: hide - }); + openedTooltips.add(ttScope, + { close: hide }, + { enableEsc: enableEsc }); prepObservers(); } @@ -348,7 +350,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s if (tooltip) { tooltip.remove(); - + tooltip = null; if (adjustmentTimeout) { $timeout.cancel(adjustmentTimeout); @@ -356,7 +358,7 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position', 'ui.bootstrap.s } openedTooltips.remove(ttScope); - + if (tooltipLinkedScope) { tooltipLinkedScope.$destroy(); tooltipLinkedScope = null;