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 | 6 | .controller('ArticleController', ArticleController); |
| 7 | 7 | |
| 8 | 8 | /** @ngInject */ |
| 9 | - function ArticleController($state, $log) { | |
| 9 | + function ArticleController(ArticleService, $state, $sce, $log) { | |
| 10 | 10 | $log.debug('ArticleController'); |
| 11 | 11 | |
| 12 | 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 | 27 | case 'sobre': |
| 28 | + vm.ArticleService.getAbout(handleSuccess); | |
| 18 | 29 | break; |
| 19 | 30 | case 'termos-de-uso': |
| 31 | + vm.ArticleService.getTerms(handleSuccess); | |
| 20 | 32 | break; |
| 21 | 33 | default: |
| 22 | - $log.debug('$state.current.name', $state.current.name); | |
| 34 | + vm.$log.warn('Page not handled:', vm.page); | |
| 23 | 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 | 10 | $log.debug('ArticleService'); |
| 11 | 11 | |
| 12 | 12 | var idArticleHome = '103358'; |
| 13 | + var idArticleAbout = '108073'; | |
| 14 | + var idArticleTerms = '107880'; | |
| 15 | + | |
| 13 | 16 | var _savedAbstract = null; |
| 14 | 17 | |
| 15 | 18 | var service = { |
| 16 | 19 | apiArticles: $rootScope.basePath + '/api/v1/articles/', |
| 17 | 20 | getHome: getHome, |
| 21 | + getAbout: getAbout, | |
| 22 | + getTerms: getTerms, | |
| 18 | 23 | getArticleById: getArticleById, |
| 19 | 24 | getArticleBySlug: getArticleBySlug, |
| 20 | 25 | setHomeAbstract: setHomeAbstract, |
| ... | ... | @@ -25,13 +30,10 @@ |
| 25 | 30 | |
| 26 | 31 | return service; |
| 27 | 32 | |
| 28 | - function loadArticleById (articleId, cbSuccess, cbError) { | |
| 33 | + function loadArticleById (articleId, params, cbSuccess, cbError) { | |
| 29 | 34 | |
| 30 | 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 | 38 | UtilService.get(url, {params: params}).then(function(data){ |
| 37 | 39 | CACHE[articleId] = data; |
| ... | ... | @@ -41,19 +43,22 @@ |
| 41 | 43 | }); |
| 42 | 44 | } |
| 43 | 45 | |
| 44 | - function getArticleById (articleId, cbSuccess, cbError) { | |
| 46 | + function getArticleById (articleId, params, cbSuccess, cbError) { | |
| 45 | 47 | var cachedArticle = CACHE[articleId]; |
| 46 | 48 | |
| 47 | 49 | if(cachedArticle){ |
| 48 | 50 | cbSuccess(cachedArticle); |
| 49 | 51 | }else{ |
| 50 | - loadArticleById(articleId, cbSuccess, cbError); | |
| 52 | + loadArticleById(articleId, params, cbSuccess, cbError); | |
| 51 | 53 | } |
| 52 | 54 | } |
| 53 | 55 | |
| 54 | 56 | function getArticleBySlug (slug, cbSuccess, cbError) { |
| 55 | 57 | var vm = this; |
| 56 | 58 | |
| 59 | + /** | |
| 60 | + * XXX: get from home article util we have a endpoint to do-it. | |
| 61 | + */ | |
| 57 | 62 | vm.getHome(function (data) { |
| 58 | 63 | var mainArticle = data.article; |
| 59 | 64 | var programList = mainArticle.children; |
| ... | ... | @@ -81,7 +86,18 @@ |
| 81 | 86 | } |
| 82 | 87 | |
| 83 | 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 | 103 | function _handleCategoryColors (cbSuccess) { | ... | ... |