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>

Reply via email to