Adds messages to Preferences.
Project: http://git-wip-us.apache.org/repos/asf/rave/repo Commit: http://git-wip-us.apache.org/repos/asf/rave/commit/4e6b5352 Tree: http://git-wip-us.apache.org/repos/asf/rave/tree/4e6b5352 Diff: http://git-wip-us.apache.org/repos/asf/rave/diff/4e6b5352 Branch: refs/heads/angular Commit: 4e6b5352990383e0776830594985005ef52e1073 Parents: 14bdbc2 Author: Jmeas <[email protected]> Authored: Thu Aug 14 19:50:02 2014 -0400 Committer: Jmeas <[email protected]> Committed: Thu Aug 14 19:50:02 2014 -0400 ---------------------------------------------------------------------- .../admin/categories/templates/categories.html | 4 +-- .../preferences/controllers/preferences.js | 12 ++++--- .../subapps/admin/preferences/preferences.js | 3 ++ .../src/subapps/admin/preferences/routes.js | 3 ++ .../services/preferences-messages.js | 37 ++++++++++++++++++++ .../preferences/templates/preferences.html | 13 ++++--- 6 files changed, 61 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/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 73b93b2..5aa1fe8 100644 --- a/rave-portal-ng/src/subapps/admin/categories/templates/categories.html +++ b/rave-portal-ng/src/subapps/admin/categories/templates/categories.html @@ -1,10 +1,10 @@ <article ui-view> <h2>Categories</h2> <div class="alert" ng-class="messageClassName()" ng-bind-html="messageHtml()" ng-show="showMessage()"></div> - <div class="alert alert-info" ng-show="!showTable()"> + <div class="alert alert-info" ng-show="!showTable()" ng-cloak> There are no categories. Create one using the form below. </div> - <table id="categoryList" class="table table-striped table-bordered table-condensed" ng-show="showTable()"> + <table id="categoryList" class="table table-striped table-bordered table-condensed" ng-show="showTable()" ng-cloak> <thead> <tr> <th>Text</th> http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/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 9b8cd11..a71bdad 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js +++ b/rave-portal-ng/src/subapps/admin/preferences/controllers/preferences.js @@ -20,8 +20,10 @@ define(function(require) { 'javascriptDebugMode' ]; - return ['$scope', 'preferencesResource', 'preferences', - function($scope, preferencesResource, preferences) { + return ['$scope', 'preferencesResource', 'preferences', 'preferencesMessages', + function($scope, preferencesResource, preferences, preferencesMessages) { + + $scope.messages = preferencesMessages; // Create our preferences object on the scope. $scope.preferences = {}; @@ -35,7 +37,8 @@ define(function(require) { $scope.preferences[key] = value; }); }) - .catch(function() { + .catch(function(err) { + preferencesMessages.showError(err); }); $scope.onSubmit = function() { @@ -44,9 +47,10 @@ define(function(require) { ); updatedPreferences.$promise .then(function(res) { - + preferencesMessages.showSuccess(); }) .catch(function(err) { + preferencesMessages.showError(err); }); }; }]; http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/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 index 3f0f399..88c4a56 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/preferences.js +++ b/rave-portal-ng/src/subapps/admin/preferences/preferences.js @@ -19,6 +19,9 @@ define(function(require) { var preferences = ng.module('admin.preferences', preferencesDependencies); // Register our providers for the preferences + var preferencesMessages = require('./services/preferences-messages'); + preferences.factory('preferencesMessages', preferencesMessages); + var preferencesResource = require('./resources/preferences'); preferences.factory('preferencesResource', preferencesResource); http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/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 fd6495f..650ee58 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/routes.js +++ b/rave-portal-ng/src/subapps/admin/preferences/routes.js @@ -19,6 +19,9 @@ define(function(require) { templateUrl: '/subapps/admin/preferences/templates/preferences.html', authenticate: true, controller: preferencesCtrl, + onExit: ['preferencesMessages', function(messages) { + messages.clearMessage(); + }], resolve: { preferences: ['preferencesResource', function(preferencesResource) { return preferencesResource.get(); http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/rave-portal-ng/src/subapps/admin/preferences/services/preferences-messages.js ---------------------------------------------------------------------- diff --git a/rave-portal-ng/src/subapps/admin/preferences/services/preferences-messages.js b/rave-portal-ng/src/subapps/admin/preferences/services/preferences-messages.js new file mode 100644 index 0000000..13c7ed6 --- /dev/null +++ b/rave-portal-ng/src/subapps/admin/preferences/services/preferences-messages.js @@ -0,0 +1,37 @@ +define(function() { + + // Return our factory method + return function() { + var message = ''; + var className = ''; + + return { + showSuccess: function() { + message = 'Your preferences have been updated.'; + className = 'alert-success'; + }, + + showError: function(err) { + message = err.data; + className = 'alert-danger'; + }, + + clearMessage: function() { + message = null; + className = ''; + }, + + messageText: function() { + return message; + }, + + messageClassName: function() { + return className; + }, + + showMessage: function() { + return message ? true : false; + } + }; + }; +}); http://git-wip-us.apache.org/repos/asf/rave/blob/4e6b5352/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 index 749ad1d..c706195 100644 --- a/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html +++ b/rave-portal-ng/src/subapps/admin/preferences/templates/preferences.html @@ -1,5 +1,8 @@ <article ui-view> <h2>Preferences</h2> + <div class="alert" ng-class="messages.messageClassName()" ng-show="messages.showMessage()"> + {{ messages.messageText() }} + </div> <form id="preferenceForm" class="form-horizontal"> <p>Field marked with * are required</p> <div class="control-group"> @@ -15,7 +18,7 @@ Number of items per page (list) * </label> <div class="controls"> - <input id="pageSize" name="pageSize.value" type="number" step="1" ng-model="preferences.pageSize"> + <input id="pageSize" name="pageSize.value" type="number" step="1" ng-model="preferences.pageSize" required> </div> </div> <div class="control-group"> @@ -23,7 +26,7 @@ Default widget height * </label> <div class="controls"> - <input id="defaultWidgetHeight" name="defaultWidgetHeight.value" type="number" step="1" ng-model="preferences.defaultWidgetHeight"> + <input id="defaultWidgetHeight" name="defaultWidgetHeight.value" type="number" step="1" ng-model="preferences.defaultWidgetHeight" required> </div> </div> <div class="control-group"> @@ -31,7 +34,7 @@ JavaScript Debug Mode * </label> <div class="controls"> - <select id="javaScriptDebugMode" name="javaScriptDebugMode.value" ng-model="preferences.javascriptDebugMode"> + <select id="javaScriptDebugMode" name="javaScriptDebugMode.value" ng-model="preferences.javascriptDebugMode" required> <option value="0">Disabled</option> <option value="1">Enabled</option> </select> @@ -42,7 +45,7 @@ Initial status to use for new widgets * </label> <div class="controls"> - <select id="initialWidgetStatus" name="initialWidgetStatus.value" ng-model="preferences.initialWidgetStatus"> + <select id="initialWidgetStatus" name="initialWidgetStatus.value" ng-model="preferences.initialWidgetStatus" required> <option value="preview"> Preview </option> @@ -61,7 +64,7 @@ </div> </div> <fieldset> - <button class="btn" ng-click="onSubmit()">Update preferences</button> + <button class="btn btn-primary" ng-click="onSubmit()">Update preferences</button> </fieldset> </form> </article>
