File size: 1,694 Bytes
85784d8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
class InterpretadorController {
    cadastrarTexto = () => {
        CadastroDeTextoPage();
    }

    /**
     * 
     * @param {Interpretador} interpretador 
     */
    fazerPergunta = (interpretador) => {
        PerguntaPage(interpretador);
    }

    inserirTexto = () => {
        /**
         * @type {HTMLTextAreaElement}
         */
        const textoElement = document.getElementById("texto");

        const texto = textoElement.value;
        const interpretador = new Interpretador(texto);
        PerguntaPage(interpretador);
    }

    /**
     * 
     * @param {Interpretador} interpretador 
     */
    mostrarQuestoes = (interpretador) => {
        QuestoesPage(interpretador);
    }

    /**
     * 
     * @param {Interpretador} interpretador 
     */
    mostrarTexto = (interpretador) => {
        TextoPage(interpretador);
    }

    /**
     * 
     * @param {Interpretador} interpretador 
     * @returns {Promise<void>}
     */
    responder = async (interpretador) => {
        /**
         * @type {HTMLTextAreaElement}
         */
        const perguntaElement = document.getElementById("pergunta");

        const texto = interpretador.getTexto();
        const pergunta = perguntaElement.value;
        const service = new InterpretadorService();
        await service.responder(texto, pergunta).then((response) => {
            const resposta = response.resposta;
            const questao = new Questao(pergunta, resposta);
            interpretador.adicionarQuestao(questao);
            this.mostrarQuestoes(interpretador);
        }).catch((error) => {
            ErroPage("Não foi possível obter resposta.", interpretador);
        });
        
    }
}