Skip to content

Instantly share code, notes, and snippets.

@guiseek
Last active January 29, 2016 01:55
Show Gist options
  • Save guiseek/d0ccf898f1e2089b6e48 to your computer and use it in GitHub Desktop.
Save guiseek/d0ccf898f1e2089b6e48 to your computer and use it in GitHub Desktop.
Loja de Cerveja Controller com AngularJS
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