You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2014/08/29 14:16:37 UTC
[13/50] [abbrv] git commit: Adds resolve to the router.
Adds resolve to the router.
Project: http://git-wip-us.apache.org/repos/asf/rave/repo
Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/80ecabf4
Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/80ecabf4
Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/80ecabf4
Branch: refs/heads/angular
Commit: 80ecabf42a98220e5bb1216399b4ed3a17ac2bac
Parents: 2cfbb8e
Author: Jmeas <je...@gmail.com>
Authored: Tue Aug 12 10:47:30 2014 -0400
Committer: Jmeas <je...@gmail.com>
Committed: Tue Aug 12 10:47:30 2014 -0400
----------------------------------------------------------------------
.../src/subapps/admin/categories/categories.js | 3 +++
.../admin/categories/controllers/categories.js | 22 +++------------
.../admin/categories/controllers/category.js | 28 +++++++++++++++-----
.../admin/categories/controllers/create.js | 23 ++++++++++++++++
.../src/subapps/admin/categories/routes.js | 16 +++++++++--
.../admin/categories/templates/categories.html | 2 +-
.../preferences/controllers/preferences.js | 10 +++----
.../src/subapps/admin/preferences/routes.js | 7 ++++-
8 files changed, 78 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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
index c1d5c86..a63af3b 100644
--- a/rave-portal-ng/src/subapps/admin/categories/categories.js
+++ b/rave-portal-ng/src/subapps/admin/categories/categories.js
@@ -31,6 +31,9 @@ define(function(require) {
var categoryCtrl = require('./controllers/category');
categories.controller('categoryCtrl', categoryCtrl);
+ var createCtrl = require('./controllers/create');
+ categories.controller('createCtrl', createCtrl);
+
// Register the routes
var routes = require('./routes');
categories.config(routes);
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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 be1c3eb..a0b1281 100644
--- a/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js
+++ b/rave-portal-ng/src/subapps/admin/categories/controllers/categories.js
@@ -1,26 +1,12 @@
/*
* categories
- * Handles submission of our form
+ * Attaches our resolved resources to the scope
*
*/
define(function(require) {
- return ['$scope', 'categoriesResource', '$stateParams', '$rootScope',
- function($scope, categoriesResource, $stateParams, $rootScope) {
-
- $scope.categories = categoriesResource.query();
-
- $scope.onCreate = function() {
- var newResource = categoriesResource.save({
- text: $scope.newText
- });
-
- newResource.$promise
- .then(function() {
- $scope.categories.push(newResource);
- })
- .catch(function() {
- });
- };
+ return ['$scope', 'categoriesResource', '$stateParams', '$rootScope', 'categoriesList',
+ function($scope, categoriesResource, $stateParams, $rootScope, categoriesList) {
+ $scope.categories = categoriesList;
}];
});
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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 de72013..e8d3e92 100644
--- a/rave-portal-ng/src/subapps/admin/categories/controllers/category.js
+++ b/rave-portal-ng/src/subapps/admin/categories/controllers/category.js
@@ -5,15 +5,32 @@
*/
define(function(require) {
- return ['$scope', 'categoryResource', '$state', '$stateParams',
- function($scope, categoryResource, $state, $stateParams) {
- $scope.category = categoryResource.get({id: $stateParams.id});
+ return ['$scope', 'categoryResource', '$state', '$stateParams', 'category',
+ function($scope, categoryResource, $state, $stateParams, category) {
+ $scope.category = category;
$scope.category.$promise.then(function(res) {
$scope.text = res.text;
}).catch(function(err) {
});
+ // Remove the category from the list of categories in the scope
+ this.removeFromList = function() {
+ var oldCategory = _.findWhere($scope.categories, {ID:+$stateParams.id});
+ var oldIndex = _.indexOf($scope.categories, oldCategory);
+ $scope.categories.splice(oldIndex, 1);
+ };
+
+ // Replace the old item in the list with the new
+ this.updateList = function(newResource) {
+ var oldCategory = _.findWhere($scope.categories, {ID:+$stateParams.id});
+ var oldIndex = _.indexOf($scope.categories, oldCategory);
+ $scope.categories[oldIndex] = newResource;
+ $scope.category = newResource;
+ };
+
+ var ctrl = this;
+
$scope.onSave = function() {
var savedResource = categoryResource.update({
id: $stateParams.id,
@@ -21,9 +38,7 @@ define(function(require) {
});
savedResource.$promise
- .then(function() {
- $scope.category = savedResource;
- })
+ .then(ctrl.updateList)
.catch(function() {
});
};
@@ -35,6 +50,7 @@ define(function(require) {
deletedResource.$promise
.then(function() {
+ ctrl.removeFromList();
$state.transitionTo('portal.admin.categories');
})
.catch(function() {
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/rave-portal-ng/src/subapps/admin/categories/controllers/create.js
----------------------------------------------------------------------
diff --git a/rave-portal-ng/src/subapps/admin/categories/controllers/create.js b/rave-portal-ng/src/subapps/admin/categories/controllers/create.js
new file mode 100644
index 0000000..cfb1c7d
--- /dev/null
+++ b/rave-portal-ng/src/subapps/admin/categories/controllers/create.js
@@ -0,0 +1,23 @@
+/*
+ * createCtrl
+ * Handles submission of our form
+ *
+ */
+
+define(function(require) {
+ return ['$scope', 'categoriesResource',
+ function($scope, categoriesResource) {
+ $scope.onCreate = function() {
+ var newResource = categoriesResource.save({
+ text: $scope.newText
+ });
+
+ newResource.$promise
+ .then(function() {
+ $scope.categories.push(newResource);
+ })
+ .catch(function() {
+ });
+ };
+ }];
+});
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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 8e51a51..a716076 100644
--- a/rave-portal-ng/src/subapps/admin/categories/routes.js
+++ b/rave-portal-ng/src/subapps/admin/categories/routes.js
@@ -19,7 +19,13 @@ define(function(require) {
url: '/categories',
templateUrl: '/subapps/admin/categories/templates/categories.html',
authenticate: true,
- controller: categoriesCtrl
+ controller: categoriesCtrl,
+ resolve: {
+ categoriesList: ['categoriesResource',
+ function(categoriesResource) {
+ return categoriesResource.query();
+ }]
+ }
})
// The detail page for a single category
@@ -27,7 +33,13 @@ define(function(require) {
url: '/categories/category-:id',
templateUrl: '/subapps/admin/categories/templates/category.html',
authenticate: true,
- controller: categoryCtrl
+ controller: categoryCtrl,
+ resolve: {
+ category: ['categoryResource', '$stateParams',
+ function(categoryResource, $stateParams) {
+ return categoryResource.get({id: $stateParams.id});
+ }]
+ }
});
}
];
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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
index 7b47c21..40f5bad 100644
--- a/rave-portal-ng/src/subapps/admin/categories/templates/categories.html
+++ b/rave-portal-ng/src/subapps/admin/categories/templates/categories.html
@@ -33,7 +33,7 @@
</tbody>
</table>
<div>
- <form id="createCategory" class="form-inline">
+ <form id="createCategory" class="form-inline" ng-controller="createCtrl">
<fieldset>
<legend>
Create Category
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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 950da46..9b8cd11 100644
--- a/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js
+++ b/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js
@@ -10,7 +10,7 @@ define(function(require) {
// Our list of preferences. You must put any
// new preferences here for Angular to auto-update
// the ng-model.
- var preferences = [
+ var preferencesKeys = [
'titleSuffix',
'pageSize',
'defaultWidgetHeight',
@@ -20,17 +20,17 @@ define(function(require) {
'javascriptDebugMode'
];
- return ['$scope', 'preferencesResource',
- function($scope, preferencesResource) {
+ return ['$scope', 'preferencesResource', 'preferences',
+ function($scope, preferencesResource, preferences) {
// Create our preferences object on the scope.
$scope.preferences = {};
// Try to get the current preferences to show the user
- $scope.currentPreferences = preferencesResource.get();
+ $scope.currentPreferences = preferences;
$scope.currentPreferences.$promise
.then(function(res) {
- var currentPrefs = _.pick(res, preferences);
+ var currentPrefs = _.pick(res, preferencesKeys);
_.each(currentPrefs, function(value, key) {
$scope.preferences[key] = value;
});
http://git-wip-us.apache.org/repos/asf/rave/blob/80ecabf4/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 7e68e26..fd6495f 100644
--- a/rave-portal-ng/src/subapps/admin/preferences/routes.js
+++ b/rave-portal-ng/src/subapps/admin/preferences/routes.js
@@ -18,7 +18,12 @@ define(function(require) {
url: '/preferences',
templateUrl: '/subapps/admin/preferences/templates/preferences.html',
authenticate: true,
- controller: preferencesCtrl
+ controller: preferencesCtrl,
+ resolve: {
+ preferences: ['preferencesResource', function(preferencesResource) {
+ return preferencesResource.get();
+ }]
+ }
});
}
];