From 7b6496b95dcb763c50af13b51f9873c8e50f5118 Mon Sep 17 00:00:00 2001 From: Hidenari Nozaki Date: Mon, 18 Aug 2014 07:57:45 +1200 Subject: [PATCH] Update minified version. --- dist/angucomplete-alt.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/angucomplete-alt.min.js b/dist/angucomplete-alt.min.js index e7dc0350..63d0e484 100644 --- a/dist/angucomplete-alt.min.js +++ b/dist/angucomplete-alt.min.js @@ -1,2 +1,2 @@ /*! Copyright (c) 2014 Hidenari Nozaki and contributors | Licensed under the MIT license */ -"use strict";angular.module("angucomplete-alt",[]).directive("angucompleteAlt",["$parse","$http","$sce","$timeout",function($parse,$http,$sce,$timeout){var KEY_DW=40,KEY_UP=38,KEY_ES=27,KEY_EN=13,KEY_BS=8,KEY_DEL=46,KEY_TAB=9,MIN_LENGTH=3,PAUSE=500,BLUR_TIMEOUT=200,REQUIRED_CLASS="autocomplete-required",TEXT_SEARCHING="Searching...",TEXT_NORESULTS="No results found";return{restrict:"EA",require:"^?form",scope:{selectedObject:"=",localData:"=",remoteUrlRequestFormatter:"=",remoteUrlResponseFormatter:"=",id:"@",placeholder:"@",remoteUrl:"@",remoteUrlDataField:"@",titleField:"@",descriptionField:"@",imageField:"@",inputClass:"@",pause:"@",searchFields:"@",minlength:"@",matchClass:"@",clearSelected:"@",overrideSuggestions:"@",fieldRequired:"@",fieldRequiredClass:"@"},template:'
{{ result.title }}
{{result.description}}
',link:function(scope,elem,attrs,ctrl){function ie8EventNormalizer(event){return event.which?event.which:event.keyCode}function callOrAssign(value){"function"==typeof scope.selectedObject?scope.selectedObject(value):scope.selectedObject=value,handleRequired(!0)}function returnFunctionOrIdentity(fn){return fn&&"function"==typeof fn?fn:function(data){return data}}function setInputString(str){callOrAssign({originalObject:str}),scope.clearSelected&&(scope.searchStr=null),scope.showDropdown=!1,scope.results=[]}function isNewSearchNeeded(newTerm,oldTerm){return newTerm.length>=minlength&&newTerm!==oldTerm}function extractTitle(data){return scope.titleField.split(",").map(function(field){return extractValue(data,field)}).join(" ")}function extractValue(obj,key){var keys,result;return key?(keys=key.split("."),result=obj,keys.forEach(function(k){result=result[k]})):result=obj,result}function findMatchString(target,str){var result,matches,re=new RegExp(str,"i");if(target)return matches=target.match(re),result=matches?target.replace(re,''+matches[0]+""):target,$sce.trustAsHtml(result)}function handleRequired(valid){scope.fieldRequired&&ctrl&&ctrl.$setValidity(requiredClassName,valid)}function keyupHandler(event){var which=ie8EventNormalizer(event);which===KEY_UP||which===KEY_DW||which===KEY_EN?event.preventDefault():(scope.searchStr&&""!==scope.searchStr?isNewSearchNeeded(scope.searchStr,lastSearchTerm)&&(lastSearchTerm=scope.searchStr,scope.showDropdown=!0,scope.currentIndex=-1,scope.results=[],searchTimer&&$timeout.cancel(searchTimer),scope.searching=!0,searchTimer=$timeout(function(){scope.searchTimerComplete(scope.searchStr)},scope.pause)):(scope.showDropdown=!1,lastSearchTerm=null),handleRequired(!1))}function specialKeyHandler(event){var which=ie8EventNormalizer(event);which===KEY_ES?(scope.results=[],scope.showDropdown=!1,scope.$apply()):(which===KEY_BS||which===KEY_DEL)&&scope.$apply()}function keydownHandler(event){var which=ie8EventNormalizer(event);which===KEY_EN&&scope.results?(event.preventDefault(),scope.currentIndex>=0&&scope.currentIndex=1&&scope.$apply(function(){scope.currentIndex--}):which===KEY_TAB&&scope.results&&-1===scope.currentIndex&&(event.preventDefault(),scope.selectResult(scope.results[0]),scope.$apply())}function httpSuccessCallbackGen(str){return function(responseData){scope.searching=!1,scope.processResults(extractValue(responseFormatter(responseData),scope.remoteUrlDataField),str)}}function httpErrorCallback(){console.error("http error")}function getRemoteResults(str){var params={},url=scope.remoteUrl+str;scope.remoteUrlRequestFormatter&&(params={params:scope.remoteUrlRequestFormatter(str)},url=scope.remoteUrl),$http.get(url,params).success(httpSuccessCallbackGen(str)).error(httpErrorCallback)}function getLocalResults(str){var i,match,s,searchFields=scope.searchFields.split(","),matches=[];for(i=0;i=0;match&&(matches[matches.length]=scope.localData[i])}scope.searching=!1,scope.processResults(matches,str)}var hideTimer,responseFormatter,inputField=elem.find("input"),minlength=MIN_LENGTH,searchTimer=null,lastSearchTerm=null,requiredClassName=REQUIRED_CLASS;scope.currentIndex=null,scope.searching=!1,scope.searchStr=null,scope.hideResults=function(){hideTimer=$timeout(function(){scope.showDropdown=!1},BLUR_TIMEOUT)},scope.resetHideResults=function(){hideTimer&&$timeout.cancel(hideTimer)},scope.processResults=function(responseData,str){var i,description,image,text;if(responseData&&responseData.length>0)for(scope.results=[],i=0;i
{{ result.title }}
{{result.description}}
',link:function(scope,elem,attrs,ctrl){function ie8EventNormalizer(event){return event.which?event.which:event.keyCode}function callOrAssign(value){"function"==typeof scope.selectedObject?scope.selectedObject(value):scope.selectedObject=value,handleRequired(!0)}function returnFunctionOrIdentity(fn){return fn&&"function"==typeof fn?fn:function(data){return data}}function setInputString(str){callOrAssign({originalObject:str}),scope.clearSelected&&(scope.searchStr=null),scope.showDropdown=!1,scope.results=[]}function isNewSearchNeeded(newTerm,oldTerm){return newTerm.length>=minlength&&newTerm!==oldTerm}function extractTitle(data){return scope.titleField.split(",").map(function(field){return extractValue(data,field)}).join(" ")}function extractValue(obj,key){var keys,result;return key?(keys=key.split("."),result=obj,keys.forEach(function(k){result=result[k]})):result=obj,result}function findMatchString(target,str){var result,matches,re=new RegExp(str,"i");if(target)return matches=target.match(re),result=matches?target.replace(re,''+matches[0]+""):target,$sce.trustAsHtml(result)}function handleRequired(valid){validState=scope.searchStr,scope.fieldRequired&&ctrl&&ctrl.$setValidity(requiredClassName,valid)}function keyupHandler(event){var which=ie8EventNormalizer(event);which===KEY_UP||which===KEY_DW||which===KEY_EN?event.preventDefault():(scope.searchStr&&""!==scope.searchStr?isNewSearchNeeded(scope.searchStr,lastSearchTerm)&&(lastSearchTerm=scope.searchStr,scope.showDropdown=!0,scope.currentIndex=-1,scope.results=[],searchTimer&&$timeout.cancel(searchTimer),scope.searching=!0,searchTimer=$timeout(function(){scope.searchTimerComplete(scope.searchStr)},scope.pause)):(scope.showDropdown=!1,lastSearchTerm=null),validState&&validState!==scope.searchStr&&handleRequired(!1))}function specialKeyHandler(event){var which=ie8EventNormalizer(event);which===KEY_ES?(scope.results=[],scope.showDropdown=!1,scope.$apply()):(which===KEY_BS||which===KEY_DEL)&&scope.$apply()}function keydownHandler(event){var which=ie8EventNormalizer(event);which===KEY_EN&&scope.results?(event.preventDefault(),scope.currentIndex>=0&&scope.currentIndex=1&&scope.$apply(function(){scope.currentIndex--}):which===KEY_TAB&&scope.results&&scope.results.length>0&&-1===scope.currentIndex&&(scope.selectResult(scope.results[0]),scope.$apply())}function httpSuccessCallbackGen(str){return function(responseData){scope.searching=!1,scope.processResults(extractValue(responseFormatter(responseData),scope.remoteUrlDataField),str)}}function httpErrorCallback(){console.error("http error")}function getRemoteResults(str){var params={},url=scope.remoteUrl+str;scope.remoteUrlRequestFormatter&&(params={params:scope.remoteUrlRequestFormatter(str)},url=scope.remoteUrl),$http.get(url,params).success(httpSuccessCallbackGen(str)).error(httpErrorCallback)}function getLocalResults(str){var i,match,s,searchFields=scope.searchFields.split(","),matches=[];for(i=0;i=0;match&&(matches[matches.length]=scope.localData[i])}scope.searching=!1,scope.processResults(matches,str)}var hideTimer,responseFormatter,inputField=elem.find("input"),minlength=MIN_LENGTH,searchTimer=null,lastSearchTerm=null,requiredClassName=REQUIRED_CLASS,validState=null;scope.currentIndex=null,scope.searching=!1,scope.searchStr=scope.initialValue,scope.hideResults=function(){hideTimer=$timeout(function(){scope.showDropdown=!1},BLUR_TIMEOUT)},scope.resetHideResults=function(){hideTimer&&$timeout.cancel(hideTimer)},scope.processResults=function(responseData,str){var i,description,image,text;if(responseData&&responseData.length>0)for(scope.results=[],i=0;i