Reorganization of Angular modules.
Project: http://git-wip-us.apache.org/repos/asf/rave/repo Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/277e58a4 Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/277e58a4 Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/277e58a4 Branch: refs/heads/angular Commit: 277e58a449483f6b2cf3787034372f2663f3e65b Parents: 7ea6f7e Author: Jmeas <[email protected]> Authored: Mon Aug 11 12:23:48 2014 -0400 Committer: Jmeas <[email protected]> Committed: Mon Aug 11 17:24:21 2014 -0400 ---------------------------------------------------------------------- rave-portal-ng/src/index.js | 30 ++-- rave-portal-ng/src/providers/api/api-route.js | 11 ++ .../src/providers/values/api-route.js | 7 - rave-portal-ng/src/rave.js | 47 ++++-- rave-portal-ng/src/routes.js | 25 +-- rave-portal-ng/src/subapps/admin/admin.html | 37 ----- rave-portal-ng/src/subapps/admin/admin.js | 53 ++++--- .../subapps/admin/categories/categories.html | 54 ------- .../src/subapps/admin/categories/categories.js | 40 +++++ .../admin/categories/category/category.html | 14 -- .../admin/categories/controllers/categories.js | 6 + .../admin/categories/controllers/category.js | 6 + .../admin/categories/resources/categories.js | 8 +- .../admin/categories/resources/category.js | 6 + .../src/subapps/admin/categories/routes.js | 23 ++- .../admin/categories/templates/categories.html | 54 +++++++ .../admin/categories/templates/category.html | 14 ++ rave-portal-ng/src/subapps/admin/home/home.html | 8 - rave-portal-ng/src/subapps/admin/home/home.js | 28 ++++ rave-portal-ng/src/subapps/admin/home/routes.js | 20 +++ .../src/subapps/admin/home/templates/home.html | 8 + rave-portal-ng/src/subapps/admin/index.js | 8 - .../preferences/controllers/preferences.js | 6 + .../subapps/admin/preferences/preferences.html | 67 -------- .../subapps/admin/preferences/preferences.js | 34 ++++ .../admin/preferences/resources/preferences.js | 6 + .../src/subapps/admin/preferences/routes.js | 21 ++- .../preferences/templates/preferences.html | 67 ++++++++ rave-portal-ng/src/subapps/admin/routes.js | 28 ++-- .../src/subapps/admin/templates/admin.html | 37 +++++ .../subapps/admin/users/controllers/users.js | 6 + .../src/subapps/admin/users/detail/detail.html | 61 -------- .../src/subapps/admin/users/routes.js | 23 ++- .../subapps/admin/users/templates/detail.html | 61 ++++++++ .../subapps/admin/users/templates/users.html | 60 ++++++++ .../src/subapps/admin/users/users.html | 60 -------- rave-portal-ng/src/subapps/admin/users/users.js | 31 ++++ .../subapps/admin/widgets/detail/detail.html | 154 ------------------- .../src/subapps/admin/widgets/routes.js | 20 ++- .../subapps/admin/widgets/templates/detail.html | 154 +++++++++++++++++++ .../admin/widgets/templates/widgets.html | 81 ++++++++++ .../src/subapps/admin/widgets/widgets.html | 81 ---------- .../src/subapps/admin/widgets/widgets.js | 27 ++++ rave-portal-ng/src/subapps/auth/api/api.js | 30 ++++ .../subapps/auth/api/services/auth-api-base.js | 9 ++ .../auth/api/services/auth-api-routes.js | 18 +++ .../src/subapps/auth/api/services/auth-api.js | 29 ++++ rave-portal-ng/src/subapps/auth/auth.js | 33 +++- .../src/subapps/auth/controllers/login-form.js | 24 --- .../controllers/create-account.js | 14 +- .../auth/create-account/create-account.html | 136 ---------------- .../auth/create-account/create-account.js | 45 ++++++ .../auth/create-account/create-account.less | 0 .../create-account/directives/password-check.js | 31 ++++ .../create-account/less/create-account.less | 0 .../providers/create-account-api-routes.js | 20 --- .../providers/create-account-api.js | 27 ---- .../src/subapps/auth/create-account/routes.js | 16 +- .../services/create-account-api-routes.js | 16 ++ .../services/create-account-api.js | 19 +++ .../templates/create-account.html | 136 ++++++++++++++++ .../subapps/auth/directives/password-check.js | 26 ---- .../controllers/forgot-password.js | 14 +- .../auth/forgot-password/forgot-password.html | 32 ---- .../auth/forgot-password/forgot-password.js | 41 +++++ .../providers/forgot-password-api-routes.js | 20 --- .../providers/forgot-password-api.js | 27 ---- .../src/subapps/auth/forgot-password/routes.js | 16 +- .../services/forgot-password-api-routes.js | 16 ++ .../services/forgot-password-api.js | 19 +++ .../templates/forgot-password.html | 32 ++++ .../controllers/forgot-username.js | 16 +- .../auth/forgot-username/forgot-username.html | 32 ---- .../auth/forgot-username/forgot-username.js | 41 +++++ .../auth/forgot-username/forgot-username.less | 10 -- .../forgot-username/less/forgot-username.less | 10 ++ .../providers/forgot-username-api-routes.js | 20 --- .../providers/forgot-username-api.js | 27 ---- .../src/subapps/auth/forgot-username/routes.js | 16 +- .../services/forgot-username-api-routes.js | 16 ++ .../services/forgot-username-api.js | 19 +++ .../templates/forgot-username.html | 32 ++++ rave-portal-ng/src/subapps/auth/index.js | 33 ---- rave-portal-ng/src/subapps/auth/login.html | 75 --------- rave-portal-ng/src/subapps/auth/login.less | 18 --- .../auth/login/controllers/login-form.js | 27 ++++ .../src/subapps/auth/login/less/login.less | 18 +++ rave-portal-ng/src/subapps/auth/login/login.js | 33 ++++ rave-portal-ng/src/subapps/auth/login/routes.js | 21 +++ .../src/subapps/auth/login/templates/login.html | 75 +++++++++ .../src/subapps/auth/logout/logout.js | 30 ++++ .../src/subapps/auth/logout/routes.js | 25 +++ .../src/subapps/auth/route-intercept.js | 58 ------- rave-portal-ng/src/subapps/auth/routes.js | 34 ---- .../subapps/auth/security/route-intercept.js | 52 +++++++ .../src/subapps/auth/security/security.js | 38 +++++ .../auth/security/services/auth-cache.js | 29 ++++ .../auth/security/services/auth-token.js | 44 ++++++ .../auth/security/services/location-cache.js | 13 ++ .../subapps/auth/security/services/security.js | 92 +++++++++++ .../src/subapps/auth/services/auth-api-base.js | 11 -- .../subapps/auth/services/auth-api-routes.js | 22 --- .../src/subapps/auth/services/auth-api.js | 33 ---- .../src/subapps/auth/services/auth-cache.js | 32 ---- .../src/subapps/auth/services/auth-token.js | 47 ------ .../src/subapps/auth/services/location-cache.js | 10 -- .../src/subapps/auth/services/security.js | 99 ------------ .../src/subapps/home/home-controller.js | 25 --- rave-portal-ng/src/subapps/home/home.html | 2 - rave-portal-ng/src/subapps/home/home.js | 27 +++- rave-portal-ng/src/subapps/home/home.less | 5 - rave-portal-ng/src/subapps/home/index.js | 5 - rave-portal-ng/src/subapps/home/routes.js | 21 +-- .../src/subapps/home/templates/home.html | 2 + rave-portal-ng/src/subapps/profile/index.js | 5 - .../src/subapps/profile/my-directive.js | 12 -- rave-portal-ng/src/subapps/profile/profile.html | 3 - rave-portal-ng/src/subapps/profile/profile.js | 28 +++- rave-portal-ng/src/subapps/profile/routes.js | 22 +-- .../src/subapps/profile/templates/profile.html | 3 + .../src/subapps/widget-store/index.js | 4 - .../src/subapps/widget-store/routes.js | 21 ++- .../widget-store/templates/widget-store.html | 119 ++++++++++++++ .../src/subapps/widget-store/widget-store.html | 119 -------------- .../src/subapps/widget-store/widget-store.js | 27 +++- 125 files changed, 2315 insertions(+), 1781 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/index.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/index.js b/rave-portal-ng/src/index.js index 2c9412f..e6e2d44 100644 --- a/rave-portal-ng/src/index.js +++ b/rave-portal-ng/src/index.js @@ -1,28 +1,28 @@ +/* + * index + * Bootstraps our app, loading libraries (like Bootstrap) that aren't Angular modules, + * but need to be booted up separately. + * It also pulls in the Rave Angular module and manually bootstraps it. + * + */ + define(function(require) { - // Initialize libraries + + // Initialize any non-Angular Javascript libraries here require('bootstrap'); - require('uiRouter'); - require('angularMocks'); - require('angularCookie'); - require('angularResource'); - // Set up our application + // Create our application require('rave'); - // The mock API + // Load the mock API (development only) require('./api/bootstrap'); - // The base route - require('./routes'); - // Our things require('./providers/filters/index'); - require('./providers/values/api-route'); - - var angular = require('angular'); // Manually bootstrap the Angular app (necessary because of AMD) - angular.element(document).ready(function() { - angular.bootstrap(document, ['rave']); + var ng = require('angular'); + ng.element(document).ready(function() { + ng.bootstrap(document, ['rave']); }); }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/providers/api/api-route.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/providers/api/api-route.js b/rave-portal-ng/src/providers/api/api-route.js new file mode 100644 index 0000000..7d05584 --- /dev/null +++ b/rave-portal-ng/src/providers/api/api-route.js @@ -0,0 +1,11 @@ +define(function(require) { + var ng = require('angular'); + + var API_VERSION = 1; + + var api = ng.module('api', []); + + api.value('apiRoute', '/api/v' + API_VERSION + '/'); + + return api; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/providers/values/api-route.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/providers/values/api-route.js b/rave-portal-ng/src/providers/values/api-route.js deleted file mode 100644 index 52665ee..0000000 --- a/rave-portal-ng/src/providers/values/api-route.js +++ /dev/null @@ -1,7 +0,0 @@ -define(function(require) { - var rave = require('rave'); - - var API_VERSION = 1; - - rave.value('apiRoute', '/api/v' + API_VERSION + '/'); -}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/rave.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/rave.js b/rave-portal-ng/src/rave.js index d498c4e..f049a3d 100644 --- a/rave-portal-ng/src/rave.js +++ b/rave-portal-ng/src/rave.js @@ -1,27 +1,44 @@ +/* + * rave + * The main Angular module for Rave. + * This module is mainly a container for the other modules that + * make up the application. + * + */ + define(function(require) { - var angular = require('angular'); + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + require('angularMocks'); + require('angularCookie'); + require('angularResource'); - // The individual subapps - require('./subapps/home/index'); - require('./subapps/admin/index'); - require('./subapps/auth/index'); - require('./subapps/profile/index'); - require('./subapps/widget-store/index'); + // Our 'subapp' dependencies + var home = require('./subapps/home/home'); + var profile = require('./subapps/profile/profile'); + var widgetStore = require('./subapps/widget-store/widget-store'); + var admin = require('./subapps/admin/admin'); + var auth = require('./subapps/auth/auth'); + // Create an array out of our dependencies for Angular's DI var raveDependencies = [ 'ui.router', 'profile', 'ngMockE2E', - 'home', - 'widget-store', - 'profile', - 'auth', - 'admin', + home.name, + widgetStore.name, + profile.name, + auth.name, + admin.name, 'filters' ]; - var rave = angular.module('rave', raveDependencies); + // Create Rave as an Angular module + var rave = ng.module('rave', raveDependencies); + // Some fake data until the mock API adds the Bootstrap route. rave.controller('appData', [ '$scope', '$state', '$stateParams', function($scope, $state, $stateParams) { @@ -35,6 +52,10 @@ define(function(require) { $scope.$stateParams = $stateParams; }]); + // Routes + var routes = require('./routes'); + rave.config(routes); + // Exposed on the window *only* for debugging purposes window.rave = rave; http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/routes.js b/rave-portal-ng/src/routes.js index 6b3c71d..4ff9631 100644 --- a/rave-portal-ng/src/routes.js +++ b/rave-portal-ng/src/routes.js @@ -1,16 +1,21 @@ +/* + * routes + * The base route for the Rave project. This makes /portal + * the root location to access the app from. + * + */ + define(function(require) { - var rave = require('rave'); - - rave.config([ - '$stateProvider', '$urlRouterProvider', + + return ['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { // Set up our abstract base state. $stateProvider.state('portal', { - url: '/portal', - abstract: true, - template: '<ui-view/>' - }); - } - ]); + url: '/portal', + abstract: true, + template: '<ui-view/>' + }); + } + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/admin.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/admin.html b/rave-portal-ng/src/subapps/admin/admin.html deleted file mode 100644 index ab35e20..0000000 --- a/rave-portal-ng/src/subapps/admin/admin.html +++ /dev/null @@ -1,37 +0,0 @@ -<div class="row-fluid"> - <div class="span2"> - <nav> - <div class="tabbable"> - <ul class="nav nav-tabs nav-stacked"> - <li ng-class="{ active: $state.includes('portal.admin.home') }"> - <a ui-sref="portal.admin.home"> - Home - </a> - </li> - <li ng-class="{ active: $state.includes('portal.admin.users') }"> - <a ui-sref="portal.admin.users({page:1})"> - Users - </a> - </li> - <li ng-class="{ active: $state.includes('portal.admin.widgets') }"> - <a ui-sref="portal.admin.widgets({page:1})"> - Widgets - </a> - </li> - <li ng-class="{ active: $state.includes('portal.admin.preferences') }"> - <a ui-sref="portal.admin.preferences"> - Preferences - </a> - </li> - <li ng-class="{ active: $state.includes('portal.admin.categories') }"> - <a ui-sref="portal.admin.categories"> - Categories - </a> - </li> - </ul> - </div> - </nav> - </div> - <div class="span10" ui-view> - </div> -</div> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/admin.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/admin.js b/rave-portal-ng/src/subapps/admin/admin.js index 473d349..1e040e1 100644 --- a/rave-portal-ng/src/subapps/admin/admin.js +++ b/rave-portal-ng/src/subapps/admin/admin.js @@ -1,37 +1,42 @@ +/* + * routes + * The containing module for the admin section of Rave. + * + */ + define(function(require) { var ng = require('angular'); + + // Our dependencies + require('uiRouter'); require('../../providers/pagination/pagination'); + // Our sub-subapps + var categories = require('./categories/categories'); + var home = require('./home/home'); + var preferences = require('./preferences/preferences'); + var widgets = require('./widgets/widgets'); + var users = require('./users/users'); + + // An array of our dependencies for Angular's DI var adminDependencies = [ + 'ui.router', 'ngResource', - 'pagination' + 'pagination', + preferences.name, + categories.name, + home.name, + widgets.name, + users.name ]; + // Create our admin subapp as a module var admin = ng.module('admin', adminDependencies); - // Categories - var categoriesResource = require('./categories/resources/categories'); - admin.factory('categoriesResource', categoriesResource); - - var categoryResource = require('./categories/resources/category'); - admin.factory('categoryResource', categoryResource); - - var categoriesCtrl = require('./categories/controllers/categories'); - admin.controller('categoriesCtrl', categoriesCtrl); - - var categoryCtrl = require('./categories/controllers/category'); - admin.controller('categoryCtrl', categoryCtrl); - - // Preferences - var preferencesResource = require('./preferences/resources/preferences'); - admin.factory('preferencesResource', preferencesResource); - - var preferencesCtrl = require('./preferences/controllers/preferences'); - admin.controller('preferencesCtrl', preferencesCtrl); - - // Users - var usersCtrl = require('./users/controllers/users'); - admin.controller('usersCtrl', usersCtrl); + // Register our routes + var routes = require('./routes'); + admin.config(routes); + // Export the admin module return admin; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/categories.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/categories.html b/rave-portal-ng/src/subapps/admin/categories/categories.html deleted file mode 100644 index 7b47c21..0000000 --- a/rave-portal-ng/src/subapps/admin/categories/categories.html +++ /dev/null @@ -1,54 +0,0 @@ -<article ui-view> - <h2>Categories</h2> - <table id="categoryList" class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th>Text</th> - <th>Created By</th> - <th>Date Created</th> - <th>Modified By</th> - <th>Date Modified</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="category in categories"> - <td> - <a ui-sref="portal.admin.categories.category({id: category.ID})"> - {{ category.text }} - </a> - </td> - <td> - {{ category.createdUserName }} - </td> - <td> - {{ category.createdDate | date:'short' }} - </td> - <td> - {{ category.lastModifiedUserName }} - </td> - <td> - {{ category.lastModifiedDate | date:'short' }} - </td> - </tr> - </tbody> - </table> - <div> - <form id="createCategory" class="form-inline"> - <fieldset> - <legend> - Create Category - </legend> - <div class="control-group"> - <label class="control-label" for="text"> - Text: - </label> - <div class="controls"> - <input id="text" name="text" autofocus="autofocus" required="required" type="text" value="" ng-model="newText"> - <button class="btn btn-primary" ng-click="onCreate()">Create Category</button> - </div> - </div> - </fieldset> - </form> - </div> -</article> - http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/categories.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/categories.js b/rave-portal-ng/src/subapps/admin/categories/categories.js new file mode 100644 index 0000000..c1d5c86 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/categories/categories.js @@ -0,0 +1,40 @@ +/* + * categories + * The categories module for the admin section of the app. + * + */ + +define(function(require) { + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + + // The array of names for Angular's dependency injection + var categoriesDependencies = [ + 'ui.router' + ]; + + // Create our module + var categories = ng.module('admin.categories', categoriesDependencies); + + // Register the providers for categories + var categoriesResource = require('./resources/categories'); + categories.factory('categoriesResource', categoriesResource); + + var categoryResource = require('./resources/category'); + categories.factory('categoryResource', categoryResource); + + var categoriesCtrl = require('./controllers/categories'); + categories.controller('categoriesCtrl', categoriesCtrl); + + var categoryCtrl = require('./controllers/category'); + categories.controller('categoryCtrl', categoryCtrl); + + // Register the routes + var routes = require('./routes'); + categories.config(routes); + + // Export the module + return categories; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/category/category.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/category/category.html b/rave-portal-ng/src/subapps/admin/categories/category/category.html deleted file mode 100644 index 585590c..0000000 --- a/rave-portal-ng/src/subapps/admin/categories/category/category.html +++ /dev/null @@ -1,14 +0,0 @@ -<div> - <a ui-sref="portal.admin.categories">« Back to Categories</a> - <h2>Category â "{{ category.text }}"</h2> - <div class="well"> - <section> - <label for="text">Name: </label> - <input id="text" name="text" type="text" ng-model="text"> - <br><br> - <button class="btn" ng-click="onSave()">Save</button> - <button class="btn btn-danger" ng-click="onDelete()">Delete</button> - </section> - </div> -</div> - http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js b/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js index 2b9028d..be1c3eb 100644 --- a/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js +++ b/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js @@ -1,3 +1,9 @@ +/* + * categories + * Handles submission of our form + * + */ + define(function(require) { return ['$scope', 'categoriesResource', '$stateParams', '$rootScope', function($scope, categoriesResource, $stateParams, $rootScope) { http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/controllers/category.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/controllers/category.js b/rave-portal-ng/src/subapps/admin/categories/controllers/category.js index 552bff6..de72013 100644 --- a/rave-portal-ng/src/subapps/admin/categories/controllers/category.js +++ b/rave-portal-ng/src/subapps/admin/categories/controllers/category.js @@ -1,3 +1,9 @@ +/* + * category + * Handles submission of our form + * + */ + define(function(require) { return ['$scope', 'categoryResource', '$state', '$stateParams', function($scope, categoryResource, $state, $stateParams) { http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/resources/categories.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/resources/categories.js b/rave-portal-ng/src/subapps/admin/categories/resources/categories.js index f79b644..d6ec7d7 100644 --- a/rave-portal-ng/src/subapps/admin/categories/resources/categories.js +++ b/rave-portal-ng/src/subapps/admin/categories/resources/categories.js @@ -1,3 +1,9 @@ +/* + * categoriesResource + * The resource for the categories list + * + */ + define(function(require) { // The API endpoint for categories @@ -6,7 +12,7 @@ define(function(require) { // Return the categories resource return ['$resource', 'authToken', function($resource, authToken) { - var authHeader = { + var authHeader = { Authorization: 'Basic ' + authToken.get() }; http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/resources/category.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/resources/category.js b/rave-portal-ng/src/subapps/admin/categories/resources/category.js index e4001b5..4475eaf 100644 --- a/rave-portal-ng/src/subapps/admin/categories/resources/category.js +++ b/rave-portal-ng/src/subapps/admin/categories/resources/category.js @@ -1,3 +1,9 @@ +/* + * categoryResource + * A resource for a single category + * + */ + define(function(require) { // The API endpoint for categories http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/routes.js b/rave-portal-ng/src/subapps/admin/categories/routes.js index 19bc73b..8e51a51 100644 --- a/rave-portal-ng/src/subapps/admin/categories/routes.js +++ b/rave-portal-ng/src/subapps/admin/categories/routes.js @@ -1,25 +1,34 @@ +/* + * routes + * UI-router states for this section + * + */ + define(function(require) { - require('../admin'); - var angular = require('angular'); var categoriesCtrl = require('./controllers/categories'); var categoryCtrl = require('./controllers/category'); - angular.module('admin').config([ - '$stateProvider', '$urlRouterProvider', + return ['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { + + // Configure our routes as ui-router states $stateProvider + + // The state that lists the categories .state('portal.admin.categories', { url: '/categories', - templateUrl: '/subapps/admin/categories/categories.html', + templateUrl: '/subapps/admin/categories/templates/categories.html', authenticate: true, controller: categoriesCtrl }) + + // The detail page for a single category .state('portal.admin.categories.category', { url: '/categories/category-:id', - templateUrl: '/subapps/admin/categories/category/category.html', + templateUrl: '/subapps/admin/categories/templates/category.html', authenticate: true, controller: categoryCtrl }); } - ]); + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/templates/categories.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/templates/categories.html b/rave-portal-ng/src/subapps/admin/categories/templates/categories.html new file mode 100644 index 0000000..7b47c21 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/categories/templates/categories.html @@ -0,0 +1,54 @@ +<article ui-view> + <h2>Categories</h2> + <table id="categoryList" class="table table-striped table-bordered table-condensed"> + <thead> + <tr> + <th>Text</th> + <th>Created By</th> + <th>Date Created</th> + <th>Modified By</th> + <th>Date Modified</th> + </tr> + </thead> + <tbody> + <tr ng-repeat="category in categories"> + <td> + <a ui-sref="portal.admin.categories.category({id: category.ID})"> + {{ category.text }} + </a> + </td> + <td> + {{ category.createdUserName }} + </td> + <td> + {{ category.createdDate | date:'short' }} + </td> + <td> + {{ category.lastModifiedUserName }} + </td> + <td> + {{ category.lastModifiedDate | date:'short' }} + </td> + </tr> + </tbody> + </table> + <div> + <form id="createCategory" class="form-inline"> + <fieldset> + <legend> + Create Category + </legend> + <div class="control-group"> + <label class="control-label" for="text"> + Text: + </label> + <div class="controls"> + <input id="text" name="text" autofocus="autofocus" required="required" type="text" value="" ng-model="newText"> + <button class="btn btn-primary" ng-click="onCreate()">Create Category</button> + </div> + </div> + </fieldset> + </form> + </div> +</article> + http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/categories/templates/category.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/categories/templates/category.html b/rave-portal-ng/src/subapps/admin/categories/templates/category.html new file mode 100644 index 0000000..585590c --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/categories/templates/category.html @@ -0,0 +1,14 @@ +<div> + <a ui-sref="portal.admin.categories">« Back to Categories</a> + <h2>Category â "{{ category.text }}"</h2> + <div class="well"> + <section> + <label for="text">Name: </label> + <input id="text" name="text" type="text" ng-model="text"> + <br><br> + <button class="btn" ng-click="onSave()">Save</button> + <button class="btn btn-danger" ng-click="onDelete()">Delete</button> + </section> + </div> +</div> + http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/home/home.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/home/home.html b/rave-portal-ng/src/subapps/admin/home/home.html deleted file mode 100644 index dd351fd..0000000 --- a/rave-portal-ng/src/subapps/admin/home/home.html +++ /dev/null @@ -1,8 +0,0 @@ -<article> - <h2> - Welcome to the Rave admin interface - </h2> - <p> - For help, go to the <a href="http://rave.apache.org/documentation/admin-interface.html" target="_blank">documentation site</a>. - </p> -</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/home/home.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/home/home.js b/rave-portal-ng/src/subapps/admin/home/home.js new file mode 100644 index 0000000..93f2495 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/home/home.js @@ -0,0 +1,28 @@ +/* + * home + * A module for the index page of the admin section of the site. + * It's a simple section that just displays a link to the documentation. + * + */ + +define(function(require) { + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + + // The array of names for Angular's dependency injection + var homeDependencies = [ + 'ui.router' + ]; + + // Create our module + var home = ng.module('admin.home', homeDependencies); + + // Register the routes + var routes = require('./routes'); + home.config(routes); + + // Export the module + return home; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/home/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/home/routes.js b/rave-portal-ng/src/subapps/admin/home/routes.js new file mode 100644 index 0000000..4a6a3a7 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/home/routes.js @@ -0,0 +1,20 @@ +/* + * routes + * The UI states for the homepage of the admin section + * + */ + +define(function(require) { + return ['$stateProvider', '$urlRouterProvider', + function($stateProvider, $urlRouterProvider) { + + // The state for the home page + $stateProvider.state('portal.admin.home', { + url: '/', + templateUrl: '/subapps/admin/home/templates/home.html', + authenticate: true + }); + } + ]; +}); + http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/home/templates/home.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/home/templates/home.html b/rave-portal-ng/src/subapps/admin/home/templates/home.html new file mode 100644 index 0000000..dd351fd --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/home/templates/home.html @@ -0,0 +1,8 @@ +<article> + <h2> + Welcome to the Rave admin interface + </h2> + <p> + For help, go to the <a href="http://rave.apache.org/documentation/admin-interface.html" target="_blank">documentation site</a>. + </p> +</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/index.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/index.js b/rave-portal-ng/src/subapps/admin/index.js deleted file mode 100644 index 85dedfd..0000000 --- a/rave-portal-ng/src/subapps/admin/index.js +++ /dev/null @@ -1,8 +0,0 @@ -define(function(require) { - require('./admin'); - require('./routes'); - require('./categories/routes'); - require('./preferences/routes'); - require('./users/routes'); - require('./widgets/routes'); -}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js b/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js index 62942c9..950da46 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js +++ b/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js @@ -1,3 +1,9 @@ +/* + * preferencesController + * Manages submission of our form; also handles the data binding. + * + */ + define(function(require) { var _ = require('underscore'); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/preferences.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/preferences.html b/rave-portal-ng/src/subapps/admin/preferences/preferences.html deleted file mode 100644 index cf81711..0000000 --- a/rave-portal-ng/src/subapps/admin/preferences/preferences.html +++ /dev/null @@ -1,67 +0,0 @@ -<article ui-view> - <h2>Preferences</h2> - <form id="preferenceForm" class="form-horizontal"> - <p>Field marked with * are required</p> - <div class="control-group"> - <label for="titleSuffix.value" class="control-label"> - Page title suffix - </label> - <div class="controls"> - <input id="titleSuffix.value" name="titleSuffix.value" type="text" ng-model="preferences.titleSuffix"> - </div> - </div> - <div class="control-group"> - <label for="pageSize" class="control-label"> - Number of items per page (list) * - </label> - <div class="controls"> - <input id="pageSize" name="pageSize.value" type="number" step="1" ng-model="preferences.pageSize"> - </div> - </div> - <div class="control-group"> - <label for="defaultWidgetHeight" class="control-label"> - Default widget height * - </label> - <div class="controls"> - <input id="defaultWidgetHeight" name="defaultWidgetHeight.value" type="number" step="1" ng-model="preferences.defaultWidgetHeight"> - </div> - </div> - <div class="control-group"> - <label for="javaScriptDebugMode.value" class="control-label"> - JavaScript Debug Mode * - </label> - <div class="controls"> - <select id="javaScriptDebugMode" name="javaScriptDebugMode.value" ng-model="preferences.javascriptDebugMode"> - <option value="0">Disabled</option> - <option value="1">Enabled</option> - </select> - </div> - </div> - <div class="control-group"> - <label for="initialWidgetStatus.value" class="control-label"> - Initial status to use for new widgets * - </label> - <div class="controls"> - <select id="initialWidgetStatus" name="initialWidgetStatus.value" ng-model="preferences.initialWidgetStatus"> - <option value="preview"> - Preview - </option> - <option value="published"> - Published - </option> - </select> - </div> - </div> - <div class="control-group"> - <label for="externalMarketplaceUrl.value" class="control-label"> - Location (URL) of external widget marketplace - </label> - <div class="controls"> - <input id="externalMarketplaceUrl.value" name="externalMarketplaceUrl.value" type="text" ng-model="preferences.externalMarketplaceUrl"> - </div> - </div> - <fieldset> - <button class="btn btn-primary" ng-click="onSubmit()">Update preferences</button> - </fieldset> - </form> -</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/preferences.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/preferences.js b/rave-portal-ng/src/subapps/admin/preferences/preferences.js new file mode 100644 index 0000000..3f0f399 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/preferences/preferences.js @@ -0,0 +1,34 @@ +/* + * preferences + * A module for the admin preferences page. + * + */ + +define(function(require) { + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + + // The array of names for Angular's dependency injection + var preferencesDependencies = [ + 'ui.router' + ]; + + // Create our module + var preferences = ng.module('admin.preferences', preferencesDependencies); + + // Register our providers for the preferences + var preferencesResource = require('./resources/preferences'); + preferences.factory('preferencesResource', preferencesResource); + + var preferencesCtrl = require('./controllers/preferences'); + preferences.controller('preferencesCtrl', preferencesCtrl); + + // Register the routes + var routes = require('./routes'); + preferences.config(routes); + + // Export the module + return preferences; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/resources/preferences.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/resources/preferences.js b/rave-portal-ng/src/subapps/admin/preferences/resources/preferences.js index c068227..63a5e05 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/resources/preferences.js +++ b/rave-portal-ng/src/subapps/admin/preferences/resources/preferences.js @@ -1,3 +1,9 @@ +/* + * preferences-resource + * A resource for the Rave preferences. + * + */ + define(function(require) { // The API endpoint for categories http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/routes.js b/rave-portal-ng/src/subapps/admin/preferences/routes.js index 2ce7dda..7e68e26 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/routes.js +++ b/rave-portal-ng/src/subapps/admin/preferences/routes.js @@ -1,18 +1,25 @@ +/* + * routes + * Routes for this subapp. Rave uses the Angular-UI UI-Router + * library for routing, so be sure to familiarize yourself + * with that library. + * + */ + define(function(require) { - require('../admin'); - var angular = require('angular'); var preferencesCtrl = require('./controllers/preferences'); - angular.module('admin').config([ + return [ '$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { - $stateProvider - .state('portal.admin.preferences', { + + // Our preferences state + $stateProvider.state('portal.admin.preferences', { url: '/preferences', - templateUrl: '/subapps/admin/preferences/preferences.html', + templateUrl: '/subapps/admin/preferences/templates/preferences.html', authenticate: true, controller: preferencesCtrl }); } - ]); + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html b/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html new file mode 100644 index 0000000..cf81711 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html @@ -0,0 +1,67 @@ +<article ui-view> + <h2>Preferences</h2> + <form id="preferenceForm" class="form-horizontal"> + <p>Field marked with * are required</p> + <div class="control-group"> + <label for="titleSuffix.value" class="control-label"> + Page title suffix + </label> + <div class="controls"> + <input id="titleSuffix.value" name="titleSuffix.value" type="text" ng-model="preferences.titleSuffix"> + </div> + </div> + <div class="control-group"> + <label for="pageSize" class="control-label"> + Number of items per page (list) * + </label> + <div class="controls"> + <input id="pageSize" name="pageSize.value" type="number" step="1" ng-model="preferences.pageSize"> + </div> + </div> + <div class="control-group"> + <label for="defaultWidgetHeight" class="control-label"> + Default widget height * + </label> + <div class="controls"> + <input id="defaultWidgetHeight" name="defaultWidgetHeight.value" type="number" step="1" ng-model="preferences.defaultWidgetHeight"> + </div> + </div> + <div class="control-group"> + <label for="javaScriptDebugMode.value" class="control-label"> + JavaScript Debug Mode * + </label> + <div class="controls"> + <select id="javaScriptDebugMode" name="javaScriptDebugMode.value" ng-model="preferences.javascriptDebugMode"> + <option value="0">Disabled</option> + <option value="1">Enabled</option> + </select> + </div> + </div> + <div class="control-group"> + <label for="initialWidgetStatus.value" class="control-label"> + Initial status to use for new widgets * + </label> + <div class="controls"> + <select id="initialWidgetStatus" name="initialWidgetStatus.value" ng-model="preferences.initialWidgetStatus"> + <option value="preview"> + Preview + </option> + <option value="published"> + Published + </option> + </select> + </div> + </div> + <div class="control-group"> + <label for="externalMarketplaceUrl.value" class="control-label"> + Location (URL) of external widget marketplace + </label> + <div class="controls"> + <input id="externalMarketplaceUrl.value" name="externalMarketplaceUrl.value" type="text" ng-model="preferences.externalMarketplaceUrl"> + </div> + </div> + <fieldset> + <button class="btn btn-primary" ng-click="onSubmit()">Update preferences</button> + </fieldset> + </form> +</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/routes.js b/rave-portal-ng/src/subapps/admin/routes.js index bd9a86c..22f7d1f 100644 --- a/rave-portal-ng/src/subapps/admin/routes.js +++ b/rave-portal-ng/src/subapps/admin/routes.js @@ -1,22 +1,22 @@ -define(function(require) { - require('./admin'); - var angular = require('angular'); +/* + * routes + * Routes for this subapp. Rave uses the Angular-UI UI-Router + * library for routing, so be sure to familiarize yourself + * with that library. + * + */ - angular.module('admin').config([ - '$stateProvider', '$urlRouterProvider', +define(function(require) { + return ['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { - $stateProvider - .state('portal.admin', { + + // The base state for the admin page + $stateProvider.state('portal.admin', { url: '/app/admin', - templateUrl: '/subapps/admin/admin.html', - authenticate: true - }) - .state('portal.admin.home', { - url: '/', - templateUrl: '/subapps/admin/home/home.html', + templateUrl: '/subapps/admin/templates/admin.html', authenticate: true }); } - ]); + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/templates/admin.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/templates/admin.html b/rave-portal-ng/src/subapps/admin/templates/admin.html new file mode 100644 index 0000000..ab35e20 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/templates/admin.html @@ -0,0 +1,37 @@ +<div class="row-fluid"> + <div class="span2"> + <nav> + <div class="tabbable"> + <ul class="nav nav-tabs nav-stacked"> + <li ng-class="{ active: $state.includes('portal.admin.home') }"> + <a ui-sref="portal.admin.home"> + Home + </a> + </li> + <li ng-class="{ active: $state.includes('portal.admin.users') }"> + <a ui-sref="portal.admin.users({page:1})"> + Users + </a> + </li> + <li ng-class="{ active: $state.includes('portal.admin.widgets') }"> + <a ui-sref="portal.admin.widgets({page:1})"> + Widgets + </a> + </li> + <li ng-class="{ active: $state.includes('portal.admin.preferences') }"> + <a ui-sref="portal.admin.preferences"> + Preferences + </a> + </li> + <li ng-class="{ active: $state.includes('portal.admin.categories') }"> + <a ui-sref="portal.admin.categories"> + Categories + </a> + </li> + </ul> + </div> + </nav> + </div> + <div class="span10" ui-view> + </div> +</div> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/controllers/users.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/controllers/users.js b/rave-portal-ng/src/subapps/admin/users/controllers/users.js index 668ed14..e035516 100644 --- a/rave-portal-ng/src/subapps/admin/users/controllers/users.js +++ b/rave-portal-ng/src/subapps/admin/users/controllers/users.js @@ -1,3 +1,9 @@ +/* + * usersController + * Sets up our data & pagination. + * + */ + define(function(require) { return ['$scope', '$stateParams', 'pagination', function($scope, $stateParams, pagination) { http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/detail/detail.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/detail/detail.html b/rave-portal-ng/src/subapps/admin/users/detail/detail.html deleted file mode 100644 index 847d84e..0000000 --- a/rave-portal-ng/src/subapps/admin/users/detail/detail.html +++ /dev/null @@ -1,61 +0,0 @@ -<a ui-sref="portal.admin.users"> - « Back to users -</a> -<h2>canonical</h2> -<div> - <section> - <form id="updateUserProfile" class="form-horizontal" action="update" method="POST"> - <fieldset> - <legend>Edit user data</legend> - <br> - <input id="username" name="username" type="hidden" value="canonical"> - <div class="control-group"> - <label class="control-label" for="email">Email address:</label> - <div class="controls"> - <input type="email" name="email" id="email" value="[email protected]" class="long"> - </div> - </div> - <div class="control-group"> - <label class="control-label" for="openIdField">OpenID URL:</label> - <div class="controls"> - <input type="url" id="openIdField" name="openId" value="" class="long"> - </div> - </div> - <div class="control-group"> - <span class="control-label">Account status:</span> - <ul class="checkboxlist"> - <li> - <input id="enabled1" name="enabled" disabled="disabled" type="checkbox" value="true" checked="checked"> - <label for="enabled1">Account enabled</label> - </li> - <li> - <input id="expired1" name="expired" disabled="disabled" type="checkbox" value="true"> - <label for="expired1">Account expired</label> - </li> - <li> - <input id="locked1" name="locked" disabled="disabled" type="checkbox" value="true"> - <label for="locked1">Account locked</label> - </li> - </ul> - </div> - </fieldset> - <fieldset> - <span class="control-label">Authorities:</span> - <ul class="checkboxlist"> - <li> - <input id="authorities1" name="authorities" type="checkbox" value="ROLE_USER"> - <label for="authorities1">ROLE_USER</label> - </li> - <li> - <input id="authorities2" name="authorities" type="checkbox" value="ROLE_ADMIN" checked="checked"> - <label for="authorities2">ROLE_ADMIN</label> - </li> - </ul> - </fieldset> - <fieldset> - <button class="btn btn-primary" type="submit" value="Update profile">Update profile</button> - </fieldset> - </form> - </section> -</div> -<div class="clear-float"></div> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/routes.js b/rave-portal-ng/src/subapps/admin/users/routes.js index aa7a837..b0816a7 100644 --- a/rave-portal-ng/src/subapps/admin/users/routes.js +++ b/rave-portal-ng/src/subapps/admin/users/routes.js @@ -1,23 +1,32 @@ +/* + * routes + * Routes for this subapp. Rave uses the Angular-UI UI-Router + * library for routing, so be sure to familiarize yourself + * with that library. + * + */ + define(function(require) { - require('../admin'); - var angular = require('angular'); var usersCtrl = require('./controllers/users'); - angular.module('admin').config([ - '$stateProvider', '$urlRouterProvider', + return ['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $stateProvider + + // The main state. Displays our list of users. .state('portal.admin.users', { url: '/users?page', - templateUrl: '/subapps/admin/users/users.html', + templateUrl: '/subapps/admin/users/templates/users.html', authenticate: true, controller: usersCtrl }) + + // Show a particular user's profile .state('portal.admin.users.detail', { url: '/users/detail-:id', - templateUrl: '/subapps/admin/users/detail/detail.html', + templateUrl: '/subapps/admin/users/templates/detail.html', authenticate: true }); } - ]); + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/templates/detail.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/templates/detail.html b/rave-portal-ng/src/subapps/admin/users/templates/detail.html new file mode 100644 index 0000000..847d84e --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/users/templates/detail.html @@ -0,0 +1,61 @@ +<a ui-sref="portal.admin.users"> + « Back to users +</a> +<h2>canonical</h2> +<div> + <section> + <form id="updateUserProfile" class="form-horizontal" action="update" method="POST"> + <fieldset> + <legend>Edit user data</legend> + <br> + <input id="username" name="username" type="hidden" value="canonical"> + <div class="control-group"> + <label class="control-label" for="email">Email address:</label> + <div class="controls"> + <input type="email" name="email" id="email" value="[email protected]" class="long"> + </div> + </div> + <div class="control-group"> + <label class="control-label" for="openIdField">OpenID URL:</label> + <div class="controls"> + <input type="url" id="openIdField" name="openId" value="" class="long"> + </div> + </div> + <div class="control-group"> + <span class="control-label">Account status:</span> + <ul class="checkboxlist"> + <li> + <input id="enabled1" name="enabled" disabled="disabled" type="checkbox" value="true" checked="checked"> + <label for="enabled1">Account enabled</label> + </li> + <li> + <input id="expired1" name="expired" disabled="disabled" type="checkbox" value="true"> + <label for="expired1">Account expired</label> + </li> + <li> + <input id="locked1" name="locked" disabled="disabled" type="checkbox" value="true"> + <label for="locked1">Account locked</label> + </li> + </ul> + </div> + </fieldset> + <fieldset> + <span class="control-label">Authorities:</span> + <ul class="checkboxlist"> + <li> + <input id="authorities1" name="authorities" type="checkbox" value="ROLE_USER"> + <label for="authorities1">ROLE_USER</label> + </li> + <li> + <input id="authorities2" name="authorities" type="checkbox" value="ROLE_ADMIN" checked="checked"> + <label for="authorities2">ROLE_ADMIN</label> + </li> + </ul> + </fieldset> + <fieldset> + <button class="btn btn-primary" type="submit" value="Update profile">Update profile</button> + </fieldset> + </form> + </section> +</div> +<div class="clear-float"></div> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/templates/users.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/templates/users.html b/rave-portal-ng/src/subapps/admin/users/templates/users.html new file mode 100644 index 0000000..97c1898 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/users/templates/users.html @@ -0,0 +1,60 @@ +<article ui-view> + <h2> + Showing {{ firstItem() }} - {{ lastItem() }} of {{ users.length }} results + </h2> + <div class="searchHeading paginationHeading"> + <div class="pagination"> + <ul> + <li ng-class="prevPageDisabled()"> + <a ui-sref="portal.admin.users({page:currentPage-1})"><</a> + </li> + <li ng-repeat="n in paginationPages(currentPage, pageCount)" ng-class="{ active: n == currentPage }"> + <a ui-sref="portal.admin.users({page:n})">{{ n }}</a> + </li> + <li ng-class="nextPageDisabled()"> + <a ui-sref="portal.admin.users({page:currentPage+1})">></a> + </li> + </ul> + </div> + <form class="form-horizontal search-form" action="/portal/app/admin/users/search" method="get"> + <fieldset> + <div class="input-append"> + <input class="input-medium" type="search" id="searchTerm" name="searchTerm" value="" placeholder="Search Users"> + <button class="btn btn-primary" type="submit" value="Search">Search</button> + </div> + </fieldset> + </form> + </div> + <table class="table table-striped table-bordered table-condensed"> + <thead> + <tr> + <th>Username</th> + <th>Email</th> + <th>Account Enabled</th> + </tr> + </thead> + <tbody> + <tr ng-repeat="user in users"> + <td> + <a ui-sref="portal.admin.users.detail"> + Username + </a> + </td> + <td>OpenSocial</td> + <td>published</td> + </tr> + </tbody> + </table> + <div class="pagination"> + <ul> + <li ng-class="prevPageDisabled()"> + <a ui-sref="portal.admin.users({page:currentPage-1})"><</a> + </li> + <li ng-repeat="n in paginationPages(currentPage, pageCount)" ng-class="{ active: n == currentPage }"> + <a ui-sref="portal.admin.users({page:n})">{{ n }}</a> + </li> + <li ng-class="nextPageDisabled()"> + <a ui-sref="portal.admin.users({page:currentPage+1})">></a> + </li> + </ul> +</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/users.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/users.html b/rave-portal-ng/src/subapps/admin/users/users.html deleted file mode 100644 index 97c1898..0000000 --- a/rave-portal-ng/src/subapps/admin/users/users.html +++ /dev/null @@ -1,60 +0,0 @@ -<article ui-view> - <h2> - Showing {{ firstItem() }} - {{ lastItem() }} of {{ users.length }} results - </h2> - <div class="searchHeading paginationHeading"> - <div class="pagination"> - <ul> - <li ng-class="prevPageDisabled()"> - <a ui-sref="portal.admin.users({page:currentPage-1})"><</a> - </li> - <li ng-repeat="n in paginationPages(currentPage, pageCount)" ng-class="{ active: n == currentPage }"> - <a ui-sref="portal.admin.users({page:n})">{{ n }}</a> - </li> - <li ng-class="nextPageDisabled()"> - <a ui-sref="portal.admin.users({page:currentPage+1})">></a> - </li> - </ul> - </div> - <form class="form-horizontal search-form" action="/portal/app/admin/users/search" method="get"> - <fieldset> - <div class="input-append"> - <input class="input-medium" type="search" id="searchTerm" name="searchTerm" value="" placeholder="Search Users"> - <button class="btn btn-primary" type="submit" value="Search">Search</button> - </div> - </fieldset> - </form> - </div> - <table class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th>Username</th> - <th>Email</th> - <th>Account Enabled</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="user in users"> - <td> - <a ui-sref="portal.admin.users.detail"> - Username - </a> - </td> - <td>OpenSocial</td> - <td>published</td> - </tr> - </tbody> - </table> - <div class="pagination"> - <ul> - <li ng-class="prevPageDisabled()"> - <a ui-sref="portal.admin.users({page:currentPage-1})"><</a> - </li> - <li ng-repeat="n in paginationPages(currentPage, pageCount)" ng-class="{ active: n == currentPage }"> - <a ui-sref="portal.admin.users({page:n})">{{ n }}</a> - </li> - <li ng-class="nextPageDisabled()"> - <a ui-sref="portal.admin.users({page:currentPage+1})">></a> - </li> - </ul> -</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/users/users.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/users/users.js b/rave-portal-ng/src/subapps/admin/users/users.js new file mode 100644 index 0000000..779d6f1 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/users/users.js @@ -0,0 +1,31 @@ +/* + * users + * The module for the users page of the admin + * + */ + +define(function(require) { + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + + // The array of names for Angular's dependency injection + var usersDependencies = [ + 'ui.router' + ]; + + // Create our module + var users = ng.module('admin.users', usersDependencies); + + // Register our providers for the users + var usersCtrl = require('./controllers/users'); + users.controller('usersCtrl', usersCtrl); + + // Register the routes + var routes = require('./routes'); + users.config(routes); + + // Export the module + return users; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/detail/detail.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/detail/detail.html b/rave-portal-ng/src/subapps/admin/widgets/detail/detail.html deleted file mode 100644 index 8b1aaa0..0000000 --- a/rave-portal-ng/src/subapps/admin/widgets/detail/detail.html +++ /dev/null @@ -1,154 +0,0 @@ -<a ui-sref="portal.admin.widgets"> - « Back to widgets -</a> -<h2> - Activity Stream -</h2> -<section class="formbox"> - <form id="updateWidget" class="form-horizontal" action="update" method="POST"> - <legend> - Edit widget data - <div class="control-group pull-right"> - <div class="controls"> - <a href="#" class="btn btn-warning storeItemButton" id="fetchMetadataButton"> - Update widget metadata - </a> - </div> - </div> - </legend> - <p> - Field marked with * are required - </p> - <div class="control-group"> - <label for="title" class="control-label"> - Title * - </label> - <div class="controls"> - <input id="title" name="title" class="long" autofocus="autofocus" required="required" type="text" value="Activity Stream"> - </div> - </div> - <div class="control-group"> - <label for="url" class="control-label"> - Location (URL) * - </label> - <div class="controls"> - <input type="url" name="url" id="url" placeholder="http://example.com/widget.xml" required="required" class="long" value="https://raw.github.com/OpenSocial/examples/master/gadgets/activitystream/gadget.xml"> - </div> - </div> - <div class="control-group"> - <label for="type1" class="control-label"> - Type * - </label> - <div class="controls"> - <label for="type1" class="radio"> - <input id="type1" name="type" type="radio" value="OpenSocial" checked="checked"> - OpenSocial - </label> - <label for="type2" class="radio"> - <input id="type2" name="type" type="radio" value="W3C"> - W3C Widget - </label> - </div> - </div> - <div class="control-group"> - <label for="description" class="control-label"> - Description * - </label> - <div class="controls"> - <textarea id="description" name="description" class="long" required="required"> - OpenSocial Activity Stream gadget with support for Embedded Experiences - </textarea> - </div> - </div> - <div class="control-group"> - <label for="featured" class="control-label"> - Featured - </label> - <div class="controls"> - <input id="featured" name="featured" type="checkbox" value="true" checked="checked"> - <input type="hidden" name="_featured" value="on"> - </div> - </div> - <div class="control-group"> - <label for="disableRendering" class="control-label"> - Disable Widget - </label> - <div class="controls"> - <input id="disableRendering" name="disableRendering" type="checkbox" value="true"> - <input type="hidden" name="_disableRendering" value="on"> - </div> - </div> - <div class="control-group"> - <label for="disableRenderingMessage" class="control-label"> - Disable Widget Message - </label> - <div class="controls"> - <input id="disableRenderingMessage" name="disableRenderingMessage" class="long" autofocus="autofocus" type="text" value=""> - </div> - </div> - <div class="control-group"> - <label for="widgetStatus" class="control-label"> - Status - </label> - <div class="controls"> - <select id="widgetStatus" name="widgetStatus"> - <option value="PUBLISHED" selected="selected">PUBLISHED</option> - <option value="PREVIEW">PREVIEW</option> - </select> - </div> - </div> - <div class="control-group"> - <label for="categories" class="control-label">Categories:</label> - <div class="controls"> - <select id="categories" name="categories" multiple="multiple" size="10"> - <option value="5">Communications</option> - <option value="2">News</option> - <option value="4">Projects</option> - <option value="1">Technology</option> - <option value="3">Travel</option> - </select> - <input type="hidden" name="_categories" value="1"> - </div> - </div> - <div class="control-group"> - <label for="thumbnailUrl" class="control-label"> - Thumbnail</label> - <div class="controls"> - <input type="url" name="thumbnailUrl" id="thumbnailUrl" placeholder="http://example.com/thumbnail.png" class="long" value=""> - </div> - </div> - <div class="control-group"> - <label for="screenshotUrl" class="control-label"> - Screenshot - </label> - <div class="controls"> - <input type="url" name="screenshotUrl" id="screenshotUrl" placeholder="http://example.com/screenshot.png" class="long" value=""> - </div> - </div> - <div class="control-group"> - <label for="titleUrl" class="control-label"> - URL the widget title links to - </label> - <div class="controls"> - <input type="url" name="titleUrl" id="titleUrl" class="long" value=""> - </div> - </div> - <div class="control-group"> - <label for="author" class="control-label">Author</label> - <div class="controls"> - <input id="author" name="author" class="long" type="text" value="OpenSocial Foundation"> - </div> - </div> - <div class="control-group"> - <label for="authorEmail" class="control-label"> - Author's email address - </label> - <div class="controls"> - <input type="email" name="authorEmail" id="authorEmail" class="long" value=""> - </div> - </div> - <fieldset> - <button class="btn btn-primary" type="submit" value="Update widget">Update widget</button> - </fieldset> - </form> -</section> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/routes.js b/rave-portal-ng/src/subapps/admin/widgets/routes.js index 2f2ca67..76af9f3 100644 --- a/rave-portal-ng/src/subapps/admin/widgets/routes.js +++ b/rave-portal-ng/src/subapps/admin/widgets/routes.js @@ -1,14 +1,18 @@ -define(function(require) { - require('../admin'); - var angular = require('angular'); +/* + * routes + * Routes for this subapp. Rave uses the Angular-UI UI-Router + * library for routing, so be sure to familiarize yourself + * with that library. + * + */ - angular.module('admin').config([ - '$stateProvider', '$urlRouterProvider', +define(function(require) { + return ['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $stateProvider .state('portal.admin.widgets', { url: '/widgets', - templateUrl: '/subapps/admin/widgets/widgets.html', + templateUrl: '/subapps/admin/widgets/templates/widgets.html', authenticate: true, controller: function($scope) { $scope.currentPage = 0; @@ -40,9 +44,9 @@ define(function(require) { }) .state('portal.admin.widgets.detail', { url: '/widgets/detail-:id', - templateUrl: '/subapps/admin/widgets/detail/detail.html', + templateUrl: '/subapps/admin/widgets/templates/detail.html', authenticate: true }); } - ]); + ]; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/templates/detail.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/templates/detail.html b/rave-portal-ng/src/subapps/admin/widgets/templates/detail.html new file mode 100644 index 0000000..8b1aaa0 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/widgets/templates/detail.html @@ -0,0 +1,154 @@ +<a ui-sref="portal.admin.widgets"> + « Back to widgets +</a> +<h2> + Activity Stream +</h2> +<section class="formbox"> + <form id="updateWidget" class="form-horizontal" action="update" method="POST"> + <legend> + Edit widget data + <div class="control-group pull-right"> + <div class="controls"> + <a href="#" class="btn btn-warning storeItemButton" id="fetchMetadataButton"> + Update widget metadata + </a> + </div> + </div> + </legend> + <p> + Field marked with * are required + </p> + <div class="control-group"> + <label for="title" class="control-label"> + Title * + </label> + <div class="controls"> + <input id="title" name="title" class="long" autofocus="autofocus" required="required" type="text" value="Activity Stream"> + </div> + </div> + <div class="control-group"> + <label for="url" class="control-label"> + Location (URL) * + </label> + <div class="controls"> + <input type="url" name="url" id="url" placeholder="http://example.com/widget.xml" required="required" class="long" value="https://raw.github.com/OpenSocial/examples/master/gadgets/activitystream/gadget.xml"> + </div> + </div> + <div class="control-group"> + <label for="type1" class="control-label"> + Type * + </label> + <div class="controls"> + <label for="type1" class="radio"> + <input id="type1" name="type" type="radio" value="OpenSocial" checked="checked"> + OpenSocial + </label> + <label for="type2" class="radio"> + <input id="type2" name="type" type="radio" value="W3C"> + W3C Widget + </label> + </div> + </div> + <div class="control-group"> + <label for="description" class="control-label"> + Description * + </label> + <div class="controls"> + <textarea id="description" name="description" class="long" required="required"> + OpenSocial Activity Stream gadget with support for Embedded Experiences + </textarea> + </div> + </div> + <div class="control-group"> + <label for="featured" class="control-label"> + Featured + </label> + <div class="controls"> + <input id="featured" name="featured" type="checkbox" value="true" checked="checked"> + <input type="hidden" name="_featured" value="on"> + </div> + </div> + <div class="control-group"> + <label for="disableRendering" class="control-label"> + Disable Widget + </label> + <div class="controls"> + <input id="disableRendering" name="disableRendering" type="checkbox" value="true"> + <input type="hidden" name="_disableRendering" value="on"> + </div> + </div> + <div class="control-group"> + <label for="disableRenderingMessage" class="control-label"> + Disable Widget Message + </label> + <div class="controls"> + <input id="disableRenderingMessage" name="disableRenderingMessage" class="long" autofocus="autofocus" type="text" value=""> + </div> + </div> + <div class="control-group"> + <label for="widgetStatus" class="control-label"> + Status + </label> + <div class="controls"> + <select id="widgetStatus" name="widgetStatus"> + <option value="PUBLISHED" selected="selected">PUBLISHED</option> + <option value="PREVIEW">PREVIEW</option> + </select> + </div> + </div> + <div class="control-group"> + <label for="categories" class="control-label">Categories:</label> + <div class="controls"> + <select id="categories" name="categories" multiple="multiple" size="10"> + <option value="5">Communications</option> + <option value="2">News</option> + <option value="4">Projects</option> + <option value="1">Technology</option> + <option value="3">Travel</option> + </select> + <input type="hidden" name="_categories" value="1"> + </div> + </div> + <div class="control-group"> + <label for="thumbnailUrl" class="control-label"> + Thumbnail</label> + <div class="controls"> + <input type="url" name="thumbnailUrl" id="thumbnailUrl" placeholder="http://example.com/thumbnail.png" class="long" value=""> + </div> + </div> + <div class="control-group"> + <label for="screenshotUrl" class="control-label"> + Screenshot + </label> + <div class="controls"> + <input type="url" name="screenshotUrl" id="screenshotUrl" placeholder="http://example.com/screenshot.png" class="long" value=""> + </div> + </div> + <div class="control-group"> + <label for="titleUrl" class="control-label"> + URL the widget title links to + </label> + <div class="controls"> + <input type="url" name="titleUrl" id="titleUrl" class="long" value=""> + </div> + </div> + <div class="control-group"> + <label for="author" class="control-label">Author</label> + <div class="controls"> + <input id="author" name="author" class="long" type="text" value="OpenSocial Foundation"> + </div> + </div> + <div class="control-group"> + <label for="authorEmail" class="control-label"> + Author's email address + </label> + <div class="controls"> + <input type="email" name="authorEmail" id="authorEmail" class="long" value=""> + </div> + </div> + <fieldset> + <button class="btn btn-primary" type="submit" value="Update widget">Update widget</button> + </fieldset> + </form> +</section> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/templates/widgets.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/templates/widgets.html b/rave-portal-ng/src/subapps/admin/widgets/templates/widgets.html new file mode 100644 index 0000000..8a23395 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/widgets/templates/widgets.html @@ -0,0 +1,81 @@ +<article ui-view> + <h2> + Showing {{ firstItem() }} - {{ lastItem() }} of {{ widgets.length }} results + </h2> + <div class="searchHeading paginationHeading"> + <div class="pagination"> + <ul> + <li class="active"><a href="#">1</a></li> + <li><a href="?offset=10&referringPageId=1">2</a></li> + <li><a href="?offset=20&referringPageId=1">3</a></li> + <li><a href="?offset=10&referringPageId=1">></a></li> + </ul> + </div> + <form class="form-horizontal search-form" action="/portal/app/admin/widgets/search" method="get"> + <fieldset> + <div class="input-append"> + <input class="input-medium" type="search" id="searchTerm" name="searchTerm" value="" placeholder="Search Widgets"> + <button class="btn btn-primary" type="submit" value="Search">Search</button> + </div> + <p> + <a href="#" data-toggle="collapse" data-target="#searchFilters"> + Search Options... + </a> + </p> + <div id="searchFilters" class="collapse"> + <select name="widgettype" id="widgettype" class="input-medium"> + <option value=""> + Choose Type... + </option> + <option value="OpenSocial"> + OpenSocial + </option> + <option value="W3C"> + W3C Widget + </option> + </select> + <select name="widgetstatus" id="widgetstatus" class="input-medium"> + <option value=""> + Choose Status... + </option> + <option value="published"> + published + </option> + <option value="preview"> + review + </option> + </select> + </div> + </fieldset> + </form> + </div> + <table class="table table-striped table-bordered table-condensed"> + <thead> + <tr> + <th>Title</th> + <th>Type</th> + <th>Status</th> + </tr> + </thead> + <tbody> + <tr ng-repeat="widget in widgets | startFrom:currentPage*listSize | limitTo:listSize"> + <td> + <a ui-sref="portal.admin.widgets.detail({id: {{ widget.id }}})"> + {{ widget.name }} + </a> + </td> + <td>OpenSocial</td> + <td>published</td> + </tr> + </tbody> + </table> + <div class="pagination"> + <ul> + <li class="active"><a href="#">1</a></li> + <li><a href="?offset=10&referringPageId=1">2</a></li> + <li><a href="?offset=20&referringPageId=1">3</a></li> + <li><a href="?offset=10&referringPageId=1">></a></li> + </ul> + </div> + +</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/widgets.html ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/widgets.html b/rave-portal-ng/src/subapps/admin/widgets/widgets.html deleted file mode 100644 index 8a23395..0000000 --- a/rave-portal-ng/src/subapps/admin/widgets/widgets.html +++ /dev/null @@ -1,81 +0,0 @@ -<article ui-view> - <h2> - Showing {{ firstItem() }} - {{ lastItem() }} of {{ widgets.length }} results - </h2> - <div class="searchHeading paginationHeading"> - <div class="pagination"> - <ul> - <li class="active"><a href="#">1</a></li> - <li><a href="?offset=10&referringPageId=1">2</a></li> - <li><a href="?offset=20&referringPageId=1">3</a></li> - <li><a href="?offset=10&referringPageId=1">></a></li> - </ul> - </div> - <form class="form-horizontal search-form" action="/portal/app/admin/widgets/search" method="get"> - <fieldset> - <div class="input-append"> - <input class="input-medium" type="search" id="searchTerm" name="searchTerm" value="" placeholder="Search Widgets"> - <button class="btn btn-primary" type="submit" value="Search">Search</button> - </div> - <p> - <a href="#" data-toggle="collapse" data-target="#searchFilters"> - Search Options... - </a> - </p> - <div id="searchFilters" class="collapse"> - <select name="widgettype" id="widgettype" class="input-medium"> - <option value=""> - Choose Type... - </option> - <option value="OpenSocial"> - OpenSocial - </option> - <option value="W3C"> - W3C Widget - </option> - </select> - <select name="widgetstatus" id="widgetstatus" class="input-medium"> - <option value=""> - Choose Status... - </option> - <option value="published"> - published - </option> - <option value="preview"> - review - </option> - </select> - </div> - </fieldset> - </form> - </div> - <table class="table table-striped table-bordered table-condensed"> - <thead> - <tr> - <th>Title</th> - <th>Type</th> - <th>Status</th> - </tr> - </thead> - <tbody> - <tr ng-repeat="widget in widgets | startFrom:currentPage*listSize | limitTo:listSize"> - <td> - <a ui-sref="portal.admin.widgets.detail({id: {{ widget.id }}})"> - {{ widget.name }} - </a> - </td> - <td>OpenSocial</td> - <td>published</td> - </tr> - </tbody> - </table> - <div class="pagination"> - <ul> - <li class="active"><a href="#">1</a></li> - <li><a href="?offset=10&referringPageId=1">2</a></li> - <li><a href="?offset=20&referringPageId=1">3</a></li> - <li><a href="?offset=10&referringPageId=1">></a></li> - </ul> - </div> - -</article> http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/admin/widgets/widgets.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/widgets/widgets.js b/rave-portal-ng/src/subapps/admin/widgets/widgets.js new file mode 100644 index 0000000..785bb84 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/widgets/widgets.js @@ -0,0 +1,27 @@ +/* + * widgets + * A module for the widgets section of the Admin. + * + */ + +define(function(require) { + var ng = require('angular'); + + // Our module dependencies + require('uiRouter'); + + // The array of names for Angular's dependency injection + var widgetsDependencies = [ + 'ui.router' + ]; + + // Create our module + var widgets = ng.module('admin.widgets', widgetsDependencies); + + // Register the routes + var routes = require('./routes'); + widgets.config(routes); + + // Export the module + return widgets; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/api/api.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/api/api.js b/rave-portal-ng/src/subapps/auth/api/api.js new file mode 100644 index 0000000..87f0610 --- /dev/null +++ b/rave-portal-ng/src/subapps/auth/api/api.js @@ -0,0 +1,30 @@ +/* + * auth-Api + * The base API services for the auth module + * + */ + +define(function(require) { + var ng = require('angular'); + + var api = require('../../../providers/api/api-route'); + + var authApiDependencies = [ + api.name + ]; + + // Create the API as an Angular module + var authApi = ng.module('authApi', authApiDependencies); + + var authApiBase = require('./services/auth-api-base'); + authApi.value('authApiBase', authApiBase); + + var authApiRoutes = require('./services/auth-api-routes'); + authApi.factory('authApiRoutes', authApiRoutes); + + var authApiService = require('./services/auth-api'); + authApi.factory('authApi', authApiService); + + // Return the module + return authApi; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/api/services/auth-api-base.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/api/services/auth-api-base.js b/rave-portal-ng/src/subapps/auth/api/services/auth-api-base.js new file mode 100644 index 0000000..c7ebe51 --- /dev/null +++ b/rave-portal-ng/src/subapps/auth/api/services/auth-api-base.js @@ -0,0 +1,9 @@ +/* + * authApiBase + * The base route for API routes + * + */ + +define(function(require) { + return 'auth/'; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/api/services/auth-api-routes.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/api/services/auth-api-routes.js b/rave-portal-ng/src/subapps/auth/api/services/auth-api-routes.js new file mode 100644 index 0000000..34e5e7c --- /dev/null +++ b/rave-portal-ng/src/subapps/auth/api/services/auth-api-routes.js @@ -0,0 +1,18 @@ +/* + * authApiRoutes + * Defines our API routes in a single location. + * + */ + +define(function(require) { + return ['apiRoute', 'authApiBase', + function(apiRoute, authApiBase) { + var base = apiRoute + authApiBase; + return { + login: base + 'login', + logout: base + 'logout', + verify: base + 'verify' + }; + } + ]; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/api/services/auth-api.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/api/services/auth-api.js b/rave-portal-ng/src/subapps/auth/api/services/auth-api.js new file mode 100644 index 0000000..c34de6d --- /dev/null +++ b/rave-portal-ng/src/subapps/auth/api/services/auth-api.js @@ -0,0 +1,29 @@ +/* + * authApi + * Exposes high-level methods for interacting with the remote API for authentication. + * All methods defer to $http and, consequently, return an HttpPromise. + * + * There is NEVER a need to use this service directly. Instead, all external auth-related + * activities should go through the securityService. + * + */ + +define(function(require) { + return ['$http', 'authApiRoutes', + function($http, authApiRoutes) { + + // Each of our auth routes. + return { + login: function(credentials) { + return $http.post(authApiRoutes.login, credentials); + }, + logout: function() { + return $http.post(authApiRoutes.logout); + }, + verify: function(token) { + return $http.post(authApiRoutes.verify, {token: token}); + } + }; + } + ]; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/auth.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/auth.js b/rave-portal-ng/src/subapps/auth/auth.js index 49fe2d7..fab4998 100644 --- a/rave-portal-ng/src/subapps/auth/auth.js +++ b/rave-portal-ng/src/subapps/auth/auth.js @@ -1,9 +1,36 @@ +/* + * auth + * An Angular module that serves as a container for all of our + * other auth-related modules. + * + */ + define(function(require) { var angular = require('angular'); - var auth = angular.module('auth', [ - 'ipCookie' - ]); + // Ensure that our dependencies are loaded + require('angularCookie'); + + // Load the different modules that make up this subapp + var security = require('./security/security'); + var logout = require('./logout/logout'); + var login = require('./login/login'); + var forgotPassword = require('./forgot-password/forgot-password'); + var forgotUsername = require('./forgot-username/forgot-username'); + var createAccount = require('./create-account/create-account'); + + // Define our array of dependencies for Angular's DI + var authDependencies = [ + 'ipCookie', + security.name, + logout.name, + login.name, + forgotPassword.name, + forgotUsername.name, + createAccount.name + ]; + + var auth = angular.module('auth', authDependencies); return auth; }); http://git-wip-us.apache.org/repos/asf/rave/blob/277e58a4/rave-portal-ng/src/subapps/auth/controllers/login-form.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/auth/controllers/login-form.js b/rave-portal-ng/src/subapps/auth/controllers/login-form.js deleted file mode 100644 index d8bc1c6..0000000 --- a/rave-portal-ng/src/subapps/auth/controllers/login-form.js +++ /dev/null @@ -1,24 +0,0 @@ -define(function(require) { - var auth = require('../auth'); - require('../services/security'); - - auth.controller('loginController', [ - '$scope', 'security', - function($scope, security) { - - // We call this method when they submit the form. - $scope.submit = function(credentials) { - - // Otherwise, we attempt to log them in by delegating to the - // securityService. If it's successful, the security service - // handles the rest for us. - security.login(credentials) - - // And if it errors, we catch it here. - .catch(function() { - $scope.invalid = true; - }); - }; - } - ]); -});
