Skip to content

Commit 9473d81

Browse files
committed
refactor(admin): convert to component
Previously, admin was implemented as a loosely coupled controller. Converting it to a full component makes it consistent with main and generated components.
1 parent d0fad3e commit 9473d81

File tree

8 files changed

+27
-27
lines changed

8 files changed

+27
-27
lines changed

Diff for: src/test/get-expected-files.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ export function app(options) {
176176
'client/app/account/signup/signup.' + markup,
177177
'client/app/account/signup/index.' + script,
178178
'client/app/account/signup/signup.controller.' + script,
179-
'client/app/admin/index.' + script,
179+
'client/app/admin/admin.component.' + script,
180180
'client/app/admin/admin.' + markup,
181181
'client/app/admin/admin.' + stylesheet,
182182
'client/app/admin/admin.controller.' + script,
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<div class="container">
22
<p>The delete user and user index api routes are restricted to users with the 'admin' role.</p>
33
<ul class="list-group user-list">
4-
<li class="list-group-item" ng-repeat="user in admin.users">
4+
<li class="list-group-item" ng-repeat="user in $ctrl.users">
55
<div class="user-info">
66
<strong>{{user.name}}</strong><br>
77
<span class="text-muted">{{user.email}}</span>
88
</div>
9-
<a ng-click="admin.delete(user)" class="trash"><span class="fa fa-trash fa-2x"></span></a>
9+
<a ng-click="$ctrl.delete(user)" class="trash"><span class="fa fa-trash fa-2x"></span></a>
1010
</li>
1111
</ul>
1212
</div>

Diff for: templates/app/client/app/admin(auth)/admin(pug).pug

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
p
33
| The delete user and user index api routes are restricted to users with the 'admin' role.
44
ul.list-group
5-
li.list-group-item(ng-repeat='user in admin.users')
5+
li.list-group-item(ng-repeat='user in $ctrl.users')
66
strong {{user.name}}
77
br
88
span.text-muted {{user.email}}
9-
a.trash(ng-click='admin.delete(user)')
9+
a.trash(ng-click='$ctrl.delete(user)')
1010
span.glyphicon.glyphicon-trash.pull-right
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
'use strict';
2+
import angular from 'angular';<% if (filters.uirouter) { %>
3+
import uiRouter from 'angular-ui-router';<% } %>
4+
import routes from './admin.routes';
5+
import AdminController from './admin.controller';
6+
7+
export default angular.module('<%= scriptAppName %>.admin', ['<%= scriptAppName %>.auth'<% if (filters.ngroute) { %>,
8+
'ngRoute'<% } if (filters.uirouter) { %>, uiRouter<% } %>])
9+
.config(routes)
10+
.component('admin', {
11+
template: require('./admin.<%= templateExt %>'),
12+
controller: AdminController
13+
})
14+
.name;

Diff for: templates/app/client/app/admin(auth)/admin.controller.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ export default class AdminController {
77
<%_ } _%>
88
/*@ngInject*/
99
constructor(User) {
10-
// Use the User $resource to fetch all users
11-
this.users = User.query();
10+
this.User = User;
11+
}
12+
13+
$onInit() {
14+
this.users = this.User.query(); // Fetch all users
1215
}
1316

1417
delete(user) {

Diff for: templates/app/client/app/admin(auth)/admin.routes.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ export default function routes($routeProvider) {
55
'ngInject';
66
$routeProvider
77
.when('/admin', {
8-
template: require('./admin.<%= templateExt %>'),
9-
controller: 'AdminController',
10-
controllerAs: 'admin',
8+
template: '<admin></admin>',
119
authenticate: 'admin'
1210
});
1311
};<% } %>
@@ -17,9 +15,7 @@ export default function routes($stateProvider) {
1715
$stateProvider
1816
.state('admin', {
1917
url: '/admin',
20-
template: require('./admin.<%= templateExt %>'),
21-
controller: 'AdminController',
22-
controllerAs: 'admin',
18+
template: '<admin></admin>',
2319
authenticate: 'admin'
2420
});
2521
};<% } %>

Diff for: templates/app/client/app/admin(auth)/index.js

-13
This file was deleted.

Diff for: templates/app/client/app/app.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {routeConfig} from './app.config';
2222
<%_ if(filters.auth) { _%>
2323
import _Auth from '../components/auth/auth.module';
2424
import account from './account';
25-
import admin from './admin';<% } %>
25+
import admin from './admin/admin.component';<% } %>
2626
import navbar from '../components/navbar/navbar.component';
2727
import footer from '../components/footer/footer.component';
2828
import main from './main/main.component';

0 commit comments

Comments
 (0)