diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-01-10 23:13:31 +0300 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2018-01-10 23:13:31 +0300 |
commit | a97e861762ccb17ce5f51d5c608b5d9e42732ae3 (patch) | |
tree | 57b03d69e7e86e3371b0b4c271a578ceff454436 | |
parent | 98bc870b61e604ce80d376019c329b64b31e017b (diff) |
Version 0.5.30.5.3
* minify JS
* add changelog
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
-rw-r--r-- | README.md | 16 | ||||
-rw-r--r-- | bower.json | 2 | ||||
-rw-r--r-- | jquery.strengthify.min.js | 2 |
3 files changed, 18 insertions, 2 deletions
@@ -78,6 +78,22 @@ Versions -------- <dl> + <dt>0.5.3</dt> + <dd> + <ul> + <li>make possible to specify the element to add the strength bar after (#20)</li> + <li>provide minified version (#16)</li> + </ul> + </dd> + <dt>0.5.2</dt> + <dd> + <ul> + <li>use eval directly (#14)</li> + <li>added missing break (#13)</li> + </ul> + </dd> + <dt>0.5.1</dt> + <dd>add tilesOptions (#10) - you can choose now between tooltip and element or both - thanks to @feirer</dd> <dt>0.5.0</dt> <dd> fairly substantial changes: <ul> @@ -1,6 +1,6 @@ { "name": "strengthify", - "version": "0.5.2", + "version": "0.5.3", "homepage": "https://github.com/MorrisJobke/strengthify", "authors": [ "Eve Ragins <eve.ragins@eve-corp.com", diff --git a/jquery.strengthify.min.js b/jquery.strengthify.min.js index a773665..f264f8c 100644 --- a/jquery.strengthify.min.js +++ b/jquery.strengthify.min.js @@ -1 +1 @@ -(function($){$.fn.strengthify=function(paramOptions){var defaults={zxcvbn:"zxcvbn/zxcvbn.js",titles:["Weakest","Weak","So-so","Good","Perfect"],tilesOptions:{tooltip:true,element:false},drawTitles:false,drawMessage:false,drawBars:true};return this.each(function(){var options=$.extend(defaults,paramOptions);if(!options.drawTitles&&!options.drawMessage&&!options.drawBars){console.warn("expect at least one of 'drawTitles', 'drawMessage', or 'drawBars' to be true")}function getWrapperFor(id){return $('div[data-strengthifyFor="'+id+'"]')}function drawStrengthify(){var password=$(this).val(),elemId=$(this).attr("id"),opacity=(password==="")?0:1,result=zxcvbn(password),css="",bsLevel="",message="",$wrapper=getWrapperFor(elemId),$container=$wrapper.find(".strengthify-container"),$message=$wrapper.find("[data-strengthifyMessage]");$wrapper.children().css("opacity",opacity).css("-ms-filter",'"progid:DXImageTransform.Microsoft.Alpha(Opacity='+opacity*100+')"');switch(result.score){case 0:case 1:css="password-bad";bsLevel="danger";message=result.feedback?result.feedback.suggestions.join("<br/>"):"";break;case 2:bsLevel="warning";message=result.feedback?result.feedback.suggestions.join("<br/>"):"";css="password-medium";break;case 3:css="password-good";bsLevel="info";message="Getting better.";break;case 4:css="password-good";bsLevel="success";message="Looks good.";break}if($message){$message.removeAttr("class");$message.addClass("bg-"+bsLevel);if(password===""){message=""}$message.html(message)}if($container){$container.attr("class",css+" strengthify-container").css("width",((result.score===0?1:result.score)*25)+"%");if(password===""){$container.css("width",0)}}if(options.drawTitles){if(options.tilesOptions.tooltip){$wrapper.attr("title",options.titles[result.score]).tooltip({placement:"bottom",trigger:"manual"}).tooltip("fixTitle").tooltip("show");if(opacity===0){$wrapper.tooltip("hide")}}if(options.tilesOptions.element){$wrapper.find(".strengthify-tiles").text(options.titles[result.score])}}}function init(){var $elem=$(this),elemId=$elem.attr("id");var drawSelf=drawStrengthify.bind(this);$elem.after('<div class="strengthify-wrapper" data-strengthifyFor="'+$elem.attr("id")+'"></div>');if(options.drawBars){getWrapperFor(elemId).append('<div class="strengthify-bg" />').append('<div class="strengthify-container" />').append('<div class="strengthify-separator" style="left: 25%" />').append('<div class="strengthify-separator" style="left: 50%" />').append('<div class="strengthify-separator" style="left: 75%" />')}if(options.drawMessage){getWrapperFor(elemId).append("<div data-strengthifyMessage></div>")}if(options.drawTitles&&options.tilesOptions){getWrapperFor(elemId).append('<div class="strengthify-tiles"></div>')}$elem.parent().on("scroll",drawSelf);$.ajax({cache:true,url:options.zxcvbn}).done(function(content){eval(content);$elem.bind("keyup input change",drawSelf)})}init.call(this)})}}(jQuery));
\ No newline at end of file +(function($){$.fn.strengthify=function(paramOptions){var defaults={zxcvbn:"zxcvbn/zxcvbn.js",titles:["Weakest","Weak","So-so","Good","Perfect"],tilesOptions:{tooltip:true,element:false},drawTitles:false,drawMessage:false,drawBars:true,$addAfter:null};return this.each(function(){var options=$.extend(defaults,paramOptions);if(!options.drawTitles&&!options.drawMessage&&!options.drawBars){console.warn("expect at least one of 'drawTitles', 'drawMessage', or 'drawBars' to be true")}function getWrapperFor(id){return $('div[data-strengthifyFor="'+id+'"]')}function drawStrengthify(){var password=$(this).val(),elemId=$(this).attr("id"),opacity=(password==="")?0:1,result=zxcvbn(password),css="",bsLevel="",message="",$wrapper=getWrapperFor(elemId),$container=$wrapper.find(".strengthify-container"),$message=$wrapper.find("[data-strengthifyMessage]");$wrapper.children().css("opacity",opacity).css("-ms-filter",'"progid:DXImageTransform.Microsoft.Alpha(Opacity='+opacity*100+')"');switch(result.score){case 0:case 1:css="password-bad";bsLevel="danger";message=result.feedback?result.feedback.suggestions.join("<br/>"):"";break;case 2:bsLevel="warning";message=result.feedback?result.feedback.suggestions.join("<br/>"):"";css="password-medium";break;case 3:css="password-good";bsLevel="info";message="Getting better.";break;case 4:css="password-good";bsLevel="success";message="Looks good.";break}if($message){$message.removeAttr("class");$message.addClass("bg-"+bsLevel);if(password===""){message=""}$message.html(message)}if($container){$container.attr("class",css+" strengthify-container").css("width",((result.score===0?1:result.score)*25)+"%");if(password===""){$container.css("width",0)}}if(options.drawTitles){if(options.tilesOptions.tooltip){$wrapper.attr("title",options.titles[result.score]).tooltip({placement:"bottom",trigger:"manual"}).tooltip("fixTitle").tooltip("show");if(opacity===0){$wrapper.tooltip("hide")}}if(options.tilesOptions.element){$wrapper.find(".strengthify-tiles").text(options.titles[result.score])}}}function init(){var $elem=$(this),elemId=$elem.attr("id");var drawSelf=drawStrengthify.bind(this);var $addAfter=options.$addAfter;if(!$addAfter){$addAfter=$elem}$addAfter.after('<div class="strengthify-wrapper" data-strengthifyFor="'+$elem.attr("id")+'"></div>');if(options.drawBars){getWrapperFor(elemId).append('<div class="strengthify-bg" />').append('<div class="strengthify-container" />').append('<div class="strengthify-separator" style="left: 25%" />').append('<div class="strengthify-separator" style="left: 50%" />').append('<div class="strengthify-separator" style="left: 75%" />')}if(options.drawMessage){getWrapperFor(elemId).append("<div data-strengthifyMessage></div>")}if(options.drawTitles&&options.tilesOptions){getWrapperFor(elemId).append('<div class="strengthify-tiles"></div>')}$elem.parent().on("scroll",drawSelf);$.ajax({cache:true,url:options.zxcvbn}).done(function(content){eval(content);$elem.bind("keyup input change",drawSelf)})}init.call(this)})}}(jQuery));
\ No newline at end of file |