diff --git a/src/client/app.js b/src/client/app.js
index 89078bcc..2cf6c4a5 100644
--- a/src/client/app.js
+++ b/src/client/app.js
@@ -18,9 +18,9 @@ import FooterLinks from './components/FooterLinks';
import PageSchool from './components/PageSchool';
import PageSchedule from './components/PageSchedule';
+import PageCollective from './components/PageCollective';
import AppController from './controllers/AppController';
-import CollectiveController from './controllers/CollectiveController';
import GalleryController from './controllers/GalleryController';
import AlbumController from './controllers/AlbumController';
import DocumentsController from './controllers/DocumentsController';
@@ -92,8 +92,8 @@ app.run(($location, $rootScope, $http) => {
TeacherProfile,
PageSchool,
PageSchedule,
+ PageCollective,
AppController,
- CollectiveController,
GalleryController,
AlbumController,
DocumentsController,
@@ -117,9 +117,5 @@ app.run(($location, $rootScope, $http) => {
app.controller('DocumentsPageController', ($scope) => {
$scope.pageClass = 'page-documents';
});
-
- app.controller('CollectivePageController', ($scope) => {
- $scope.pageClass = 'page-collective';
- });
}
].map(i => i(app));
diff --git a/src/client/components/PageCollective.js b/src/client/components/PageCollective.js
new file mode 100644
index 00000000..746a3728
--- /dev/null
+++ b/src/client/components/PageCollective.js
@@ -0,0 +1,16 @@
+import template from '../../templates/components/page-collective.html';
+import {collectiveSortPattern} from '../config';
+
+export default function (app) {
+ app.component('pageCollective', {
+ template: template,
+ controller: function(api) {
+ this.pageClass = 'page-collective';
+
+ api.collective.list(collectiveSortPattern)
+ .success(collective => {
+ this.members = collective;
+ });
+ }
+ });
+};
\ No newline at end of file
diff --git a/src/client/config.js b/src/client/config.js
index 54e62994..4d2e401d 100644
--- a/src/client/config.js
+++ b/src/client/config.js
@@ -32,8 +32,7 @@ export let routes = [
},
{
name: '/collective',
- templateUrl: '/views/collective.html',
- controller: 'CollectivePageController',
+ template: '