Skip to content

natalia-lavarda/On13-TodasEmTech-ProjetoListToDo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

On13-TodasEmTech-ProjetoListToDo

Esta é a 9ª semana da turma online: Todas em Tech - Front-end, nesta aula do dia 09/10/2021 teremos os seguintes conteúdos:

  • Breve Revisão:
    • DOM;
    • Objetos;
    • Arrays;
    • Eventos;
  • Projeto ToDoList

Apresentação

Quem é a professora Lilit?

selfie de Lilit com cabelos cacheados longos, blusa preta, baton vinho e delineador preto, o fundo está desfocado

Lilit Bandeira, é uma travesti paraibana residente no Recife, Software Engineer na Sanar, desenvolvedora Fullstack, ex-aluna {reprograma} e estudante de Cinema e Audiovisual na UFPE;

Contatos

Quem são as monitoras?

personagem nico robin do anime one piece, ela tem cabelos pretos amarrados para trás com duas mechas soltas na frente, olhos verdes, veste uma jaqueta azul e tem óculos de sol sob os cabelos, seus braços estão cruzados na frente do corpo e possuem cor preta e uma aura azul, ao fundo o universo com pétalas de flores e uma lótus aberta

Quem são as alunas?

5 personagens do anime sailor moon, todas vestem vestidinho curto colegial, cada uma com uma cor, esquerda para direita temos a primeira com cabelos longos loiros com vestido laranja e laço azul escuro, segunda com cabelos pretos longos e vestido vermelho com laço roxo, no meio uma de cabelos loiros longos amarrados em dois coques laterais, vestido azul e laço vermelho, a quarta tem cabelos curtos verdes e vestido e laço azul claro, a quinta tem cabelos castanhos amarrados e usa vestido verde com laço rosa, ao fundo a cidade de toquio a noite e uma lua crescente

Acordos

  • Manter atenção nas explicações e codar nos momentos definidos a cada passo do projeto;
  • Enviar dúvidas no chat para as monitoras ajudarem;
  • Levantar a mão sempre que desejar falar, o que pode ser feito a qualquer momento;
  • Manter microfones desligados sempre que alguém estiver falando;
  • Manter as câmeras ligadas o máximo de tempo possível para cada aluna!

Informações gerais sobre o projeto

  • Criaremos uma To Do List: uma lista para organizar tarefas;
  • Este projeto tem como objetivo exercitar os conceitos aprendidos até aqui: Lógica, HTML, CSS e JavaScript;
  • Não é permitido o uso de nenhuma biblioteca/framework para construção do projeto;
  • Temos um layout que deve ser seguido, mas é permitido incrementar seu projeto para entregar;

Instruções:

1. Entre no repositório da aula e crie um fork; (isso criará uma cópia do repositório original no seu github)
2. Clone o repositório forkado para a sua máquina
git clone <link do repositório forkado>
3. Crie uma branch com o seu nome
git checkout -b "seu-nome"
4. Faça uma cópia da pasta projeto e a altere para o seu nome
  ├── README.md
  ├── projeto
  ├── nome-sobrenome
  |  

5. Mãos na massa! <3

Plano de aula

1. Revisão:

1.1. Objetos

Criando um objeto:

const aluna = new Object()
aluna.nome = "Lilit"
aluna.curso = "frontend"
aluna.cidade = "Recife"

const monitora = {
  nome: "Carol",
  curso: "frontend",
  cidade: "Brasília",
}

Acessando o valor de uma propriedade do objeto:

console.log(aluna.curso)
console.log(monitora.nome)

Desestruturando um objeto:

const { nome, curso, cidade } = aluna

1.2. Arrays

Criando uma array:

const alunas = ["Lilit, Analu, Beatriz, Simara"]
const cidades = new Array('Recife', 'São Paulo', 'Manaus')
const cursos = "frontend backend".slit(' ')
const tecnologias = Array.of('HTML', 'CSS', JS)

Acessando o valor de um elemento da array:

  console.log(alunas[1])

Desestruturando um objeto:

const [ frontend, backend ] = cursos

Interando uma array (Métodos)

arrays para exemplos:

const frutas = ['🍎', '🍇', '🍎', '🍌', '🍎', '🥑']

find:

const encontrarPrimeiro = frutas.find(element => element == 🍇')
console.log(encontrarPrimeiro) // retorno 🍇

filter:

const filtrarPor = frutas.filter(element => element == "🍎")
console.log(filtrarPor) // retorno ['🍎', '🍎', '🍎']

map:

const executarTodos = frutas.map(element => element = "🍇")
console.log(executarTodos) // retorn  ['🍇', '🍇', '🍇', '🍇', '🍇', '🍇']

forEach:

const verTodos = frutas.forEach(element => console.log(element))
console.log(verTodos) // retorno  🍎🍇🍎🍌🍎🥑

1.3. DOM

árvore de estrutura do DOM

> DOM é uma sigla que significa Document Object Model. Quando a página é carregada o browser cria um objeto que representa os elementos da página a partir do HTML. A forma mais fácil de acessar e manipular o DOM é usando JavaScript.

  • Document: representa o documento HTML
  • Element: são todas as tags que estão no arquivo HTML e se transformam em elementos da árvore DOM
  • Text: é o conteúdo de texto que vai entre os elementos (tags).
  • Attribute: são os todos atributos para um nó específico. No caso, o attribute href="http:// instagram .com/lilitbandeira" está associado ao elemento, outros exemplos de atributos são o class, o src, o id, entre outros.

> O DOM é a representação do objeto do documento HTML e atua como uma interface de programação que permite a manipulação de sua estrutura com o JavaScript ou outras linguagens. Podemos manipular o DOM para realizar alterações na estrutura do HTML, alterar estilos, modificar conteúdos e adicionar diversos eventos.

1.4. Eventos

Um eventos é um conjunto de ações que são realizadas em um determinado elemento da página web, seja ele um texto, uma imagem, ou uma div, por exemplo. Grande parte dos eventos nascem na interação da usuária com a aplicação.

Para manipular podemos usar Event listener que adiciona ou remove um evento sobre qualquer elemento. O Event Listener disponibiliza duas funções principais, são elas:

  • addEvent - Adiciona uma função que será disparada quando ocorrer determinado evento no objeto.

  • removeEvent - Remove um listener previamente adicionado em um objeto e retorna true em caso de sucesso.

    elemento.addEventListener('click', function (evento) {
      //ação a ser executada no clique do elemento
      console.log(evento);
    });
    

Usamos o método preventDefault() para cancelar a ação padrão que pertence a um determinado evento.


2. Projeto ToDoList

2.1. Etapas

  • 1. HTML [ ] Criar estrutura da página;

  • 2. CSS [ ] Adicionar estilo;

  • 3. JavaScript [ ] 3.1 Capturar dados de Entrada da usuária; [ ] 3.2 Adicionar itens na lista; [ ] 3.3 Marcar item como realizado; [ ] 3.4 Limpar input após adicionar item; [ ] 3.5 Validar campo de texto para não entrar itens vazios ou somente com espaços; [ ] 3.6 Poder excluir itens da lista individualmente; [ ] 3.7 Marcar/Desmarcar todos os itens como feito; [ ] 3.8 Limpar lista, excluir todos os itens da lista; [ ] 3.9 Ao clicar em marcar todos, mudar texto do botão para desmarcar todos;

    Para usar no projeto: 🔘 🟢 🟣 🗑

2.2. Desafio

  • Criar animação pata quando a usuária tentar criar uma tarefa com uma string vazia ou somente com espaços ao invés de somente um alert;
  • Criar uma função que mude o texto do botão Marcar/Desmarcar todos: Se houver pelo menos uma tarefa desmarcada (Marcar todos) e caso todas sejam desmarcadas manualmente (Desmarcar todos)

Referências

Conteúdo Fonte Link
Font Family Google Fonts https://fonts.google.com/specimen/Poppins?preview.size=33&query=po
Paleta cores flat UI colors https://flatuicolors.com/palette/ca
Objetos MDN https://developer.mozilla.org/pt-BR/docs/Learn/JavaScript/Objects/Basics
Arrays MDN https://developer.mozilla.org/pt-BR/docs/Learn/JavaScript/First_steps/Arrays
DOM MDN https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
Eventos MDN https://developer.mozilla.org/pt-BR/docs/Learn/JavaScript/Building_blocks/Events

Agradecimento:

E todas as minhas professoras e amigas do {reprograma} com quem sempre aprendo ♥️

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published