| <!-- Error and Success templates --> |
| |
| <script type="text/template" id="xos-error-response"> |
| <h5>Error</h5> |
| <table> |
| <tr><td>error:</td><td><%= error %></td></tr> |
| <tr><td>check:</td><td><%= specific_error %></td></tr> |
| </table> |
| <h5>Details:</h5> |
| <table> |
| <tbody> |
| <% _.each(reasons, function(element, index) { %> |
| <tr><td><%= index %></td><td><%= element %></td></tr> |
| <% }); %> |
| </tbody> |
| </table> |
| </script> |
| |
| <script type="text/template" id="xos-error-rawresponse"> |
| <h5>Error</h5> |
| <pre>The server returned: |
| "<%= responseText %>"</pre> |
| </script> |
| |
| <script type="text/template" id="xos-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> |
| |
| <script type="text/template" id="xos-success-template"> |
| <button id="close-success-box">Close Success Message</button> |
| <h3>Success!</h3> |
| <table class="test-success-table"> |
| <tr><td>Code:</td><td><%= status %></td></tr> |
| <tr><td>Message:</td><td><%= statusText %></td></tr> |
| </table> |
| </script> |
| |
| <script type="text/template" id="xos-navbutton-old"> |
| <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> |
| </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-backend-status-icon-template"> |
| <% if (! ("enacted" in arguments) ) { %> |
| <!-- enacted is undefined; this must be a new object --> |
| <% } else if ((enacted) && (enacted >= updated)) { %> |
| <span style="min-width:16px;"><img src="/static/admin/img/icon_success.gif"></span> |
| <% } else { %> |
| <% if ((backend_status == "Provisioning in progress") || (!backend_status)) { %> |
| <span style="min-width:16px;" title="<%= _.escape(backend_status) %>"><img src="/static/admin/img/icon_clock.gif"></span> |
| <% } else { %> |
| <span style="min-width:16px;" title="<%= _.escape(backend_status) %>"><img src="/static/admin/img/icon_error.gif"></span> |
| <% } %> |
| <% } %> |
| </script> |
| |
| <script type="text/template" id="xos-backend-status-text-template"> |
| <%= xosBackendStatusIconTemplate.apply(this,arguments) %> |
| <% if (model.enacted === undefined) { %> |
| <!-- enacted is undefined; this must be a new object --> |
| <% } else if ((enacted) && (enacted >= updated)) { %> |
| Successfully enacted |
| <% } else { %> |
| <%= _.escape(backend_status) %> |
| <% } %> |
| </script> |
| |
| <script type="text/template" id="xos-list-header-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> |
| </script> |
| |
| <script type="text/template" id="xos-list-footer-template"> |
| <% if (addChildHash) { %> |
| <a href="<%= addChildHash %>">Add...</a> |
| <% } %> |
| </script> |
| |
| <script type="text/template" id="xos-delete-button-template"> |
| <a href="#delete<%= firstCharUpper(modelName) %>/<%= id %>">delete</a> |
| </script> |
| |
| <script type="text/template" id="xos-detail-link-template"> |
| <a href="#<%= collectionName %>/<%= id %>"><%= text %></a> |
| </script> |
| |
| <script type="text/template" id="xos-add-template"> |
| <h3 class="xos-detail-title">Add Object: <%= modelName %></h3> |
| <form> |
| <table>
|
| <% args = arguments; %>
|
| <% _.each(addFields, function(fieldName) { %>
|
| <tr><td><%= fieldNameToHumanReadable(fieldName) %>:</td>
|
| <% readOnly = $.inArray(fieldName, model.readOnlyFields)>=0 ? " readonly" : ""; %>
|
| <% if (fieldName in foreignFields) { %>
|
| <td><%= idToSelect(fieldName, model.attributes[fieldName], foreignFields[fieldName], "humanReadableName", readOnly) %></td>
|
| <% } else if (inputType[fieldName] == "checkbox") { %>
|
| <td><input type="checkbox" name="<%= fieldName %>" <% if (model.attributes[fieldName]) print("checked"); %><%= readOnly %>></td>
|
| <% } else if (fieldName=="backend_status") { %>
|
| <td><%= xosBackendStatusTextTemplate.apply(this, args) %></td>
|
| <% } else { %>
|
| <td><input type="text" name="<%= fieldName %>" value="<%= model.attributes[fieldName] %>"<%= readOnly %>></td>
|
| <% } %>
|
| </tr>
|
| <% }); %>
|
| <%= xosInlineDetailButtonsTemplate() %>
|
| </table>
|
| </form>
|
| </script> |
| |
| <script type="text/template" id="xos-detail-template"> |
| <h3 class="xos-detail-title">Edit Object: <%= modelName %></h3> |
| <form> |
| <table>
|
| <% args = arguments; %>
|
| <% _.each(detailFields, function(fieldName) { %>
|
| <tr><td><%= fieldName in fieldDisplayNames ? fieldDisplayNames[fieldName] : fieldNameToHumanReadable(fieldName) %>:</td>
|
| <% readOnly = $.inArray(fieldName, model.readOnlyFields)>=0 ? " readonly" : ""; %>
|
| <% if (fieldName in choices) { %>
|
| <td><%= choicesToSelect(fieldName, model.attributes[fieldName], choices[fieldName]) %></td>
|
| <% } else if (fieldName in foreignFields) { %>
|
| <td><%= idToSelect(fieldName, model.attributes[fieldName], foreignFields[fieldName], "humanReadableName", readOnly) %></td>
|
| <% } else if (inputType[fieldName] == "spinner") { %>
|
| <!-- note: I never finished working on this spinner stuff! -->
|
| <td><%= xosSpinnerTemplate({id: "spinner_" + fieldName, fieldName: fieldName, value: model.attributes[fieldName]}) %></td>
|
| <% } else if (inputType[fieldName] == "checkbox") { %>
|
| <td><input type="checkbox" name="<%= fieldName %>" <% if (model.attributes[fieldName]) print("checked"); %><%= readOnly %>></td>
|
| <% } else if (inputType[fieldName] == "picker") { %>
|
| <% lookupFunc = makeIdToName(model.m2mFields[fieldName], "humanReadableName"); %>
|
| <td><%= xosPickerTemplate({pickedItems: model.attributes[fieldName], unpickedItems: model.getChoices(fieldName,true), id: "picker_" + fieldName, fieldName: fieldName, detailView: detailView, lookupFunc: lookupFunc}) %></td>
|
| <% } else if (fieldName=="backend_status") { %>
|
| <td><%= xosBackendStatusTextTemplate.apply(this, args) %></td>
|
| <% } else { %>
|
| <td><input type="text" name="<%= fieldName %>" value="<%= model.attributes[fieldName] %>"<%= readOnly %>></td>
|
| <% } %>
|
| </tr>
|
| <% }); %>
|
| <%= xosInlineDetailButtonsTemplate() %>
|
| </table>
|
| </form>
|
| </script> |
| |
| <script type="text/template" id="xos-list-template"> |
| <h3 class="xos-list-title"><%= title %></h3> |
| <%= xosListHeaderTemplate() %> |
| <table class="test-table"> |
| <thead> |
| <tr> |
| <% _.each(listFields, function(fieldName) { %> |
| <th><%= fieldNameToHumanReadable(fieldName) %></th> |
| <% }); %> |
| <th>delete</th> |
| </tr></thead> |
| <tbody></tbody> |
| </table> |
| <%= xosListFooterTemplate({addChildHash: addChildHash}) %> |
| </script> |
| |
| <script type="text/template" id="xos-listitem-template"> |
| <% _.each(listFields, function(fieldName) { %> |
| <% if ($.inArray(fieldName, model.detailLinkFields)>=0) { %> |
| <td><%= xosDetailLinkTemplate({collectionName: collectionName, id: id, text: model.attributes[fieldName]}) %></td> |
| <% } else if (fieldName in foreignFields) { %> |
| <td><%= idToName(model.attributes[fieldName], foreignFields[fieldName], "humanReadableName") %></td> |
| <% } else { %> |
| <td><%= model.attributes[fieldName] %></td> |
| <% } %> |
| <% }); %> |
| <td><%= xosDeleteButtonTemplate({modelName: modelName, id: id}) %></td> |
| </script> |
| |
| <script type="text/template" id="xos-savebuttons-template"> |
| <div class="box save-box"> |
| <button class="btn btn-high btn-info btn-xos-contentButtonPanel btn-xos-save-leave">Save</button> |
| <button class="btn btn-high btn-xos-contentButtonPanel btn-xos-save-continue">Save and continue editing</button> |
| <button class="btn btn-high btn-xos-contentButtonPanel btn-xos-save-another">Save and add another</button> |
| <button class="btn btn-danger btn-xos-contentButtonPanel btn-xos-delete">Delete</button> |
| </div> |
| </script> |
| |
| <script type="text/template" id="xos-listbuttons-template"> |
| <div class="box save-box"> |
| <button class="btn btn-high btn-primary btn-xos-contentButtonPanel btn-xos-refresh">Refresh</button> |
| <button class="btn btn-high btn-success btn-xos-contentButtonPanel btn-xos-add">Add</button> |
| </div> |
| </script> |
| |
| <script type="text/template" id="xos-datatable-spinner-template-old"> |
| <!-- arguments: value, id, collectionName, fieldName --> |
| <%= value %> <a href='#increase/<%= collectionName %>/<%= id %>/<%= fieldName %>'>more</a> <a href='#decrease/<%= collectionName %>/<%= id %>/<%= fieldName %>'>less</a> |
| </script> |
| |
| <script type="text/template" id="xos-datatable-spinner-template"> |
| <!-- arguments: value, id, collectionName, fieldName --> |
| <%= value %> <a href="javascript:undefined" onclick='<%= app.varName %>.adjustCollectionField("<%= collectionName %>", <%= id %>, "<%= fieldName %>", 1)'> more </a> |
| <a href="javascript:undefined" onclick='<%= app.varName %>.adjustCollectionField("<%= collectionName %>", <%= id %>, "<%= fieldName %>", -1)'> less </a> |
| </script> |
| |
| <script type="text/template" id="xos-spinner-template"> |
| <!-- arguments: fieldName, id, value --> |
| <input name="<%= fieldName %>" class="xos-spinner" id="<%= id %>"> |
| <% detailView.viewInitializers.push( function() { init_spinner("#" + id, value); } ); %> |
| </script> |
| |
| <script type="text/template" id="xos-picker-template"> |
| <!-- arguments: unpickedItems, pickedItems, fieldName, id --> |
| <div id="<%= id %>"> |
| <div class="picker_row"> |
| <div class="picker_column">
|
| <div>Available</div>
|
| <select name="pickerfrom" class="select-picker-from" multiple size="5">
|
| <% _.each(unpickedItems, function(item) { %>
|
| <option value="<%= item %>"><%= lookupFunc? lookupFunc(item) : item %></option> |
| <% });%>
|
| </select>
|
| </div>
|
| <div class="picker_column">
|
| <br>
|
| <div class="btn btn-success btn-picker-add">Add »</div><br><br>
|
| <div class="btn btn-success btn-picker-remove">« Remove</div>
|
| </div>
|
| <div class="picker_column">
|
| <div>Selected</div>
|
| <select name=<%= fieldName %> class="select-picker-to syphonall" multiple size="5">
|
| <% _.each(pickedItems, function(item) { %>
|
| <option value="<%= item %>"><%= lookupFunc ? lookupFunc(item) : item %></option> |
| <% }); %>
|
| </select>
|
| </div>
|
| <div class="picker_column">
|
| <br>
|
| <div class="btn btn-success btn-picker-up">Up</div><br><br>
|
| <div class="btn btn-success btn-picker-down">Down</div>
|
| </div>
|
| </div> |
| </div> |
| <% detailView.viewInitializers.push( function() { init_picker("#" + id); } ); %> |
| </script> |
| |
| <script type="text/template" id="xos-sliceselector-option"> |
| <%= name %> |
| </script> |
| |
| <script type="text/template" id="xos-sliceselector-select"> |
| <% if (caption) { %> |
| <table><tr><td><%= caption %>: </td><td><select></select></td></tr></table> |
| <% } else { %> |
| <select></select> |
| <% } %> |
| </script> |
| |
| <script> |
| xosInlineDetailButtonsTemplate = _.template($("#xos-inline-detail-buttons-template").html()); |
| xosListHeaderTemplate = _.template($("#xos-list-header-template").html()); |
| xosListFooterTemplate = _.template($("#xos-list-footer-template").html()); |
| xosDeleteButtonTemplate = _.template($("#xos-delete-button-template").html()); |
| xosDetailLinkTemplate = _.template($("#xos-detail-link-template").html()); |
| xosBackendStatusIconTemplate = _.template($("#xos-backend-status-icon-template").html()); |
| xosBackendStatusTextTemplate = _.template($("#xos-backend-status-text-template").html()); |
| xosPickerTemplate = _.template($("#xos-picker-template").html()); |
| xosSpinnerTemplate = _.template($("#xos-spinner-template").html()); |
| xosDataTableSpinnerTemplate = _.template($("#xos-datatable-spinner-template").html()); |
| </script> |
| |