Commit fbc2b3c7e50f7f8e167526011a7462b0fdab43c5

Authored by Leonardo Merlin
1 parent 6b44a355

Get contents (about and terms) from endpoint

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