From 16ed9593f881eab58ed92f531bc24710c3ae8560 Mon Sep 17 00:00:00 2001 From: Leonardo Merlin Date: Mon, 7 Sep 2015 16:28:52 -0300 Subject: [PATCH] Add proposals page --- src/app/components/article-service/article.service.js | 4 ++-- src/app/components/proposal-grid/proposal-grid.directive.js | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/app/components/proposal-grid/proposal-grid.html | 9 +++++++++ src/app/pages/programas/programas.controller.js | 5 ++++- src/app/pages/programas/programas.html | 4 +++- src/app/pages/propostas/proposta.html | 11 ----------- src/app/pages/propostas/propostas.controller.js | 38 +++++++++++++++++++++++++++++--------- src/app/pages/propostas/propostas.html | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 8 files changed, 190 insertions(+), 26 deletions(-) create mode 100644 src/app/components/proposal-grid/proposal-grid.directive.js create mode 100644 src/app/components/proposal-grid/proposal-grid.html delete mode 100644 src/app/pages/propostas/proposta.html diff --git a/src/app/components/article-service/article.service.js b/src/app/components/article-service/article.service.js index 243c308..0686e70 100644 --- a/src/app/components/article-service/article.service.js +++ b/src/app/components/article-service/article.service.js @@ -96,8 +96,8 @@ var url = service.apiArticles + API.articleId.home; var paramsExtended = angular.extend({ - 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children_count', 'hits'], - 'content_type':'ProposalsDiscussionPlugin::Proposals' + // 'fields[]': ['id', 'title', 'slug', 'abstract', 'categories', 'setting', 'children', 'children_count'], + 'content_type':'ProposalsDiscussionPlugin::Proposal' }, params); UtilService.get(url, {params: paramsExtended}).then(function(data){ diff --git a/src/app/components/proposal-grid/proposal-grid.directive.js b/src/app/components/proposal-grid/proposal-grid.directive.js new file mode 100644 index 0000000..434f0dd --- /dev/null +++ b/src/app/components/proposal-grid/proposal-grid.directive.js @@ -0,0 +1,54 @@ +(function() { + 'use strict'; + + angular + .module('dialoga') + .directive('proposalGrid', proposalGrid); + + /** @ngInject */ + function proposalGrid() { + + /** @ngInject */ + function ProposalGridController($scope, $rootScope, $element, $location, $filter, $log) { + $log.debug('ProposalGridController'); + + // alias + var vm = this; + + // dependencies + vm.$scope = $scope; + vm.$rootScope = $rootScope; + vm.$element = $element; + vm.$location = $location; + vm.$filter = $filter; + vm.$log = $log; + vm.defaultLimit = 6; + + // initialization + vm.init(); + vm.attachListeners(); + } + + ProposalGridController.prototype.init = function() { + // var vm = this; + // vm.programs = null; // scope var + }; + + ProposalGridController.prototype.attachListeners = function() { + // var vm = this; + }; + + var directive = { + restrict: 'E', + templateUrl: 'app/components/proposal-grid/proposal-grid.html', + scope: { + proposals: '=' + }, + controller: ProposalGridController, + controllerAs: 'vm', + bindToController: true + }; + + return directive; + } +})(); diff --git a/src/app/components/proposal-grid/proposal-grid.html b/src/app/components/proposal-grid/proposal-grid.html new file mode 100644 index 0000000..b44f82d --- /dev/null +++ b/src/app/components/proposal-grid/proposal-grid.html @@ -0,0 +1,9 @@ +
+
+ +
+
+
+ Nenhum programa encontrado. +
+
diff --git a/src/app/pages/programas/programas.controller.js b/src/app/pages/programas/programas.controller.js index 75043d7..fc3684f 100644 --- a/src/app/pages/programas/programas.controller.js +++ b/src/app/pages/programas/programas.controller.js @@ -9,7 +9,6 @@ function ProgramasPageController(DialogaService, $log) { var vm = this; - // alias vm.DialogaService = DialogaService; vm.$log = $log; @@ -44,18 +43,22 @@ vm.DialogaService.getPrograms(function(programs){ vm.programs = programs; vm.filtredPrograms = vm.programs; + vm.loadingPrograms = false; }, function (error) { vm.error = error; vm.$log.error(error); + vm.loadingPrograms = false; }); // load themes vm.loadingThemes = true; vm.DialogaService.getThemes(function(themes){ vm.themes = themes; + vm.loadingThemes = false; }, function (error) { vm.error = error; vm.$log.error(error); + vm.loadingThemes = false; }); }; })(); diff --git a/src/app/pages/programas/programas.html b/src/app/pages/programas/programas.html index f8ffc02..17c25fa 100644 --- a/src/app/pages/programas/programas.html +++ b/src/app/pages/programas/programas.html @@ -10,7 +10,9 @@
-

Programas de governo

+
+

Programas de governo

+
diff --git a/src/app/pages/propostas/proposta.html b/src/app/pages/propostas/proposta.html deleted file mode 100644 index c0b59e8..0000000 --- a/src/app/pages/propostas/proposta.html +++ /dev/null @@ -1,11 +0,0 @@ -
-
-
-
-
-
-
- -
-

TODO: Home > Proposta

-
diff --git a/src/app/pages/propostas/propostas.controller.js b/src/app/pages/propostas/propostas.controller.js index 19e7f26..f73e244 100644 --- a/src/app/pages/propostas/propostas.controller.js +++ b/src/app/pages/propostas/propostas.controller.js @@ -7,38 +7,58 @@ /** @ngInject */ function PropostasPageController(DialogaService, $log) { - $log.debug('PropostasPageController'); - var vm = this; vm.DialogaService = DialogaService; vm.$log = $log; vm.init(); + $log.debug('PropostasPageController'); } PropostasPageController.prototype.init = function () { var vm = this; vm.article = null; - vm.categories = null; - vm.currentCategory = null; - vm.loading = true; - vm.error = false; + vm.themes = null; + vm.selectedTheme = null; + vm.proposals = null; + vm.filtredProposals = null; + vm.query = null; + + vm.loading = null; + vm.error = null; - // vm.loadData(); + vm.loadData(); }; PropostasPageController.prototype.loadData = function () { var vm = this; - vm.DialogaService.getCategories(function(categories){ - vm.categories = categories; + vm.loading = true; + + // load Proposals + vm.loadingProposals = true; + vm.DialogaService.getProposalsByTopicId(103644, {}, function(data){ + vm.proposals = data.articles; + vm.filtredProposals = vm.proposals; + vm.loadingProposals = false; }, function (error) { vm.error = error; vm.$log.error(error); + vm.loadingProposals = false; }); + // load themes + vm.loadingThemes = true; + vm.DialogaService.getThemes(function(themes){ + vm.themes = themes; + vm.loadingThemes = false; + }, function (error) { + vm.error = error; + vm.$log.error(error); + vm.loadingThemes = false; + }); }; })(); diff --git a/src/app/pages/propostas/propostas.html b/src/app/pages/propostas/propostas.html index 501db4a..98f1dbc 100644 --- a/src/app/pages/propostas/propostas.html +++ b/src/app/pages/propostas/propostas.html @@ -6,6 +6,93 @@ -
-

TODO: Home > Propostas

+
+ +
+
+
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+

Total de Propostas as propostas: "{{::pagePropostas.proposals.length}} propostas"

+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
-- libgit2 0.21.2