backend_status icon
[plstackapi.git] / planetstack / core / xoslib / templates / xosAdmin.html
1 <!-- Error and Success templates -->
2
3 <script type="text/template" id="xos-error-response">
4   <h5>Error</h5>
5   <table>
6   <tr><td>error:</td><td><%= error %></td></tr>
7   <tr><td>check:</td><td><%= specific_error %></td></tr>
8   </table>
9   <h5>Details:</h5>
10       <table>
11       <tbody>
12       <% _.each(reasons, function(element, index) { %>
13           <tr><td><%= index %></td><td><%= element %></td></tr>
14       <% }); %>
15       </tbody>
16       </table>
17 </script>
18
19 <script type="text/template" id="xos-error-rawresponse">
20   <h5>Error</h5>
21   <pre>The server returned:
22 "<%= responseText %>"</pre>
23 </script>
24
25 <script type="text/template" id="xos-error-template">
26   <button id="close-error-box">Close Error Message</button>
27   <h3>An error has occurred.</h3>
28   <table class="test-error-table">
29   <tr><td>Code:</td><td><%= status %></td></tr>
30   <tr><td>Message:</td><td><%= statusText %></td></tr>
31   </table>
32 </script>
33
34 <script type="text/template" id="xos-success-template">
35   <button id="close-success-box">Close Success Message</button>
36   <h3>Success!</h3>
37   <table class="test-success-table">
38   <tr><td>Code:</td><td><%= status %></td></tr>
39   <tr><td>Message:</td><td><%= statusText %></td></tr>
40   </table>
41 </script>
42
43 <script type="text/template" id="xos-navbutton-old">
44   <button class="btn btn-default btn-xosnav" onclick="<%= router %>.navigate('<%= routeUrl %>', {trigger: true})"><%= name %></button><br>
45 </script>
46
47 <script type="text/template" id="xos-status-template">
48   <div class="xos-status xos-<%= statusclass %>"><%= what %>: <%= statusText %> (<%= status %>)</div>
49 </script>
50
51 <script type="text/template" id="xos-tabs-template">
52   <ul class="xos-nav-list">
53   <% _.each(tabs, function(tab) { %>
54       <li class="xos-nav-item" id="xos-nav-<%= tab["region"] %>"><%= tab["name"] %></li>
55   <% }); %>
56   </ul>
57 </script>
58
59 <script type="text/template" id="xos-title-list">
60   <h3><img src="/static/img/brokencircle.gif" height=16 width=16 id="xos-list-title-spinner"> <%= title %></h3>
61 </script>
62
63 <script type="text/template" id="xos-title-detail">
64   <h3><%= title %></h3>
65 </script>
66
67 <script type="text/template" id="xos-navbutton">
68   <li>
69       <a href="<%= routeUrl %>">
70           <i class="<%= iconClass %>"></i>
71           <%= name %>
72       </a>
73   </li>
74 </script>
75
76 <script type="text/template" id="xos-inline-detail-buttons-template">
77     <tr>
78        <td colspan=2><button class="btn js-submit btn-xos-detail btn-xos-save-leave">Save</button>
79            <button class="btn js-submit btn-xos-detail btn-xos-save-continue">Save and Continue Editing</button>
80            <button class="btn js-submit btn-xos-detail btn-xos-save-another">Save and Add Another</button>
81            <button class="btn js-submit btn-xos-detail btn-xos-delete">Delete</button>
82        </td>
83     </tr>
84 </script>
85
86 <script type="text/template" id="xos-backend-status-icon-template">
87     <% if ((enacted) && (enacted >= updated)) { %>
88         <span style="min-width:16px;"><img src="/static/admin/img/icon_success.gif"></span>
89     <% } else { %>
90         <% if ((backend_status == "Provisioning in progress") || (!backend_status)) { %>
91             <span style="min-width:16px;" title="<%= _.escape(backend_status) %>"><img src="/static/admin/img/icon_clock.gif"></span>
92         <% } else { %>
93             <span style="min-width:16px;" title="<%= _.escape(backend_status) %>"><img src="/static/admin/img/icon_error.gif"></span>
94         <% } %>
95     <% } %>
96 </script>
97
98 <script type="text/template" id="xos-list-header-template">
99     <button class="btn js-submit btn-xos-list btn-xos-add">Add</button>
100     <button class="btn js-submit btn-xos-list btn-xos-refresh">Refresh</button>
101 </script>
102
103 <script type="text/template" id="xos-list-footer-template">
104     <% if (addChildHash) { %>
105         <a href="<%= addChildHash %>">Add...</a>
106     <% } %>
107 </script>
108
109 <script type="text/template" id="xos-delete-button-template">
110     <a href="#delete<%= firstCharUpper(modelName) %>/<%= id %>">delete</a>
111 </script>
112
113 <script type="text/template" id="xos-detail-link-template">
114     <a href="#<%= collectionName %>/<%= id %>"><%= text %></a>
115 </script>
116
117 <script type="text/template" id="xos-add-template">
118   <h3 class="xos-detail-title">Add Object: <%= modelName %></h3>
119   <form>
120   <table>\r
121   <% _.each(addFields, function(fieldName) { %>\r
122      <tr><td><%= fieldNameToHumanReadable(fieldName) %>:</td>\r
123         <% readOnly = $.inArray(fieldName, model.readOnlyFields)>=0 ? " readonly" : "";  %>\r
124         <% if (fieldName in foreignFields) { %>\r
125             <td><%= idToSelect(fieldName, model.attributes[fieldName], foreignFields[fieldName], "humanReadableName", readOnly) %></td>\r
126         <% } else if (inputType[fieldName] == "checkbox") { %>\r
127             <td><input type="checkbox" name="<%= fieldName %>" <% if (model.attributes[fieldName]) print("checked"); %><%= readOnly %>></td>\r
128         <% } else { %>\r
129             <td><input type="text" name="<%= fieldName %>" value="<%= model.attributes[fieldName] %>"<%= readOnly %>></td>\r
130         <% } %>\r
131      </tr>\r
132   <% }); %>\r
133   <%= xosInlineDetailButtonsTemplate() %>\r
134   </table>\r
135   </form>\r
136 </script>
137
138 <script type="text/template" id="xos-detail-template">
139   <h3 class="xos-detail-title">Edit Object: <%= modelName %></h3>
140   <form>
141   <table>\r
142   <% console.log(model); _.each(detailFields, function(fieldName) { %>\r
143      <tr><td><%= fieldNameToHumanReadable(fieldName) %>:</td>\r
144         <% readOnly = $.inArray(fieldName, model.readOnlyFields)>=0 ? " readonly" : "";  console.log(fieldName + " " + readOnly); console.log(model.readOnlyFields); %>\r
145         <% if (fieldName in foreignFields) { %>\r
146             <td><%= idToSelect(fieldName, model.attributes[fieldName], foreignFields[fieldName], "humanReadableName", readOnly) %></td>\r
147         <% } else if (inputType[fieldName] == "checkbox") { %>\r
148             <td><input type="checkbox" name="<%= fieldName %>" <% if (model.attributes[fieldName]) print("checked"); %><%= readOnly %>></td>\r
149         <% } else { %>\r
150             <td><input type="text" name="<%= fieldName %>" value="<%= model.attributes[fieldName] %>"<%= readOnly %>></td>\r
151         <% } %>\r
152      </tr>\r
153   <% }); %>\r
154   <%= xosInlineDetailButtonsTemplate() %>\r
155   </table>\r
156   </form>\r
157 </script>
158
159 <script type="text/template" id="xos-list-template">
160   <h3 class="xos-list-title"><%= title %></h3>
161   <%= xosListHeaderTemplate() %>
162   <table class="test-table">
163   <thead>
164   <tr>
165   <% _.each(listFields, function(fieldName) { %>
166       <th><%= fieldNameToHumanReadable(fieldName) %></th>
167   <% }); %>
168   <th>delete</th>
169   </tr></thead>
170   <tbody></tbody>
171   </table>
172   <%= xosListFooterTemplate({addChildHash: addChildHash}) %>
173 </script>
174
175 <script type="text/template" id="xos-listitem-template">
176   <% _.each(listFields, function(fieldName) { %>
177       <% if ($.inArray(fieldName, model.detailLinkFields)>=0) { %>
178           <td><%= xosDetailLinkTemplate({collectionName: collectionName, id: id, text: model.attributes[fieldName]}) %></td>
179       <% } else if (fieldName in foreignFields) { %>
180           <td><%= idToName(model.attributes[fieldName], foreignFields[fieldName], "humanReadableName") %></td>
181       <% } else { %>
182       <td><%= model.attributes[fieldName] %></td>
183       <% } %>
184   <% }); %>
185   <td><%= xosDeleteButtonTemplate({modelName: modelName, id: id}) %></td>
186 </script>
187
188 <script type="text/template" id="xos-savebuttons-template">
189   <div class="box save-box">
190     <button class="btn btn-high btn-info btn-xos-contentButtonPanel btn-xos-save-leave">Save</button>
191     <button class="btn btn-high btn-xos-contentButtonPanel btn-xos-save-continue">Save and continue editing</button>
192     <button class="btn btn-high btn-xos-contentButtonPanel btn-xos-save-another">Save and add another</button>
193     <button class="btn btn-danger btn-xos-contentButtonPanel btn-xos-delete">Delete</button>
194   </div>
195 </script>
196
197 <script type="text/template" id="xos-listbuttons-template">
198   <div class="box save-box">
199     <button class="btn btn-high btn-primary btn-xos-contentButtonPanel btn-xos-refresh">Refresh</button>
200     <button class="btn btn-high btn-success btn-xos-contentButtonPanel btn-xos-add">Add</button>
201   </div>
202 </script>
203
204 <script>
205 xosInlineDetailButtonsTemplate = _.template($("#xos-inline-detail-buttons-template").html());
206 xosListHeaderTemplate = _.template($("#xos-list-header-template").html());
207 xosListFooterTemplate = _.template($("#xos-list-footer-template").html());
208 xosDeleteButtonTemplate = _.template($("#xos-delete-button-template").html());
209 xosDetailLinkTemplate = _.template($("#xos-detail-link-template").html());
210 xosBackendStatusIconTemplate = _.template($("#xos-backend-status-icon-template").html());
211 </script>
212