/
case-converter.js
80 lines (62 loc) · 2.35 KB
/
case-converter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
const textarea = document.getElementById('conversion');
const upperCaseBtn = document.getElementById('upperCaseBtn');
const lowerCaseBtn = document.getElementById('lowerCaseBtn');
const sentenceCaseBtn = document.getElementById('sentenceCaseBtn');
const capitalizedCaseBtn = document.getElementById('capitalizedCaseBtn');
const copyTextBtn = document.getElementById('copyBtn');
const numCharsElem = document.getElementById('numChars');
const numWordsElem = document.getElementById('numWords');
const numSentencesElem = document.getElementById('numSentences');
const toUpperCase = () => {
textarea.value = textarea.value.toUpperCase();
};
const toLowerCase = () => {
textarea.value = textarea.value.toLowerCase();
};
const capitalizeChars = splitter => {
const initialText = textarea.value.split(splitter);
let capitalizedText = [];
for(let i = 0; i < initialText.length; i++){
capitalizedText.push(initialText[i].charAt(0).toUpperCase()+initialText[i].slice(1));
}
return capitalizedText.join(splitter);
};
const toSentenceCase = () => {
toLowerCase();
textarea.value = capitalizeChars('. ');
textarea.value = capitalizeChars('.');
};
const toCapitalizedCase = () => {
toLowerCase();
textarea.value = capitalizeChars(' ');
};
const countChars = () => {
numCharsElem.innerText = textarea.value.length.toString();
};
const countWords = () => {
const textContent = textarea.value.split(" ");
numWordsElem.innerText = textarea.value === "" ? "0" : textContent.length.toString();
};
const countSentences = () => {
const textContent = textarea.value.split(". ");
numSentencesElem.innerText = textarea.value === "" ? "0" : textContent.length.toString();
};
const copyToClipboard = () => {
if (textarea.value !== "") {
textarea.select();
document.execCommand("copy");
}
};
const init = () => {
upperCaseBtn.addEventListener('click', toUpperCase);
lowerCaseBtn.addEventListener('click', toLowerCase);
sentenceCaseBtn.addEventListener('click', toSentenceCase);
capitalizedCaseBtn.addEventListener('click', toCapitalizedCase);
copyTextBtn.addEventListener('click', copyToClipboard);
textarea.addEventListener('input', countChars);
textarea.addEventListener('input', countWords);
textarea.addEventListener('input', countSentences);
};
(function () {
init();
}());