Giter VIP home page Giter VIP logo

on17-todasemtech-listtodo's Introduction

On17-TodasEmTech-ProjetoListToDo

Na nossa Aula!

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

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 = "Raissa"
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 = ["Raissa, Analu, Beatriz, Simara"]
const cidades = new Array('Recife', 'São Paulo', 'Manaus')
const cursos = "frontend backend".split(' ')
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) // retorno  ['🍇', '🍇', '🍇', '🍇', '🍇', '🍇']

forEach:

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

1.3. 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. 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
    • Já vai prontinho pra vcs se preocuparem apenas com a lógica;
  • 2. CSS
    • Já vai prontinho pra vcs se preocuparem apenas com a lógica;

    • 3. JavaScript

    • 3.1 Capturar dados de Entrada da usuária;

    • 3.2 Adicionar itens na lista;

    • 3.3 Validar campo de texto para não entrar itens vazios ou somente com espaços;

    • 3.4 Limpar input após adicionar item;

    • 3.5 Marcar item como realizado;

    • 3.6 Poder excluir itens da lista individualmente;

    • 3.7 Limpar lista, excluir todos os itens da lista;

      Para usar no projeto: 🔘 🟢 🟣 🗑

2.2. Desafio

  • Quando a usuária tentar criar uma tarefa com uma string vazia ou somente com espaços, criar uma mudança visual em vermelho no input e informar o erro no placehoder;
  • Marcar e desmarcar todos os itens como feito trocando o nome do botão '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:

  • [Professora Liliti]de quem usei o repositório do projeto da turma 10 como referência;

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

on17-todasemtech-listtodo's People

Contributors

raissamariab avatar elliekonuma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.