7 lines
19 KiB
JavaScript
7 lines
19 KiB
JavaScript
|
|
/*!
|
||
|
|
* AngularJS Material Design
|
||
|
|
* https://github.com/angular/material
|
||
|
|
* @license MIT
|
||
|
|
* v1.1.18-master-97a1616
|
||
|
|
*/
|
||
|
|
!function(e,ie){"use strict";ie.module("material.components.autocomplete",["material.core","material.components.icon","material.components.virtualRepeat"]),t.$inject=["$scope","$element","$mdUtil","$mdConstant","$mdTheming","$window","$animate","$rootElement","$attrs","$q","$log","$mdLiveAnnouncer"],ie.module("material.components.autocomplete").controller("MdAutocompleteCtrl",t);var le=48,re=5,ae=8,ce=2,ue="standard",de="virtual";function t(p,h,f,t,e,n,o,i,g,r,l,a){var c,u,d,s=this,m=p.itemsExpr.split(/ in /i),$=m[1],x=null,C={},b=!1,v=[],A=!1,w=0,T=null,y=null,M=f.debounce(function(){s.hidden||D()}),L=de;c="hidden",u=function(e,t){!e&&t?(D(),Q(!0,R.Count|R.Selected),x&&(f.disableScrollAround(x.ul),T=function(e){function t(e){e.preventDefault()}return e.on("wheel",t),e.on("touchmove",t),function(){e.off("wheel",t),e.off("touchmove",t)}}(ie.element(x.wrap)))):e&&!t&&(f.enableScrolling(),T&&(T(),T=null))},d=!0,Object.defineProperty(s,c,{get:function(){return d},set:function(e){var t=d;u(d=e,t)}}),s.scope=p,s.parent=p.$parent,s.itemName=m[0],s.matches=[],s.loading=!1,s.hidden=!0,s.index=null,s.id=f.nextUid(),s.isDisabled=null,s.isRequired=null,s.isReadonly=null,s.hasNotFound=!1,s.selectedMessage=p.selectedMessage||"selected",s.keydown=function(e){switch(e.keyCode){case t.KEY_CODE.DOWN_ARROW:if(s.loading||W())return;e.stopPropagation(),e.preventDefault(),s.index=Math.min(s.index+1,s.matches.length-1),X(),Q(!1,R.Selected);break;case t.KEY_CODE.UP_ARROW:if(s.loading||W())return;e.stopPropagation(),e.preventDefault(),s.index=s.index<0?s.matches.length-1:Math.max(0,s.index-1),X(),Q(!1,R.Selected);break;case t.KEY_CODE.TAB:if(O(),s.hidden||s.loading||s.index<0||s.matches.length<1)return;Y(s.index);break;case t.KEY_CODE.ENTER:if(s.hidden||s.loading||s.index<0||s.matches.length<1)return;if(W())return;e.stopImmediatePropagation(),e.preventDefault(),Y(s.index);break;case t.KEY_CODE.ESCAPE:if(e.preventDefault(),!(z("blur")||!s.hidden||s.loading||z("clear")&&p.searchText))return;e.stopPropagation(),G(),p.searchText&&z("clear")&&J(),s.hidden=!0,z("blur")&&function(e){e&&(A=b=!1);x.input.blur()}(!0)}},s.blur=function(e){A=!1,b||(s.hidden=H(),oe("ngBlur",{$event:e}))},s.focus=function(e){A=!0,_()&&K()&&te();s.hidden=H(),oe("ngFocus",{$event:e})},s.clear=function(){G(),J()},s.select=Y,s.listEnter=function(){b=!0},s.listLeave=O,s.mouseUp=function(){x.input.focus()},s.getCurrentDisplayValue=U,s.registerSelectedItemWatcher=function(e){-1===v.indexOf(e)&&v.push(e)},s.unregisterSelectedItemWatcher=function(e){var t=v.indexOf(e);-1!==t&&v.splice(t,1)},s.notFoundVisible=ee,s.loadingIsVisible=function(){return s.loading&&!W()},s.positionDropdown=D;var I,R={Count:1,Selected:2};return f.initOptionalProperties(p,g,{searchText:"",selectedItem:null,clearButton:!1,disableVirtualRepeat:!1}),e(h),I=parseInt(p.delay,10)||0,g.$observe("disabled",function(e){s.isDisabled=f.parseAttributeBoolean(e,!1)}),g.$observe("required",function(e){s.isRequired=f.parseAttributeBoolean(e,!1)}),g.$observe("readonly",function(e){s.isReadonly=f.parseAttributeBoolean(e,!1)}),p.$watch("searchText",I?f.debounce(N,I):N),p.$watch("selectedItem",B),ie.element(n).on("resize",M),void p.$on("$destroy",k),void f.nextTick(function(){!function(){var e=function(){var e,t;for(e=h;e.length&&(t=e.attr("md-autocomplete-snap"),!ie.isDefined(t));e=e.parent());if(e.length)return{snap:e[0],wrap:"width"===t.toLowerCase()?e[0]:h.find("md-autocomplete-wrap")[0]};var n=h.find("md-autocomplete-wrap")[0];return{snap:n,wrap:n}}();(x={main:h[0],scrollContainer:h[0].querySelector(".md-virtual-repeat-container, .md-standard-list-container"),scroller:h[0].querySelector(".md-virtual-repeat-scroller, .md-standard-list-scroller"),ul:h.find("ul")[0],input:h.find("input")[0],wrap:e.wrap,snap:e.snap,root:document.body}).li=x.ul.getElementsByTagName("li"),x.$=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=ie.element(e[n]));return t}(x),L=x.scrollContainer.classList.contains("md-standard-list-container")?ue:de,y=x.$.input.controller("ngModel")}(),x.$.root.length&&(e(x.$.scrollContainer),x.$.scroll
|