diff --git a/README.md b/README.md
index f02d391..e2af10d 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,18 @@
# Dialoga App
-Start development:
+Convenções:
+
+- Os *programas* são **topics**;
+- Os *temas* são **categories**;
+- Um *grupo de programas* é um **discussion** (um grupo de topics);
+- As *propostas* são **proposals**;
+
+
+Para iniciar o desenvolvimento:
```bash
# dev with no proxy (local data)
-gulp serve
-json-server data.js -p 9000 -w data.js
+gulp serve && json-server data.js -p 9000 -w data.js
# dev with proxy to hom server
gulp serve --target="http://hom.login.dialoga.gov.br"
@@ -14,7 +21,7 @@ gulp serve --target="http://hom.login.dialoga.gov.br"
gulp serve --target="http://login.dialoga.gov.br"
```
-# Project Decisions
+##### Referências
- [generator-gulp-angular](https://github.com/Swiip/generator-gulp-angular)
- Angular
diff --git a/data.js b/data.js
index 989c4ee..89d3c9f 100644
--- a/data.js
+++ b/data.js
@@ -29,26 +29,22 @@ module.exports = function () {
"id": 180,
"slug": "saude",
"image": null
- },
- {
+ }, {
"name": "Segurança Pública",
"id": 182,
"slug": "seguranca-publica",
"image": null
- },
- {
+ }, {
"name": "Educação",
"id": 181,
"slug": "educacao",
"image": null
- },
- {
+ }, {
"name": "Redução da Pobreza",
"id": 183,
"slug": "reducao-da-pobreza",
"image": null
- },
- {
+ }, {
"name": "Cultura",
"id": 194,
"slug": "cultura",
@@ -91,8 +87,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 14
- },
- {
+ }, {
"id": 103521,
"abstract": "
Mais atendimento nos municípios, mais saúde para quem mais precisa.
",
"title": "Mais Médicos",
@@ -115,8 +110,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 1
- },
- {
+ }, {
"id": 103457,
"abstract": "Ação conjunta e cooperação transfronteiriça.
",
"title": "Proteção das Fronteiras",
@@ -139,8 +133,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 15
- },
- {
+ }, {
"id": 103612,
"abstract": "Garantir água para beber e produzir.
",
"title": "Cisternas",
@@ -163,8 +156,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 20
- },
- {
+ }, {
"id": 103442,
"abstract": "Complemento à renda e acompanhamento em educação e saúde.
",
"title": "Bolsa Família",
@@ -187,8 +179,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 17
- },
- {
+ }, {
"id": 103673,
"abstract": "A melhor escolha é se informar.
",
"title": "Incentivo ao Parto Normal",
@@ -211,8 +202,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 6
- },
- {
+ }, {
"id": 103397,
"abstract": "Renda, inclusão produtiva e acesso a serviços.
",
"title": "Brasil Sem Miséria",
@@ -235,8 +225,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 18
- },
- {
+ }, {
"id": 121505,
"abstract": "Caminho para uma educação de qualidade.
",
"title": "Valorização dos Professores",
@@ -307,8 +294,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 11
- },
- {
+ }, {
"id": 103663,
"abstract": "Reconhecimento, fortalecimento e mobilização das comunidades que fazem cultura no Brasil
",
"title": "Cultura Viva",
@@ -355,8 +340,7 @@ module.exports = function () {
"author_name": "leonardo.merlin"
},
"position": null
- },
- {
+ }, {
"id": 103592,
"abstract": "Garantir acesso à proteção social.
",
"title": "Assistência Social",
@@ -379,8 +363,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 19
- },
- {
+ }, {
"id": 103426,
"abstract": "Da saúde se cuida todos os dias.
",
"title": "Vida saudável",
@@ -403,8 +386,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 7
- },
- {
+ }, {
"id": 103507,
"abstract": "Tecnologia a serviço da segurança do cidadão.
",
"title": "Sinesp",
@@ -427,8 +409,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 12
- },
- {
+ }, {
"id": 103359,
"abstract": "Acesso a exames e consultas com especialistas.
",
"title": "Mais Especialidades",
@@ -451,8 +432,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 2
- },
- {
+ }, {
"id": 103683,
"abstract": "Saúde não tem preço.
",
"title": "Aqui tem Farmácia Popular",
@@ -475,8 +455,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 5
- },
- {
+ }, {
"id": 103695,
"abstract": "Novo modelo de atuação em Segurança Pública.
",
"title": "Segurança Pública Integrada",
@@ -499,8 +478,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 13
- },
- {
+ }, {
"id": 103379,
"abstract": "Resgate e atendimento 24 horas, sete dias da semana.
",
"title": "SAMU 192 e UPAs",
@@ -523,8 +501,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 4
- },
- {
+ }, {
"id": 103494,
"abstract": "Da Educação Infantil ao Ensino Médio.
",
"title": "Educação Básica",
@@ -547,8 +524,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 8
- },
- {
+ }, {
"id": 103644,
"abstract": "Um caminho de oportunidades com o Enem: Sisu, Prouni, Fies, Ciência sem Fronteiras
",
"title": "Ensino Superior",
@@ -571,8 +547,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 9
- },
- {
+ }, {
"id": 121499,
"abstract": "Polícia Federal, Polícia Rodoviária Federal e Força Nacional de Segurança Pública.
",
"title": "Forças Federais de Segurança",
@@ -619,8 +593,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 16
- },
- {
+ }, {
"id": 121492,
"abstract": "Estrutura adequada para atender melhor a população na atenção básica.
",
"title": "Melhorar os Postos de Saúde",
@@ -691,8 +662,7 @@ module.exports = function () {
"allow_members_to_edit": false
},
"position": 3
- },
- {
+ }, {
"id": 121501,
"abstract": "Um caminho de oportunidades com o Enem: Sisu, Prouni, Fies, Ciência sem Fronteiras
",
+ "title": "Ensino Superior",
+ "categories": [
+ {
+ "name": "Educação",
+ "id": 181,
+ "slug": "educacao"
+ }
+ ],
+ "votes_for": 0,
+ "votes_against": 0,
+ "setting": {
+ "color": "#cfe2f3",
+ "moderate_comments": false,
+ "comment_paragraph_plugin_activate": false,
+ "author_name": "Ronald Emerson Scherolt da Costa",
+ "allow_members_to_edit": false
+ },
+ "position": 9,
+ "hits": 54,
+ "tag_list": [],
+ "children_count": 7,
+ "slug": "ensino-superior"
+ }, {
+ "ranking_position": null,
+ "id": 103442,
+ "body": "Complemento à renda e acompanhamento em educação e saúde.
",
+ "title": "Bolsa Família",
+ "categories": [
+ {
+ "name": "Redução da Pobreza",
+ "id": 183,
+ "slug": "reducao-da-pobreza"
+ }
+ ],
+ "votes_for": 0,
+ "votes_against": 0,
+ "setting": {
+ "color": "#ff9900",
+ "moderate_comments": false,
+ "comment_paragraph_plugin_activate": false,
+ "author_name": "Ronald Emerson Scherolt da Costa",
+ "allow_members_to_edit": false
+ },
+ "position": 17,
+ "hits": 68,
+ "tag_list": [],
+ "children_count": 9,
+ "slug": "bolsa-familia"
+ }, {
+ "ranking_position": null,
+ "id": 103379,
+ "body": "Resgate e atendimento 24 horas, sete dias da semana.
",
+ "title": "SAMU 192 e UPAs",
+ "categories": [
+ {
+ "name": "Saúde",
+ "id": 180,
+ "slug": "saude"
+ }
+ ],
+ "votes_for": 0,
+ "votes_against": 0,
+ "setting": {
+ "color": "#45818e",
+ "moderate_comments": false,
+ "comment_paragraph_plugin_activate": false,
+ "author_name": "Ronald Emerson Scherolt da Costa",
+ "allow_members_to_edit": false
+ },
+ "position": 4,
+ "hits": 72,
+ "tag_list": [],
+ "children_count": 13,
+ "slug": "samu-192-e-upas"
+ }, {
+ "ranking_position": null,
+ "id": 103390,
+ "body": "Prevenção, tratamento e enfrentamento ao tráfico.
",
+ "title": "Crack, é possível vencer!",
+ "categories": [
+ {
+ "name": "Segurança Pública",
+ "id": 182,
+ "slug": "seguranca-publica"
+ }
+ ],
+ "votes_for": 0,
+ "votes_against": 0,
+ "setting": {
+ "color": "#00ff00",
+ "moderate_comments": false,
+ "comment_paragraph_plugin_activate": false,
+ "author_name": "Ronald Emerson Scherolt da Costa",
+ "allow_members_to_edit": false
+ },
+ "position": 14,
+ "hits": 44,
+ "tag_list": [],
+ "children_count": 7,
+ "slug": "crack-e-possivel-vencer"
+ }
+ ]};
return data;
};
diff --git a/src/app/components/article-box/article-box.directive.js b/src/app/components/article-box/article-box.directive.js
index 9ff8238..d4c6d94 100644
--- a/src/app/components/article-box/article-box.directive.js
+++ b/src/app/components/article-box/article-box.directive.js
@@ -9,14 +9,11 @@
function articleBox($rootScope) {
/** @ngInject */
- function ArticleBoxController(ArticleService, $scope, $state, Slug, $log) {
+ function ArticleBoxController($state, $log) {
$log.debug('ArticleBoxController');
var vm = this;
- vm.ArticleService = ArticleService;
- vm.$scope = $scope;
vm.$state = $state;
- vm.Slug = Slug;
vm.$log = $log;
vm.init();
@@ -26,7 +23,7 @@
var vm = this;
if(!vm.article.slug){
- vm.article.slug = vm.Slug.slugify(vm.article.title);
+ throw { name: 'NotDefined', message: 'The attribute "slug" is undefined.'};
}
if(!vm.category){
diff --git a/src/app/components/article-grid/article-grid.html b/src/app/components/article-grid/article-grid.html
index 7399ae1..41c6c26 100644
--- a/src/app/components/article-grid/article-grid.html
+++ b/src/app/components/article-grid/article-grid.html
@@ -1,8 +1,8 @@
diff --git a/src/app/components/article-preview/article-preview.directive.js b/src/app/components/article-preview/article-preview.directive.js
index 9b19adf..2f54b23 100644
--- a/src/app/components/article-preview/article-preview.directive.js
+++ b/src/app/components/article-preview/article-preview.directive.js
@@ -9,14 +9,11 @@
function articlePreview($rootScope) {
/** @ngInject */
- function ArticlePreviewController(ArticleService, $scope, $state, Slug, $log) {
+ function ArticlePreviewController($state, $log) {
$log.debug('ArticlePreviewController');
var vm = this;
- vm.ArticleService = ArticleService;
- vm.$scope = $scope;
vm.$state = $state;
- vm.Slug = Slug;
vm.$log = $log;
vm.init();
@@ -26,7 +23,7 @@
var vm = this;
if(!vm.article.slug){
- vm.article.slug = vm.Slug.slugify(vm.article.title);
+ throw { name: 'NotDefined', message: 'The attribute "slug" is undefined.'};
}
if(!vm.category){
diff --git a/src/app/components/article-service/article.service.js b/src/app/components/article-service/article.service.js
new file mode 100644
index 0000000..41513b8
--- /dev/null
+++ b/src/app/components/article-service/article.service.js
@@ -0,0 +1,123 @@
+(function() {
+ 'use strict';
+
+ angular
+ .module('dialoga')
+ .factory('ArticleService', ArticleService);
+
+ /** @ngInject */
+ function ArticleService($http, $q, $rootScope, API, UtilService, Slug, $log) {
+ $log.debug('ArticleService');
+
+ var service = {
+ apiArticles: $rootScope.basePath + '/api/v1/articles/',
+ getArticleById: getArticleById,
+ getArticleBySlug: getArticleBySlug,
+ getCategories: getCategories,
+ getCategoryBySlug: getCategoryBySlug,
+ getTopics: getTopics,
+ getTopicById: getTopicById,
+ searchTopics: searchTopics,
+ searchProposals: searchProposals
+ };
+
+ return service;
+
+ function _getArticleById (articleId, params, cbSuccess, cbError) {
+
+ var url = service.apiArticles + articleId;
+ var paramsExtended = angular.extend({}, params);
+
+ UtilService.get(url, {params: paramsExtended}).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function getArticleById (articleId, params, cbSuccess, cbError) {
+ _getArticleById(articleId, params, cbSuccess, cbError);
+ }
+
+ function getArticleBySlug (/*slug, params, cbSuccess, cbError*/) {
+ throw { name: 'NotImplementedYet', message: 'The service "getArticleBySlug" is not implemented yet.'};
+ }
+
+ function getCategories (articleId, cbSuccess, cbError) {
+ // Ex.: /api/v1/articles/103358?fields=
+
+ var url = service.apiArticles + articleId;
+
+ UtilService.get(url, {params: {
+ 'fields[]': ['id', 'categories']
+ }}).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function getCategoryBySlug () {
+ throw { name: 'NotImplementedYet', message: 'The service "getArticleBySlug" is not implemented yet.'};
+ }
+
+ function getTopics (cbSuccess, cbError) {
+ // Ex.: /api/v1/articles/103358/children?fields=
+
+ var url = service.apiArticles + API.articleId.home + '/children';
+
+ UtilService.get(url, {params: {
+ 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits']
+ }}).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function getTopicById (topicId, cbSuccess, cbError) {
+ // Ex.: /api/v1/articles/103358/children/121521?fields=
+
+ // var url = service.apiArticles + API.articleId.home + '/children/' + topicId; // dont need to chain
+ var url = service.apiArticles + topicId;
+
+ UtilService.get(url, {params: {
+ 'fields[]': ['id', 'title', 'body', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits']
+ }}).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function searchTopics (param, cbSuccess, cbError) {
+ // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Topic&query=cisternas
+ var url = '/api/v1/search/article';
+ var paramsExtended = angular.extend({
+ 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits'],
+ 'type': 'ProposalsDiscussionPlugin::Topic'
+ }, params);
+
+ UtilService.get(url, {params: paramsExtended).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function searchProposals (param, cbSuccess, cbError) {
+ // Ex.: /api/v1/search/article?type=ProposalsDiscussionPlugin::Proposal&query=cisternas
+ var url = '/api/v1/search/article';
+ var paramsExtended = angular.extend({
+ 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits'],
+ 'type': 'ProposalsDiscussionPlugin::Proposal'
+ }, params);
+
+ UtilService.get(url, {params: paramsExtended).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+ }
+})();
diff --git a/src/app/components/article-service/article.service.spec.js b/src/app/components/article-service/article.service.spec.js
new file mode 100644
index 0000000..8599f58
--- /dev/null
+++ b/src/app/components/article-service/article.service.spec.js
@@ -0,0 +1,67 @@
+(function() {
+ 'use strict';
+
+ describe('article services', function() {
+ var ArticleService, httpBackend;
+
+ beforeEach(module('dialoga'));
+
+ beforeEach(inject(function(_ArticleService_, $httpBackend) {
+ ArticleService = _ArticleService_;
+ httpBackend = $httpBackend;
+ }));
+
+ it('should return the main article', function() {
+ var url = 'http://login.dialoga.gov.br/api/v1/articles/103358?fields=id,children,categories,abstract,title,image,url,setting,position&private_token=null';
+ httpBackend.whenGET(url).respond({
+ 'article':{'id':103358,'abstract':'\u003Cp style=\"text-align: center;\"\u003E\u003Ciframe src=\"https://www.youtube.com/embed/kpAdrO-emV0?rel=0\u0026amp;showinfo=0\u0026amp;iv_load_policy=3\u0026amp;controls=1\" style=\"max-width: 1000px; left: 5%;\" width=\"275\" height=\"200\"\u003E\u003C/iframe\u003E\u003C/p\u003E','title':'Dialoga Brasil','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null},{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null},{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null},{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':null,'setting':{'custom_body_label':'Corpo','phase':'proposals','allow_topics':true,'moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Leandro Nunes dos Santos','moderate_proposals':true,'allow_members_to_edit':false},'position':null,'children':[{'id':103644,'abstract':'\u003Cp\u003EUm caminho de oportunidades com o Enem: Sisu, Prouni, Fies, Ci\u00eancia sem Fronteiras\u003C/p\u003E','title':'Ensino Superior','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0128/enem.jpg'},'setting':{'color':'#cfe2f3','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':9},{'id':103673,'abstract':'\u003Cp\u003EA melhor escolha \u00e9 se informar.\u003C/p\u003E','title':'Incentivo ao Parto Normal','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0092/parto-normal.jpg'},'setting':{'color':'#ff0000','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':6},{'id':103397,'abstract':'\u003Cp\u003ERenda, inclus\u00e3o produtiva e acesso a servi\u00e7os.\u003C/p\u003E','title':'Brasil Sem Mis\u00e9ria','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0116/bsm_redim.jpg'},'setting':{'color':'','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':18},{'id':103379,'abstract':'\u003Cp\u003EResgate e atendimento 24 horas, sete dias da semana.\u003C/p\u003E','title':'SAMU 192 e UPAs','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0060/SAMU.jpg'},'setting':{'color':'#45818e','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':4},{'id':103521,'abstract':'\u003Cp\u003EMais atendimento nos munic\u00edpios, mais sa\u00fade para quem mais precisa.\u003C/p\u003E','title':'Mais M\u00e9dicos','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0025/Mais_M_dicos.jpg'},'setting':{'color':'#ffe599','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':1},{'id':103390,'abstract':'\u003Cp\u003EPreven\u00e7\u00e3o, tratamento e enfrentamento ao tr\u00e1fico.\u003C/p\u003E','title':'Crack, \u00e9 poss\u00edvel vencer!','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0104/crack.jpg'},'setting':{'color':'#00ff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':14},{'id':103592,'abstract':'\u003Cp\u003EGarantir acesso \u00e0 prote\u00e7\u00e3o social.\u003C/p\u003E','title':'Assist\u00eancia Social','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0122/assistencia_social.jpg'},'setting':{'color':'#a61c00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':19},{'id':103426,'abstract':'\u003Cp\u003EDa sa\u00fade se cuida todos os dias.\u003C/p\u003E','title':'Vida saud\u00e1vel','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0046/vida_saudavel.jpg'},'setting':{'color':'#d9d2e9','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':7},{'id':103695,'abstract':'\u003Cp\u003ENovo modelo de atua\u00e7\u00e3o em Seguran\u00e7a P\u00fablica.\u003C/p\u003E','title':'Seguran\u00e7a P\u00fablica Integrada','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0152/policiaintegrada.jpg'},'setting':{'color':'#ff00ff','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':13},{'id':103663,'abstract':'\u003Cp\u003EMais educa\u00e7\u00e3o profissional e tecnol\u00f3gica, mais desenvolvimento\u003C/p\u003E','title':'Ensino T\u00e9cnico','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0134/Ensino_tecnico.jpg'},'setting':{'color':'#d0e0e3','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':10},{'id':103472,'abstract':'\u003Cp\u003EPol\u00edcia Federal, Pol\u00edcia Rodovi\u00e1ria Federal e For\u00e7a Nacional de Seguran\u00e7a P\u00fablica.\u003C/p\u003E','title':'For\u00e7as Federais de Seguran\u00e7a','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0031/federais2.png'},'setting':{'color':'','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':16},{'id':103612,'abstract':'\u003Cp\u003EGarantir \u00e1gua para beber e produzir.\u003C/p\u003E','title':'Cisternas','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0039/cisterna_redim.jpg'},'setting':{'color':'#0000ff','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':20},{'id':103442,'abstract':'\u003Cp\u003EComplemento \u00e0 renda e acompanhamento em educa\u00e7\u00e3o e sa\u00fade.\u003C/p\u003E','title':'Bolsa Fam\u00edlia','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0013/bolsa_familia_redim.jpg'},'setting':{'color':'#ff9900','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':17},{'id':103507,'abstract':'\u003Cp\u003ETecnologia a servi\u00e7o da seguran\u00e7a do cidad\u00e3o.\u003C/p\u003E','title':'Sinesp','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0098/sinesp.png'},'setting':{'color':'#00ff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':12},{'id':103683,'abstract':'\u003Cp\u003ESa\u00fade n\u00e3o tem pre\u00e7o.\u003C/p\u003E','title':'Aqui tem Farm\u00e1cia Popular','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0019/saude_nao_tem_preco.jpg'},'setting':{'color':'#e69138','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':5},{'id':103457,'abstract':'\u003Cp\u003EA\u00e7\u00e3o conjunta e coopera\u00e7\u00e3o transfronteiri\u00e7a.\u003C/p\u003E','title':'Prote\u00e7\u00e3o das Fronteiras','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0110/fronteira_redim.jpg'},'setting':{'color':'#a64d79','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':15},{'id':103494,'abstract':'\u003Cp\u003EDa Educa\u00e7\u00e3o Infantil ao Ensino M\u00e9dio.\u003C/p\u003E','title':'Educa\u00e7\u00e3o B\u00e1sica','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0076/Educa__o_B_sica.jpg'},'setting':{'color':'#fce5cd','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':8},{'id':103359,'abstract':'\u003Cp\u003EAcesso a exames e consultas com especialistas.\u003C/p\u003E','title':'Mais Especialidades','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0083/mais_especialidades1.png'},'setting':{'color':'#ea9999','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':2},{'id':103485,'abstract':'\u003Cp\u003ECaminho para uma educa\u00e7\u00e3o de qualidade.\u003C/p\u003E','title':'Valoriza\u00e7\u00e3o dos Professores','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0140/valorizacao_professor.jpg'},'setting':{'color':'#ffff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':11},{'id':103416,'abstract':'\u003Cp\u003EEstrutura adequada para atender melhor a popula\u00e7\u00e3o na aten\u00e7\u00e3o b\u00e1sica.\u003C/p\u003E','title':'Melhorar os Postos de Sa\u00fade','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0053/requalif_redim.jpg'},'setting':{'color':'#cc4125','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':3}]}});
+
+ ArticleService.getHome(function(result){
+ expect(result.article).toBeDefined();
+ expect(result.article.title).toEqual('Dialoga Brasil');
+ expect(result.article.categories).toBeDefined();
+ });
+
+ httpBackend.flush();
+ });
+
+ // it('should return a list of articles', function() {
+
+ // httpBackend.whenGET('http://login.dialoga.gov.br/api/v1/articles').respond({
+ // "articles": [
+ // {
+ // abstract: "Que exista educação continuada permanente dos profissionais!!",
+ // author: null,
+ // body: "",
+ // categories: [],
+ // children: [],
+ // created_at: "2015/08/04 16:36:13",
+ // end_date: null,
+ // hits: 0,
+ // id: 120568,
+ // image: null,
+ // parent: {id: 103379,…},
+ // position: null,
+ // profile: {identifier: "dialoga", name: "dialoga", id: 19195, created_at: "2015/04/15 09:38:36", image: null},
+ // setting: {comment_paragraph_plugin_activate: false, author_name: "estacio"},
+ // start_date: null,
+ // tag_list: [],
+ // title: "article_f4f4601c-0f36-e90e-d01a-9871f0bd126b",
+ // votes_against: 0,
+ // votes_for: 0,
+ // }
+ // ]
+ // });
+
+ // ArticleService.getList().then(function(result) {
+ // console.log('result', result);
+
+ // expect(result.data.article).toBeDefined();
+ // expect(result.data.article.title).toEqual('Dialoga Brasil');
+
+ // });
+
+ // httpBackend.flush();
+ // });
+ });
+})();
diff --git a/src/app/components/auth-user/auth-user.directive.js b/src/app/components/auth-user/auth-user.directive.js
index b6b7ebc..42d1fa9 100644
--- a/src/app/components/auth-user/auth-user.directive.js
+++ b/src/app/components/auth-user/auth-user.directive.js
@@ -42,6 +42,7 @@
AuthUserController.prototype.onClickLogout = function (){
var vm = this;
+ // TODO: emit event?
vm.AuthService.logout();
};
diff --git a/src/app/components/dialoga-service/dialoga.service.js b/src/app/components/dialoga-service/dialoga.service.js
new file mode 100644
index 0000000..eb1a805
--- /dev/null
+++ b/src/app/components/dialoga-service/dialoga.service.js
@@ -0,0 +1,170 @@
+(function() {
+ 'use strict';
+
+ angular
+ .module('dialoga')
+ .factory('DialogaService', DialogaService);
+
+ /** @ngInject */
+ function DialogaService($rootScope, API, ArticleService, UtilService, Slug, $log) {
+ $log.debug('DialogaService');
+
+ var service = {
+ getInicio: getInicio,
+ getSobre: getSobre,
+ getTemas: getTemas,
+ getProgramas: getProgramas,
+ getPropostas: getPropostas,
+ getDuvidas: getDuvidas,
+ buscaPrograma: buscaPrograma,
+ buscaProposta: buscaProposta,
+ };
+
+ var CACHE = {};
+
+ return service;
+
+ function getInicio (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('inicio')){
+ cbSuccess(CACHE.inicio);
+ }else{
+ // load main content
+ ArticleService.getArticleById(API.articleId.home, {
+ fields: 'id,abstract,body,categories,children,children_count,title'
+ }, function (article){
+ CACHE.inicio = article;
+
+ _pipeSetSobre(article);
+ _pipeSetTemas(article);
+ _pipeSetProgramas(article);
+
+ cbSuccess(article);
+ }, cbError);
+ }
+ }
+
+ function getSobre (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('sobre')){
+ cbSuccess(CACHE.sobre);
+ }else{
+ // load article content
+ ArticleService.getArticleById(API.articleId.about, {}, function (article){
+ CACHE.sobre = article;
+
+ cbSuccess(CACHE.sobre);
+ }, cbError);
+ }
+ }
+
+ function getTemas (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('temas')){
+ cbSuccess(CACHE.temas);
+ }else{
+ // load main content
+ getInicio(function(){
+ if(!CACHE.hasOwnProperty('temas')){
+ throw { name: 'NotFound', message: '"temas" is not defined. "article.categories" was handled?'};
+ }
+ cbSuccess(CACHE.temas);
+ },cbError);
+ }
+ }
+
+ function getProgramas (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('programas')){
+ cbSuccess(CACHE.programas);
+ }else{
+ // load main content
+ getInicio(function(){
+ if(!CACHE.hasOwnProperty('programas')){
+ throw { name: 'NotFound', message: '"programas" is not defined. "article.children" was handled?'};
+ }
+ cbSuccess(CACHE.programas);
+ },cbError);
+ }
+ }
+
+ function getProgramasAleatorios (cbSuccess, cbError) {
+ // load article content
+ UtilService.get(API.random_topics, {params: {
+ 'fields[]': [
+ 'id', 'title', 'slug', 'abstract', 'body', 'categories', 'setting',
+ 'ranking_position', 'position', 'children_count', 'hits', 'votes_for',
+ 'votes_against', 'tag_list']
+ }}).then(function(data){
+ cbSuccess(data);
+ }).catch(function(error){
+ cbError(error);
+ });
+ }
+
+ function getPropostas (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('propostas')){
+ cbSuccess(CACHE.propostas);
+ }else{
+ // load main content
+ getInicio(function(){
+ if(!CACHE.hasOwnProperty('propostas')){
+ throw { name: 'NotFound', message: '"propostas" is not defined. "article.categories" was handled?'};
+ }
+ cbSuccess(CACHE.propostas);
+ },cbError);
+ }
+ }
+
+ function getDuvidas (cbSuccess, cbError) {
+ if(CACHE.hasOwnProperty('duvidas')){
+ cbSuccess(CACHE.duvidas);
+ }else{
+ // load content
+ var duvidas = [];
+
+ CACHE.duvidas = duvidas;
+ cbSuccess(CACHE.duvidas);
+ }
+ }
+
+ function buscaPrograma (cbSuccess, cbError) {}
+
+ function buscaProposta (cbSuccess, cbError) {}
+
+ function _pipeSetSobre (article) {
+ if(!CACHE.hasOwnProperty('sobre')){
+ CACHE.sobre = article.body;
+ }
+ }
+
+ function _pipeSetTemas (article) {
+ if(!CACHE.hasOwnProperty('temas')){
+ CACHE.temas = article.categories;
+ }
+
+ _pipeCalcColors(article);
+ }
+
+ function _pipeSetProgramas (article) {
+ if(!CACHE.hasOwnProperty('programas')){
+ CACHE.programas = article.children;
+ CACHE.programas_count = article.children_count;
+ }
+ }
+
+ // Calculate color pallet
+ function _pipeCalcColors (data) {
+ // var darkFactor = 0.15;
+ if(data.article.categories){
+ // var categories = data.article.categories;
+
+ // Handle Category Data
+
+ // Handle Category Colors
+ // for (var i = categories.length - 1; i >= 0; i--) {
+ // var category = categories[i];
+ // if(category.color && !category.bgColor){
+ // category.colorDarker = $window.ColorLuminance(category.color, 0.15);
+ // }
+ // };
+ }
+ }
+ }
+})();
diff --git a/src/app/components/event-list/event-list.scss b/src/app/components/event-list/event-list.scss
index 4116fce..1df8cfa 100644
--- a/src/app/components/event-list/event-list.scss
+++ b/src/app/components/event-list/event-list.scss
@@ -98,7 +98,7 @@
overflow-y: scroll;
.btn {
- color: #fff;
+ color: #e1e1e1;
text-transform: uppercase;
font-weight: bold;
}
diff --git a/src/app/components/service/utils.service.js b/src/app/components/service/utils.service.js
deleted file mode 100644
index 381925d..0000000
--- a/src/app/components/service/utils.service.js
+++ /dev/null
@@ -1,78 +0,0 @@
-(function() {
- 'use strict';
-
- angular
- .module('dialoga')
- .factory('UtilService', UtilService);
-
- /** @ngInject */
- function UtilService($http, $q, $log) {
- $log.debug('UtilService');
-
- var service = {
- get: get,
- post: post,
- // put: put,
- // delete: delete,
- // head: head,
- handleSuccess: handleSuccess,
- handleError: handleError
- };
-
- return service;
-
- function get (url, config) {
- return $http.get(url, config)
- .then(handleSuccess)
- .catch(handleError);
- }
-
- function post (url, config) {
- return $http.post(url, config)
- .then(handleSuccess)
- .catch(handleError);
- }
-
- /**
- * Transform the successful response, unwrapping the application data
- * from the API response payload.
- *
- * @param {Object} response from the server.
- * data – {string|Object} – The response body transformed with the transform functions.
- * status – {number} – HTTP status code of the response.
- * headers – {function([headerName])} – Header getter function.
- * config – {Object} – The configuration object that was used to generate the request.
- * statusText – {string} – HTTP status text of the response.
- *
- * @return {Object} the data unwrapped.
- */
- function handleSuccess (response) {
- $log.debug('[SUCCESS]', response);
- return response.data;
- }
-
- /**
- * Transform the error response, unwrapping the application data from
- * the API response payload.
- *
- * @param {Object} error from the server.
- * @return {Promise} promise rejection called.
- */
- function handleError (error) {
- $log.debug('[ERROR]', error);
-
- $log.error('XHR Failed on Service.\n' + angular.toJson(error.data, true));
-
- // The API response from the server should be returned in a
- // nomralized format. However, if the request was not handled by the
- // server (or what not handles properly - ex. server error), then we
- // may have to normalize it on our end, as best we can.
- if (!angular.isObject(error.data) || !error.data.message) {
- return $q.reject('An unknown error occurred.');
- }
-
- // Otherwise, use expected error message.
- return $q.reject(error.data.message);
- }
- }
-})();
diff --git a/src/app/components/service/utils.service.spec.js b/src/app/components/service/utils.service.spec.js
deleted file mode 100644
index 67cb46c..0000000
--- a/src/app/components/service/utils.service.spec.js
+++ /dev/null
@@ -1,28 +0,0 @@
-(function() {
- 'use strict';
-
- describe('util services', function() {
- // var UtilService, httpBackend;
-
- // beforeEach(module('dialoga'));
-
- // beforeEach(inject(function(_UtilService_, $httpBackend) {
- // UtilService = _UtilService_;
- // httpBackend = $httpBackend;
- // }));
-
- // it('should do something', function() {
- // var url = 'http://example.com/api/v1/data/103358';
- // httpBackend.whenGET(url).respond({});
-
- // UtilService.getData().then(function(result) {
-
- // expect(result.data).toBeDefined();
- // expect(result.data.title).toEqual('My Title');
-
- // });
-
- // httpBackend.flush();
- // });
- });
-})();
diff --git a/src/app/components/util-service/utils.service.js b/src/app/components/util-service/utils.service.js
new file mode 100644
index 0000000..381925d
--- /dev/null
+++ b/src/app/components/util-service/utils.service.js
@@ -0,0 +1,78 @@
+(function() {
+ 'use strict';
+
+ angular
+ .module('dialoga')
+ .factory('UtilService', UtilService);
+
+ /** @ngInject */
+ function UtilService($http, $q, $log) {
+ $log.debug('UtilService');
+
+ var service = {
+ get: get,
+ post: post,
+ // put: put,
+ // delete: delete,
+ // head: head,
+ handleSuccess: handleSuccess,
+ handleError: handleError
+ };
+
+ return service;
+
+ function get (url, config) {
+ return $http.get(url, config)
+ .then(handleSuccess)
+ .catch(handleError);
+ }
+
+ function post (url, config) {
+ return $http.post(url, config)
+ .then(handleSuccess)
+ .catch(handleError);
+ }
+
+ /**
+ * Transform the successful response, unwrapping the application data
+ * from the API response payload.
+ *
+ * @param {Object} response from the server.
+ * data – {string|Object} – The response body transformed with the transform functions.
+ * status – {number} – HTTP status code of the response.
+ * headers – {function([headerName])} – Header getter function.
+ * config – {Object} – The configuration object that was used to generate the request.
+ * statusText – {string} – HTTP status text of the response.
+ *
+ * @return {Object} the data unwrapped.
+ */
+ function handleSuccess (response) {
+ $log.debug('[SUCCESS]', response);
+ return response.data;
+ }
+
+ /**
+ * Transform the error response, unwrapping the application data from
+ * the API response payload.
+ *
+ * @param {Object} error from the server.
+ * @return {Promise} promise rejection called.
+ */
+ function handleError (error) {
+ $log.debug('[ERROR]', error);
+
+ $log.error('XHR Failed on Service.\n' + angular.toJson(error.data, true));
+
+ // The API response from the server should be returned in a
+ // nomralized format. However, if the request was not handled by the
+ // server (or what not handles properly - ex. server error), then we
+ // may have to normalize it on our end, as best we can.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ return $q.reject('An unknown error occurred.');
+ }
+
+ // Otherwise, use expected error message.
+ return $q.reject(error.data.message);
+ }
+ }
+})();
diff --git a/src/app/components/util-service/utils.service.spec.js b/src/app/components/util-service/utils.service.spec.js
new file mode 100644
index 0000000..67cb46c
--- /dev/null
+++ b/src/app/components/util-service/utils.service.spec.js
@@ -0,0 +1,28 @@
+(function() {
+ 'use strict';
+
+ describe('util services', function() {
+ // var UtilService, httpBackend;
+
+ // beforeEach(module('dialoga'));
+
+ // beforeEach(inject(function(_UtilService_, $httpBackend) {
+ // UtilService = _UtilService_;
+ // httpBackend = $httpBackend;
+ // }));
+
+ // it('should do something', function() {
+ // var url = 'http://example.com/api/v1/data/103358';
+ // httpBackend.whenGET(url).respond({});
+
+ // UtilService.getData().then(function(result) {
+
+ // expect(result.data).toBeDefined();
+ // expect(result.data.title).toEqual('My Title');
+
+ // });
+
+ // httpBackend.flush();
+ // });
+ });
+})();
diff --git a/src/app/pages/article/article.controller.js b/src/app/pages/article/article.controller.js
index c8f148b..fba0cb6 100644
--- a/src/app/pages/article/article.controller.js
+++ b/src/app/pages/article/article.controller.js
@@ -6,11 +6,11 @@
.controller('ArticlePageController', ArticlePageController);
/** @ngInject */
- function ArticlePageController(ArticleService, $state, $sce, $log) {
+ function ArticlePageController(DialogaService, $state, $sce, $log) {
$log.debug('ArticlePageController');
var vm = this;
- vm.ArticleService = ArticleService;
+ vm.DialogaService = DialogaService;
vm.$state = $state;
vm.$sce = $sce;
vm.$log = $log;
@@ -26,10 +26,10 @@
vm.loading = true;
switch (vm.page){
case 'sobre':
- vm.ArticleService.getAbout(handleSuccess, handleError);
+ vm.DialogaService.getAbout(handleSuccess, handleError);
break;
case 'termos-de-uso':
- vm.ArticleService.getTerms(handleSuccess, handleError);
+ vm.DialogaService.getTerms(handleSuccess, handleError);
break;
default:
vm.$log.warn('Page not handled:', vm.page);
diff --git a/src/app/pages/article/article.service.js b/src/app/pages/article/article.service.js
deleted file mode 100644
index 79640ab..0000000
--- a/src/app/pages/article/article.service.js
+++ /dev/null
@@ -1,173 +0,0 @@
-(function() {
- 'use strict';
-
- angular
- .module('dialoga')
- .factory('ArticleService', ArticleService);
-
- /** @ngInject */
- function ArticleService($http, $q, $rootScope, API, UtilService, Slug, $log) {
- $log.debug('ArticleService');
-
- var idArticleHome = API.articleId.home;
- var idArticleAbout = API.articleId.about;
- var idArticleTerms = API.articleId.terms;
-
- var _savedAbstract = null;
-
- var service = {
- apiArticles: $rootScope.basePath + '/api/v1/articles/',
- getHome: getHome,
- getAbout: getAbout,
- getTerms: getTerms,
- getArticleById: getArticleById,
- getArticleBySlug: getArticleBySlug,
- getCategories: getCategories,
- getCategoryBySlug: getCategoryBySlug,
- getPrograms: getPrograms,
- getContentById: getContentById,
- setHomeAbstract: setHomeAbstract,
- getHomeAbstract: getHomeAbstract
- };
-
- var CACHE = {}; // cache by article id
-
- return service;
-
- function loadArticleById (articleId, params, cbSuccess, cbError) {
-
- var url = service.apiArticles + articleId;
- var paramsExtended = angular.extend({}, params);
-
- UtilService.get(url, {params: paramsExtended}).then(function(data){
- CACHE[articleId] = data;
- cbSuccess(data);
- }, function(error){
- cbError(error);
- });
- }
-
- function getArticleById (articleId, params, cbSuccess, cbError) {
- var cachedArticle = CACHE[articleId];
-
- if(cachedArticle){
- cbSuccess(cachedArticle);
- }else{
- loadArticleById(articleId, params, cbSuccess, cbError);
- }
- }
-
- function getArticleBySlug (slug, cbSuccess, cbError) {
- var vm = this;
-
- /**
- * XXX: get from home article util we have a endpoint to do-it.
- */
- vm.getHome(function (data) {
- var mainArticle = data.article;
- var programList = mainArticle.children;
- var categories = mainArticle.categories;
-
- $rootScope._CATEGORIES = $rootScope._CATEGORIES ? $rootScope._CATEGORIES : categories;
-
- var result = null;
- for (var i = programList.length - 1; i >= 0; i--) {
- var program = programList[i];
-
- if(!program.slug){
- program.slug = Slug.slugify(program.title);
- }
-
- if(program.slug === slug){
- result = program;
- break;
- }
- }
-
- if(result){
- cbSuccess(result);
- }else{
- cbError('None program with slug "' + slug + '"" was found.');
- }
- }, cbError);
- }
-
- function getCategories (cbSuccess, cbError) {
- return getHome(function(data){
- cbSuccess(data.article.categories);
- }, cbError);
- }
-
- function getCategoryBySlug (slug, cbSuccess, cbError) {
- return getHome(function (data){
- var result = null;
-
- for (var i = data.article.categories.length - 1; i >= 0; i--) {
- var category = data.article.categories[i];
- if (category.slug === slug) {
- result = category;
- break;
- }
- }
-
- cbSuccess(result);
- }, cbError);
- }
-
- function getPrograms (cbSuccess, cbError) {
- return getHome(function(data){
- cbSuccess(data.article.children);
- }, cbError);
- }
-
- function getContentById (contentId, cbSuccess, cbError) {
- return getArticleById(contentId, {
- fields: 'id,body&content_type=ProposalsDiscussionPlugin::Topic'
- }, cbSuccess, cbError);
- }
-
- function getHome (cbSuccess, cbError) {
- return getArticleById(idArticleHome, {
- fields: 'id,children,categories,abstract,title,image,url,setting,position',
- private_token: 'null'
- }, _handleCategory(cbSuccess), cbError);
- }
-
- function getAbout (cbSuccess, cbError) {
- return getArticleById(idArticleAbout, {}, cbSuccess, cbError);
- }
-
- function getTerms (cbSuccess, cbError) {
- return getArticleById(idArticleTerms, {}, cbSuccess, cbError);
- }
-
- function _handleCategory (cbSuccess) {
- // var darkFactor = 0.15;
-
- return function (data) {
- if(data.article.categories){
- // var categories = data.article.categories;
-
- // Handle Category Data
-
- // Handle Category Colors
- // for (var i = categories.length - 1; i >= 0; i--) {
- // var category = categories[i];
- // if(category.color && !category.bgColor){
- // category.colorDarker = $window.ColorLuminance(category.color, 0.15);
- // }
- // };
- }
- cbSuccess(data);
- };
- }
-
- function setHomeAbstract (newAbstract) {
- _savedAbstract = newAbstract;
- }
-
- function getHomeAbstract () {
- return _savedAbstract;
- }
- }
-})();
diff --git a/src/app/pages/article/article.service.spec.js b/src/app/pages/article/article.service.spec.js
deleted file mode 100644
index 8599f58..0000000
--- a/src/app/pages/article/article.service.spec.js
+++ /dev/null
@@ -1,67 +0,0 @@
-(function() {
- 'use strict';
-
- describe('article services', function() {
- var ArticleService, httpBackend;
-
- beforeEach(module('dialoga'));
-
- beforeEach(inject(function(_ArticleService_, $httpBackend) {
- ArticleService = _ArticleService_;
- httpBackend = $httpBackend;
- }));
-
- it('should return the main article', function() {
- var url = 'http://login.dialoga.gov.br/api/v1/articles/103358?fields=id,children,categories,abstract,title,image,url,setting,position&private_token=null';
- httpBackend.whenGET(url).respond({
- 'article':{'id':103358,'abstract':'\u003Cp style=\"text-align: center;\"\u003E\u003Ciframe src=\"https://www.youtube.com/embed/kpAdrO-emV0?rel=0\u0026amp;showinfo=0\u0026amp;iv_load_policy=3\u0026amp;controls=1\" style=\"max-width: 1000px; left: 5%;\" width=\"275\" height=\"200\"\u003E\u003C/iframe\u003E\u003C/p\u003E','title':'Dialoga Brasil','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null},{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null},{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null},{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':null,'setting':{'custom_body_label':'Corpo','phase':'proposals','allow_topics':true,'moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Leandro Nunes dos Santos','moderate_proposals':true,'allow_members_to_edit':false},'position':null,'children':[{'id':103644,'abstract':'\u003Cp\u003EUm caminho de oportunidades com o Enem: Sisu, Prouni, Fies, Ci\u00eancia sem Fronteiras\u003C/p\u003E','title':'Ensino Superior','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0128/enem.jpg'},'setting':{'color':'#cfe2f3','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':9},{'id':103673,'abstract':'\u003Cp\u003EA melhor escolha \u00e9 se informar.\u003C/p\u003E','title':'Incentivo ao Parto Normal','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0092/parto-normal.jpg'},'setting':{'color':'#ff0000','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':6},{'id':103397,'abstract':'\u003Cp\u003ERenda, inclus\u00e3o produtiva e acesso a servi\u00e7os.\u003C/p\u003E','title':'Brasil Sem Mis\u00e9ria','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0116/bsm_redim.jpg'},'setting':{'color':'','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':18},{'id':103379,'abstract':'\u003Cp\u003EResgate e atendimento 24 horas, sete dias da semana.\u003C/p\u003E','title':'SAMU 192 e UPAs','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0060/SAMU.jpg'},'setting':{'color':'#45818e','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':4},{'id':103521,'abstract':'\u003Cp\u003EMais atendimento nos munic\u00edpios, mais sa\u00fade para quem mais precisa.\u003C/p\u003E','title':'Mais M\u00e9dicos','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0025/Mais_M_dicos.jpg'},'setting':{'color':'#ffe599','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':1},{'id':103390,'abstract':'\u003Cp\u003EPreven\u00e7\u00e3o, tratamento e enfrentamento ao tr\u00e1fico.\u003C/p\u003E','title':'Crack, \u00e9 poss\u00edvel vencer!','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0104/crack.jpg'},'setting':{'color':'#00ff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':14},{'id':103592,'abstract':'\u003Cp\u003EGarantir acesso \u00e0 prote\u00e7\u00e3o social.\u003C/p\u003E','title':'Assist\u00eancia Social','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0122/assistencia_social.jpg'},'setting':{'color':'#a61c00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':19},{'id':103426,'abstract':'\u003Cp\u003EDa sa\u00fade se cuida todos os dias.\u003C/p\u003E','title':'Vida saud\u00e1vel','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0046/vida_saudavel.jpg'},'setting':{'color':'#d9d2e9','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':7},{'id':103695,'abstract':'\u003Cp\u003ENovo modelo de atua\u00e7\u00e3o em Seguran\u00e7a P\u00fablica.\u003C/p\u003E','title':'Seguran\u00e7a P\u00fablica Integrada','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0152/policiaintegrada.jpg'},'setting':{'color':'#ff00ff','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':13},{'id':103663,'abstract':'\u003Cp\u003EMais educa\u00e7\u00e3o profissional e tecnol\u00f3gica, mais desenvolvimento\u003C/p\u003E','title':'Ensino T\u00e9cnico','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0134/Ensino_tecnico.jpg'},'setting':{'color':'#d0e0e3','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':10},{'id':103472,'abstract':'\u003Cp\u003EPol\u00edcia Federal, Pol\u00edcia Rodovi\u00e1ria Federal e For\u00e7a Nacional de Seguran\u00e7a P\u00fablica.\u003C/p\u003E','title':'For\u00e7as Federais de Seguran\u00e7a','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0031/federais2.png'},'setting':{'color':'','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':16},{'id':103612,'abstract':'\u003Cp\u003EGarantir \u00e1gua para beber e produzir.\u003C/p\u003E','title':'Cisternas','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0039/cisterna_redim.jpg'},'setting':{'color':'#0000ff','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':20},{'id':103442,'abstract':'\u003Cp\u003EComplemento \u00e0 renda e acompanhamento em educa\u00e7\u00e3o e sa\u00fade.\u003C/p\u003E','title':'Bolsa Fam\u00edlia','categories':[{'name':'Redu\u00e7\u00e3o da Pobreza','id':183,'slug':'reducao-da-pobreza','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0013/bolsa_familia_redim.jpg'},'setting':{'color':'#ff9900','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':17},{'id':103507,'abstract':'\u003Cp\u003ETecnologia a servi\u00e7o da seguran\u00e7a do cidad\u00e3o.\u003C/p\u003E','title':'Sinesp','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0098/sinesp.png'},'setting':{'color':'#00ff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':12},{'id':103683,'abstract':'\u003Cp\u003ESa\u00fade n\u00e3o tem pre\u00e7o.\u003C/p\u003E','title':'Aqui tem Farm\u00e1cia Popular','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0019/saude_nao_tem_preco.jpg'},'setting':{'color':'#e69138','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':5},{'id':103457,'abstract':'\u003Cp\u003EA\u00e7\u00e3o conjunta e coopera\u00e7\u00e3o transfronteiri\u00e7a.\u003C/p\u003E','title':'Prote\u00e7\u00e3o das Fronteiras','categories':[{'name':'Seguran\u00e7a P\u00fablica','id':182,'slug':'seguranca-publica','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0110/fronteira_redim.jpg'},'setting':{'color':'#a64d79','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':15},{'id':103494,'abstract':'\u003Cp\u003EDa Educa\u00e7\u00e3o Infantil ao Ensino M\u00e9dio.\u003C/p\u003E','title':'Educa\u00e7\u00e3o B\u00e1sica','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0076/Educa__o_B_sica.jpg'},'setting':{'color':'#fce5cd','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':8},{'id':103359,'abstract':'\u003Cp\u003EAcesso a exames e consultas com especialistas.\u003C/p\u003E','title':'Mais Especialidades','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0083/mais_especialidades1.png'},'setting':{'color':'#ea9999','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':2},{'id':103485,'abstract':'\u003Cp\u003ECaminho para uma educa\u00e7\u00e3o de qualidade.\u003C/p\u003E','title':'Valoriza\u00e7\u00e3o dos Professores','categories':[{'name':'Educa\u00e7\u00e3o','id':181,'slug':'educacao','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0140/valorizacao_professor.jpg'},'setting':{'color':'#ffff00','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':11},{'id':103416,'abstract':'\u003Cp\u003EEstrutura adequada para atender melhor a popula\u00e7\u00e3o na aten\u00e7\u00e3o b\u00e1sica.\u003C/p\u003E','title':'Melhorar os Postos de Sa\u00fade','categories':[{'name':'Sa\u00fade','id':180,'slug':'saude','image':null}],'image':{'url':'/image_uploads/dialoga/0000/0053/requalif_redim.jpg'},'setting':{'color':'#cc4125','moderate_comments':false,'comment_paragraph_plugin_activate':false,'author_name':'Ronald Emerson Scherolt da Costa','allow_members_to_edit':false},'position':3}]}});
-
- ArticleService.getHome(function(result){
- expect(result.article).toBeDefined();
- expect(result.article.title).toEqual('Dialoga Brasil');
- expect(result.article.categories).toBeDefined();
- });
-
- httpBackend.flush();
- });
-
- // it('should return a list of articles', function() {
-
- // httpBackend.whenGET('http://login.dialoga.gov.br/api/v1/articles').respond({
- // "articles": [
- // {
- // abstract: "Que exista educação continuada permanente dos profissionais!!",
- // author: null,
- // body: "",
- // categories: [],
- // children: [],
- // created_at: "2015/08/04 16:36:13",
- // end_date: null,
- // hits: 0,
- // id: 120568,
- // image: null,
- // parent: {id: 103379,…},
- // position: null,
- // profile: {identifier: "dialoga", name: "dialoga", id: 19195, created_at: "2015/04/15 09:38:36", image: null},
- // setting: {comment_paragraph_plugin_activate: false, author_name: "estacio"},
- // start_date: null,
- // tag_list: [],
- // title: "article_f4f4601c-0f36-e90e-d01a-9871f0bd126b",
- // votes_against: 0,
- // votes_for: 0,
- // }
- // ]
- // });
-
- // ArticleService.getList().then(function(result) {
- // console.log('result', result);
-
- // expect(result.data.article).toBeDefined();
- // expect(result.data.article.title).toEqual('Dialoga Brasil');
-
- // });
-
- // httpBackend.flush();
- // });
- });
-})();
diff --git a/src/app/pages/duvidas/duvidas.controller.js b/src/app/pages/duvidas/duvidas.controller.js
index 447654f..9f39434 100644
--- a/src/app/pages/duvidas/duvidas.controller.js
+++ b/src/app/pages/duvidas/duvidas.controller.js
@@ -6,16 +6,12 @@
.controller('DuvidasPageController', DuvidasPageController);
/** @ngInject */
- function DuvidasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) {
+ function DuvidasPageController(DialogaService, $log) {
$log.debug('DuvidasPageController');
var vm = this;
- vm.ArticleService = ArticleService;
- vm.$state = $state;
- vm.$location = $location;
- vm.$scope = $scope;
- vm.$rootScope = $rootScope;
+ vm.DialogaService = DialogaService;
vm.$log = $log;
vm.init();
@@ -24,12 +20,8 @@
DuvidasPageController.prototype.init = function () {
var vm = this;
- var params = vm.$state.params;
- var slug = params.slug;
+ vm.questions = null;
- vm.article = null;
- vm.categories = null;
- vm.currentCategory = null;
vm.loading = true;
vm.error = false;
@@ -40,12 +32,11 @@
DuvidasPageController.prototype.loadData = function () {
var vm = this;
- vm.ArticleService.getCategories(function(categories){
- vm.categories = categories;
+ vm.DialogaService.getQuestions(function(questions){
+ vm.questions = questions;
}, function (error) {
vm.error = error;
vm.$log.error(error);
});
-
};
})();
diff --git a/src/app/pages/inicio/inicio.controller.js b/src/app/pages/inicio/inicio.controller.js
index 80f0360..528466c 100644
--- a/src/app/pages/inicio/inicio.controller.js
+++ b/src/app/pages/inicio/inicio.controller.js
@@ -7,11 +7,11 @@
.controller('InicioPageController', InicioPageController);
/** @ngInject */
- function InicioPageController(ArticleService, $rootScope, $sce, $log) {
+ function InicioPageController(DialogaService, $sce, $log) {
var vm = this;
// aliases
- vm.ArticleService = ArticleService;
+ vm.DialogaService = DialogaService;
vm.$sce = $sce;
vm.$log = $log;
@@ -24,20 +24,21 @@
vm.error = null;
vm.loading = true;
- vm.loadHomeArticle();
+
+ vm.loadData();
};
- InicioPageController.prototype.loadHomeArticle = function() {
+ InicioPageController.prototype.loadData = function() {
var vm = this;
- vm.content = vm.ArticleService.getHomeAbstract();
+ vm.content = vm.DialogaService.getHomeAbstract();
vm.isCached = !!vm.content;
if (vm.isCached) {
hideBackground(2000);
}
- vm.ArticleService.getHome(function(data) {
+ vm.DialogaService.getHome(function(data) {
vm.loading = false;
vm.article = data.article;
}, function(error) {
@@ -52,12 +53,12 @@
// we need handle home content
if (vm.isCached) {
hideBackground(0); // force to hide
- vm.$log.warn('The content already cached. Aborting.');
+ vm.$log.debug('The content already cached. Show-it!');
return;
}
vm.content = vm.handleHomeAbstract(vm.article.abstract);
- vm.ArticleService.setHomeAbstract(vm.content);
+ vm.DialogaService.setHomeAbstract(vm.content);
// inject dependencies
injectIframeApiJs();
@@ -65,6 +66,7 @@
window.onYouTubePlayerReady = window.onYouTubePlayerReady || onYouTubePlayerReady;
};
+ // TODO: move this to DialogaService
InicioPageController.prototype.handleHomeAbstract = function(abstract) {
var vm = this;
diff --git a/src/app/pages/programas/programa-content.controller.js b/src/app/pages/programas/programa-content.controller.js
index a47a186..0af3c11 100644
--- a/src/app/pages/programas/programa-content.controller.js
+++ b/src/app/pages/programas/programa-content.controller.js
@@ -6,14 +6,13 @@
.controller('ProgramaContentPageController', ProgramaContentPageController);
/** @ngInject */
- function ProgramaContentPageController(ArticleService, $state, $location, $scope, $rootScope, $log) {
+ function ProgramaContentPageController(DialogaService, $state, $scope, $rootScope, $log) {
$log.debug('ProgramaContentPageController');
var vm = this;
- vm.ArticleService = ArticleService;
+ vm.DialogaService = DialogaService;
vm.$state = $state;
- vm.$location = $location;
vm.$scope = $scope;
vm.$rootScope = $rootScope;
vm.$log = $log;
@@ -39,12 +38,15 @@
ProgramaContentPageController.prototype.loadData = function() {
var vm = this;
- vm.ArticleService.getArticleBySlug(vm.slug, function(article) {
+ // Get initial data of Program
+ vm.DialogaService.getProgramBySlug(vm.slug, function(article) {
vm.article = article;
vm.category = vm.article.categories[0];
+ // update the breadcrumb
vm.$rootScope.contentTitle = vm.article.title;
+ // set the banner image with full image path
if (!vm.banner) {
vm.banner = {
src: vm.$rootScope.basePath + vm.article.image.url,
@@ -52,6 +54,7 @@
};
}
+ // Get full data content of Program
vm.loadContent();
}, function(error) {
@@ -69,12 +72,13 @@
});
};
+ // Get full data content of Program
ProgramaContentPageController.prototype.loadContent = function() {
var vm = this;
vm.loading = true;
if (!vm.article.body) {
- vm.ArticleService.getContentById(vm.article.id, function(data) {
+ vm.DialogaService.getContentById(vm.article.id, function(data) {
vm.article.body = data.article.body;
vm.loading = false;
}, function(error) {
diff --git a/src/app/pages/programas/programa.controller.js b/src/app/pages/programas/programa.controller.js
index 16e925f..558c318 100644
--- a/src/app/pages/programas/programa.controller.js
+++ b/src/app/pages/programas/programa.controller.js
@@ -6,16 +6,12 @@
.controller('ProgramasPageController', ProgramasPageController);
/** @ngInject */
- function ProgramasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) {
+ function ProgramasPageController(DialogaService, $log) {
$log.debug('ProgramasPageController');
var vm = this;
- vm.ArticleService = ArticleService;
- vm.$state = $state;
- vm.$location = $location;
- vm.$scope = $scope;
- vm.$rootScope = $rootScope;
+ vm.DialogaService = DialogaService;
vm.$log = $log;
vm.init();
@@ -24,12 +20,10 @@
ProgramasPageController.prototype.init = function () {
var vm = this;
- var params = vm.$state.params;
- var slug = params.slug;
-
vm.article = null;
vm.categories = null;
vm.currentCategory = null;
+
vm.loading = true;
vm.error = false;
@@ -40,37 +34,11 @@
ProgramasPageController.prototype.loadData = function () {
var vm = this;
- vm.ArticleService.getCategories(function(categories){
- vm.categories = categories;
+ vm.DialogaService.getTemas(function(temas){
+ vm.categories = temas;
}, function (error) {
vm.error = error;
vm.$log.error(error);
});
-
- // vm.ArticleService.getArticleBySlug(slug, function(article){
- // vm.article = article;
- // vm.currentCategory = vm.article.categories[0];
-
- // // load proposals
- // // vm.ArticleService.getRandomProposal(program.id, function(proposal){
- // // vm.article.proposal = proposal;
- // // }, function (error){
- // // vm.$log.error(error);
- // // });
-
- // // load events
- // // vm.ArticleService.getEvents(program.id, function(proposal){
- // // vm.article.proposal = proposal;
- // // }, function (error){
- // // vm.$log.error(error);
- // // });
-
- // }, function (error) {
- // vm.error = error;
- // vm.$log.error(error);
- // vm.$log.info('Rollback to home page.');
- // vm.$state.go('inicio', {}, {location: true});
- // });
-
};
})();
diff --git a/src/app/pages/propostas/propostas.controller.js b/src/app/pages/propostas/propostas.controller.js
index dc2d586..13beabb 100644
--- a/src/app/pages/propostas/propostas.controller.js
+++ b/src/app/pages/propostas/propostas.controller.js
@@ -6,16 +6,12 @@
.controller('PropostasPageController', PropostasPageController);
/** @ngInject */
- function PropostasPageController(ArticleService, $state, $location, $scope, $rootScope, $log) {
+ function PropostasPageController(DialogaService, $log) {
$log.debug('PropostasPageController');
var vm = this;
- vm.ArticleService = ArticleService;
- vm.$state = $state;
- vm.$location = $location;
- vm.$scope = $scope;
- vm.$rootScope = $rootScope;
+ vm.DialogaService = DialogaService;
vm.$log = $log;
vm.init();
@@ -24,9 +20,6 @@
PropostasPageController.prototype.init = function () {
var vm = this;
- var params = vm.$state.params;
- var slug = params.slug;
-
vm.article = null;
vm.categories = null;
vm.currentCategory = null;
@@ -40,7 +33,7 @@
PropostasPageController.prototype.loadData = function () {
var vm = this;
- vm.ArticleService.getCategories(function(categories){
+ vm.DialogaService.getCategories(function(categories){
vm.categories = categories;
}, function (error) {
vm.error = error;
--
libgit2 0.21.2