Last active
September 29, 2021 00:36
-
-
Save ErickPetru/2817bb50f52cd293b543a5bc9237a37f to your computer and use it in GitHub Desktop.
Layout do suplemento: 1 caixa de texto, 1 botão "Adicionar" e 1 botão "Resultado". Funcionalidade do suplemento: permitir digitar várias notas, validando se é número toda vez que clicar em "Adicionar" (permitir casas decimais no número). Ao clicar no botão "Resultado", exibir a média aritmética a partir dos números digitados previamente. Atenção…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lista de Exercícios 1 - Item 6 | |
description: >- | |
Layout do suplemento: 1 caixa de texto, 1 botão "Adicionar" e 1 botão | |
"Resultado". Funcionalidade do suplemento: permitir digitar várias notas, | |
validando se é número toda vez que clicar em "Adicionar" (permitir casas | |
decimais no número). Ao clicar no botão "Resultado", exibir a média aritmética | |
a partir dos números digitados previamente. Atenção: todas as mensagens de | |
saída (tanto validações quanto resultados finais) devem ser exibidas no Word. | |
host: WORD | |
api_set: {} | |
script: | |
content: "const field = document.getElementById(\"field\") as HTMLInputElement;\r\nconst buttonAdd = document.getElementById(\"buttonAdd\") as HTMLButtonElement;\r\nconst buttonResult = document.getElementById(\"buttonResult\") as HTMLButtonElement;\r\n\r\nconst grades = [];\r\n\r\nbuttonAdd.addEventListener(\"click\", () => {\r\n Word.run(async (context) => {\r\n const body = context.document.body;\r\n body.clear();\r\n\r\n if (isNaN(field.valueAsNumber)) {\r\n body.insertParagraph(\"Informe uma nota válida!\", \"End\");\r\n return;\r\n }\r\n\r\n grades.push(field.valueAsNumber);\r\n field.value = \"\";\r\n });\r\n});\r\n\r\nbuttonResult.addEventListener(\"click\", () => {\r\n Word.run(async (context) => {\r\n const body = context.document.body;\r\n body.clear();\r\n\r\n if (grades.length == 0) {\r\n body.insertParagraph(\"Nenhuma nota informada!\", \"End\");\r\n return;\r\n }\r\n\r\n let sum = 0;\r\n\r\n for (let grade of grades) {\r\n sum += grade;\r\n }\r\n\r\n const average = sum / grades.length;\r\n body.insertParagraph(`A média é: ${average.toFixed(2)}.`, \"End\");\r\n });\r\n});\r\n" | |
language: typescript | |
template: | |
content: "<input id=\"field\" type=\"number\" placeholder=\"Informe uma nota\">\r\n<button id=\"buttonAdd\">Adicionar</button>\r\n<button id=\"buttonResult\">Resultado</button>" | |
language: html | |
style: | |
content: '' | |
language: css | |
libraries: |- | |
https://appsforoffice.microsoft.com/lib/1/hosted/office.js | |
@types/office-js | |
[email protected]/client/core.min.js | |
@types/core-js |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment