/*! * Angular Material Design * https://github.com/angular/material * @license MIT * v1.0.5-master-f171fd2 */!function(e,t,n){"use strict";functionr(e,r,o,i,a,l,s,u){vard,c,m=this;this.nestLevel=parseInt(r.mdNestLevel,10)||0,this.init=function(n,r){r=r||{},d=n,c=o[0].querySelector("[ng-click],[ng-mouseenter]"),c.setAttribute("aria-expanded","false"),this.isInMenuBar=r.isInMenuBar,this.nestedMenus=a.nodesToArray(d[0].querySelectorAll(".md-nested-menu")),d.on("$mdInterimElementRemove",function(){m.isOpen=!1});varl="menu_container_"+a.nextUid();d.attr("id",l),t.element(c).attr({"aria-owns":l,"aria-haspopup":"true"}),i.$on("$destroy",this.disableHoverListener),d.on("$destroy",function(){e.destroy()})};varf,p,h=[];this.enableHoverListener=function(){h.push(s.$on("$mdMenuOpen",function(e,t){d[0].contains(t[0])&&(m.currentlyOpenMenu=t.controller("mdMenu"),m.isAlreadyOpening=!1,m.currentlyOpenMenu.registerContainerProxy(m.triggerContainerProxy.bind(m)))})),h.push(s.$on("$mdMenuClose",function(e,t){d[0].contains(t[0])&&(m.currentlyOpenMenu=n)})),p=t.element(a.nodesToArray(d[0].children[0].children)),p.on("mouseenter",m.handleMenuItemHover),p.on("mouseleave",m.handleMenuItemMouseLeave)},this.disableHoverListener=function(){for(;h.length;)h.shift()();p&&p.off("mouseenter",m.handleMenuItemHover),p&&p.off("mouseleave",m.handleMenuMouseLeave)},this.handleMenuItemHover=function(e){if(!m.isAlreadyOpening){varn=e.target.querySelector("md-menu")||a.getClosest(e.target,"MD-MENU");f=l(function(){if(n&&(n=t.element(n).controller("mdMenu")),m.currentlyOpenMenu&&m.currentlyOpenMenu!=n){vare=m.nestLevel+1;m.currentlyOpenMenu.close(!0,{closeTo:e})}elsen&&!n.isOpen&&n.open&&(m.isAlreadyOpening=!0,n.open())},n?100:250);varr=e.currentTarget.querySelector(".md-button:not([disabled])");r&&r.focus()}},this.handleMenuItemMouseLeave=function(){f&&(l.cancel(f),f=n)},this.open=function(t){t&&t.stopPropagation(),t&&t.preventDefault(),m.isOpen||(m.enableHoverListener(),m.isOpen=!0,c=c||(t?t.target:o[0]),c.setAttribute("aria-expanded","true"),i.$emit("$mdMenuOpen",o),e.show({scope:i,mdMenuCtrl:m,nestLevel:m.nestLevel,element:d,target:c,preserveElement:!0,parent:"body"})["finally"](function(){c.setAttribute("aria-expanded","false"),m.disableHoverListener()}))},i.$mdOpenMenu=this.open,i.$watch(function(){returnm.isOpen},function(e){e?(d.attr("aria-hidden","false"),o[0].classList.add("_md-open"),t.forEach(m.nestedMenus,function(e){e.classList.remove("_md-open")})):(d.attr("aria-hidden","true"),o[0].classList.remove("_md-open")),i.$mdMenuIsOpen=m.isOpen}),this.focusMenuContainer=function(){vare=d[0].querySelector("[md-menu-focus-target]");e||(e=d[0].querySelector(".md-button")),e.focus()},this.registerContainerProxy=function(e){this.containerProxy=e},this.triggerContainerProxy=function(e){this.containerProxy&&this.containerProxy(e)},this.destroy=function(){returnm.isOpen?e.destroy():u.when(!1)},this.close=function(n,r){if(m.isOpen){m.isOpen=!1;vara=t.extend({},r,{skipFocus:n});if(i.$emit("$mdMenuClose",o,a),e.hide(null,r),!n){varl=m.restoreFocusTo||o.find("button")[0];linstanceoft.element&&(l=l[0]),l&&l.focus()}}},this.positionMode=function(){vare=(r.mdPositionMode||"target").split(" ");return1==e.length&&e.push(e[0]),{left:e[0],top:e[1]}},this.offsets=function(){vare=(r.mdOffset||"0 0").split(" ").map(parseFloat);if(2==e.length)return{left:e[0],top:e[1]};if(1==e.length)return{top:e[0],left:e[0]};throwError("Invalid offsets specified. Please follow format <x, y> or <n>")}}functiono(e){functionr(n){n.addClass("md-menu");varr=n.children()[0];if(r.hasAttribute("ng-click")||(r=r.querySelector("[ng-click],[ng-mouseenter]")||r),!r||"MD-BUTTON"!=r.nodeName&&"BUTTON"!=r.nodeName||r.hasAttribute("type")||r.setAttribute("type","button"),2!=n.children().length)throwError(i+"Expected two children elements.");r&&r.setAttribute("aria-haspopup","true");vara=n[0].querySelectorAll("md-menu"),l=parseInt(n[0].getAttribute("md-nest-level"),10)||0;returna&&t.forEach(e.nodesToArray(a),function(e){e.hasAttribute("md-position-mode")||e.setAttribute("md-position-mode","cascade"),e.classList.add("_md-nested-menu"),e.setAttribute("md-nest-level",l+1)}),o}functiono(e,r,o,i){vara=i[0],l=i[1]!=n,s=t.element('<div class="_md-open-menu-container md-whiteframe-z2"></div>'),u=r.children()[1];u.hasAttribute("role")||u.setAttribute("role","menu"),s.append(u),r.on("$destroy",function(){s.remove()}),r.append(s),s[0].style.display="none",a.init(s,{isInMenuBar:l})}vari="Invalid HTML for md-menu: ";return{restrict:"E",require:["mdMenu","?^mdMenuBar"],controller:"mdMenuCtrl",scope:!0,compile:r}}functioni(e){functionr(e,r,a,l,s,u,d,c,m){functionf(n,r,o){returno.nestLevel?t.noop:(o.disableParentScroll&&!e.getClosest(o.target,"MD-DIALOG")?o.restoreScroll=e.disableScrollAround(o.element,o.parent):o.disableParentScroll=!1,o.hasBackdrop&&(o.backdrop=e.createBackdrop(n,"_md-menu-backdrop _md-click-catcher"),m.enter(o.backdrop,l[0].body)),function(){o.backdrop&&o.backdrop.remove(),o.disableParentScroll&&o.restoreScroll()})}functionp(e,t,n){functionr(){returnc(t,{addClass:"_md-leave"}).start()}functiono(){t.removeClass("_md-active"),M(t,n),n.alreadyOpen=!1}returnn.cleanupInteraction(),n.cleanupResizing(),n.hideBackdrop(),n.$destroy===!0?o():r().then(o)}functionh(n,o,i){functionl(){returni.parent.append(o),o[0].style.display="",u(function(e){vart=y(o,i);o.removeClass("_md-leave"),c(o,{addClass:"_md-active",from:b.toCss(t),to:b.toCss({transform:""})}).start().then(e)})}functionm(){if(!i.target)throwError("$mdMenu.show() expected a target to animate from in options.target");t.extend(i,{alreadyOpen:!1,isRemoved:!1,target:t.element(i.target),parent:t.element(i.parent),menuContentEl:t.element(o[0].querySelector("md-menu-content"))})}functionp(){vare=function(e,t){returnd.throttle(function(){if(!i.isRemoved){varn=y(e,t);e.css(b.toCss(n))}})}(o,i);returns.addEventListener("resize",e),s.addEventListener("orientationchange",e),function(){s.removeEventListener("resize",e),s.removeEventListener("orientationchange",e)}}functionh(){functiont(t){varn;switch(t.keyCode){casea.KEY_CODE.ESCAPE:i.mdMenuCtrl.close(!1,{closeAll:!0}),n=!0;break;casea.KEY_CODE.UP_ARROW:g(t,i.menuContentEl,i,-1)||i.nestLevel||i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;casea.KEY_CODE.DOWN_ARROW:g(t,i.menuContentEl,i,1)||i.nestLevel||i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;casea.KEY_CODE.LEFT_ARROW:i.nestLevel?i.mdMenuCtrl.close():i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;casea.KEY_CODE.RIGHT_ARROW:varr=e.getClosest(t.target,"MD-MENU");r&&r!=i.parent[0]?t.target.click():i.mdMenuCtrl.triggerContainerProxy(t),n=!0}n&&(t.preventDefault(),t.stopImmediatePropagation())}functionr(e){e.preventDefault(),e.stopPropagation(),n.$apply(function(){i.mdMenuCtrl.close(!0,{closeAll:!0})})}functionl(t){functionr(){n.$apply(function(){i.mdMenuCtrl.close(!0,{closeAll:!0})})}functiono(e,t){if(!e)return!1;for(varn,r=0;n=t[r];++r)for(varo,i=[n,"data-"+n,"x-"+n],a=0;o=i[a];++a)if(e.hasAttribute(o))return!0;return!1}vara=t.target;do{if(a==i.menuContentEl[0])return;if((o(a,["ng-click","ng-href","ui-sref"])||"BUTTON"==a.nodeName||"MD-BUTTON"==a.nodeName)&&!o(a,["md-prevent-menu-close"])){varl=e.getClosest(a,"MD-MENU");a.hasAttribute("disabled")||l&&l!=i.parent[0]||r();break}}while(a=a.parentNode)}o.addClass("_md-clickable"),i.backdrop&&i.backdrop.on("click",r),i.menuContentEl.on("keydown",t),i.menuContentEl[0].addEventListener("click",l,!0);vars=i.menuContentEl[0].querySelector("[md-menu-focus-target]");if(!s){varu=i.menuContentEl[0].firstElementChild;s=u&&(u.querySelector(".md-button:not([disabled])")||u.firstElementChild)}returns&&s.focus(),function(){o.removeClass("_md-clickable"),i.backdrop&&i.backdrop.off("click",r),i.menuContentEl.off("keydown",t),i.menuContentEl[0].removeEventListener("click",l,!0)}}returnm(i),r.inherit(i.menuContentEl,i.target),i.cleanupResizing=p(),i.hideBackdrop=f(n,o,i),l().then(function(e){returni.alreadyOpen=!0,i.cleanupInteraction=h(),e})}functiong(t,n,r,o){for(vari,a=e.getClosest(t.target,"MD-MENU-ITEM"),l=e.nodesToArray(n[0].children),s=l.indexOf(a),u=s+o;u>=0&&u<l.length;u+=o){vard=l[u].querySelector(".md-button");if(i=v(d))break}returni}functionv(e){returne&&-1!=e.getAttribute("tabindex")?(e.focus(),l[0].activeElement==e):void0}functionM(e,t){t.preserveElement?o(e).style.display="none":o(e).parentNode===o(t.parent)&&o(t.parent).removeChild(o(e))}functiony(t,r){functiono(e){e.top=Math.max(Math.min(e.top,M.bottom-d.offsetHeight),M.top),e.left=Math.max(Math.min(e.left,M.right-d.offsetWidth),M.left)}functiona(){for(vare=0;e<c.children.length;++e)if("none"!=s.getComputedStyle(c.children[e]).display)returnc.children[e]}varu,d=t[0],c=t[0].firstElementChild,m=c.getBoundingClientRect(),f=l[0].body,p=f.getBoundingClientRect(),h=s.getComputedStyle(c),g=r.target[0].querySelector("[md-menu-origin]")||r.target[0],v=g.getBoundingClientRect(),M={left:p.left+i,top:Math.max(p.top,0)+i,bottom:Math.max(p.bottom,Math.max(p.top,0)+p.height)-i,right:p.right-i},y={top:0,left:0,right:0,bottom:0},b={top:0,left:0,right:0,bottom:0},C=r.mdMenuCtrl.positionMode();"target"!=C.top&&"target"!=C.left&&"target-right"!=C.left||(u=a(),u&&(u=u.firstElementChild||u,u=u.querySelector("[md-menu-align-target]")||u,y=u.getBoundingClientRect(),b={top:parseFloat(d.style.top||0),left:parseFloat(d.style.left||0)}));varE={},k="top ";switch(C.top){case"target":E.top=b.top+v.top-y.top;break;case"cascade":E.top=v.top-parseFloat(h.paddingTop)-g.style.top;break;case"bottom":E.top=v.top+v.height;break;default:thrownewError('Invalid target mode "'+C.top+'" specified for md-menu on Y axis.')}var$="rtl"==e.bidi();switch(C.left){case"target":E.left=b.left+v.left-y.left,k+=$?"right":"left";break;case"target-left":E.left=v.left,k+="left";break;case"target-right":E.left=v.right-m.width+(m.right-y.right),k+="right";break;case"cascade":varO=$?v.left-m.width<M.left:v.right+m.width<M.right;E.left=O?v.right-g.style.left:v.left-g.style.left-m.width,k+=O?"left":"right";break;case"left":$?(E.left=v.right-m.width,k+="right"):(E.left=v.left,k+="left");break;default:thrownewError('Invalid target mode "'+C.left+'" specified for md-menu on X axis.')}varA=r.mdMenuCtrl.offsets();E.top+=A.top,E.left+=A.left,o(E);varw=Math.round(100*Math.min(v.width/d.offsetWidth,1))/100,x=Math.round(100*Math.min(v.height/d.offsetHeight,1))/100;return{top:Math.round(E.top),left:Math.round(E.left),transform:r.alreadyOpen?n:e.supplant("scale({0},{1})",[w,x]),transformOrigin:k}}varb=e.dom.animator;return{parent:"body",onShow:h,onRemove:p,hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,skipHide:!0,themable:!0}}functiono(e){returneinstanceoft.element&&(e=e[0]),e}vari=8;returnr.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate"],e("$mdMenu").setDefaults({methods:["target"],options:r})}t.module("material.components.menu",["material.core","material.components.backdrop"]),t.module("material.components.menu").controller("mdMenuCtrl",r),r.$inject=["$mdMenu","$attrs","$element","$scope","$mdUtil","$timeout","$rootScope","$q"],t.module("material.components.menu").directive("mdMenu",o),o.$inject=["$mdUtil"],t.module("material.components.menu").provider("$mdMenu",i),i.$inject=["$$interimElementProvider"]}(window,window.angular);