source: trip-planner-front/node_modules/angular-material/modules/js/menu/menu.min.js@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 12.3 KB
Line 
1/*!
2 * AngularJS Material Design
3 * https://github.com/angular/material
4 * @license MIT
5 * v1.2.2-master-0a06f99
6 */
7!function(e,g,A){"use strict";function t(o,t,i,a,l,r,e,n,s){var d,u,c=l.prefixer(),m=this;this.nestLevel=parseInt(t.mdNestLevel,10)||0,this.init=function(e,t){t=t||{},d=e,(u=i[0].querySelector(c.buildSelector(["ng-click","ng-mouseenter"]))).setAttribute("aria-expanded","false"),this.isInMenuBar=t.isInMenuBar,this.mdMenuBarCtrl=t.mdMenuBarCtrl,this.nestedMenus=l.nodesToArray(d[0].querySelectorAll(".md-nested-menu")),d.on("$mdInterimElementRemove",function(){m.isOpen=!1,l.nextTick(function(){m.onIsOpenChanged(m.isOpen)})}),l.nextTick(function(){m.onIsOpenChanged(m.isOpen)});var n="menu_container_"+l.nextUid();d.attr("id",n),g.element(u).attr({"aria-owns":n,"aria-haspopup":"true"}),a.$on("$destroy",g.bind(this,function(){this.disableHoverListener(),o.destroy()})),d.on("$destroy",function(){o.destroy()})};var f,p,h=[];this.enableHoverListener=function(){h.push(e.$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(e.$on("$mdMenuClose",function(e,t){d[0].contains(t[0])&&(m.currentlyOpenMenu=A)})),(p=g.element(l.nodesToArray(d[0].children[0].children))).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.handleMenuItemMouseLeave)},this.handleMenuItemHover=function(e){if(!m.isAlreadyOpening){var t=e.target.querySelector("md-menu")||l.getClosest(e.target,"MD-MENU");f=r(function(){if(t=t&&g.element(t).controller("mdMenu"),m.currentlyOpenMenu&&m.currentlyOpenMenu!=t){var e=m.nestLevel+1;m.currentlyOpenMenu.close(!0,{closeTo:e}),m.isAlreadyOpening=!!t,t&&t.open()}else t&&!t.isOpen&&t.open&&(m.isAlreadyOpening=!!t,t&&t.open())},t?100:250);var n=e.currentTarget.querySelector(".md-button:not([disabled])");n&&n.focus()}},this.handleMenuItemMouseLeave=function(){f&&(r.cancel(f),f=A)},this.open=function(e){e&&e.stopPropagation(),e&&e.preventDefault(),m.isOpen||(m.enableHoverListener(),m.isOpen=!0,l.nextTick(function(){m.onIsOpenChanged(m.isOpen)}),(u=u||(e?e.target:i[0])).setAttribute("aria-expanded","true"),a.$emit("$mdMenuOpen",i),o.show({scope:a,mdMenuCtrl:m,nestLevel:m.nestLevel,element:d,target:u,preserveElement:!0,parent:"body"}).finally(function(){u.setAttribute("aria-expanded","false"),m.disableHoverListener()}))},this.onIsOpenChanged=function(e){e?(d.attr("aria-hidden","false"),i[0].classList.add("md-open"),g.forEach(m.nestedMenus,function(e){e.classList.remove("md-open")})):(d.attr("aria-hidden","true"),i[0].classList.remove("md-open")),a.$mdMenuIsOpen=m.isOpen},this.focusMenuContainer=function(){var e=d[0].querySelector(c.buildSelector(["md-menu-focus-target","md-autofocus"]));(e=e||d[0].querySelector(".md-button:not([disabled])")).focus()},this.registerContainerProxy=function(e){this.containerProxy=e},this.triggerContainerProxy=function(e){this.containerProxy&&this.containerProxy(e)},this.destroy=function(){return m.isOpen?o.destroy():n.when(!1)},this.close=function(e,t){if(m.isOpen){m.isOpen=!1,l.nextTick(function(){m.onIsOpenChanged(m.isOpen)});var n=g.extend({},t,{skipFocus:e});if(a.$emit("$mdMenuClose",i,n),o.hide(null,t),!e){var r=m.restoreFocusTo||i.find("button")[0];r instanceof g.element&&(r=r[0]),r&&r.focus()}}},this.positionMode=function(){var e=(t.mdPositionMode||"target").split(" ");return 1===e.length&&e.push(e[0]),{left:e[0],top:e[1]}},this.offsets=function(){var e=(t.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 <x, y> or <n>")},a.$mdMenu={open:this.open,close:this.close}}function n(a){var l="Invalid HTML for md-menu: ";return{restrict:"E",require:["mdMenu","?^mdMenuBar"],controller:"mdMenuCtrl",scope:!0,compile:function(e){e.addClass("md-menu");var t=e.children()[0],n=a.prefixer();n.hasAttribute(t,"ng-click")||(t=t.querySelector(n.buildSelector(["ng-click","ng-mouseenter"]))||t);var r="MD-BUTTON"===t.nodeName||"BUTTON"===t.nodeName;t&&r&&!t.hasAttribute("type")&&t.setAttribute("type","button");if(!t)throw Error(l+"Expected the menu to have a trigger element.");if(2!==e.children().length)throw Error(l+"Expected two children elements. The second element must have a `md-menu-content` element.");t&&t.setAttribute("aria-haspopup","true");var o=e[0].querySelectorAll("md-menu"),i=parseInt(e[0].getAttribute("md-nest-level"),10)||0;o&&g.forEach(a.nodesToArray(o),function(e){e.hasAttribute("md-position-mode")||e.setAttribute("md-position-mode","cascade"),e.classList.add("_md-nested-menu"),e.setAttribute("md-nest-level",i+1)});return s}};function s(e,t,n,r){var o=r[0],i=!!r[1],a=r[1],l=g.element('<div class="_md md-open-menu-container md-whiteframe-z2"></div>'),s=t.children()[1];t.addClass("_md"),s.hasAttribute("role")||s.setAttribute("role","menu"),l.append(s),t.on("$destroy",function(){l.remove()}),t.append(l),l[0].style.display="none",o.init(l,{isInMenuBar:i,mdMenuBarCtrl:a})}}function r(e){t.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate","$log"];var w=8;return e("$mdMenu").setDefaults({methods:["target"],options:t});function t(E,e,s,k,O,r,o,i,d,u){var $=E.prefixer(),c=E.dom.animator;return{parent:"body",onShow:function(a,n,l){(function(){if(!l.target)throw Error("$mdMenu.show() expected a target to animate from in options.target");g.extend(l,{alreadyOpen:!1,isRemoved:!1,target:g.element(l.target),parent:g.element(l.parent),menuContentEl:g.element(n[0].querySelector("md-menu-content"))})})(),l.menuContentEl[0]?e.inherit(l.menuContentEl,l.target):u.warn("$mdMenu: Menu elements should always contain a `md-menu-content` element,otherwise interactivity features will not work properly.",n);return l.cleanupResizing=function(){var e=function(t,n){return o.throttle(function(){if(!l.isRemoved){var e=p(t,n);t.css(c.toCss(e))}})}(n,l);return O.addEventListener("resize",e),O.addEventListener("orientationchange",e),function(){O.removeEventListener("resize",e),O.removeEventListener("orientationchange",e)}}(),l.hideBackdrop=function(e,t,n){if(n.nestLevel)return g.noop;n.disableParentScroll&&!E.getClosest(n.target,"MD-DIALOG")?n.restoreScroll=E.disableScrollAround(n.element,n.parent):n.disableParentScroll=!1;n.hasBackdrop&&(n.backdrop=E.createBackdrop(e,"md-menu-backdrop md-click-catcher"),d.enter(n.backdrop,n.backdropParent||k[0].body));return function(){n.backdrop&&n.backdrop.remove(),n.disableParentScroll&&n.restoreScroll()}}(a,0,l),function(){return l.parent.append(n),n[0].style.display="",r(function(e){var t=p(n,l);n.removeClass("md-leave"),i(n,{addClass:"md-active",from:c.toCss(t),to:c.toCss({transform:""})}).start().then(e)})}().then(function(e){return l.alreadyOpen=!0,l.cleanupInteraction=function(){if(!l.menuContentEl[0])return g.noop;l.menuContentEl.on("keydown",o),l.menuContentEl[0].addEventListener("click",i,!0);var e=l.menuContentEl[0].querySelector($.buildSelector(["md-menu-focus-target","md-autofocus"]));if(!e)for(var t=l.menuContentEl[0].children.length,n=0;n<t;n++){var r=l.menuContentEl[0].children[n];if(e=r.querySelector(".md-button:not([disabled])"))break;if(r.firstElementChild&&!r.firstElementChild.disabled&&!r.firstElementChild.getAttribute("disabled")){e=r.firstElementChild;break}}return e&&e.focus(),function(){l.menuContentEl.off("keydown",o),l.menuContentEl[0].removeEventListener("click",i,!0)};function o(e){var t;switch(e.keyCode){case s.KEY_CODE.ESCAPE:l.nestLevel?l.mdMenuCtrl.close():l.mdMenuCtrl.close(!1,{closeAll:!0}),t=!0;break;case s.KEY_CODE.TAB:l.mdMenuCtrl.close(!1,{closeAll:!0}),t=!1;break;case s.KEY_CODE.UP_ARROW:m(e,l.menuContentEl,l,-1)||l.nestLevel||l.mdMenuCtrl.triggerContainerProxy(e),t=!0;break;case s.KEY_CODE.DOWN_ARROW:m(e,l.menuContentEl,l,1)||l.nestLevel||l.mdMenuCtrl.triggerContainerProxy(e),t=!0;break;case s.KEY_CODE.LEFT_ARROW:l.nestLevel?l.mdMenuCtrl.close():l.mdMenuCtrl.triggerContainerProxy(e),t=!0;break;case s.KEY_CODE.RIGHT_ARROW:var n=E.getClosest(e.target,"MD-MENU");n&&n!=l.parent[0]?e.target.click():l.mdMenuCtrl.triggerContainerProxy(e),t=!0}t&&(e.preventDefault(),e.stopImmediatePropagation())}function i(e){var t=e.target;do{if(t==l.menuContentEl[0])return;if((r(t,["ng-click","ng-href","ui-sref"])||"BUTTON"==t.nodeName||"MD-BUTTON"==t.nodeName)&&!r(t,["md-prevent-menu-close"])){var n=E.getClosest(t,"MD-MENU");t.hasAttribute("disabled")||n&&n!=l.parent[0]||a.$apply(function(){l.mdMenuCtrl.close(!0,{closeAll:!0})});break}}while(t=t.parentNode);function r(e,t){if(!e)return!1;for(var n,r=0;n=t[r];++r)if($.hasAttribute(e,n))return!0;return!1}}}(),l.cleanupBackdrop=l.backdrop?(l.backdrop.on("click",t),function(){l.backdrop.off("click",t)}):g.noop,n.addClass("md-clickable"),e});function t(e){e.preventDefault(),e.stopPropagation(),a.$apply(function(){l.mdMenuCtrl.close(!0,{closeAll:!0})})}},onRemove:function(e,t,n){return n.cleanupInteraction(),n.cleanupBackdrop(),n.cleanupResizing(),n.hideBackdrop(),t.removeClass("md-clickable"),!0===n.$destroy?r():function(){return i(t,{addClass:"md-leave"}).start()}().then(r);function r(){t.removeClass("md-active"),function(e,t){t.preserveElement?a(e).style.display="none":a(e).parentNode===a(t.parent)&&a(t.parent).removeChild(a(e))}(t,n),n.alreadyOpen=!1}},hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,multiple:!0,themable:!0};function m(e,t,n,r){for(var o,i=E.getClosest(e.target,"MD-MENU-ITEM"),a=E.nodesToArray(t[0].children),l=a.indexOf(i)+r;0<=l&&l<a.length;l+=r){if(o=f(a[l].querySelector(".md-button")))break}return o}function f(e){if(e&&-1!=e.getAttribute("tabindex"))return e.focus(),k[0].activeElement==e}function p(e,t){var n,r=e[0],o=e[0].firstElementChild,i=o.getBoundingClientRect(),a=k[0].body.getBoundingClientRect(),l=O.getComputedStyle(o),s=t.target[0].querySelector($.buildSelector("md-menu-origin"))||t.target[0],d=s.getBoundingClientRect(),u={left:a.left+w,top:Math.max(a.top,0)+w,bottom:Math.max(a.bottom,Math.max(a.top,0)+a.height)-w,right:a.right-w},c={top:0,left:0,right:0,bottom:0},m={top:0,left:0,right:0,bottom:0},f=t.mdMenuCtrl.positionMode();"target"!==f.top&&"target"!==f.left&&"target-right"!==f.left||(n=function(){for(var e=0;e<o.children.length;++e)if("none"!=O.getComputedStyle(o.children[e]).display)return o.children[e]}())&&(c=(n=(n=n.firstElementChild||n).querySelector($.buildSelector("md-menu-align-target"))||n).getBoundingClientRect(),m={top:parseFloat(r.style.top||0),left:parseFloat(r.style.left||0)});var p={},h="top ";switch(f.top){case"target":p.top=m.top+d.top-c.top;break;case"cascade":p.top=d.top-parseFloat(l.paddingTop)-s.style.top;break;case"bottom":p.top=d.top+d.height;break;default:throw new Error('Invalid target mode "'+f.top+'" specified for md-menu on Y axis.')}var g=E.isRtl(e);switch(f.left){case"target":p.left=m.left+d.left-c.left,h+=g?"right":"left";break;case"target-left":p.left=d.left,h+="left";break;case"target-right":p.left=d.right-i.width+(i.right-c.right),h+="right";break;case"cascade":var v=g?d.left-i.width<u.left:d.right+i.width<u.right;p.left=v?d.right-s.style.left:d.left-s.style.left-i.width,h+=v?"left":"right";break;case"right":g?(p.left=d.right-d.width,h+="left"):(p.left=d.right-i.width,h+="right");break;case"left":g?(p.left=d.right-i.width,h+="right"):(p.left=d.left,h+="left");break;default:throw new Error('Invalid target mode "'+f.left+'" specified for md-menu on X axis.')}var b,C=t.mdMenuCtrl.offsets();p.top+=C.top,p.left+=C.left,(b=p).top=Math.max(Math.min(b.top,u.bottom-r.offsetHeight),u.top),b.left=Math.max(Math.min(b.left,u.right-r.offsetWidth),u.left);var M=Math.round(100*Math.min(d.width/r.offsetWidth,1))/100,y=Math.round(100*Math.min(d.height/r.offsetHeight,1))/100;return{top:Math.round(p.top),left:Math.round(p.left),transform:t.alreadyOpen?A:E.supplant("scale({0},{1})",[M,y]),transformOrigin:h}}}function a(e){return e instanceof g.element&&(e=e[0]),e}}g.module("material.components.menu",["material.core","material.components.backdrop"]),t.$inject=["$mdMenu","$attrs","$element","$scope","$mdUtil","$timeout","$rootScope","$q","$log"],g.module("material.components.menu").controller("mdMenuCtrl",t),n.$inject=["$mdUtil"],g.module("material.components.menu").directive("mdMenu",n),r.$inject=["$$interimElementProvider"],g.module("material.components.menu").provider("$mdMenu",r)}(window,window.angular);
Note: See TracBrowser for help on using the repository browser.