1
0
Fork 0
mirror of synced 2024-07-11 17:35:49 +12:00
appwrite/public/scripts/views/forms/text-count.js

35 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-05-09 18:54:39 +12:00
(function (window) {
"use strict";
2019-05-09 20:01:51 +12:00
window.ls.container.get('view').add(
2019-05-09 18:54:39 +12:00
{
selector: 'data-forms-text-count',
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);