Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 3.38 KB | None | 0 0
  1. $(document).ready(function(){
  2.  
  3.     var quantidadeDeAtividades = 0;
  4.     var quantidadeDeAtividadesPendentes = 0;
  5.  
  6.     addAtividadeALista("Estudar para lógica");
  7.     addAtividadeALista("Estudar probabilidade");
  8.     addAtividadeALista("Comprar Joanne on itunes");
  9.    
  10.     $('#addItem').on('click', addItem);
  11.  
  12.     $('#lista_atividades').on('change', '.completeItem', completeItem);
  13.     $('#lista_atividades').on('click', '.deleteItem', deleteItem);
  14.     $('#lista_atividades').on('click', '.textoAtividade', startEditing);
  15.     $('#lista_atividades').on('click', '.saveItem', stopEditing);
  16.  
  17.  
  18.     $('#novaAtividade').on('keypress', function(event) {
  19.         if(event.which === 13) {
  20.             addItem();
  21.             event.preventDefault();
  22.         }
  23.  
  24.     });
  25.  
  26.     function startEditing(event) {
  27.         var taskLi = $(this).parent();
  28.         var currentText = taskLi.find('.textoAtividade').text();
  29.         taskLi.find('.editText').val(currentText);
  30.         taskLi.find('.editText').show();
  31.         taskLi.find('.saveItem').show();
  32.         taskLi.find('.textoAtividade').hide();
  33.     }
  34.  
  35.     function stopEditing(event) {
  36.         $(this).hide();
  37.         var taskLi = $(this).parent();
  38.         var newValue = taskLi.find('.editText').val();
  39.         taskLi.find('.editText').hide();
  40.         taskLi.find('.textoAtividade').text(newValue);
  41.         taskLi.find('.textoAtividade').show();
  42.     }
  43.  
  44.     function addItem(event) {
  45.         var novaAtividade = $('#novaAtividade').val();
  46.         addAtividadeALista(novaAtividade);
  47.         $('#novaAtividade').val("");
  48.  
  49.     }
  50.  
  51.     function deleteItem(event){
  52.         $(this).parent().remove();
  53.         quantidadeDeAtividades--;
  54.  
  55.         qntCheckboxSelecionados = contaCheckboxsSelecionados();
  56.  
  57.         quantidadeDeAtividadesPendentes = quantidadeDeAtividades - qntCheckboxSelecionados;
  58.         atualizarQuantidadeDeAtividades();
  59.        
  60.     }
  61.  
  62.     function completeItem(event){
  63.         $(this).parent().toggleClass('done');
  64.  
  65.         qntCheckboxSelecionados = contaCheckboxsSelecionados();
  66.  
  67.         quantidadeDeAtividadesPendentes = quantidadeDeAtividades - qntCheckboxSelecionados;
  68.         atualizarQuantidadeDeAtividades();
  69.     }
  70.  
  71.     function contaCheckboxsSelecionados(selecionados){
  72.         var inputs, i, selecionados=0;
  73.         inputs = document.getElementsByTagName('input');
  74.  
  75.         for(i = 0; i < inputs.length; i++){
  76.             if(inputs[i].type=='checkbox'){
  77.                 if(inputs[i].checked==true && inputs[i].id == 'check'){
  78.                     selecionados++;
  79.                 }
  80.             }
  81.         }
  82.  
  83.         return selecionados;
  84.     }
  85.  
  86.     function addAtividadeALista(atividade) {
  87.         var checkboxId = quantidadeDeAtividades;
  88.         $('#lista_atividades').append('<li><input class="completeItem" id = "check" type = "checkbox"><span class = "textoAtividade">'
  89.                                         + atividade
  90.                                         + '</span> <input type = "text" class = "editText"><button class = "btn btn-success saveItem">Ok</button><span class ="glyphicon glyphicon-trash deleteItem"></span> </li>');
  91.         quantidadeDeAtividades++;
  92.         quantidadeDeAtividadesPendentes++;
  93.         atualizarQuantidadeDeAtividades();
  94.     }
  95.  
  96.     function atualizarQuantidadeDeAtividades(){
  97.         atualizarQuantidadeAtvCadastradas();
  98.         atualizarQuantidadeAtvPendentes();
  99.     }
  100.  
  101.     function atualizarQuantidadeAtvCadastradas(){
  102.         $('#num_cadastradas').text(quantidadeDeAtividades);
  103.     }
  104.  
  105.     function atualizarQuantidadeAtvPendentes() {
  106.         $('#num_pendentes').text(quantidadeDeAtividadesPendentes);
  107.         var progressBar = $(".progress-bar");
  108.         var percentagem = 100;
  109.         progressBar.width( percentagem - ((quantidadeDeAtividadesPendentes / quantidadeDeAtividades)  * percentagem) + '%');
  110.  
  111.     }
  112. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement