Last active
January 29, 2016 01:55
-
-
Save guiseek/d0ccf898f1e2089b6e48 to your computer and use it in GitHub Desktop.
Loja de Cerveja Controller com AngularJS
This file contains 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
var app = angular.module('lojaDeCerveja', []); | |
app.controller('LojaDeCervejaController', function($scope) { | |
// Definindo a lista de cervejarias default | |
$scope.cervejarias = [ | |
{ | |
id: 1, | |
nome: 'Araucária' | |
}, | |
{ | |
id: 2, | |
nome: 'Gebenha' | |
}, | |
{ | |
id: 3, | |
nome: 'Catedral' | |
} | |
]; | |
// Define função para adicionar cervejaria | |
$scope.adicionaCervejaria = function(cervejaria) { | |
// Se a cervejaria não possuir id | |
if (!cervejaria.hasOwnProperty('id')) { | |
// Verifica a quantidade e incrementa para o próximo id | |
cervejaria.id = $scope.cervejarias.length + 1; | |
// Adiciona cervejaria na lista | |
$scope.cervejarias.push(cervejaria); | |
} | |
// Limpa o objeto cervejaria | |
$scope.cervejaria = {}; | |
} | |
// Define função para remover cervejarias | |
$scope.removeCervejaria = function(cervejaria) { | |
// Procura cervejaria na lista | |
var index = $scope.cervejarias.indexOf(cervejaria); | |
// Se o index for maior que -1, a cervejaria existe na lista | |
if (index > -1) { | |
// Remove uma linha da lista, a partir do index | |
$scope.cervejarias.splice(index,1); | |
} | |
} | |
// Definindo a lista de cervejas default | |
$scope.cervejas = [ | |
{ | |
id: 1, | |
nome: 'Gralha azul', | |
categoria: 'Stout', | |
cervejaria: { | |
id: 1, | |
nome: 'Araucária' | |
} | |
}, | |
{ | |
id: 2, | |
nome: 'Gebumga', | |
categoria: 'Pale Ale', | |
cervejaria: { | |
id: 2, | |
nome: 'Gebenha' | |
} | |
}, | |
{ | |
id: 3, | |
nome: 'Catedral', | |
categoria: 'Indian Pale Ale', | |
cervejaria: { | |
id: 3, | |
nome: 'Catedral' | |
} | |
} | |
]; | |
// Define função para adicionar cerveja | |
$scope.adicionaCerveja = function(cerveja) { | |
// Se a cerveja não possuir id | |
if (!cerveja.hasOwnProperty('id')) { | |
// Verifica a quantidade e incrementa para o próximo id | |
cerveja.id = $scope.cervejas.length + 1; | |
// Adiciona cerveja na lista | |
$scope.cervejas.push(cerveja); | |
} | |
// Limpa o objeto cerveja | |
$scope.cerveja = {}; | |
} | |
// Define função para remover cerveja | |
$scope.removeCerveja = function(cerveja) { | |
// Procura cerveja na lista | |
var index = $scope.cervejas.indexOf(cerveja); | |
// Se o index for maior que -1, a cerveja existe na lista | |
if (index > -1) { | |
// Remove uma linha da lista, a partir do index | |
$scope.cervejas.splice(index,1); | |
} | |
} | |
// Carrinho de compras | |
$scope.carrinho = []; | |
// Define função para adicionar cerveja ao carrinho | |
$scope.adicionaCarrinho = function(cerveja) { | |
// Adiciona cerveja ao carrinho | |
$scope.carrinho.push(angular.copy(cerveja)); | |
// Se a cerveja já possui quantidade no carrinho ok, se no coloca como 0 | |
cerveja.carrinho = cerveja.carrinho || 0 | |
// Incrementa o carrinho para cada cerveja adicionada | |
cerveja.carrinho++; | |
} | |
// Função que limpa o carrinho | |
$scope.limpaCarrinho = function() { | |
$scope.carrinho = []; | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment