| 123456789 |
- /**
- * angular-strap
- * @version v2.3.5 - 2015-10-29
- * @link http://mgcrea.github.io/angular-strap
- * @author Olivier Louvignes <olivier@mg-crea.com> (https://github.com/mgcrea)
- * @license MIT License, http://www.opensource.org/licenses/MIT
- */
- 'use strict';angular.module('mgcrea.ngStrap.dropdown',['mgcrea.ngStrap.tooltip']).provider('$dropdown',function(){var e=this.defaults={animation:'am-fade',prefixClass:'dropdown',prefixEvent:'dropdown',placement:'bottom-left',templateUrl:'dropdown/dropdown.tpl.html',trigger:'click',container:!1,keyboard:!0,html:!1,delay:0};this.$get=['$window','$rootScope','$tooltip','$timeout',function(o,n,t,r){function a(o,a){function c(e){return e.target!==o[0]?e.target!==o[0]&&d.hide():void 0}var d={},s=angular.extend({},e,a);d.$scope=s.scope&&s.scope.$new()||n.$new();d=t(o,s);var p=o.parent();d.$onKeyDown=function(e){if(/(38|40)/.test(e.keyCode)){e.preventDefault(),e.stopPropagation();var o=angular.element(d.$element[0].querySelectorAll('li:not(.divider) a'));if(o.length){var n;angular.forEach(o,function(e,o){i&&i.call(e,':focus')&&(n=o)}),38===e.keyCode&&n>0?n--:40===e.keyCode&&n<o.length-1?n++:angular.isUndefined(n)&&(n=0),o.eq(n)[0].focus()}}};var u=d.show;d.show=function(){u(),r(function(){s.keyboard&&d.$element&&d.$element.on('keydown',d.$onKeyDown),l.on('click',c)},0,!1),p.hasClass('dropdown')&&p.addClass('open')};var f=d.hide;d.hide=function(){d.$isShown&&(s.keyboard&&d.$element&&d.$element.off('keydown',d.$onKeyDown),l.off('click',c),p.hasClass('dropdown')&&p.removeClass('open'),f())};var m=d.destroy;return d.destroy=function(){l.off('click',c),m()},d}var l=angular.element(o.document.body),i=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector;return a}]}).directive('bsDropdown',['$window','$sce','$dropdown',function(e,o,n){return{restrict:'EAC',scope:!0,compile:function(e,o){var t={};if(!o.bsDropdown){for(var r=e[0].nextSibling;r&&1!==r.nodeType;)r=r.nextSibling;r.classList.contains('dropdown-menu')&&(t.template=r.outerHTML,t.templateUrl=void 0,r.parentNode.removeChild(r))}return function(e,r,a){t.scope=e,angular.forEach(['template','templateUrl','controller','controllerAs','placement','container','delay','trigger','keyboard','html','animation','id'],function(e){angular.isDefined(o[e])&&(t[e]=o[e])});var l=/^(false|0|)$/i;angular.forEach(['html','container'],function(e){angular.isDefined(a[e])&&l.test(a[e])&&(t[e]=!1)}),a.bsDropdown&&e.$watch(a.bsDropdown,function(o,n){e.content=o},!0),a.bsShow&&e.$watch(a.bsShow,function(e,o){i&&angular.isDefined(e)&&(angular.isString(e)&&(e=!!e.match(/true|,?(dropdown),?/i)),e===!0?i.show():i.hide())});var i=n(r,t);e.$on('$destroy',function(){i&&i.destroy(),t=null,i=null})}}}}]);
- //# sourceMappingURL=dropdown.min.js.map
|