-
Notifications
You must be signed in to change notification settings - Fork 6
/
angular-mailcheck.min.js
1 lines (1 loc) · 1.71 KB
/
angular-mailcheck.min.js
1
!function(){"use strict";function e(e,n){return{restrict:"A",replace:!1,scope:{options:"=?mailcheck",suggestionText:"=?mailcheckSuggestionText",nopeText:"=?mailcheckNopeText"},link:function(n,t,a){var i=angular.extend(n.options||{},{suggested:function(e,t){n.suggestion=t.full,n.$apply()},empty:function(e){n.suggestion=!1}});i.defaultDomains&&angular.isArray(i.defaultDomains)&&i.defaultDomains.length&&(Mailcheck.defaultDomains=Mailcheck.defaultDomains.concat(i.defaultDomains)),i.defaultSecondLevelDomains&&angular.isArray(i.defaultSecondLevelDomains)&&i.defaultSecondLevelDomains.length&&(Mailcheck.defaultSecondLevelDomains=Mailcheck.defaultSecondLevelDomains.concat(i.defaultSecondLevelDomains)),i.defaultTopLevelDomains&&angular.isArray(i.defaultTopLevelDomains)&&i.defaultTopLevelDomains.length&&(Mailcheck.defaultTopLevelDomains=Mailcheck.defaultTopLevelDomains.concat(i.defaultTopLevelDomains));var o=/text|email/i,l=t;if(!("INPUT"===t[0].nodeName||(l=t.find("input"))&&l.length))throw new Error("Could not find text or email input element.");if(!o.test(l.attr("type")))throw new Error("Invalid input type for angular-mailcheck: "+a.type);n.suggestionText||(n.suggestionText="Did you mean"),n.nopeText||(n.nopeText="Nope."),n.suggestion=!1,n.bugmenot=!1;var u=e('<div class="help-block mailcheck" ng-show="suggestion && !bugmenot">{{ suggestionText }} <a ng-bind="suggestion" ng-click="useSuggestion()"></a>? <a ng-click="suggestion=false; bugmenot=true">{{ nopeText }}</a></div>')(n);t.after(u),l.bind("input",function(){n.suggestion=!1}).bind("blur",function(){l.mailcheck(i)}),n.useSuggestion=function(){l.val(n.suggestion),n.suggestion=!1}}}}angular.module("angular-mailcheck",[]).directive("mailcheck",e),e.$inject=["$compile","$sce"]}();