Commit 04836b51c0744cc47fe711ede6a0fd7751c8813a

Authored by Victor Costa
1 parent cbe750f8
Exists in master and in 1 other branch dev-fixes

Get profile boxes and blocks

src/app/components/noosfero/blocks/block.directive.js 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('angular')
  6 + .directive('noosferoBlock', noosferoBlock);
  7 +
  8 + /** @ngInject */
  9 + function noosferoBlock($compile) {
  10 + var directive = {
  11 + restrict: 'E',
  12 + scope: {
  13 + block: '='
  14 + },
  15 + link: function(scope, element, attrs) {
  16 + var blockName = scope.block.type.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
  17 + element.replaceWith($compile('<noosfero-'+blockName+' block="block"></noosfero-'+blockName+'>')(scope));
  18 + }
  19 + };
  20 + return directive;
  21 + }
  22 +
  23 +})();
... ...
src/app/components/noosfero/blocks/link-list.directive.js 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('angular')
  6 + .directive('noosferoLinkListBlock', noosferoLinkListBlock);
  7 +
  8 + /** @ngInject */
  9 + function noosferoLinkListBlock() {
  10 + var directive = {
  11 + restrict: 'E',
  12 + templateUrl: 'app/components/noosfero/blocks/link-list.html',
  13 + scope: {
  14 + block: '='
  15 + },
  16 + controller: LinkListBlockController,
  17 + controllerAs: 'vm',
  18 + bindToController: true
  19 + };
  20 +
  21 + return directive;
  22 +
  23 + /** @ngInject */
  24 + function LinkListBlockController(moment) {
  25 + var vm = this;
  26 + vm.links = vm.block.settings.links;
  27 + }
  28 + }
  29 +
  30 +})();
... ...
src/app/components/noosfero/blocks/link-list.html 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +<div ng-repeat="link in vm.links">
  2 + <a class="icon-{{link.icon}}" ng-href="{{link.address}}">{{link.name}}</a>
  3 +</div>
... ...
src/app/components/noosfero/blocks/profile-image.directive.js 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +(function() {
  2 + 'use strict';
  3 +
  4 + angular
  5 + .module('angular')
  6 + .directive('noosferoProfileImageBlock', noosferoProfileImageBlock);
  7 +
  8 + /** @ngInject */
  9 + function noosferoProfileImageBlock() {
  10 + var directive = {
  11 + restrict: 'E',
  12 + templateUrl: 'app/components/noosfero/blocks/profile-image.html',
  13 + scope: {
  14 + block: '='
  15 + },
  16 + controller: ProfileImageBlockController,
  17 + controllerAs: 'vm',
  18 + bindToController: true
  19 + };
  20 +
  21 + return directive;
  22 +
  23 + /** @ngInject */
  24 + function ProfileImageBlockController(moment) {
  25 + var vm = this;
  26 + vm.links = vm.block.settings.links;
  27 + }
  28 + }
  29 +
  30 +})();
... ...
src/app/components/noosfero/blocks/profile-image.html 0 → 100644
... ... @@ -0,0 +1 @@
  1 +image
... ...
src/app/components/noosfero/noosfero.service.js
... ... @@ -8,10 +8,5 @@
8 8 function communities() {
9 9 return $resource('/api/v1/communities/:id');
10 10 }
11   - // this.getBoxes = getBoxes;
12   - // function getBoxes() {
13   - // return [{id: 1, blocks: [{id: 1, type: 'test'}]},
14   - // {id: 2, blocks: [{id: 2, type: 'test2'}]}];
15   - // }
16 11 }
17 12 })();
... ...
src/app/main/main.controller.js
... ... @@ -6,16 +6,16 @@
6 6 .controller('MainController', MainController);
7 7  
8 8 /** @ngInject */
9   - function MainController($timeout, noosfero, toastr) {
  9 + function MainController($timeout, noosfero, $log) {
10 10 var vm = this;
11 11 vm.boxes = [];
12 12 activate();
13 13  
14 14 function activate() {
15   - var profile = noosfero.communities().get({id: 67, private_token: '1b00325e5f769a0c38550bd35b3f1d64'}, function () {
16   - console.log(profile);
  15 + noosfero.communities().get({id: 67, private_token: '1b00325e5f769a0c38550bd35b3f1d64'}).$promise.then(function (profile) {
  16 + $log.log(profile);
  17 + vm.boxes = profile.community.boxes;
17 18 });
18   - // vm.boxes = noosfero.getBoxes();
19 19 }
20 20 }
21 21 })();
... ...
src/app/main/main.html
... ... @@ -5,9 +5,7 @@
5 5 </div>
6 6  
7 7 <div class="row">
8   - <div class="col-sm-6 col-md-4" ng-repeat="box in main.boxes">
9   - {{box}}
10   - </div>
  8 + <ng-include ng-repeat="box in main.boxes | orderBy: 'position'" src="'app/views/profile/box.html'"></ng-include>
11 9 </div>
12 10  
13 11 </div>
... ...
src/app/pages/profile/box.html 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +<div class="col-sm-6 col-md-4" ng-repeat="box in main.boxes | orderBy: 'position'">
  2 + Box {{box.id}}->{{box.position}}
  3 + <ng-include ng-repeat="block in box.blocks | orderBy: 'position'" src="'app/views/profile/block.html'"></ng-include>
  4 +</div>
... ...
src/app/views/profile/block.html 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +<div class="panel panel-primary" >
  2 + <div class="panel-heading">
  3 + <h3 class="panel-title">{{block.title}}</h3>
  4 + </div>
  5 + <div class="panel-body">
  6 + <pre>{{block}}</pre>
  7 + <noosfero-block block="block"></noosfero-block>
  8 + </div>
  9 +</div>
... ...
src/app/views/profile/box.html 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +<div class="col-sm-6 col-md-4">
  2 + Box {{box.id}}->{{box.position}}
  3 + <ng-include ng-repeat="block in box.blocks | orderBy: 'position'" src="'app/views/profile/block.html'"></ng-include>
  4 +</div>
... ...