1
0
Fork 0
mirror of synced 2024-07-04 06:00:53 +12:00
appwrite/public/scripts/views/forms/text-count.js
2019-05-09 11:01:51 +03:00

36 lines
1.3 KiB
JavaScript

(function (window) {
"use strict";
window.ls.container.get('view').add(
{
selector: 'data-forms-text-count',
repeat: false,
controller: function(element) {
var counter = document.createElement('span');
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);