Skip to content

Instantly share code, notes, and snippets.

@ErickPetru
Last active September 29, 2021 00:05
Show Gist options
  • Save ErickPetru/144952e4fc31c43e7f4927687f4a3938 to your computer and use it in GitHub Desktop.
Save ErickPetru/144952e4fc31c43e7f4927687f4a3938 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 idades, validando se é número toda vez que clicar em "Adicionar", e se estiver tudo certo, ir armazenando cada idade em um Array. Ao clicar no botão "Resultado", exibir como resultado quantas pessoas seriam mai…
name: Lista de Exercícios 1 - Item 4
description: >-
Layout do suplemento: 1 caixa de texto, 1 botão "Adicionar" e 1 botão
"Resultado". Funcionalidade do suplemento: permitir digitar várias idades,
validando se é número toda vez que clicar em "Adicionar", e se estiver tudo
certo, ir armazenando cada idade em um Array. Ao clicar no botão "Resultado",
exibir como resultado quantas pessoas seriam maior de idade (a partir de 18
anos) e quantas seriam menor de idade. 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 ages = [];\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(\"Apenas números são válidos!\", \"End\");\r\n return;\r\n }\r\n\r\n ages.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 let adultsCount = 0;\r\n let nonAdultsCount = 0;\r\n\r\n // Percorre cada idade cadastrada.\r\n for (let age of ages) {\r\n // Verifica se a idade é acima de 17 anos.\r\n if (age > 17) {\r\n // Neste caso, é adulto, incrementa a variável de adultos.\r\n adultsCount++;\r\n } else {\r\n // Senão, incrementa a variável de não adultos.\r\n nonAdultsCount++;\r\n }\r\n }\r\n\r\n body.insertParagraph(`A quantidade maior de idade é ${adultsCount}.`, \"End\");\r\n body.insertParagraph(`A quantidade menor de idade é ${nonAdultsCount}.`, \"End\");\r\n });\r\n});\r\n"
language: typescript
template:
content: "<input id=\"field\" type=\"number\" placeholder=\"Informe uma idade\">\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