error box
authorScott Baker <smbaker@gmail.com>
Tue, 28 Oct 2014 21:46:13 +0000 (14:46 -0700)
committerScott Baker <smbaker@gmail.com>
Tue, 28 Oct 2014 21:46:13 +0000 (14:46 -0700)
planetstack/core/xoslib/dashboards/test.html
planetstack/core/xoslib/static/css/test.css
planetstack/core/xoslib/static/js/test.js

index 9eb005a..98cc0c1 100644 (file)
 <div id="sliverList">
 </div>
 
+<div id="rightSide">
+<div id="errorBox">
+</div>
+
 <div id="detailBox">
 <button id="close-detail-view">Close Detail View</button>
 <div id="detail"></div>\r
 <div id="linkedObjs1"></div>
 <div id="linkedObjs2"></div>
 </div>
+</div>
+
+<script type="text/template" id="test-error-template">
+  <button id="close-error-box">Close Error Message</button>
+  <h3>An error has occurred.</h3>
+  <table class="test-error-table">
+  <tr><td>Code:</td><td><%= status %></td></tr>
+  <tr><td>Message:</td><td><%= statusText %></td></tr>
+  </table>
+</script>
 
 <!-- Deployment -->
 
index 157f2a8..51b7407 100644 (file)
@@ -2,11 +2,25 @@
     border: 1px solid black;
 }
 
-#detailBox {
+#rightSide {
     position: fixed;
     top: 1em;
     right: 1em;
-    border: 1px;
+}
+
+#detailBox {
+    padding: 10px;
+    border: 2px solid;
     background-color: #f0f0f0;
+    margin-bottom:50px;
+    display:none;
+}
+
+#errorBox {
+    padding: 10px;
+    border: 2px solid;
+    background-color: #f00000;
+    margin-bottom:50px;
+    display:none;
 }
 
index 7a1106c..10626d7 100644 (file)
@@ -32,6 +32,18 @@ TestApp.DeploymentListView = Marionette.CompositeView.extend({
     },
 });
 
+TestApp.hideError = function(result) {
+    $("#errorBox").hide();
+};
+
+TestApp.showError = function(result) {
+     $("#errorBox").show();
+     $("#errorBox").html(_.template($("#test-error-template").html())(result));
+     $('#close-error-box').unbind().bind('click', function() {
+         $('#errorBox').hide();
+     });
+};
+
 TestApp.on("start", function() {
      var objs = ['deployment', 'image', 'networkTemplate', 'network', 'node', 'service', 'site', 'slice', 'sliver'];
 
@@ -59,10 +71,16 @@ TestApp.on("start", function() {
                 this.dirty = true;\r
             },\r
 \r
+            saveError: function(model, result, xhr) {\r
+                TestApp.showError(result);\r
+            },\r
+\r
             submitClicked: function(e) {\r
+                TestApp.hideError();\r
                 e.preventDefault();\r
                 var data = Backbone.Syphon.serialize(this);\r
-                this.model.save(data);\r
+                var thisView = this;\r
+                this.model.save(data, {error: function(model, result, xhr) { thisView.saveError(model, result, xhr); }});\r
                 this.dirty = false;\r
             },\r
          });
@@ -76,6 +94,7 @@ TestApp.on("start", function() {
              events: {"click": "changeItem"},
 \r
              changeItem: function(e) {\r
+                    TestApp.hideError();\r
                     e.preventDefault();\r
                     e.stopPropagation();\r
 \r
@@ -104,11 +123,12 @@ TestApp.on("start", function() {
          xos[collection_name].startPolling();
      }
 
-     $('#close-detail-view').bind('click', function() {
+     $('#close-detail-view').unbind().bind('click', function() {
          $('#detailBox').hide();
      });
 
-     $('#detailBox').hide();
+//     $('#detailBox').hide();
+//     $('#errorBox').hide();
 });
 
 $(document).ready(function(){