Sha256: ddf805385f8e908752785190a748c3e39887eab418156cbafe22da4b6333ae3b

Contents?: true

Size: 1.71 KB

Versions: 81

Compression:

Stored size: 1.71 KB

Contents

// Count and Display Remaining Characters
(function ($) {

  'use strict';

  $.fn.countRemainingChars = function (options) {

    var settings = $.extend({
        // These are the defaults.
        charsMaxLimit: 100,
        charsWarnRemaining: 5,
        blockInputAtMaxLimit: false
      }, options),
      $taFld = this,
      $countFld = $('#'  + settings.countFld).text(settings.charsMaxLimit),
      charsRemainingFn = function (charsLength) {
        var charsRemaining = settings.charsMaxLimit - charsLength;
        $countFld.text(charsRemaining);
        $countFld.toggleClass('chars-warn-remaining-pf', charsRemaining <= settings.charsWarnRemaining);
        if (charsRemaining < 0) {
          $taFld.trigger("overCharsMaxLimitEvent", $taFld.attr('id'));
        } else {
          $taFld.trigger("underCharsMaxLimitEvent", $taFld.attr('id'));
        }
      };

    this.on('paste', function (event) {
      setTimeout(function () {
        var charsLength = $taFld.val().length, maxTxt;

        if (settings.blockInputAtMaxLimit && charsLength > settings.charsMaxLimit) {
          maxTxt = $taFld.val();
          maxTxt = maxTxt.substring(0, settings.charsMaxLimit);
          $taFld.val(maxTxt);
          charsLength = $taFld.val().length;
        }

        charsRemainingFn(charsLength);
      }, 100);
    });

    this.keyup(function (event) {
      charsRemainingFn($taFld.val().length);
    });

    this.keydown(function (event) {
      var charsLength = $taFld.val().length;

      if (settings.blockInputAtMaxLimit && charsLength >= settings.charsMaxLimit) {
        // Except backspace
        if (event.keyCode !== 8) {
          event.preventDefault();
        }
      }
    });

    return this;
  };
}(jQuery));

Version data entries

81 entries across 81 versions & 1 rubygems

Version Path
patternfly-sass-3.59.5 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.59.4 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.59.3 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.59.2 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.59.1 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.59.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.58.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.57.2 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.57.1 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.57.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.56.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.55.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.54.8 dist/js/patternfly-functions-count-chars.js
patternfly-sass-0.0.0.pre.semantically.pre.released dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.54.2 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.54.3 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.54.1 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.54.0 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.53.1 dist/js/patternfly-functions-count-chars.js
patternfly-sass-3.53.0 dist/js/patternfly-functions-count-chars.js