refresh button working, spinning circle, navigate function, tolerate sites==undefined...
[plstackapi.git] / planetstack / core / xoslib / templates / xosAdmin.html
index 3093b73..bc6ac02 100644 (file)
   <button class="btn btn-default btn-xosnav" onclick="<%= router %>.navigate('<%= routeUrl %>', {trigger: true})"><%= name %></button><br>
 </script>
 
+<script type="text/template" id="xos-status-template">
+  <div class="xos-status xos-<%= statusclass %>"><%= what %>: <%= statusText %> (<%= status %>)</div>
+</script>
+
+<script type="text/template" id="xos-tabs-template">
+  <ul class="xos-nav-list">
+  <% _.each(tabs, function(tab) { %>
+      <li class="xos-nav-item" id="xos-nav-<%= tab["region"] %>"><%= tab["name"] %></li>
+  <% }); %>
+  </ul>
+</script>
+
+<script type="text/template" id="xos-title-list">
+  <h3><img src="/static/img/brokencircle.gif" height=16 width=16 id="xos-list-title-spinner"> <%= title %></h3>
+</script>
+
+<script type="text/template" id="xos-title-detail">
+  <h3><%= title %></h3>
+</script>
+
 <script type="text/template" id="xos-navbutton">
   <li>
       <a href="<%= routeUrl %>">
           <i class="<%= iconClass %>"></i>
           <%= name %>
       </a>
-  </lid>
+  </li>
+</script>
+
+<script type="text/template" id="xos-inline-detail-buttons-template">
+    <tr>
+       <td colspan=2><button class="btn js-submit btn-xos-detail btn-xos-save-leave">Save</button>
+           <button class="btn js-submit btn-xos-detail btn-xos-save-continue">Save and Continue Editing</button>
+           <button class="btn js-submit btn-xos-detail btn-xos-save-another">Save and Add Another</button>
+           <button class="btn js-submit btn-xos-detail btn-xos-delete">Delete</button>
+       </td>
+    </tr>
+</script>
+
+<script type="text/template" id="xos-inline-list-buttons-template">
+           <button class="btn js-submit btn-xos-list btn-xos-add">Add</button>
+           <button class="btn js-submit btn-xos-list btn-xos-refresh">Refresh</button>
+       </td>
+    </tr>
 </script>
 
 <!-- Deployment -->
 
 <script type="text/template" id="xosAdmin-deployment-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
   <td class="objectLink"><%= name %></td>
   <td><%= backend_type %></td>
   <td><%= admin_tenant %></td>
-  <td><%= sites.length %></td>
+  <td><%= typeof sites != 'undefined' && sites.length || 0 %></td>
 </script>
 
 <script type="text/template" id="xosAdmin-deployment-detail-template">
-  <h3>Detail View: Deployment</h3>
-  <form>\r
+  <h3 class="xos-detail-title">Detail View: Deployment</h3>
+  <form>
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>Backend:</td><td><input type="text" name="backend_type" value="<%= backend_type %>"></td></tr>\r
   <tr><td>Admin Tenant:</td><td><input type="text" name="admin_tenant" value="<%= admin_tenant %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
-</script>
+</script>\r
 
 <!-- Image -->
 
 <script type="text/template" id="xosAdmin-image-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-image-detail-template">
-  <h3>Detail View: Image</h3>
+  <h3 class="xos-detail-title">Detail View: Image</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>Disk Format:</td><td><input type="text" name="backend_type" value="<%= disk_format %>"></td></tr>\r
   <tr><td>Container Format:</td><td><input type="text" name="admin_tenant" value="<%= container_format %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- NetworkTemplate -->
 
 <script type="text/template" id="xosAdmin-networkTemplate-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-networkTemplate-detail-template">
-  <h3>Detail View: NetworkTemplate</h3>
+  <h3 class="xos-detail-title">Detail View: NetworkTemplate</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>Translation:</td><td><input type="text" name="translation" value="<%= translation %>"></td></tr>\r
   <tr><td>Shared Network Name:</td><td><input type="text" name="sharedNetworkName" value="<%= sharedNetworkName %>"></td></tr>\r
   <tr><td>Shared Network Id:</td><td><input type="text" name="sharedNetworkId" value="<%= sharedNetworkId %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Network -->
 
 <script type="text/template" id="xosAdmin-network-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-network-detail-template">
-  <h3>Detail View: Network</h3>
+  <h3 class="xos-detail-title">Detail View: Network</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>Ports:</td><td><input type="text" name="ports" value="<%= ports %>"></td></tr>\r
   <tr><td>Labels:</td><td><input type="text" name="labels" value="<%= labels %>"></td></tr>\r
   <tr><td>Owner:</td><td><%= idToSelect("owner",owner,"slices","name") %></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- NetworkSliver -->
 
 <script type="text/template" id="xosAdmin-networkSliver-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-networkSliver-detail-template">
-  <h3>Detail View: Network</h3>
+  <h3 class="xos-detail-title">Detail View: Network</h3>
   <form>\r
   <table>\r
   <tr><td>Network:</td><td><input type="text" name="network" value="<%= network %>"></td></tr>\r
   <tr><td>Sliver:</td><td><input type="text" name="sliver" value="<%= sliver %>"></td></tr>\r
   <tr><td>Ip:</td><td><input type="text" name="ip" value="<%= ip %>"></td></tr>\r
   <tr><td>Port_id:</td><td><input type="text" name="port_id" value="<%= port_id %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- NetworkDeployment -->
 
 <script type="text/template" id="xosAdmin-networkDeployment-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-networkDeployment-detail-template">
-  <h3>Detail View: Network</h3>
+  <h3 class="xos-detail-title">Detail View: Network</h3>
   <form>\r
   <table>\r
   <tr><td>Network:</td><td><input type="text" name="network" value="<%= network %>"></td></tr>\r
   <tr><td>Sliver:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>\r
   <tr><td>Ip:</td><td><input type="text" name="net_id" value="<%= net_id %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Node -->
 
 <script type="text/template" id="xosAdmin-node-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-node-detail-template">
-  <h3>Detail View: Node</h3>
+  <h3 class="xos-detail-title">Detail View: Node</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>Site:</td><td><%= idToSelect("site",site,"sites","name") %></td></tr>\r
   <tr><td>Deployment:</td><td><%= idToSelect("deployment",deployment,"deployments","name") %></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- SliceRole -->
 
 <script type="text/template" id="xosAdmin-sliceRole-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-sliceRole-detail-template">
-  <h3>Detail View: Service</h3>
+  <h3 class="xos-detail-title">Detail View: Service</h3>
   <form>\r
   <table>\r
   <tr><td>Role:</td><td><input type="text" name="role" value="<%= role %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Service -->
 
 <script type="text/template" id="xosAdmin-service-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-service-detail-template">
-  <h3>Detail View: Service</h3>
+  <h3 class="xos-detail-title">Detail View: Service</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>description:</td><td><input type="text" name="description" value="<%= description %>"></td></tr>\r
   <tr><td>Version Number:</td><td><input type="text" name="versionNumber" value="<%= versionNumber %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Site -->
 
 <script type="text/template" id="xosAdmin-site-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-site-detail-template">
-  <h3>Detail View: Site</h3>
+  <h3 class="xos-detail-title">Detail View: Site</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
+  <tr><td>abbreviated_name:</td><td><input type="text" name="abbreviated_name" value="<%= abbreviated_name %>"></td></tr>\r
   <tr><td>url:</td><td><input type="text" name="site_url" value="<%= site_url %>"></td></tr>\r
+  <tr><td>Enabled:</td><td><input type="checkbox" name="enabled" <% if (enabled) print("checked"); %>></td></tr>\r
+  <tr><td>Is Public:</td><td><input type="checkbox" name="is_public" <% if (is_public) print("checked"); %>></td></tr>\r
   <tr><td>login_base:</td><td><input type="text" name="login_base" value="<%= login_base %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Slice -->
 
 <script type="text/template" id="xosAdmin-slice-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-slice-detail-template">
-  <h3>Detail View: Slice</h3>
+  <h3 class="xos-detail-title">Detail View: Slice</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
+  <tr><td>Site:</td><td><%= idToSelect("site",site,"sites","name") %></td></tr>\r
   <tr><td>Enabled:</td><td><input type="checkbox" name="enabled" <% if (enabled) print("checked"); %>></td></tr>\r
   <tr><td>Description:</td><td><input type="text" name="description" value="<%= description %>"></td></tr>\r
   <tr><td>Url:</td><td><input type="text" name="slice_url" value="<%= slice_url %>"></td></tr>\r
   <tr><td>Max Slivers:</td><td><input type="text" name="max_slivers" value="<%= max_slivers %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- SliceDeployment -->
 
 <script type="text/template" id="xosAdmin-sliceDeployment-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-sliceDeployment-detail-template">
-  <h3>Detail View: Slice Deployment</h3>
+  <h3 class="xos-detail-title">Detail View: Slice Deployment</h3>
   <form>\r
   <table>\r
   <tr><td>Slice:</td><td><input type="text" name="slice" value="<%= slice %>"></td></tr>\r
   <tr><td>Deployment:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>\r
   <tr><td>Tenant Id:</td><td><input type="text" name="tenant_id" value="<%= tenant_id %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- SlicePrivilege -->
 
 <script type="text/template" id="xosAdmin-slicePrivilege-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-slicePrivilege-detail-template">
-  <h3>Detail View: Slice Privilege</h3>
+  <h3 class="xos-detail-title">Detail View: Slice Privilege</h3>
   <form>\r
   <table>\r
   <tr><td>User:</td><td><input type="text" name="user" value="<%= user %>"></td></tr>\r
   <tr><td>Slice:</td><td><input type="text" name="slice" value="<%= slice %>"></td></tr>\r
   <tr><td>Role:</td><td><input type="text" name="role" value="<%= role %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- Sliver -->
 
 <script type="text/template" id="xosAdmin-sliver-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-sliver-detail-template">
-  <h3>Detail View: Sliver</h3>
+  <h3 class="xos-detail-title">Detail View: Sliver</h3>
   <form>\r
   <table>\r
   <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
   <tr><td>instance_name:</td><td><input type="text" name="instance_name" value="<%= instance_name %>"></td></tr>\r
   <tr><td>Image:</td><td><%= idToSelect("image",image,"images","name") %></td></tr>\r
   <tr><td>Creator:</td><td><%= idToSelect("creator",creator,"users","username") %></td></tr>\r
-  <tr><td>Slice:</td><td><%= idToSelect("deploymentNetwork",deploymentNetwork,"deployments","name") %></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <tr><td>Slice:</td><td><%= idToSelect("slice",slice,"slices","name") %></td></tr>\r
+  <tr><td>Deployment:</td><td><%= idToSelect("deploymentNetwork",deploymentNetwork,"deployments","name") %></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- User -->
 
 <script type="text/template" id="xosAdmin-user-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
 </script>
 
 <script type="text/template" id="xosAdmin-user-detail-template">
-  <h3>Detail View: User</h3>
+  <h3 class="xos-detail-title">Detail View: User</h3>
   <form>\r
   <table>\r
   <tr><td>User Name:</td><td><input type="text" name="username" value="<%= username %>"></td></tr>\r
   <tr><td>Phone:</td><td><input type="text" name="phone" value="<%= phone %>"></td></tr>\r
   <tr><td>Url:</td><td><input type="text" name="user_url" value="<%= user_url %>"></td></tr>\r
   <tr><td>Site:</td><td><%= idToSelect("site",site,"sites","name") %></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
 <!-- UserDeployments -->
 
 <script type="text/template" id="xosAdmin-userDeployment-list-template">
-  <h3><%= title %></h3>
+  <h3 class="xos-list-title"><%= title %></h3>
+  <%= xosInlineListButtonsTemplate() %>
   <table class="test-table">
   <thead><tr>
      <th>id</th>
   </table>
 </script>
 
-
 <script type="text/template" id="xosAdmin-userDeployment-listitem-template">
   <td class="objectLink"><%= id %></td>
   <td><%= idToName(user,"users","username") %></td>
 </script>
 
 <script type="text/template" id="xosAdmin-userDeployment-detail-template">
-  <h3>Detail View: UserDeployment</h3>
+  <h3 class="xos-detail-title">Detail View: UserDeployment</h3>
   <form>\r
   <table>\r
   <tr><td>User:</td><td><input type="text" name="user" value="<%= user %>"></td></tr>\r
   <tr><td>Deployment:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>\r
   <tr><td>kuser_id:</td><td><input type="text" name="kuser_id" value="<%= kuser_id %>"></td></tr>\r
-  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>\r
+  <%= xosInlineDetailButtonsTemplate() %>\r
   </table>\r
   </form>\r
 </script>
+
+<script>
+xosInlineDetailButtonsTemplate = _.template($("#xos-inline-detail-buttons-template").html());
+xosInlineListButtonsTemplate = _.template($("#xos-inline-list-buttons-template").html());
+</script>