7 lines
20 KiB
JavaScript
Raw Normal View History

2020-05-19 11:43:42 +03:00
/*!
* AngularJS Material Design
* https://github.com/angular/material
* @license MIT
* v1.1.18-master-97a1616
*/
goog.provide("ngmaterial.components.autocomplete"),goog.require("ngmaterial.components.icon"),goog.require("ngmaterial.components.virtualRepeat"),goog.require("ngmaterial.core"),angular.module("material.components.autocomplete",["material.core","material.components.icon","material.components.virtualRepeat"]),MdAutocompleteCtrl.$inject=["$scope","$element","$mdUtil","$mdConstant","$mdTheming","$window","$animate","$rootElement","$attrs","$q","$log","$mdLiveAnnouncer"],angular.module("material.components.autocomplete").controller("MdAutocompleteCtrl",MdAutocompleteCtrl);var ITEM_HEIGHT=48,MAX_ITEMS=5,MENU_PADDING=8,INPUT_PADDING=2,MODE_STANDARD="standard",MODE_VIRTUAL="virtual";function MdAutocompleteCtrl(p,h,g,t,e,n,o,i,f,a,l,r){var c,u,d,s=this,m=p.itemsExpr.split(/ in /i),$=m[1],C=null,x={},v=!1,b=[],A=!1,M=0,T=null,w=null,D=g.debounce(function(){s.hidden||R()}),I=MODE_VIRTUAL;c="hidden",u=function(e,t){!e&&t?(R(),J(!0,E.Count|E.Selected),C&&(g.disableScrollAround(C.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)}}(angular.element(C.wrap)))):e&&!t&&(g.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=g.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||z())return;e.stopPropagation(),e.preventDefault(),s.index=Math.min(s.index+1,s.matches.length-1),Q(),J(!1,E.Selected);break;case t.KEY_CODE.UP_ARROW:if(s.loading||z())return;e.stopPropagation(),e.preventDefault(),s.index=s.index<0?s.matches.length-1:Math.max(0,s.index-1),Q(),J(!1,E.Selected);break;case t.KEY_CODE.TAB:if(O(),s.hidden||s.loading||s.index<0||s.matches.length<1)return;K(s.index);break;case t.KEY_CODE.ENTER:if(s.hidden||s.loading||s.index<0||s.matches.length<1)return;if(z())return;e.stopImmediatePropagation(),e.preventDefault(),K(s.index);break;case t.KEY_CODE.ESCAPE:if(e.preventDefault(),!(V("blur")||!s.hidden||s.loading||V("clear")&&p.searchText))return;e.stopPropagation(),Y(),p.searchText&&V("clear")&&X(),s.hidden=!0,V("blur")&&function(e){e&&(A=v=!1);C.input.blur()}(!0)}},s.blur=function(e){A=!1,v||(s.hidden=F(),oe("ngBlur",{$event:e}))},s.focus=function(e){A=!0,U()&&W()&&te();s.hidden=F(),oe("ngFocus",{$event:e})},s.clear=function(){Y(),X()},s.select=K,s.listEnter=function(){v=!0},s.listLeave=O,s.mouseUp=function(){C.input.focus()},s.getCurrentDisplayValue=j,s.registerSelectedItemWatcher=function(e){-1===b.indexOf(e)&&b.push(e)},s.unregisterSelectedItemWatcher=function(e){var t=b.indexOf(e);-1!==t&&b.splice(t,1)},s.notFoundVisible=ee,s.loadingIsVisible=function(){return s.loading&&!z()},s.positionDropdown=R;var y,E={Count:1,Selected:2};return g.initOptionalProperties(p,f,{searchText:"",selectedItem:null,clearButton:!1,disableVirtualRepeat:!1}),e(h),y=parseInt(p.delay,10)||0,f.$observe("disabled",function(e){s.isDisabled=g.parseAttributeBoolean(e,!1)}),f.$observe("required",function(e){s.isRequired=g.parseAttributeBoolean(e,!1)}),f.$observe("readonly",function(e){s.isReadonly=g.parseAttributeBoolean(e,!1)}),p.$watch("searchText",y?g.debounce(_,y):_),p.$watch("selectedItem",H),angular.element(n).on("resize",D),void p.$on("$destroy",S),void g.nextTick(function(){!function(){var e=function(){var e,t;for(e=h;e.length&&(t=e.attr("md-autocomplete-snap"),!angular.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}}();(C={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=