/*! * 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('
');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("");n.append(''),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("").append(e.contents()));r.attr("role","presentation"),t.mdOnOpen&&(e.find("md-content").prepend(angular.element('
')),e.find("md-option").attr("ng-show","$$loadingAsyncDone"));if(t.name){var a=angular.element('');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("");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(''),e.parent().append(a)}var x=D.parseAttributeBoolean(t.multiple),i=x?"multiple":"",o='';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(" can only have *one* child ,