openfoodfoundation/openfoodnetwork

View on GitHub
app/webpacker/controllers/input_char_count_controller.js

Summary

Maintainability
A
0 mins
Test Coverage
import { Controller } from "stimulus";

export default class extends Controller {
  static targets = ["count", "input"];

  connect() {
    this.inputTarget.addEventListener("keyup", this.countCharacters.bind(this));
    this.countCharacters();
  }

  countCharacters() {
    this.displayCount(
      this.inputTarget.value.length,
      this.inputTarget.maxLength
    );
  }

  displayCount(count, max) {
    this.countTarget.textContent = `${count}/${max}`;
  }
}