/**
* @ngdoc controllers
* @name Camadas
* @module s4c.components.admin.controllers.Camadas
*
* @description
* `AdminCamadasCtrl` Controller da tela de Camadas do módulo de administração
*
*
*/
(function () {
'use strict';
function AdminCamadasCtrl($scope, $state, Acervo, Grupo, Categoria, $mdDialog, CSS_SLIDER, AcervoTipo, $rootScope, Base) {
$scope.res = $rootScope.res;
Base.obter('representacoes').then(function (reps) {
$scope.representacoes = reps;
});
Base.obter('categoriaCluster').then(function (result) {
$scope.clusters = result;
});
$scope.representacaoSelecionada;
/**
* @method selecionarRepresentacao
* @param {*} representacaoSelecionada
*/
function selecionarRepresentacao(representacaoSelecionada) {
$scope.editandoCategoria.representacaoId = representacaoSelecionada;
$scope.representacaoSelecionada = representacaoSelecionada;
}
/**
* @method salvarAcervo
* @param {*} form
*/
function salvarAcervo(form) {
if (form.$valid) {
Acervo.save($scope.editandoAcervo)
.$promise.then(function () {
$scope.grupos = Grupo.query();
$state.go('admin.camadas');
});
}
}
/**
* @method salvarCategoria
* @param {*} form
*/
function salvarCategoria(form) {
if (form.$valid) {
if ($scope.editandoCategoria.monitorar == null) {
$scope.editandoCategoria.monitorar = false;
}
Categoria.save($scope.editandoCategoria)
.$promise.then(function () {
$scope.grupos = Grupo.query();
$state.go('admin.camadas');
});
}
}
/**
* @method salvarGrupo
* @param {*} form
*/
function salvarGrupo(form) {
if (form.$valid) {
Grupo.save($scope.editandoGrupo)
.$promise.then(function () {
$scope.grupos = Grupo.query();
$state.go('admin.camadas');
});
}
}
/**
* @method ativarGrupo
* @param {*} grupo
*/
function ativarGrupo(grupo) {
if (grupo.ativo) {
return;
}
$scope.grupos = _.map($scope.grupos, function (grupo) {
grupo.ativo = false;
return grupo;
});
$scope.acervos = _.map(grupo.Acervos, function (acervo) {
acervo.ativo = false;
return acervo;
});
grupo.ativo = true;
$scope.categorias = [];
}
/**
* @method ativarAcervo
* @param {*} acervo
*/
function ativarAcervo(acervo) {
$scope.acervos = _.map($scope.acervos, function (acervo) {
acervo.ativo = false;
return acervo;
});
acervo.ativo = true;
$scope.categorias = acervo.Categoria;
}
AcervoTipo.obter().then(function (acervoTipos) {
$scope.acervoTipos = acervoTipos;
});
angular.extend($scope, {
listaAcervos: Acervo.query(),
grupos: Grupo.query(),
acervoTipos: [],
representacoes: $scope.representacoes,
representacaoSelecionada: $scope.representacaoSelecionada,
editandoAcervo: {
'manutencao': false,
'distancia_max': 0,
'atualiza_kml': 0,
'tam_icone': 24,
'tam_label': 16
},
editandoGrupo: {},
editandoCategoria: {},
// Funções:
salvarAcervo: salvarAcervo,
salvarCategoria: salvarCategoria,
salvarGrupo: salvarGrupo,
ativarAcervo: ativarAcervo,
ativarGrupo: ativarGrupo,
selecionarRepresentacao: selecionarRepresentacao
});
}
angular.module('s4c.controllers.AdminCamadasCtrl', [
's4c.services.Acervo',
's4c.services.Grupo',
's4c.services.Categoria'
])
.controller('AdminCamadasCtrl', AdminCamadasCtrl);
AdminCamadasCtrl.$inject = ['$scope', '$state', 'Acervo', 'Grupo', 'Categoria',
'$mdDialog', 'CSS_SLIDER', 'AcervoTipo', '$rootScope', 'Base'];
}());