index.js 2.91 KB
Newer Older
1
2
3
4
5
6
7
let inputObj = {
    textChoice: 'manual',
    text: '',
    textLength: '',
    readerLevel: '',
    readerCategory: ''
};
8
9

function handleTextRadioClick() {
10
    let textChoice = document.querySelector('input[name="text-input-option"]:checked').value;
11
    console.log(textChoice);
12
    inputObj.textChoice = textChoice;
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    toggleElement('character-calculation-wrapper');
    toggleElement('manual-character-input');
}

function toggleElement(id) {
    let x = document.getElementById(id);
    if (x.style.display === "none") {
        x.style.display = "block";
    } else {
        x.style.display = "none";
    }
}

function handleTextAreaChange() {
    let value = document.getElementById("manual-text-entry").value;
    value = value.trim();
29
    inputObj.text = value;
30
31
32
33
34
35
36
37
38
39
40
    let characters = value.split(' ').join('').length;
    setCharacterLength(characters);
    document.getElementById("calculatedTextCharacters").setAttribute('value', characters)
}

function handleCharacterInputChange() {
    let value = document.getElementById("inputTextCharacters").value;
    setCharacterLength(value);
}

function setCharacterLength(characters) {
41
42
    inputObj.textLength = characters;
    console.log('Character length: ' + inputObj.textLength);
43
44
45
}

function calculateReadingTime() {
46
47
48
49
    if (isFormValid()) {
        let x = document.getElementById('calculate-time-element');
        x.style.display = "block";
    }
50
51
}

52
function isFormValid() {
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
    let invalidFields = 0;
    if (inputObj.textChoice === 'manual' && inputObj.text === '') {
        invalidFields++;
        document.getElementById('textarea-validation').style.display = 'block';
    } else {
        document.getElementById('textarea-validation').style.display = 'none';
    }

    if (inputObj.textChoice === 'calculated' && (inputObj.textLength === '' || inputObj.textLength === 0)) {
        invalidFields++;
        document.getElementById('textCharacters-validation').style.display = 'block';
    } else {
        document.getElementById('textCharacters-validation').style.display = 'none';
    }

    if (inputObj.readerLevel === '') {
        invalidFields++;
        document.getElementById('readerLevel-validation').style.display = 'block';
    } else {
        document.getElementById('readerLevel-validation').style.display = 'none';
    }

    if (inputObj.readerCategory === '') {
        invalidFields++;
        document.getElementById('readerCategory-validation').style.display = 'block';
    } else {
        document.getElementById('readerCategory-validation').style.display = 'none';
    }
81
82
83

    return invalidFields < 1

84
85
}

86
87
88
89
function showFeedbackForm() {
    let x = document.getElementById('feedback-form');
    x.style.display = "block";
}
90
91
92
93
94
95
96
97
98
99

function readerLevelChangeEvent(event) {
    console.log(event.target.value)
    inputObj.readerLevel = event.target.value;
}

function readerCategoryChangeEvent(event) {
    console.log(event.target.value)
    inputObj.readerCategory = event.target.value;
}