diaspora/lib/assets/javascripts/charcount.js
2016-08-13 03:21:40 +02:00

33 lines
955 B
JavaScript

// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
/*
* char count plugin
* options are:
* - allowed: number of allowed characters
* - warning: number of left characters when a warning should be displayed
* - counter: jQuery element to use as the counter
*/
$.fn.charCount = function(opts) {
this.each(function() {
var $this = $(this);
var counter = opts.counter;
var update = function() {
var count = $this.val().length;
if (count > opts.allowed) {
counter.removeClass("text-warning").addClass("text-danger");
} else if (count > opts.allowed - opts.warning) {
counter.removeClass("text-danger").addClass("text-warning");
} else {
counter.removeClass("text-danger").removeClass("text-warning");
}
counter.text(opts.allowed - count);
};
$this.on("textchange", update);
update();
});
};
// @license-end