1
0
Fork 0
mirror of synced 2024-07-06 23:21:05 +12:00
appwrite/public/scripts/views/forms/text-count.js

37 lines
1 KiB
JavaScript
Raw Normal View History

(function(window) {
"use strict";
2019-05-09 18:54:39 +12:00
window.ls.container.get("view").add({
selector: "data-forms-text-count",
controller: function(element) {
2020-04-21 07:16:14 +12:00
var counter = document.createElement("div");
2019-05-09 18:54:39 +12:00
counter.className = "counter";
2019-05-09 18:54:39 +12:00
element.parentNode.insertBefore(counter, element.nextSibling);
2019-05-09 18:54:39 +12:00
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";
2019-05-09 18:54:39 +12:00
}
};
element.addEventListener("keyup", count);
element.addEventListener("change", count);
element.addEventListener("cut", count);
element.addEventListener("paste", count);
element.addEventListener("drop", count);
2019-05-09 18:54:39 +12:00
count();
}
});
})(window);