Commit fbc2b3c7e50f7f8e167526011a7462b0fdab43c5
1 parent
6b44a355
Exists in
master
and in
8 other branches
Get contents (about and terms) from endpoint
Showing
3 changed files
with
56 additions
and
19 deletions
Show diff stats
src/app/partials/article/article.controller.js
| @@ -6,23 +6,38 @@ | @@ -6,23 +6,38 @@ | ||
| 6 | .controller('ArticleController', ArticleController); | 6 | .controller('ArticleController', ArticleController); |
| 7 | 7 | ||
| 8 | /** @ngInject */ | 8 | /** @ngInject */ |
| 9 | - function ArticleController($state, $log) { | 9 | + function ArticleController(ArticleService, $state, $sce, $log) { |
| 10 | $log.debug('ArticleController'); | 10 | $log.debug('ArticleController'); |
| 11 | 11 | ||
| 12 | var vm = this; | 12 | var vm = this; |
| 13 | + vm.ArticleService = ArticleService; | ||
| 14 | + vm.$state = $state; | ||
| 15 | + vm.$sce = $sce; | ||
| 16 | + vm.$log = $log; | ||
| 13 | 17 | ||
| 14 | - vm.page = $state.current.name; | 18 | + vm.init(); |
| 19 | + } | ||
| 20 | + | ||
| 21 | + ArticleController.prototype.init = function() { | ||
| 22 | + var vm = this; | ||
| 15 | 23 | ||
| 16 | - switch ( $state.current.name ) { | 24 | + vm.page = vm.$state.current.name; |
| 25 | + vm.article = null; | ||
| 26 | + switch(vm.page){ | ||
| 17 | case 'sobre': | 27 | case 'sobre': |
| 28 | + vm.ArticleService.getAbout(handleSuccess); | ||
| 18 | break; | 29 | break; |
| 19 | case 'termos-de-uso': | 30 | case 'termos-de-uso': |
| 31 | + vm.ArticleService.getTerms(handleSuccess); | ||
| 20 | break; | 32 | break; |
| 21 | default: | 33 | default: |
| 22 | - $log.debug('$state.current.name', $state.current.name); | 34 | + vm.$log.warn('Page not handled:', vm.page); |
| 23 | break; | 35 | break; |
| 24 | } | 36 | } |
| 25 | 37 | ||
| 26 | - // page = $state.is('sobre'); | ||
| 27 | - } | 38 | + function handleSuccess (data) { |
| 39 | + vm.article = data.article; | ||
| 40 | + // vm.article.body = vm.$sce.trustAsHtml(vm.article.body); | ||
| 41 | + } | ||
| 42 | + }; | ||
| 28 | })(); | 43 | })(); |
src/app/partials/article/article.html
| 1 | -<article class="container" role="main"> | ||
| 2 | - | ||
| 3 | - Artigo <span>{{article.page}}</span> | ||
| 4 | - | ||
| 5 | -</article> | 1 | +<div class="container" role="main"> |
| 2 | + <span class="hide">{{::article.page}}</span> | ||
| 3 | + <div ng-if="article.article"> | ||
| 4 | + <article> | ||
| 5 | + <header> | ||
| 6 | + <h1>{{::article.article.title}}</h1> | ||
| 7 | + </header> | ||
| 8 | + <section ng-bind-html="article.article.body"></section> | ||
| 9 | + </article> | ||
| 10 | + </div> | ||
| 11 | +</div> |
src/app/partials/article/article.service.js
| @@ -10,11 +10,16 @@ | @@ -10,11 +10,16 @@ | ||
| 10 | $log.debug('ArticleService'); | 10 | $log.debug('ArticleService'); |
| 11 | 11 | ||
| 12 | var idArticleHome = '103358'; | 12 | var idArticleHome = '103358'; |
| 13 | + var idArticleAbout = '108073'; | ||
| 14 | + var idArticleTerms = '107880'; | ||
| 15 | + | ||
| 13 | var _savedAbstract = null; | 16 | var _savedAbstract = null; |
| 14 | 17 | ||
| 15 | var service = { | 18 | var service = { |
| 16 | apiArticles: $rootScope.basePath + '/api/v1/articles/', | 19 | apiArticles: $rootScope.basePath + '/api/v1/articles/', |
| 17 | getHome: getHome, | 20 | getHome: getHome, |
| 21 | + getAbout: getAbout, | ||
| 22 | + getTerms: getTerms, | ||
| 18 | getArticleById: getArticleById, | 23 | getArticleById: getArticleById, |
| 19 | getArticleBySlug: getArticleBySlug, | 24 | getArticleBySlug: getArticleBySlug, |
| 20 | setHomeAbstract: setHomeAbstract, | 25 | setHomeAbstract: setHomeAbstract, |
| @@ -25,13 +30,10 @@ | @@ -25,13 +30,10 @@ | ||
| 25 | 30 | ||
| 26 | return service; | 31 | return service; |
| 27 | 32 | ||
| 28 | - function loadArticleById (articleId, cbSuccess, cbError) { | 33 | + function loadArticleById (articleId, params, cbSuccess, cbError) { |
| 29 | 34 | ||
| 30 | var url = service.apiArticles + articleId; | 35 | var url = service.apiArticles + articleId; |
| 31 | - var params = { | ||
| 32 | - fields: 'id,children,categories,abstract,title,image,url,setting,position', | ||
| 33 | - private_token: 'null' | ||
| 34 | - }; | 36 | + var params = angular.extend({}, params); |
| 35 | 37 | ||
| 36 | UtilService.get(url, {params: params}).then(function(data){ | 38 | UtilService.get(url, {params: params}).then(function(data){ |
| 37 | CACHE[articleId] = data; | 39 | CACHE[articleId] = data; |
| @@ -41,19 +43,22 @@ | @@ -41,19 +43,22 @@ | ||
| 41 | }); | 43 | }); |
| 42 | } | 44 | } |
| 43 | 45 | ||
| 44 | - function getArticleById (articleId, cbSuccess, cbError) { | 46 | + function getArticleById (articleId, params, cbSuccess, cbError) { |
| 45 | var cachedArticle = CACHE[articleId]; | 47 | var cachedArticle = CACHE[articleId]; |
| 46 | 48 | ||
| 47 | if(cachedArticle){ | 49 | if(cachedArticle){ |
| 48 | cbSuccess(cachedArticle); | 50 | cbSuccess(cachedArticle); |
| 49 | }else{ | 51 | }else{ |
| 50 | - loadArticleById(articleId, cbSuccess, cbError); | 52 | + loadArticleById(articleId, params, cbSuccess, cbError); |
| 51 | } | 53 | } |
| 52 | } | 54 | } |
| 53 | 55 | ||
| 54 | function getArticleBySlug (slug, cbSuccess, cbError) { | 56 | function getArticleBySlug (slug, cbSuccess, cbError) { |
| 55 | var vm = this; | 57 | var vm = this; |
| 56 | 58 | ||
| 59 | + /** | ||
| 60 | + * XXX: get from home article util we have a endpoint to do-it. | ||
| 61 | + */ | ||
| 57 | vm.getHome(function (data) { | 62 | vm.getHome(function (data) { |
| 58 | var mainArticle = data.article; | 63 | var mainArticle = data.article; |
| 59 | var programList = mainArticle.children; | 64 | var programList = mainArticle.children; |
| @@ -81,7 +86,18 @@ | @@ -81,7 +86,18 @@ | ||
| 81 | } | 86 | } |
| 82 | 87 | ||
| 83 | function getHome (cbSuccess, cbError) { | 88 | function getHome (cbSuccess, cbError) { |
| 84 | - return getArticleById(idArticleHome, _handleCategoryColors(cbSuccess), cbError); | 89 | + return getArticleById(idArticleHome, { |
| 90 | + fields: 'id,children,categories,abstract,title,image,url,setting,position', | ||
| 91 | + private_token: 'null' | ||
| 92 | + }, _handleCategoryColors(cbSuccess), cbError); | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + function getAbout (cbSuccess, cbError) { | ||
| 96 | + return getArticleById(idArticleAbout, {}, cbSuccess, cbError); | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + function getTerms (cbSuccess, cbError) { | ||
| 100 | + return getArticleById(idArticleTerms, {}, cbSuccess, cbError); | ||
| 85 | } | 101 | } |
| 86 | 102 | ||
| 87 | function _handleCategoryColors (cbSuccess) { | 103 | function _handleCategoryColors (cbSuccess) { |