Commit ea70ea8f1a2edae5610a7e948124983e072798f2
1 parent
535ae571
Exists in
master
and in
37 other branches
Migrate some directives to components
Showing
35 changed files
with
285 additions
and
372 deletions
Show diff stats
src/app/components/noosfero-activities/activities.component.js
0 → 100644
@@ -0,0 +1,14 @@ | @@ -0,0 +1,14 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoActivities', { | ||
7 | + restrict: 'E', | ||
8 | + bindings: { | ||
9 | + activities: '<' | ||
10 | + }, | ||
11 | + templateUrl: 'app/components/noosfero-activities/activities.html' | ||
12 | + }); | ||
13 | + | ||
14 | +})(); |
src/app/components/noosfero-activities/activities.directive.js
@@ -1,20 +0,0 @@ | @@ -1,20 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoActivities', noosferoActivities); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoActivities() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - scope: { | ||
13 | - activities: '=' | ||
14 | - }, | ||
15 | - templateUrl: 'app/components/noosfero-activities/activities.html' | ||
16 | - }; | ||
17 | - return directive; | ||
18 | - } | ||
19 | - | ||
20 | -})(); |
src/app/components/noosfero-activities/activities.html
1 | <timeline> | 1 | <timeline> |
2 | - <timeline-event ng-repeat="activity in activities | orderBy: 'created_at':true"> | 2 | + <timeline-event ng-repeat="activity in $ctrl.activities | orderBy: 'created_at':true"> |
3 | <noosfero-activity activity="activity"></noosfero-activity> | 3 | <noosfero-activity activity="activity"></noosfero-activity> |
4 | </timeline-event> | 4 | </timeline-event> |
5 | </timeline> | 5 | </timeline> |
src/app/components/noosfero-activities/activity/activity.component.js
0 → 100644
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoActivity', { | ||
7 | + restrict: 'E', | ||
8 | + bindings: { | ||
9 | + activity: '<' | ||
10 | + }, | ||
11 | + templateUrl: 'app/components/noosfero-activities/activity/activity.html', | ||
12 | + replace: true, | ||
13 | + controller: ActivityController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function ActivityController() { | ||
18 | + var vm = this; | ||
19 | + vm.getActivityTemplate = function(activity) { | ||
20 | + return 'app/components/noosfero-activities/activity/' + activity.verb + '.html'; | ||
21 | + } | ||
22 | + } | ||
23 | + | ||
24 | +})(); |
src/app/components/noosfero-activities/activity/activity.directive.js
@@ -1,32 +0,0 @@ | @@ -1,32 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoActivity', noosferoActivity); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoActivity() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - scope: { | ||
13 | - activity: '=' | ||
14 | - }, | ||
15 | - templateUrl: 'app/components/noosfero-activities/activity/activity.html', | ||
16 | - replace: true, | ||
17 | - controller: ActivityController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - return directive; | ||
22 | - | ||
23 | - /** @ngInject */ | ||
24 | - function ActivityController() { | ||
25 | - var vm = this; | ||
26 | - vm.getActivityTemplate = function(activity) { | ||
27 | - return 'app/components/noosfero-activities/activity/' + activity.verb + '.html'; | ||
28 | - } | ||
29 | - } | ||
30 | - } | ||
31 | - | ||
32 | -})(); |
src/app/components/noosfero-activities/activity/activity.html
src/app/components/noosfero-activities/activity/add_member_in_community.html
@@ -4,10 +4,10 @@ | @@ -4,10 +4,10 @@ | ||
4 | <timeline-panel> | 4 | <timeline-panel> |
5 | <timeline-heading> | 5 | <timeline-heading> |
6 | <h4 class="timeline-title"> | 6 | <h4 class="timeline-title"> |
7 | - <a ui-sref="main.profile.info({profile: vm.activity.user.identifier})"><strong ng-bind="vm.activity.user.name"></strong></a> | 7 | + <a ui-sref="main.profile.info({profile: $ctrl.activity.user.identifier})"><strong ng-bind="$ctrl.activity.user.name"></strong></a> |
8 | <span> has joined the community</span> | 8 | <span> has joined the community</span> |
9 | </h4> | 9 | </h4> |
10 | - <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="vm.activity.created_at"></span></small></p> | 10 | + <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="$ctrl.activity.created_at"></span></small></p> |
11 | </timeline-heading> | 11 | </timeline-heading> |
12 | <div class="timeline-body"></div> | 12 | <div class="timeline-body"></div> |
13 | </timeline-panel> | 13 | </timeline-panel> |
src/app/components/noosfero-activities/activity/create_article.html
@@ -4,22 +4,22 @@ | @@ -4,22 +4,22 @@ | ||
4 | <timeline-panel> | 4 | <timeline-panel> |
5 | <timeline-heading> | 5 | <timeline-heading> |
6 | <h4 class="timeline-title"> | 6 | <h4 class="timeline-title"> |
7 | - <a ui-sref="main.profile.info({profile: vm.activity.user.identifier})"><strong ng-bind="vm.activity.user.name"></strong></a> | 7 | + <a ui-sref="main.profile.info({profile: $ctrl.activity.user.identifier})"><strong ng-bind="$ctrl.activity.user.name"></strong></a> |
8 | <span> has published on </span> | 8 | <span> has published on </span> |
9 | - <a ui-sref="main.profile.info({profile: vm.activity.target.article.profile.identifier})"> | ||
10 | - <strong ng-bind="vm.activity.target.article.profile.name"></strong></span> | 9 | + <a ui-sref="main.profile.info({profile: $ctrl.activity.target.article.profile.identifier})"> |
10 | + <strong ng-bind="$ctrl.activity.target.article.profile.name"></strong></span> | ||
11 | </a> | 11 | </a> |
12 | </h4> | 12 | </h4> |
13 | - <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="vm.activity.created_at"></span></small></p> | 13 | + <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="$ctrl.activity.created_at"></span></small></p> |
14 | </timeline-heading> | 14 | </timeline-heading> |
15 | <div class="timeline-body"> | 15 | <div class="timeline-body"> |
16 | <div class="article"> | 16 | <div class="article"> |
17 | <div class="title"> | 17 | <div class="title"> |
18 | - <a ui-sref="main.profile.page({profile: vm.activity.target.article.profile.identifier, page: vm.activity.target.article.path})" | ||
19 | - ng-bind="vm.activity.target.article.title"></a> | 18 | + <a ui-sref="main.profile.page({profile: $ctrl.activity.target.article.profile.identifier, page: $ctrl.activity.target.article.path})" |
19 | + ng-bind="$ctrl.activity.target.article.title"></a> | ||
20 | </div> | 20 | </div> |
21 | <div class="lead small"> | 21 | <div class="lead small"> |
22 | - <div ng-bind-html="vm.activity.target.article.body | stripTags | truncate: 100 : '...': true"></div> | 22 | + <div ng-bind-html="$ctrl.activity.target.article.body | stripTags | truncate: 100 : '...': true"></div> |
23 | </div> | 23 | </div> |
24 | </div> | 24 | </div> |
25 | </div> | 25 | </div> |
src/app/components/noosfero-activities/activity/new_friendship.html
@@ -4,15 +4,15 @@ | @@ -4,15 +4,15 @@ | ||
4 | <timeline-panel> | 4 | <timeline-panel> |
5 | <timeline-heading> | 5 | <timeline-heading> |
6 | <h4 class="timeline-title"> | 6 | <h4 class="timeline-title"> |
7 | - <a ui-sref="main.profile.info({profile: vm.activity.user.identifier})"><strong ng-bind="vm.activity.user.name"></strong></a> | ||
8 | - <span> has made <span ng-bind="vm.activity.params.friend_name.length"></span> new friend(s): </span> | 7 | + <a ui-sref="main.profile.info({profile: $ctrl.activity.user.identifier})"><strong ng-bind="$ctrl.activity.user.name"></strong></a> |
8 | + <span> has made <span ng-bind="$ctrl.activity.params.friend_name.length"></span> new friend(s): </span> | ||
9 | <span class="comma-separated"> | 9 | <span class="comma-separated"> |
10 | - <a class="separated-item" ui-sref="main.profile.info({profile: vm.activity.params.friend_url[$index].profile})" ng-repeat="friend in vm.activity.params.friend_name"> | 10 | + <a class="separated-item" ui-sref="main.profile.info({profile: $ctrl.activity.params.friend_url[$index].profile})" ng-repeat="friend in $ctrl.activity.params.friend_name"> |
11 | <strong ng-bind="friend"></strong> | 11 | <strong ng-bind="friend"></strong> |
12 | </a> | 12 | </a> |
13 | </span> | 13 | </span> |
14 | </h4> | 14 | </h4> |
15 | - <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="vm.activity.created_at"></span></small></p> | 15 | + <p><small class="text-muted"><i class="fa fa-clock-o"></i> <span am-time-ago="$ctrl.activity.created_at"></span></small></p> |
16 | </timeline-heading> | 16 | </timeline-heading> |
17 | <div class="timeline-body"></div> | 17 | <div class="timeline-body"></div> |
18 | </timeline-panel> | 18 | </timeline-panel> |
src/app/components/noosfero-articles/article/article.directive.js
@@ -11,8 +11,8 @@ | @@ -11,8 +11,8 @@ | ||
11 | restrict: 'E', | 11 | restrict: 'E', |
12 | templateUrl: 'app/components/noosfero-articles/article/article.html', | 12 | templateUrl: 'app/components/noosfero-articles/article/article.html', |
13 | scope: { | 13 | scope: { |
14 | - article: '=', | ||
15 | - profile: '=' | 14 | + article: '<', |
15 | + profile: '<' | ||
16 | }, | 16 | }, |
17 | controller: ArticleController, | 17 | controller: ArticleController, |
18 | controllerAs: 'vm', | 18 | controllerAs: 'vm', |
src/app/components/noosfero-articles/blog/blog.component.js
0 → 100644
@@ -0,0 +1,36 @@ | @@ -0,0 +1,36 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoBlog', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-articles/blog/blog.html', | ||
9 | + bindings: { | ||
10 | + article: '<', | ||
11 | + profile: '<' | ||
12 | + }, | ||
13 | + controller: BlogController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function BlogController(noosfero) { | ||
18 | + var vm = this; | ||
19 | + vm.posts = []; | ||
20 | + vm.perPage = 3; | ||
21 | + vm.currentPage = 1; | ||
22 | + | ||
23 | + vm.loadPage = function() { | ||
24 | + noosfero.articles.one(vm.article.id).customGET('children', { | ||
25 | + content_type: 'TinyMceArticle', | ||
26 | + per_page: vm.perPage, | ||
27 | + page: vm.currentPage | ||
28 | + }).then(function(response) { | ||
29 | + vm.totalPosts = response.headers('total'); | ||
30 | + vm.posts = response.data.articles; | ||
31 | + }); | ||
32 | + } | ||
33 | + vm.loadPage(); | ||
34 | + } | ||
35 | + | ||
36 | +})(); |
src/app/components/noosfero-articles/blog/blog.directive.js
@@ -1,45 +0,0 @@ | @@ -1,45 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoBlog', noosferoBlog); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoBlog() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - templateUrl: 'app/components/noosfero-articles/blog/blog.html', | ||
13 | - scope: { | ||
14 | - article: '=', | ||
15 | - profile: '=' | ||
16 | - }, | ||
17 | - controller: BlogController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function BlogController(noosfero) { | ||
26 | - var vm = this; | ||
27 | - vm.posts = []; | ||
28 | - vm.perPage = 3; | ||
29 | - vm.currentPage = 1; | ||
30 | - | ||
31 | - vm.loadPage = function() { | ||
32 | - noosfero.articles.one(vm.article.id).customGET('children', { | ||
33 | - content_type: 'TinyMceArticle', | ||
34 | - per_page: vm.perPage, | ||
35 | - page: vm.currentPage | ||
36 | - }).then(function(response) { | ||
37 | - vm.totalPosts = response.headers('total'); | ||
38 | - vm.posts = response.data.articles; | ||
39 | - }); | ||
40 | - } | ||
41 | - vm.loadPage(); | ||
42 | - } | ||
43 | - } | ||
44 | - | ||
45 | -})(); |
src/app/components/noosfero-articles/blog/blog.html
1 | <div class="blog"> | 1 | <div class="blog"> |
2 | - <div class="blog-cover" ng-show="vm.article.image"> | ||
3 | - <img ng-src="{{vm.article.image.url}}" class="img-responsive"> | ||
4 | - <h3 ng-bind="vm.article.title"></h3> | 2 | + <div class="blog-cover" ng-show="$ctrl.article.image"> |
3 | + <img ng-src="{{$ctrl.article.image.url}}" class="img-responsive"> | ||
4 | + <h3 ng-bind="$ctrl.article.title"></h3> | ||
5 | </div> | 5 | </div> |
6 | 6 | ||
7 | - <div class="page-header" ng-show="!vm.article.image"> | ||
8 | - <h3 ng-bind="vm.article.title"></h3> | 7 | + <div class="page-header" ng-show="!$ctrl.article.image"> |
8 | + <h3 ng-bind="$ctrl.article.title"></h3> | ||
9 | </div> | 9 | </div> |
10 | 10 | ||
11 | <div> | 11 | <div> |
12 | - <div ng-repeat="child in vm.posts | orderBy: 'created_at':true"> | 12 | + <div ng-repeat="child in $ctrl.posts | orderBy: 'created_at':true"> |
13 | <div class="page-header"> | 13 | <div class="page-header"> |
14 | - <a class="title" ui-sref="main.profile.page({profile: vm.profile.identifier, page: child.path})"><h4 ng-bind="child.title"></h4></a> | 14 | + <a class="title" ui-sref="main.profile.page({profile: $ctrl.profile.identifier, page: child.path})"><h4 ng-bind="child.title"></h4></a> |
15 | <div class="post-lead" ng-bind-html="child.body | truncate: 500: '...': true"></div> | 15 | <div class="post-lead" ng-bind-html="child.body | truncate: 500: '...': true"></div> |
16 | </div> | 16 | </div> |
17 | </div> | 17 | </div> |
18 | </div> | 18 | </div> |
19 | 19 | ||
20 | - <pagination ng-model="vm.currentPage" total-items="vm.totalPosts" class="pagination-sm center-block" | ||
21 | - boundary-links="true" items-per-page="vm.perPage" ng-change="vm.loadPage()" | 20 | + <pagination ng-model="$ctrl.currentPage" total-items="$ctrl.totalPosts" class="pagination-sm center-block" |
21 | + boundary-links="true" items-per-page="$ctrl.perPage" ng-change="$ctrl.loadPage()" | ||
22 | first-text="«" last-text="»" previous-text="‹" next-text="›"> | 22 | first-text="«" last-text="»" previous-text="‹" next-text="›"> |
23 | </pagination> | 23 | </pagination> |
24 | </div> | 24 | </div> |
src/app/components/noosfero-blocks/block.directive.js
@@ -10,8 +10,8 @@ | @@ -10,8 +10,8 @@ | ||
10 | var directive = { | 10 | var directive = { |
11 | restrict: 'E', | 11 | restrict: 'E', |
12 | scope: { | 12 | scope: { |
13 | - block: '=', | ||
14 | - owner: '=' | 13 | + block: '<', |
14 | + owner: '<' | ||
15 | }, | 15 | }, |
16 | link: function(scope, element) { | 16 | link: function(scope, element) { |
17 | var blockName = scope.block.type.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | 17 | var blockName = scope.block.type.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); |
src/app/components/noosfero-blocks/link-list/link-list.component.js
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoLinkListBlock', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-blocks/link-list/link-list.html', | ||
9 | + bindings: { | ||
10 | + block: '<', | ||
11 | + owner: '<' | ||
12 | + }, | ||
13 | + controller: LinkListBlockController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function LinkListBlockController() { | ||
18 | + this.links = this.block.settings.links; | ||
19 | + } | ||
20 | + | ||
21 | +})(); |
src/app/components/noosfero-blocks/link-list/link-list.directive.js
@@ -1,31 +0,0 @@ | @@ -1,31 +0,0 @@ | ||
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/link-list.html', | ||
13 | - scope: { | ||
14 | - block: '=', | ||
15 | - owner: '=' | ||
16 | - }, | ||
17 | - controller: LinkListBlockController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function LinkListBlockController() { | ||
26 | - var vm = this; | ||
27 | - vm.links = vm.block.settings.links; | ||
28 | - } | ||
29 | - } | ||
30 | - | ||
31 | -})(); |
src/app/components/noosfero-blocks/link-list/link-list.html
1 | <div class="link-list-block"> | 1 | <div class="link-list-block"> |
2 | - <div ng-repeat="link in vm.links"> | ||
3 | - <a ng-href="{{link.address | noosferoTemplateFilter:{profile: vm.owner.identifier} }}"> | 2 | + <div ng-repeat="link in $ctrl.links"> |
3 | + <a ng-href="{{link.address | noosferoTemplateFilter:{profile: $ctrl.owner.identifier} }}"> | ||
4 | <i class="fa fa-fw icon-{{link.icon}}"></i> <span>{{link.name}}</span> | 4 | <i class="fa fa-fw icon-{{link.icon}}"></i> <span>{{link.name}}</span> |
5 | </a> | 5 | </a> |
6 | </div> | 6 | </div> |
src/app/components/noosfero-blocks/main-block/main-block.component.js
0 → 100644
@@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoMainBlock', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-blocks/main-block/main-block.html', | ||
9 | + bindings: { | ||
10 | + block: '<', | ||
11 | + owner: '<' | ||
12 | + }, | ||
13 | + controller: MainBlockController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function MainBlockController() { | ||
18 | + } | ||
19 | + | ||
20 | +})(); |
src/app/components/noosfero-blocks/main-block/main-block.directive.js
@@ -1,29 +0,0 @@ | @@ -1,29 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoMainBlock', noosferoMainBlock); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoMainBlock() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - templateUrl: 'app/components/noosfero-blocks/main-block/main-block.html', | ||
13 | - scope: { | ||
14 | - block: '=', | ||
15 | - owner: '=' | ||
16 | - }, | ||
17 | - controller: MainBlockController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function MainBlockController() { | ||
26 | - } | ||
27 | - } | ||
28 | - | ||
29 | -})(); |
src/app/components/noosfero-blocks/members-block/members-block.component.js
0 → 100644
@@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoMembersBlock', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-blocks/members-block/members-block.html', | ||
9 | + bindings: { | ||
10 | + block: '<', | ||
11 | + owner: '<' | ||
12 | + }, | ||
13 | + controller: MembersBlockController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function MembersBlockController(noosfero) { | ||
18 | + var vm = this; | ||
19 | + vm.members = []; | ||
20 | + | ||
21 | + noosfero.members(noosfero.profiles.one(vm.owner.id)).one().get({per_page: 6}).then(function(response) { | ||
22 | + vm.members = response.data.people; | ||
23 | + }); | ||
24 | + } | ||
25 | + | ||
26 | +})(); |
src/app/components/noosfero-blocks/members-block/members-block.directive.js
@@ -1,35 +0,0 @@ | @@ -1,35 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoMembersBlock', noosferoMembersBlock); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoMembersBlock() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - templateUrl: 'app/components/noosfero-blocks/members-block/members-block.html', | ||
13 | - scope: { | ||
14 | - block: '=', | ||
15 | - owner: '=' | ||
16 | - }, | ||
17 | - controller: MembersBlockController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function MembersBlockController(noosfero) { | ||
26 | - var vm = this; | ||
27 | - vm.members = []; | ||
28 | - | ||
29 | - noosfero.members(noosfero.profiles.one(vm.owner.id)).one().get({per_page: 6}).then(function(response) { | ||
30 | - vm.members = response.data.people; | ||
31 | - }); | ||
32 | - } | ||
33 | - } | ||
34 | - | ||
35 | -})(); |
src/app/components/noosfero-blocks/members-block/members-block.html
1 | <div class="members-block"> | 1 | <div class="members-block"> |
2 | - <a ng-repeat="member in vm.members" ui-sref="main.profile({profile: member.identifier})" class="member"> | 2 | + <a ng-repeat="member in $ctrl.members" ui-sref="main.profile({profile: member.identifier})" class="member"> |
3 | <noosfero-profile-image profile="member"></noosfero-profile-image> | 3 | <noosfero-profile-image profile="member"></noosfero-profile-image> |
4 | </a> | 4 | </a> |
5 | </div> | 5 | </div> |
src/app/components/noosfero-blocks/profile-image/profile-image.component.js
0 → 100644
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoProfileImageBlock', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-blocks/profile-image/profile-image.html', | ||
9 | + bindings: { | ||
10 | + block: '<', | ||
11 | + owner: '<' | ||
12 | + }, | ||
13 | + controller: ProfileImageBlockController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function ProfileImageBlockController() { | ||
18 | + var vm = this; | ||
19 | + vm.profile = vm.owner; | ||
20 | + } | ||
21 | + | ||
22 | +})(); |
src/app/components/noosfero-blocks/profile-image/profile-image.directive.js
@@ -1,31 +0,0 @@ | @@ -1,31 +0,0 @@ | ||
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/profile-image.html', | ||
13 | - scope: { | ||
14 | - block: '=', | ||
15 | - owner: '=' | ||
16 | - }, | ||
17 | - controller: ProfileImageBlockController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function ProfileImageBlockController() { | ||
26 | - var vm = this; | ||
27 | - vm.profile = vm.owner; | ||
28 | - } | ||
29 | - } | ||
30 | - | ||
31 | -})(); |
src/app/components/noosfero-blocks/profile-image/profile-image.html
1 | <div class="center-block text-center profile-image-block"> | 1 | <div class="center-block text-center profile-image-block"> |
2 | - <a ui-sref="main.profile.info({profile: vm.owner.identifier})"> | ||
3 | - <noosfero-profile-image profile="vm.owner"></noosfero-profile-image> | 2 | + <a ui-sref="main.profile.info({profile: $ctrl.owner.identifier})"> |
3 | + <noosfero-profile-image profile="$ctrl.owner"></noosfero-profile-image> | ||
4 | </a> | 4 | </a> |
5 | - <a class="settings-link" target="_self" ui-sref="main.profile.settings({profile: vm.owner.identifier})">Control panel</a> | 5 | + <a class="settings-link" target="_self" ui-sref="main.profile.settings({profile: $ctrl.owner.identifier})">Control panel</a> |
6 | </div> | 6 | </div> |
src/app/components/noosfero-blocks/recent-documents/recent-documents.component.js
0 → 100644
@@ -0,0 +1,33 @@ | @@ -0,0 +1,33 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoRecentDocumentsBlock', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero-blocks/recent-documents/recent-documents.html', | ||
9 | + bindings: { | ||
10 | + block: '<', | ||
11 | + owner: '<' | ||
12 | + }, | ||
13 | + controller: RecentDocumentsController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function RecentDocumentsController(noosfero, $state) { | ||
18 | + var vm = this; | ||
19 | + vm.profile = vm.owner; | ||
20 | + vm.documents = []; | ||
21 | + | ||
22 | + vm.openDocument = function(article) { | ||
23 | + $state.go("main.profile.page", {page: article.path, profile: article.profile.identifier}); | ||
24 | + } | ||
25 | + | ||
26 | + var limit = vm.block.settings.limit || 5; | ||
27 | + //FIXME get all text articles | ||
28 | + noosfero.profiles.one(vm.profile.id).one('articles').get({content_type: 'TinyMceArticle', per_page: limit}).then(function(response) { | ||
29 | + vm.documents = response.data.articles; | ||
30 | + }); | ||
31 | + } | ||
32 | + | ||
33 | +})(); |
src/app/components/noosfero-blocks/recent-documents/recent-documents.directive.js
@@ -1,42 +0,0 @@ | @@ -1,42 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoRecentDocumentsBlock', noosferoRecentDocumentsBlock); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoRecentDocumentsBlock() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - templateUrl: 'app/components/noosfero-blocks/recent-documents/recent-documents.html', | ||
13 | - scope: { | ||
14 | - block: '=', | ||
15 | - owner: '=' | ||
16 | - }, | ||
17 | - controller: RecentDocumentsController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function RecentDocumentsController(noosfero, $state) { | ||
26 | - var vm = this; | ||
27 | - vm.profile = vm.owner; | ||
28 | - vm.documents = []; | ||
29 | - | ||
30 | - vm.openDocument = function(article) { | ||
31 | - $state.go("main.profile.page", {page: article.path, profile: article.profile.identifier}); | ||
32 | - } | ||
33 | - | ||
34 | - var limit = vm.block.settings.limit || 5; | ||
35 | - //FIXME get all text articles | ||
36 | - noosfero.profiles.one(vm.profile.id).one('articles').get({content_type: 'TinyMceArticle', per_page: limit}).then(function(response) { | ||
37 | - vm.documents = response.data.articles; | ||
38 | - }); | ||
39 | - } | ||
40 | - } | ||
41 | - | ||
42 | -})(); |
src/app/components/noosfero-blocks/recent-documents/recent-documents.html
1 | -<div deckgrid source="vm.documents" class="deckgrid"> | ||
2 | - <div class="a-card panel media" ng-click="mother.vm.openDocument(card);"> | 1 | +<div deckgrid source="$ctrl.documents" class="deckgrid"> |
2 | + <div class="a-card panel media" ng-click="mother.$ctrl.openDocument(card);"> | ||
3 | <div class="author media-left" ng-show="card.author.image"> | 3 | <div class="author media-left" ng-show="card.author.image"> |
4 | <img ng-src="{{card.author.image.url}}" class="img-circle"> | 4 | <img ng-src="{{card.author.image.url}}" class="img-circle"> |
5 | </div> | 5 | </div> |
src/app/components/noosfero-boxes/box.html
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | <h3 class="panel-title">{{block.title}}</h3> | 4 | <h3 class="panel-title">{{block.title}}</h3> |
5 | </div> | 5 | </div> |
6 | <div class="panel-body"> | 6 | <div class="panel-body"> |
7 | - <noosfero-block block="block" owner="vm.owner"></noosfero-block> | 7 | + <noosfero-block block="block" owner="$ctrl.owner"></noosfero-block> |
8 | </div> | 8 | </div> |
9 | </div> | 9 | </div> |
10 | </div> | 10 | </div> |
@@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoBoxes', { | ||
7 | + restrict: 'E', | ||
8 | + bindings: { | ||
9 | + boxes: '<', | ||
10 | + owner: '<' | ||
11 | + }, | ||
12 | + templateUrl: 'app/components/noosfero-boxes/boxes.html', | ||
13 | + controller: BoxesController | ||
14 | + }); | ||
15 | + | ||
16 | + /** @ngInject */ | ||
17 | + function BoxesController() { | ||
18 | + var vm = this; | ||
19 | + | ||
20 | + vm.boxesOrder = function(box) { | ||
21 | + if(box.position==2) return 0; | ||
22 | + return box.position; | ||
23 | + } | ||
24 | + } | ||
25 | + | ||
26 | +})(); |
src/app/components/noosfero-boxes/boxes.directive.js
@@ -1,35 +0,0 @@ | @@ -1,35 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoBoxes', noosferoBoxes); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoBoxes() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - scope: { | ||
13 | - boxes: '=', | ||
14 | - owner: '=' | ||
15 | - }, | ||
16 | - templateUrl: 'app/components/noosfero-boxes/boxes.html', | ||
17 | - controller: BoxesController, | ||
18 | - controllerAs: 'vm', | ||
19 | - bindToController: true | ||
20 | - }; | ||
21 | - | ||
22 | - return directive; | ||
23 | - | ||
24 | - /** @ngInject */ | ||
25 | - function BoxesController() { | ||
26 | - var vm = this; | ||
27 | - | ||
28 | - vm.boxesOrder = function(box) { | ||
29 | - if(box.position==2) return 0; | ||
30 | - return box.position; | ||
31 | - } | ||
32 | - } | ||
33 | - } | ||
34 | - | ||
35 | -})(); |
src/app/components/noosfero-boxes/boxes.html
src/app/components/noosfero/profile-image/profile-image.component.js
0 → 100644
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +(function() { | ||
2 | + 'use strict'; | ||
3 | + | ||
4 | + angular | ||
5 | + .module('angular') | ||
6 | + .component('noosferoProfileImage', { | ||
7 | + restrict: 'E', | ||
8 | + templateUrl: 'app/components/noosfero/profile-image/profile-image.html', | ||
9 | + bindings: { | ||
10 | + profile: '<' | ||
11 | + }, | ||
12 | + controller: ProfileImageController | ||
13 | + }); | ||
14 | + | ||
15 | + /** @ngInject */ | ||
16 | + function ProfileImageController() { | ||
17 | + var vm = this; | ||
18 | + vm.defaultIcon = 'fa-users'; | ||
19 | + if(vm.profile && vm.profile.type==='Person') vm.defaultIcon = 'fa-user'; | ||
20 | + } | ||
21 | + | ||
22 | +})(); |
src/app/components/noosfero/profile-image/profile-image.directive.js
@@ -1,31 +0,0 @@ | @@ -1,31 +0,0 @@ | ||
1 | -(function() { | ||
2 | - 'use strict'; | ||
3 | - | ||
4 | - angular | ||
5 | - .module('angular') | ||
6 | - .directive('noosferoProfileImage', noosferoProfileImage); | ||
7 | - | ||
8 | - /** @ngInject */ | ||
9 | - function noosferoProfileImage() { | ||
10 | - var directive = { | ||
11 | - restrict: 'E', | ||
12 | - templateUrl: 'app/components/noosfero/profile-image/profile-image.html', | ||
13 | - scope: { | ||
14 | - profile: '=' | ||
15 | - }, | ||
16 | - controller: ProfileImageController, | ||
17 | - controllerAs: 'vm', | ||
18 | - bindToController: true | ||
19 | - }; | ||
20 | - | ||
21 | - return directive; | ||
22 | - | ||
23 | - /** @ngInject */ | ||
24 | - function ProfileImageController() { | ||
25 | - var vm = this; | ||
26 | - vm.defaultIcon = 'fa-users'; | ||
27 | - if(vm.profile && vm.profile.type==='Person') vm.defaultIcon = 'fa-user'; | ||
28 | - } | ||
29 | - } | ||
30 | - | ||
31 | -})(); |
src/app/components/noosfero/profile-image/profile-image.html
1 | -<span title="{{vm.profile.name}}"> | ||
2 | - <img ng-if="vm.profile.image" ng-src="{{vm.profile.image.url}}" class="img-responsive profile-image"> | ||
3 | - <i ng-if="!vm.profile.image" class="fa {{vm.defaultIcon}} fa-5x profile-image"></i> | 1 | +<span title="{{$ctrl.profile.name}}"> |
2 | + <img ng-if="$ctrl.profile.image" ng-src="{{$ctrl.profile.image.url}}" class="img-responsive profile-image"> | ||
3 | + <i ng-if="!$ctrl.profile.image" class="fa {{$ctrl.defaultIcon}} fa-5x profile-image"></i> | ||
4 | </span> | 4 | </span> |