diff --git a/src/app/index.route.js b/src/app/index.route.js
index 4e4af65..2c72ac9 100644
--- a/src/app/index.route.js
+++ b/src/app/index.route.js
@@ -149,7 +149,7 @@
}
})
.state('respostas', {
- url: '/respostas?tema&filtro&task',
+ url: '/respostas?tema&filtro',
reloadOnSearch: false,
ncyBreadcrumb: {label: 'Respostas'},
views: {
diff --git a/src/app/pages/respostas/respostas.controller.js b/src/app/pages/respostas/respostas.controller.js
index 062119d..8e7286f 100644
--- a/src/app/pages/respostas/respostas.controller.js
+++ b/src/app/pages/respostas/respostas.controller.js
@@ -18,7 +18,7 @@
vm.init();
vm.loadData();
- // vm.attachListeners(); // attach listeners after load data (SYNC)
+ vm.attachListeners();
vm.$rootScope.focusMainContent();
$log.debug('RespostasPageController');
@@ -31,11 +31,22 @@
vm.per_page = 10;
vm.themes = null;
vm.selectedTheme = null;
- vm.filtredPrograms = null;
vm.filtredProposals = null;
vm.query = null;
vm.search = vm.$location.search();
+ if (vm.search.tema) {
+ vm._filtredByThemeSlug = vm.search.tema;
+ }
+
+ if (vm.search.filtro) {
+ vm._filtredByQuery = vm.search.filtro;
+ }
+
+ if (vm.search.tema || vm.search.filtro) {
+ vm.loadingFilter = true;
+ }
+
vm.loading = null;
vm.error = null;
};
@@ -57,11 +68,7 @@
vm.loadingThemes = false;
vm.loading = false;
- // REMOVED: function called twice.
- // vm.loadProposals(function() {
- // vm.attachListeners();
- // });
- vm.attachListeners();
+ vm.filter();
}, function(error) {
vm.error = error;
vm.$log.error(error);
@@ -70,30 +77,6 @@
});
};
- // RespostasPageController.prototype.loadProposals = function(cb) {
- // var vm = this;
-
- // // load Proposals
- // vm.loadingProposals = true;
- // vm.DialogaService.searchProposals({
- // page: vm.page,
- // per_page: vm.per_page
- // }, function(data) {
- // vm.filtredProposals = data.articles;
- // vm.total_proposals = parseInt(data._obj.headers('total'));
-
- // vm.loadingProposals = false;
-
- // if (cb) {
- // cb();
- // }
- // }, function(error) {
- // vm.error = error;
- // vm.$log.error(error);
- // vm.loadingProposals = false;
- // });
- // };
-
RespostasPageController.prototype.attachListeners = function() {
var vm = this;
@@ -101,16 +84,22 @@
vm.selectedTheme = selectedCategory;
});
- vm.$scope.$watch('pagePropostas.selectedTheme', function(newValue/*, oldValue*/) {
+ vm.$scope.$watch('pageRespostas.selectedTheme', function(newValue/*, oldValue*/) {
vm.search.tema = newValue ? newValue.slug : null;
vm.$location.search('tema', vm.search.tema);
- vm.filterProposals();
+
+ if (!vm.loadingFilter) {
+ vm.filterProposals();
+ }
});
- vm.$scope.$watch('pagePropostas.query', function(newValue/*, oldValue*/) {
+ vm.$scope.$watch('pageRespostas.query', function(newValue/*, oldValue*/) {
vm.search.filtro = newValue ? newValue : null;
vm.$location.search('filtro', vm.search.filtro);
- vm.filterProposals();
+
+ if (!vm.loadingFilter) {
+ vm.filterProposals();
+ }
});
};
@@ -128,6 +117,34 @@
vm.filterProposals(pageIndex);
};
+ RespostasPageController.prototype.filter = function() {
+ var vm = this;
+
+ if (vm.loadingThemes || vm.loadingProposals) {
+ vm.$log.info('No proposals or themes loaded yet. Abort.');
+ return;
+ }
+
+ if (vm._filtredByThemeSlug) {
+ var slug = vm._filtredByThemeSlug;
+
+ vm.DialogaService.getThemeBySlug(slug, function(theme) {
+ vm.selectedTheme = theme;
+ }, function(error) {
+ vm.$log.error('Error when try to "getThemeBySlug"', error);
+ });
+ }
+
+ if (vm._filtredByQuery) {
+ vm.query = vm._filtredByQuery;
+ }
+
+ if (vm._filtredByThemeSlug || vm._filtredByQuery) {
+ vm.filterProposals();
+ vm.loadingFilter = false;
+ }
+ };
+
RespostasPageController.prototype.filterProposals = function(_page, _per_page) {
var vm = this;
@@ -142,6 +159,7 @@
var params = {
page: page,
per_page: per_page,
+ archived: true
};
if (vm.selectedTheme) {
@@ -165,8 +183,6 @@
RespostasPageController.prototype.submitSearch = function() {
var vm = this;
- vm.loadingFilter = true;
-
// scroll to result grid
var $searchResult = angular.element('#search-result');
if ($searchResult && $searchResult.length > 0) {
diff --git a/src/app/pages/respostas/respostas.html b/src/app/pages/respostas/respostas.html
index d0b3da9..0e3a431 100644
--- a/src/app/pages/respostas/respostas.html
+++ b/src/app/pages/respostas/respostas.html
@@ -1,124 +1,117 @@
-
-
-
-
-
-
-
-
Carregando conteúdo...
-
-
-
-
- Erro ao carregar o conteúdo principal.
+
+
+
+
+
+
Carregando conteúdo...
+
+
+
+ Erro ao carregar o conteúdo principal.
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Buscar respostas:
-
-
-
-
-
-
- Buscar
-
-
-
-
-
-
-
-
-
-
-
- Carregando temas.
+
+
-
-
-
-
- Buscar respostas:
-
-
-
-
-
-
- Buscar
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Carregando temas.
+
+
+
+
+ Não foi possível carregar a lista de temas neste momento.
+
+
+
+
+
+
+
+
+
+
+ Carregando propostas.
+
+
+
+
+ Não foi possível carregar a lista de propostas neste momento.
+
+
+
+
-
-
- Carregando respostas.
-
-
-
-
- Não foi possível carregar a lista de respostas neste momento.
-
-
-
-
-
-
+
diff --git a/src/app/pages/respostas/respostas.scss b/src/app/pages/respostas/respostas.scss
index 4ff0766..463c3a9 100644
--- a/src/app/pages/respostas/respostas.scss
+++ b/src/app/pages/respostas/respostas.scss
@@ -1,9 +1,9 @@
.page--respostas {
- // .proposal-box--middle {
- // background-color: #fff;
- // }
+ .proposal-box--middle {
+ background-color: #fff;
+ }
- // .topics-select--wrapper {
- // margin: 20px 0;
- // }
+ .topics-select--wrapper {
+ margin: 20px 0;
+ }
}
--
libgit2 0.21.2