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) { | ... | ... |