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