7 lines
20 KiB
JavaScript
Executable File
7 lines
20 KiB
JavaScript
Executable File
/*!
|
|
* AngularJS Material Design
|
|
* https://github.com/angular/material
|
|
* @license MIT
|
|
* v1.1.18-master-97a1616
|
|
*/
|
|
goog.provide("ngmaterial.components.select"),goog.require("ngmaterial.components.backdrop"),goog.require("ngmaterial.core"),SelectDirective.$inject=["$mdSelect","$mdUtil","$mdConstant","$mdTheming","$mdAria","$parse","$sce","$injector"],SelectMenuDirective.$inject=["$parse","$mdUtil","$mdConstant","$mdTheming"],OptionDirective.$inject=["$mdButtonInkRipple","$mdUtil","$mdTheming"],SelectProvider.$inject=["$$interimElementProvider"];var SELECT_EDGE_MARGIN=8,selectNextId=0,CHECKBOX_SELECTION_INDICATOR=angular.element('<div class="md-container"><div class="md-icon"></div></div>');function SelectDirective(A,D,O,T,R,_,N,e){var t=O.KEY_CODE;t.SPACE,t.ENTER,t.UP_ARROW,t.DOWN_ARROW;return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:function(e,t){var n=angular.element("<md-select-value><span></span></md-select-value>");n.append('<span class="md-select-icon" aria-hidden="true"></span>'),n.addClass("md-select-value"),n[0].hasAttribute("id")||n.attr("id","select_value_label_"+D.nextUid());var r=e.find("md-content");r.length||e.append(angular.element("<md-content>").append(e.contents()));r.attr("role","presentation"),t.mdOnOpen&&(e.find("md-content").prepend(angular.element('<div> <md-progress-circular md-mode="indeterminate" ng-if="$$loadingAsyncDone === false" md-diameter="25px"></md-progress-circular></div>')),e.find("md-option").attr("ng-show","$$loadingAsyncDone"));if(t.name){var a=angular.element('<select class="md-visually-hidden"></select>');a.attr({name:t.name,"aria-hidden":"true",tabindex:"-1"});var l=e.find("md-option");angular.forEach(l,function(e){var t=angular.element("<option>"+e.innerHTML+"</option>");e.hasAttribute("ng-value")?t.attr("ng-value",e.getAttribute("ng-value")):e.hasAttribute("value")&&t.attr("value",e.getAttribute("value")),a.append(t)}),a.append('<option ng-value="'+t.ngModel+'" selected></option>'),e.parent().append(a)}var x=D.parseAttributeBoolean(t.multiple),i=x?"multiple":"",o='<div class="md-select-menu-container" aria-hidden="true" role="presentation"><md-select-menu role="presentation" {0}>{1}</md-select-menu></div>';o=D.supplant(o,[i,e.html()]),e.empty().append(n),e.append(o),t.tabindex||t.$set("tabindex",0);return function(r,n,a,e){var t,l,i,o,d,s=!0,c=e[0],u=e[1],p=e[2],f=e[3],m=n.find("md-select-value"),h=angular.isDefined(a.readonly),g=D.parseAttributeBoolean(a.mdNoAsterisk);if(g&&n.addClass("md-no-asterisk"),c){var v=c.isErrorGetter||function(){return p.$invalid&&(p.$touched||f&&f.$submitted)};if(c.input&&n.find("md-select-header").find("input")[0]!==c.input[0])throw new Error("<md-input-container> can only have *one* child <input>, <textarea> or <select> element!");c.input=n,c.label||R.expect(n,"aria-label",n.attr("placeholder")),r.$watch(v,c.setInvalid)}!function(){if(i=angular.element(n[0].querySelector(".md-select-menu-container")),o=r,a.mdContainerClass){var e=i[0].getAttribute("class")+" "+a.mdContainerClass;i[0].setAttribute("class",e)}(d=i.find("md-select-menu").controller("mdSelectMenu")).init(p,a.ngModel),n.on("$destroy",function(){i.remove()})}(),T(n);var b,$=p.$render;function y(){i&&(d=d||i.find("md-select-menu").controller("mdSelectMenu"),u.setLabelText(d.selectedLabels()))}function C(){if(l){var e=d.selectedLabels({mode:"aria"});n.attr("aria-label",e.length?l+": "+e:l)}}p.$render=function(){$(),y(),C(),M()},a.$observe("placeholder",p.$render),c&&c.label&&a.$observe("required",function(e){c.label.toggleClass("md-required",e&&!g)}),u.setLabelText=function(e){u.setIsPlaceholder(!e);var t=!1;if(a.mdSelectedText&&a.mdSelectedHtml)throw Error("md-select cannot have both `md-selected-text` and `md-selected-html`");if(a.mdSelectedText||a.mdSelectedHtml)e=_(a.mdSelectedText||a.mdSelectedHtml)(r),t=!0;else if(!e){e=a.placeholder||(c&&c.label?c.label.text():"")||"",t=!0}var n=m.children().eq(0);a.mdSelectedHtml?n.html(N.getTrustedHtml(e)):t?n.text(e):n.html(e)},u.setIsPlaceholder=function(e){e?(m.addClass("md-select-placeholder"),c&&c.label&&c.label.addClass("md-placeholder")):(m.removeClass("md-select-placeholder"),c&&c.label&&c.label.removeClass("md-placeholder"))},h||(n.on("focus",function(e){c&&c.setFocused(!0)}),n.on("blur",function(e){s&&(s=!1,o._mdSelectIsOpen&&e.stopImmediatePropagation()),o._mdSelectIsOpen||(c&&c.setFocused(!1),M())})),u.triggerClose=function(){_(a.mdOnClose)(r)},r.$$postDigest(function(){!function(){var e=n.attr("aria-label")||n.attr("placeholder");!e&&c&&c.label&&(e=c.label.text());l=e,R.expect(n,"aria-label",e)}(),y(),C()}),r.$watch(function(){return d.selectedLabels()},y),a.$observe("ngMultiple",function(e){b&&b();var t=_(e);b=r.$watch(function(){return t(r)},function(e,t){void 0===e&&void 0===t||(e?n.attr("multiple","multiple"):n.removeAttr("multiple"),n.attr("aria-multiselectable",e?"true":"false"),i&&(d.setMultiple(e),$=p.$render,p.$render=function(){$(),y(),C(),M()},p.$render()))})}),a.$observe("disabled",function(e){angular.isString(e)&&(e=!0),void 0!==t&&t===e||((t=e)?n.attr({"aria-disabled":"true"}).removeAttr("tabindex").off("click",w).off("keydown",k):n.attr({tabindex:a.tabindex,"aria-disabled":"false"}).on("click",w).on("keydown",k))}),a.hasOwnProperty("disabled")||a.hasOwnProperty("ngDisabled")||(n.attr({"aria-disabled":"false"}),n.on("click",w),n.on("keydown",k));var S={role:"listbox","aria-expanded":"false","aria-multiselectable":x&&!a.ngMultiple?"true":"false"};n[0].hasAttribute("id")||(S.id="select_"+D.nextUid());var E="select_container_"+D.nextUid();function M(){D.nextTick(function(){c&&c.setHasValue(0<d.selectedLabels().length||(n[0].validity||{}).badInput)})}function k(e){if(O.isNavigationKey(e))e.preventDefault(),w();else if(shouldHandleKey(e,O)){e.preventDefault();var t=d.optNodeForKeyboardSearch(e);if(!t||t.hasAttribute("disabled"))return;var n=angular.element(t).controller("mdOption");d.isMultiple||d.deselect(Object.keys(d.selected)[0]),d.select(n.hashKey,n.value),d.refreshViewValue()}}function w(){o._mdSelectIsOpen=!0,n.attr("aria-expanded","true"),A.show({scope:o,preserveScope:!0,skipCompile:!0,element:i,target:n[0],selectCtrl:u,preserveElement:!0,hasBackdrop:!0,loadingAsync:!!a.mdOnOpen&&(r.$eval(a.mdOnOpen)||!0)}).finally(function(){o._mdSelectIsOpen=!1,n.focus(),n.attr("aria-expanded","false"),p.$setTouched()})}i.attr("id",E),n.find("md-select-menu").length||(S["aria-owns"]=E),n.attr(S),r.$on("$destroy",function(){A.destroy().finally(function(){c&&(c.setFocused(!1),c.setHasValue(!1),c.input=null),p.$setTouched()})})}},controller:function(){}}}function SelectMenuDirective(f,m,e,a){return{restrict:"E",require:["mdSelectMenu"],scope:!(t.$inject=["$scope","$attrs","$element"]),controller:t,link:{pre:function(l,e,t,n){var i=n[0];function r(e){var t=m.getClosest(e.target,"md-option"),n=t&&angular.element(t).data("$mdOptionController");if(t&&n){if(t.hasAttribute("disabled"))return e.stopImmediatePropagation(),!1;var r=i.hashGetter(n.value),a=angular.isDefined(i.selected[r]);l.$apply(function(){i.isMultiple?a?i.deselect(r):i.select(r,n.value):a||(i.deselect(Object.keys(i.selected)[0]),i.select(r,n.value)),i.refreshViewValue()})}}e.addClass("_md"),a(e),e.on("click",r),e.on("keypress",function(e){13!=e.keyCode&&32!=e.keyCode||r(e)})}}};function t(l,e,a){var i,o=this;o.isMultiple=angular.isDefined(e.multiple),o.selected={},o.options={},l.$watchCollection(function(){return o.options},function(){o.ngModel.$render()}),o.setMultiple=function(e){var t=o.ngModel;if(i=i||t.$isEmpty,o.isMultiple=e,o.isMultiple){function n(e){r?u():m.nextTick(function(){u(),r=!0})}var r=!1;t.$validators["md-multiple"]=a,t.$render=n,l.$watchCollection(o.modelBinding,function(e){a(e)&&n()}),t.$isEmpty=function(e){return!e||0===e.length}}else delete t.$validators["md-multiple"],t.$render=p;function a(e,t){return angular.isArray(e||t||[])}};var r,d,s,c="";function u(){var n=o.ngModel.$modelValue||o.ngModel.$viewValue||[];if(angular.isArray(n)){var e=Object.keys(o.selected),t=n.map(o.hashGetter);e.filter(function(e){return-1===t.indexOf(e)}).forEach(o.deselect),t.forEach(function(e,t){o.select(e,n[t])})}}function p(){var e=o.ngModel.$viewValue||o.ngModel.$modelValue;Object.keys(o.selected).forEach(o.deselect),o.select(o.hashGetter(e),e)}o.optNodeForKeyboardSearch=function(e){r&&clearTimeout(r),r=setTimeout(function(){c="",d=s=r=void 0},300),c+=e.key;var t=new RegExp("^"+c,"i");d||(d=a.find("md-option"),s=new Array(d.length),angular.forEach(d,function(e,t){s[t]=e.textContent.trim()}));for(var n=0;n<s.length;++n)if(t.test(s[n]))return d[n]},o.init=function(e,t){o.ngModel=e,o.modelBinding=t,o.ngModel.$isEmpty=function(e){return!o.options[o.hashGetter(e)]};var n=m.getModelOption(e,"trackBy");if(n){var r={},a=f(n);o.hashGetter=function(e,t){return r.$value=e,a(t||l,r)}}else o.hashGetter=function(e){return angular.isObject(e)?"object_"+(e.$$mdSelectId||(e.$$mdSelectId=++selectNextId)):e};o.setMultiple(o.isMultiple)},o.selectedLabels=function(e){var t,n=(e=e||{}).mode||"html",r=m.nodesToArray(a[0].querySelectorAll("md-option[selected]"));return r.length?("html"==n?t=function(e){if(e.hasAttribute("md-option-empty"))return"";var t=e.innerHTML,n=e.querySelector(".md-ripple-container");n&&(t=t.replace(n.outerHTML,""));var r=e.querySelector(".md-container");return r&&(t=t.replace(r.outerHTML,"")),t}:"aria"==n&&(t=function(e){return e.hasAttribute("aria-label")?e.getAttribute("aria-label"):e.textContent}),m.uniq(r.map(t)).join(", ")):""},o.select=function(e,t){var n=o.options[e];n&&n.setSelected(!0),o.selected[e]=t},o.deselect=function(e){var t=o.options[e];t&&t.setSelected(!1),delete o.selected[e]},o.addOption=function(e,t){if(angular.isDefined(o.options[e]))throw new Error('Duplicate md-option values are not allowed in a select. Duplicate value "'+t.value+'" found.');o.options[e]=t,angular.isDefined(o.selected[e])&&(o.select(e,t.value),angular.isDefined(o.ngModel.$$rawModelValue)&&o.hashGetter(o.ngModel.$$rawModelValue)===e&&o.ngModel.$validate(),o.refreshViewValue())},o.removeOption=function(e){delete o.options[e]},o.refreshViewValue=function(){var e,t=[];for(var n in o.selected)(e=o.options[n])?t.push(e.value):t.push(o.selected[n]);var r=m.getModelOption(o.ngModel,"trackBy"),a=o.isMultiple?t:t[0],l=o.ngModel.$modelValue;(r?angular.equals(l,a):l+""===a)||(o.ngModel.$setViewValue(a),o.ngModel.$render())}}}function OptionDirective(r,a,s){return e.$inject=["$element"],{restrict:"E",require:["mdOption","^^mdSelectMenu"],controller:e,compile:function(e,t){e.append(angular.element('<div class="md-text">').append(e.contents())),e.attr("tabindex",t.tabindex||"0"),function(e){var t=e.value,n=e.ngValue;return t||n}(t)||e.attr("md-option-empty","");return n}};function n(l,t,e,n){var i=n[0],o=n[1];function d(e,t,n){if(o.hashGetter){var r=o.hashGetter(t,l),a=o.hashGetter(e,l);i.hashKey=a,i.value=e,o.removeOption(r,i),o.addOption(a,i)}else n||l.$$postDigest(function(){d(e,t,!0)})}s(t),o.isMultiple&&(t.addClass("md-checkbox-enabled"),t.prepend(CHECKBOX_SELECTION_INDICATOR.clone())),angular.isDefined(e.ngValue)?l.$watch(e.ngValue,d):angular.isDefined(e.value)?d(e.value):l.$watch(function(){return t.text().trim()},d),e.$observe("disabled",function(e){e?t.attr("tabindex","-1"):t.attr("tabindex","0")}),l.$$postDigest(function(){e.$observe("selected",function(e){angular.isDefined(e)&&("string"==typeof e&&(e=!0),e?(o.isMultiple||o.deselect(Object.keys(o.selected)[0]),o.select(i.hashKey,i.value)):o.deselect(i.hashKey),o.refreshViewValue())})}),r.attach(l,t),function(){var e={role:"option","aria-selected":"false"};t[0].hasAttribute("id")||(e.id="select_option_"+a.nextUid());t.attr(e)}(),l.$on("$destroy",function(){o.removeOption(i.hashKey,i)})}function e(t){this.selected=!1,this.setSelected=function(e){e&&!this.selected?t.attr({selected:"selected","aria-selected":"true"}):!e&&this.selected&&(t.removeAttr("selected"),t.attr("aria-selected","false")),this.selected=e}}}function OptgroupDirective(){return{restrict:"E",compile:function(t,n){t.parent().find("md-select-header").length||function(){var e=t.find("label");e.length||(e=angular.element("<label>"),t.prepend(e));e.addClass("md-container-ignore"),e.attr("aria-hidden","true"),n.label&&e.text(n.label)}()}}}function SelectHeaderDirective(){return{restrict:"E"}}function SelectProvider(e){return t.$inject=["$mdSelect","$mdConstant","$mdUtil","$window","$q","$$rAF","$animateCss","$animate","$document"],e("$mdSelect").setDefaults({methods:["target"],options:t});function t(d,s,R,_,l,c,u,p,N){var f=R.dom.animator,m=s.KEY_CODE;return{parent:"body",themable:!0,onShow:function(n,i,o){return function(){o.loadingAsync&&!o.isRemoved&&(n.$$loadingAsyncDone=!1,l.when(o.loadingAsync).then(function(){n.$$loadingAsyncDone=!0,delete o.loadingAsync}).then(function(){c(r)}))}(),function(e,t){var n=i.find("md-select-menu");if(!t.target)throw new Error(R.supplant("$mdSelect.show() expected a target element in options.target but got '{0}'!",[t.target]));angular.extend(t,{isRemoved:!1,target:angular.element(t.target),parent:angular.element(t.parent),selectEl:n,contentEl:i.find("md-content"),optionNodes:n[0].getElementsByTagName("md-option")})}(0,o),o.hideBackdrop=function(e,t,n){n.disableParentScroll&&!R.getClosest(n.target,"MD-DIALOG")?n.restoreScroll=R.disableScrollAround(n.element,n.parent):n.disableParentScroll=!1;n.hasBackdrop&&(n.backdrop=R.createBackdrop(e,"md-select-backdrop md-click-catcher"),p.enter(n.backdrop,N[0].body,null,{duration:0}));return function(){n.backdrop&&n.backdrop.remove(),n.disableParentScroll&&n.restoreScroll(),delete n.restoreScroll}}(n,0,o),function(e,n,t){t.parent!==n.parent()&&n.parent().attr("aria-owns",n.attr("id"));return n.parent().find("md-select-value").attr("aria-hidden","true"),t.parent.append(n),l(function(e,t){try{u(n,{removeClass:"md-leave",duration:0}).start().then(r).then(e)}catch(e){t(e)}})}(0,i,o).then(function(e){return i.attr("aria-hidden","false"),o.alreadyOpen=!0,o.cleanupInteraction=function(){if(o.isRemoved)return;var r=o.selectEl,t=r.controller("mdSelectMenu")||{};return i.addClass("md-clickable"),o.backdrop&&o.backdrop.on("click",e),r.on("keydown",n),r.on("click",l),function(){o.backdrop&&o.backdrop.off("click",e),r.off("keydown",n),r.off("click",l),i.removeClass("md-clickable"),o.isRemoved=!0};function e(e){e.preventDefault(),e.stopPropagation(),o.restoreFocus=!1,R.nextTick(d.hide,!0)}function n(e){switch(e.preventDefault(),e.stopPropagation(),e.keyCode){case m.UP_ARROW:return void a("prev");case m.DOWN_ARROW:return void a("next");case m.SPACE:case m.ENTER:var t=R.getClosest(e.target,"md-option");t&&(r.triggerHandler({type:"click",target:t}),e.preventDefault()),l(e);break;case m.TAB:case m.ESCAPE:e.stopPropagation(),e.preventDefault(),o.restoreFocus=!0,R.nextTick(d.hide,!0);break;default:if(shouldHandleKey(e,s)){var n=r.controller("mdSelectMenu").optNodeForKeyboardSearch(e);o.focusedNode=n||o.focusedNode,n&&n.focus()}}}function a(e){for(var t,n=R.nodesToArray(o.optionNodes),r=n.indexOf(o.focusedNode);-1===r?r=0:"next"===e&&r<n.length-1?r++:"prev"===e&&0<r&&r--,(t=n[r]).hasAttribute("disabled")&&(t=void 0),!t&&r<n.length-1&&0<r;);t&&t.focus(),o.focusedNode=t}function l(n){if(!(n&&"click"==n.type&&n.currentTarget!=r[0]||function(){var e=!1;if(n&&0<n.currentTarget.children.length){var t=n.currentTarget.children[0];if(t.scrollHeight>t.clientHeight&&0<t.children.length)n.pageX-n.currentTarget.getBoundingClientRect().left>t.querySelector("md-option").offsetWidth&&(e=!0)}return e}())){var e=R.getClosest(n.target,"md-option");e&&e.hasAttribute&&!e.hasAttribute("disabled")&&(n.preventDefault(),n.stopPropagation(),t.isMultiple||(o.restoreFocus=!0,R.nextTick(function(){d.hide(t.ngModel.$viewValue)},!0)))}}}(),o.cleanupResizing=function(){var e=function(r,a,l){return function(){if(!l.isRemoved){var e=h(r,a,l),t=e.container,n=e.dropDown;t.element.css(f.toCss(t.styles)),n.element.css(f.toCss(n.styles))}}}(n,i,o),t=angular.element(_);return t.on("resize",e),t.on("orientationchange",e),function(){t.off("resize",e),t.off("orientationchange",e)}}(),a(o.focusedNode),e},o.hideBackdrop);function r(){return l(function(e){if(o.isRemoved)return l.reject(!1);var t=h(n,i,o);t.container.element.css(f.toCss(t.container.styles)),t.dropDown.element.css(f.toCss(t.dropDown.styles)),c(function(){i.addClass("md-active"),t.dropDown.element.css(f.toCss({transform:""})),a(o.focusedNode),e()})})}function a(e){e&&!e.hasAttribute("disabled")&&e.focus()}},onRemove:function(e,t,n){var r=null,a=e.$on("$destroy",function(){r.end()});return(n=n||{}).cleanupInteraction(),n.cleanupResizing(),n.hideBackdrop(),!0===n.$destroy?l():function(){return(r=u(t,{addClass:"md-leave"})).start()}().then(l);function l(){a(),t.removeClass("md-active").attr("aria-hidden","true").css({display:"none",top:"",right:"",bottom:"",left:"","font-size":"","min-width":""}),t.parent().find("md-select-value").removeAttr("aria-hidden"),function(e){var t=e.selectCtrl;if(t){var n=e.selectEl.controller("mdSelectMenu");t.setLabelText(n?n.selectedLabels():""),t.triggerClose()}}(n),!n.$destroy&&n.restoreFocus&&n.target.focus()}},hasBackdrop:!0,disableParentScroll:!0};function h(e,t,n){var r,a=t[0],l=n.target[0].children[0],i=N[0].body,o=n.selectEl[0],d=n.contentEl[0],s=i.getBoundingClientRect(),c=l.getBoundingClientRect(),u={left:s.left+SELECT_EDGE_MARGIN,top:SELECT_EDGE_MARGIN,bottom:s.height-SELECT_EDGE_MARGIN,right:s.width-SELECT_EDGE_MARGIN-(R.floatingScrollbars()?16:0)},p=c.top-u.top,f=(c.left,c.left,c.width,u.bottom-(c.top+c.height)),m=s.width-2*SELECT_EDGE_MARGIN,h=o.querySelector("md-option[selected]"),g=o.getElementsByTagName("md-option"),v=o.getElementsByTagName("md-optgroup"),b=function(e,t){var n=!1;try{var r=e[0].style.display;e[0].style.display="block",n=t.scrollHeight>t.offsetHeight,e[0].style.display=r}finally{}return n}(t,d);r=function(e){return e&&angular.isFunction(e.then)}(n.loadingAsync)?d.firstElementChild||d:h||(v.length?v[0]:g.length?g[0]:d.firstElementChild||d),d.offsetWidth>m?d.style["max-width"]=m+"px":d.style.maxWidth=null,b&&o.classList.add("md-overflow");var $=r;"MD-OPTGROUP"===($.tagName||"").toUpperCase()&&(r=$=g[0]||d.firstElementChild||d),n.focusedNode=$,a.style.display="block";var y,C,S,E,M,k=o.getBoundingClientRect(),w=function(e){return e?{left:e.offsetLeft,top:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}:{left:0,top:0,width:0,height:0}}(r);if(r){var x=_.getComputedStyle(r);w.paddingLeft=parseInt(x.paddingLeft,10)||0,w.paddingRight=parseInt(x.paddingRight,10)||0}if(b){var A=d.offsetHeight/2;d.scrollTop=w.top+w.height/2-A,p<A?d.scrollTop=Math.min(w.top,d.scrollTop+A-p):f<A&&(d.scrollTop=Math.max(w.top+w.height-k.height,d.scrollTop-A+f))}y=c.left+w.left-w.paddingLeft+2,C=Math.floor(c.top+c.height/2-w.height/2-w.top+d.scrollTop)+2,S=w.left+c.width/2+"px "+(w.top+w.height/2-d.scrollTop)+"px 0px",E=Math.min(c.width+w.paddingLeft+w.paddingRight,m),M=window.getComputedStyle(l)["font-size"];var D=a.getBoundingClientRect(),O=Math.round(100*Math.min(c.width/k.width,1))/100,T=Math.round(100*Math.min(c.height/k.height,1))/100;return{container:{element:angular.element(a),styles:{left:Math.floor(I(u.left,y,u.right-D.width)),top:Math.floor(I(u.top,C,u.bottom-D.height)),"min-width":E,"font-size":M}},dropDown:{element:angular.element(o),styles:{transformOrigin:S,transform:n.alreadyOpen?"":R.supplant("scale({0},{1})",[O,T])}}}}}function I(e,t,n){return Math.max(e,Math.min(t,n))}}function shouldHandleKey(e,t){var n=String.fromCharCode(e.keyCode),r=e.keyCode<=31;return n&&n.length&&!r&&!t.isMetaKey(e)&&!t.isFnLockKey(e)&&!t.hasModifierKey(e)}angular.module("material.components.select",["material.core","material.components.backdrop"]).directive("mdSelect",SelectDirective).directive("mdSelectMenu",SelectMenuDirective).directive("mdOption",OptionDirective).directive("mdOptgroup",OptgroupDirective).directive("mdSelectHeader",SelectHeaderDirective).provider("$mdSelect",SelectProvider),ngmaterial.components.select=angular.module("material.components.select"); |