/*! * Angular Material Design * https://github.com/angular/material * @license MIT * v0.11.3-master-3fe7d76 */ !function(e,t,n){"use strict";function r(e,r,o,i,a,l){var s,u,c=this;this.nestLevel=parseInt(r.mdNestLevel,10)||0,this.init=function(e,t){t=t||{},s=e,u=o[0].querySelector("[ng-click],[ng-mouseenter]"),this.isInMenuBar=t.isInMenuBar,this.nestedMenus=a.nodesToArray(s[0].querySelectorAll(".md-nested-menu")),this.enableHoverListener(),s.on("$mdInterimElementRemove",function(){c.isOpen=!1})},this.enableHoverListener=function(){i.$on("$mdMenuOpen",function(e,t){s[0].contains(t[0])&&(c.currentlyOpenMenu=t.controller("mdMenu"),c.isAlreadyOpening=!1,c.currentlyOpenMenu.registerContainerProxy(c.triggerContainerProxy.bind(c)))}),i.$on("$mdMenuClose",function(e,t){s[0].contains(t[0])&&(c.currentlyOpenMenu=n)});var e,r=t.element(a.nodesToArray(s[0].querySelectorAll("md-menu-item")));r.on("mouseenter",function(n){if(!c.isAlreadyOpening){var r=n.target.querySelector("md-menu")||a.getClosest(n.target,"MD-MENU");e=l(function(){if(r&&(r=t.element(r).controller("mdMenu")),c.currentlyOpenMenu&&c.currentlyOpenMenu!=r){var e=c.nestLevel+1;c.currentlyOpenMenu.close(!0,{closeTo:e})}else r&&!r.isOpen&&r.open&&(c.isAlreadyOpening=!0,r.open())},r?100:250);var o=n.currentTarget.querySelector("button:not([disabled])");o&&o.focus()}}),r.on("mouseleave",function(t){e&&(l.cancel(e),e=n)})},this.open=function(t){t&&t.stopPropagation(),t&&t.preventDefault(),c.isOpen||(c.isOpen=!0,u=u||(t?t.target:o[0]),i.$emit("$mdMenuOpen",o),e.show({scope:i,mdMenuCtrl:c,nestLevel:c.nestLevel,element:s,target:u,preserveElement:c.isInMenuBar||c.nestedMenus.length>0,parent:c.isInMenuBar?o:"body"}))},i.$mdOpenMenu=this.open,i.$watch(function(){return c.isOpen},function(e){e?(u.setAttribute("aria-expanded","true"),o[0].classList.add("md-open"),t.forEach(c.nestedMenus,function(e){e.classList.remove("md-open")})):(u&&u.setAttribute("aria-expanded","false"),o[0].classList.remove("md-open")),i.$mdMenuIsOpen=c.isOpen}),this.focusMenuContainer=function(){var e=s[0].querySelector("[md-menu-focus-target]");e||(e=s[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(){return e.destroy()},this.close=function(n,r){if(c.isOpen){c.isOpen=!1;var a=t.extend({},r,{skipFocus:n});if(i.$emit("$mdMenuClose",o,a),e.hide(null,r),!n){var l=c.restoreFocusTo||o.find("button")[0];l instanceof t.element&&(l=l[0]),l&&l.focus()}}},this.positionMode=function(){var e=(r.mdPositionMode||"target").split(" ");return 1==e.length&&e.push(e[0]),{left:e[0],top:e[1]}},this.offsets=function(){var e=(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]};throw Error("Invalid offsets specified. Please follow format or ")}}function o(e){function r(n){n.addClass("md-menu");var r=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)throw Error(i+"Expected two children elements.");r&&r.setAttribute("aria-haspopup","true");var a=n[0].querySelectorAll("md-menu"),l=parseInt(n[0].getAttribute("md-nest-level"),10)||0;return a&&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),e.setAttribute("role","menu")}),o}function o(e,r,o,i){var a=i[0],l=i[1]!=n,s=t.element('
'),u=r.children()[1];s.append(u),l&&(r.append(s),s[0].style.display="none"),a.init(s,{isInMenuBar:l}),e.$on("$destroy",function(){a.destroy()["finally"](function(){s.remove()})})}var i="Invalid HTML for md-menu: ";return{restrict:"E",require:["mdMenu","?^mdMenuBar"],controller:"mdMenuCtrl",scope:!0,compile:r}}function i(e){function r(e,r,a,l,s,u,c,d,m){function f(n,r,o){return o.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,o.parent)),function(){o.backdrop&&o.backdrop.remove(),o.disableParentScroll&&o.restoreScroll()})}function p(e,t,n){function r(){return d(t,{addClass:"md-leave"}).start()}function o(){t.removeClass("md-active"),y(t,n),n.alreadyOpen=!1}return n.cleanupInteraction(),n.cleanupResizing(),n.hideBackdrop(),n.$destroy===!0?o():r().then(o)}function h(n,o,i){function l(){return i.preserveElement?o[0].style.display="":i.parent.append(o),u(function(e){var t=M(o,i);o.removeClass("md-leave"),d(o,{addClass:"md-active",from:C.toCss(t),to:C.toCss({transform:""})}).start().then(e)})}function m(){if(!i.target)throw Error("$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"))})}function p(){var e=function(e,t){return c.throttle(function(){if(!i.isRemoved){var n=M(e,t);e.css(C.toCss(n))}})}(o,i);return s.addEventListener("resize",e),s.addEventListener("orientationchange",e),function(){s.removeEventListener("resize",e),s.removeEventListener("orientationchange",e)}}function h(){function t(t){var n;switch(t.keyCode){case a.KEY_CODE.ESCAPE:i.mdMenuCtrl.close(!1,{closeAll:!0}),n=!0;break;case a.KEY_CODE.UP_ARROW:g(t,i.menuContentEl,i,-1)||i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;case a.KEY_CODE.DOWN_ARROW:g(t,i.menuContentEl,i,1)||i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;case a.KEY_CODE.LEFT_ARROW:i.nestLevel?i.mdMenuCtrl.close():i.mdMenuCtrl.triggerContainerProxy(t),n=!0;break;case a.KEY_CODE.RIGHT_ARROW:var r=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())}function r(e){e.preventDefault(),e.stopPropagation(),n.$apply(function(){i.mdMenuCtrl.close(!0,{closeAll:!0})})}function l(t){function r(){n.$apply(function(){i.mdMenuCtrl.close(!0,{closeAll:!0})})}function o(e,t){if(!e)return!1;for(var n,r=0;n=t[r];++r)for(var o,i=[n,"data-"+n,"x-"+n],a=0;o=i[a];++a)if(e.hasAttribute(o))return!0;return!1}var a=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){var l=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);var s=i.menuContentEl[0].querySelector("[md-menu-focus-target]");if(!s){var u=i.menuContentEl[0].firstElementChild;s=u&&(u.querySelector(".md-button:not([disabled])")||u.firstElementChild)}return s&&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)}}return m(i),r.inherit(i.menuContentEl,i.target),i.cleanupResizing=p(),i.hideBackdrop=f(n,o,i),l().then(function(e){return i.alreadyOpen=!0,i.cleanupInteraction=h(),e})}function g(t,n,r,o){for(var i,a=e.getClosest(t.target,"MD-MENU-ITEM"),l=e.nodesToArray(n[0].children),s=l.indexOf(a),u=s+o;u>=0&&u