1
0
Fork 0
mirror of synced 2024-06-28 11:10:46 +12:00
appwrite/public/scripts/views/forms/text-count.js
2020-04-20 22:16:14 +03:00

37 lines
1 KiB
JavaScript

(function(window) {
"use strict";
window.ls.container.get("view").add({
selector: "data-forms-text-count",
controller: function(element) {
var counter = document.createElement("div");
counter.className = "counter";
element.parentNode.insertBefore(counter, element.nextSibling);
var count = function() {
if (0 <= element.maxLength) {
counter.innerText =
(element.maxLength - element.value.length).toString() +
" / " +
element.maxLength;
} else {
var words =
element.value !== "" ? element.value.trim().split(" ").length : 0;
counter.innerText =
words + " words and " + element.value.length.toString() + " chars";
}
};
element.addEventListener("keyup", count);
element.addEventListener("change", count);
element.addEventListener("cut", count);
element.addEventListener("paste", count);
element.addEventListener("drop", count);
count();
}
});
})(window);