From 77f90fa25dc5e3b4abe6dffb6a52b055748c5c81 Mon Sep 17 00:00:00 2001 From: Leonardo Merlin Date: Mon, 31 Aug 2015 13:59:01 -0300 Subject: [PATCH] Add article-list to Programs page --- src/app/components/article-box/article-box.directive.js | 2 +- src/app/components/article-grid/article-grid.directive.js | 45 +++++++++++++++++++++++++++++++++++++-------- src/app/index.route.js | 2 +- src/app/pages/programas/programas.html | 15 +++++++++++++-- 4 files changed, 52 insertions(+), 12 deletions(-) diff --git a/src/app/components/article-box/article-box.directive.js b/src/app/components/article-box/article-box.directive.js index 65380cc..9ff8238 100644 --- a/src/app/components/article-box/article-box.directive.js +++ b/src/app/components/article-box/article-box.directive.js @@ -33,7 +33,7 @@ vm.category = vm.article.categories[0]; } - if(!vm.banner){ + if(!vm.banner && vm.article.image){ vm.banner = { src: $rootScope.basePath + vm.article.image.url, alt: 'Imagem de destaque do conteúdo' diff --git a/src/app/components/article-grid/article-grid.directive.js b/src/app/components/article-grid/article-grid.directive.js index 985a15b..7d8ded4 100644 --- a/src/app/components/article-grid/article-grid.directive.js +++ b/src/app/components/article-grid/article-grid.directive.js @@ -32,13 +32,9 @@ ArticleGridController.prototype.init = function() { var vm = this; - vm.ArticleService.getPrograms(function(programs){ - vm.articles = programs; - }); - - vm.ArticleService.getCategories(function(categories){ - vm.categories = categories; - }); + vm.articles = null; + vm.filtredArticleList = null; + vm.categories = null; vm.orderCriteries = [ { label: 'Título', name: 'titulo' }, @@ -46,7 +42,6 @@ { label: 'Aleatório', name: 'aleatorio' } ]; - vm.filtredArticleList = vm.getFiltredArticles(); vm.search = vm.$location.search(); // Add initial values for the filter @@ -70,6 +65,16 @@ angular.element('body').animate({scrollTop: $el.offset().top}, 'slow'); } + vm.loadData(function(){ + vm.filtredArticleList = vm.getFiltredArticles(); + }); + + vm.attachListeners(); + }; + + ArticleGridController.prototype.attachListeners = function() { + var vm = this; + // update window location params vm.$scope.$on('change-selectedCategory', function(event, selectedCategory){ vm.selectedCategory = selectedCategory; @@ -116,6 +121,30 @@ }); }; + ArticleGridController.prototype.loadData = function(cb) { + var vm = this; + + var articlesLoaded = false; + var categoriesLoaded = false; + + vm.ArticleService.getPrograms(function(programs){ + vm.articles = programs; + articlesLoaded = true; + endLoad(); + }); + + vm.ArticleService.getCategories(function(categories){ + vm.categories = categories; + categoriesLoaded = true; + endLoad(); + }); + + function endLoad () { + if(articlesLoaded && categoriesLoaded){ + cb(); + } + } + }; ArticleGridController.prototype.resetFilterValues = function() { var vm = this; diff --git a/src/app/index.route.js b/src/app/index.route.js index e2b0d14..446a820 100644 --- a/src/app/index.route.js +++ b/src/app/index.route.js @@ -56,7 +56,7 @@ 'main': { templateUrl: 'app/pages/programas/programas.html', controller: 'ProgramasPageController', - controllerAs: 'pagePrograma' + controllerAs: 'pageProgramas' }, 'footer': { templateUrl: 'app/pages/footer/footer.html' } } diff --git a/src/app/pages/programas/programas.html b/src/app/pages/programas/programas.html index b732b48..f067b11 100644 --- a/src/app/pages/programas/programas.html +++ b/src/app/pages/programas/programas.html @@ -1,3 +1,14 @@ -
-

TODO: Home > Programas

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