1 |
- !function(a){"use strict";a.event.special.destroyed||(a.event.special.destroyed={"remove":function(a){a.handler&&a.handler()}}),a.fn.extend({"maxlength":function(b,c){function d(a){var c=a.val();c=b.twoCharLinebreak?c.replace(/\r(?!\n)|\n(?!\r)/g,"\r\n"):c.replace(new RegExp("\r?\n","g"),"\n");var d=0;return d=b.utf8?f(c):c.length}function e(a,c){var d=a.val(),e=0;b.twoCharLinebreak&&(d=d.replace(/\r(?!\n)|\n(?!\r)/g,"\r\n"),"\n"===d.substr(d.length-1)&&d.length%2===1&&(e=1)),a.val(d.substr(0,c-e))}function f(a){for(var b=0,c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b++:b+=d>127&&2048>d?2:3}return b}function g(a,c,e){var f=!0;return!b.alwaysShow&&e-d(a)>c&&(f=!1),f}function h(a,b){var c=b-d(a);return c}function i(a,b){b.css({"display":"block"}),a.trigger("maxlength.shown")}function j(a,c){b.alwaysShow||(c.css({"display":"none"}),a.trigger("maxlength.hidden"))}function k(a,c,d){var e="";return b.message?e="function"==typeof b.message?b.message(a,c):b.message.replace("%charsTyped%",d).replace("%charsRemaining%",c-d).replace("%charsTotal%",c):(b.preText&&(e+=b.preText),e+=b.showCharsTyped?d:c-d,b.showMaxLength&&(e+=b.separator+c),b.postText&&(e+=b.postText)),e}function l(a,c,d,e){e&&(e.html(k(c.val(),d,d-a)),a>0?g(c,b.threshold,d)?i(c,e.removeClass(b.limitReachedClass).addClass(b.warningClass)):j(c,e):i(c,e.removeClass(b.warningClass).addClass(b.limitReachedClass))),b.customMaxAttribute&&(0>a?c.addClass("overmax"):c.removeClass("overmax"))}function m(b){var c=b[0];return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():{"width":c.offsetWidth,"height":c.offsetHeight},b.offset())}function n(c,d){var e=m(c);if("function"===a.type(b.placement))return void b.placement(c,d,e);if(a.isPlainObject(b.placement))return void o(b.placement,d);var f=c.outerWidth(),g=d.outerWidth(),h=d.width(),i=d.height();switch(b.appendToParent&&(e.top-=c.parent().offset().top,e.left-=c.parent().offset().left),b.placement){case"bottom":d.css({"top":e.top+e.height,"left":e.left+e.width/2-h/2});break;case"top":d.css({"top":e.top-i,"left":e.left+e.width/2-h/2});break;case"left":d.css({"top":e.top+e.height/2-i/2,"left":e.left-h});break;case"right":d.css({"top":e.top+e.height/2-i/2,"left":e.left+e.width});break;case"bottom-right":d.css({"top":e.top+e.height,"left":e.left+e.width});break;case"top-right":d.css({"top":e.top-i,"left":e.left+f});break;case"top-left":d.css({"top":e.top-i,"left":e.left-g});break;case"bottom-left":d.css({"top":e.top+c.outerHeight(),"left":e.left-g});break;case"centered-right":d.css({"top":e.top+i/2,"left":e.left+f-g-3});break;case"bottom-right-inside":d.css({"top":e.top+e.height,"left":e.left+e.width-g});break;case"top-right-inside":d.css({"top":e.top-i,"left":e.left+f-g});break;case"top-left-inside":d.css({"top":e.top-i,"left":e.left});break;case"bottom-left-inside":d.css({"top":e.top+c.outerHeight(),"left":e.left})}}function o(c,d){if(c&&d){var e=["top","bottom","left","right","position"],f={};a.each(e,function(a,c){var d=b.placement[c];"undefined"!=typeof d&&(f[c]=d)}),d.css(f)}}function p(){return"bottom-right-inside"===b.placement||"top-right-inside"===b.placement||"function"==typeof b.placement||b.message&&"function"==typeof b.message}function q(a){var c=a.attr("maxlength")||b.customMaxAttribute;if(b.customMaxAttribute&&!b.allowOverMax){var d=a.attr(b.customMaxAttribute);(!c||c>d)&&(c=d)}return c||(c=a.attr("size")),c}var r=a("body"),s={"showOnReady":!1,"alwaysShow":!1,"threshold":10,"warningClass":"label label-success","limitReachedClass":"label label-important label-danger","separator":" / ","preText":"","postText":"","showMaxLength":!0,"placement":"bottom","message":null,"showCharsTyped":!0,"validate":!1,"utf8":!1,"appendToParent":!1,"twoCharLinebreak":!0,"customMaxAttribute":null,"allowOverMax":!1};return a.isFunction(b)&&!c&&(c=b,b={}),b=a.extend(s,b),this.each(function(){function c(){var c=k(g.val(),d,"0");d=q(g),f||(f=a('<span class="bootstrap-maxlength"></span>').css({"display":"none","position":"absolute","whiteSpace":"nowrap","zIndex":1099}).html(c)),g.is("textarea")&&(g.data("maxlenghtsizex",g.outerWidth()),g.data("maxlenghtsizey",g.outerHeight()),g.mouseup(function(){(g.outerWidth()!==g.data("maxlenghtsizex")||g.outerHeight()!==g.data("maxlenghtsizey"))&&n(g,f),g.data("maxlenghtsizex",g.outerWidth()),g.data("maxlenghtsizey",g.outerHeight())})),b.appendToParent?(g.parent().append(f),g.parent().css("position","relative")):r.append(f);var e=h(g,q(g));l(e,g,d,f),n(g,f)}var d,f,g=a(this);a(window).resize(function(){f&&n(g,f)}),b.showOnReady?g.ready(function(){c()}):g.focus(function(){c()}),g.on("maxlength.reposition",function(){n(g,f)}),g.on("destroyed",function(){f&&f.remove()}),g.on("blur",function(){!f||b.showOnReady||b.alwaysShow||f.remove()}),g.on("input",function(){var a=q(g),c=h(g,a),i=!0;return b.validate&&0>c?(e(g,a),i=!1):l(c,g,d,f),p()&&n(g,f),i})})}})}(jQuery);
|