}
}
+function templateFromId(id) {
+ return _.template($(id).html());
+}
+
HTMLView = Marionette.ItemView.extend({
render: function() {
this.$el.append(this.options.html);
} else {
$(this.successBoxId).show();
$(this.successBoxId).html(_.template($(this.successTemplate).html())(result));
+ var that=this;
$(this.successCloseButtonId).unbind().bind('click', function() {
- $(this.successBoxId).hide();
+ $(that.successBoxId).hide();
});
}
},
} else {
$(this.errorBoxId).show();
$(this.errorBoxId).html(_.template($(this.errorTemplate).html())(result));
+ var that=this;
$(this.errorCloseButtonId).unbind().bind('click', function() {
- $(this.errorBoxId).hide();
+ $(that.errorBoxId).hide();
});
}
},
// We were passed the logMessageId of an informational message,
// and the caller wants us to replace that message with our own.
// i.e. replace an informational message with a success or an error.
- console.log(result["infoMsgId"]);
- console.log($("."+result["infoMsgId"]));
$("#"+result["infoMsgId"]).replaceWith(newRow);
} else {
// Create a brand new log message rather than replacing one.
},
hideLinkedItems: function(result) {
- index=0;
+ var index=0;
while (index<4) {\r
this["linkedObjs" + (index+1)].empty();\r
index = index + 1;\r
}\r
},\r
\r
- listViewShower: function(listViewName, regionName) {\r
+ listViewShower: function(listViewName, collection_name, regionName, title) {\r
var app=this;\r
return function() {\r
app[regionName].show(new app[listViewName]);\r
app.hideLinkedItems();\r
+ $("#contentTitle").html(templateFromId("#xos-title-list")({"title": title}));\r
+ $("#detail").show();\r
+ $("#tabs").hide();\r
}\r
},\r
\r
- detailShower: function(detailName, collection_name, regionName) {\r
+ detailShower: function(detailName, collection_name, regionName, title) {\r
var app=this;\r
showModelId = function(model_id) {\r
showModel = function(model) {\r
- console.log(app);\r
detailViewClass = app[detailName];\r
detailView = new detailViewClass({model: model});\r
app[regionName].show(detailView);\r
detailView.showLinkedItems();\r
}\r
\r
+ $("#contentTitle").html(templateFromId("#xos-title-detail")({"title": title}));\r
+\r
collection = xos[collection_name];\r
model = collection.get(model_id);\r
if (model == undefined) {\r
this.dirty = false;\r
},
+ tabClick: function(tabId, regionName) {
+ region = this.app[regionName];\r
+ if (this.currentTabRegion != undefined) {\r
+ this.currentTabRegion.$el.hide();\r
+ }\r
+ if (this.currentTabId != undefined) {\r
+ $(this.currentTabId).removeClass('active');\r
+ }\r
+ this.currentTabRegion = region;\r
+ this.currentTabRegion.$el.show();\r
+\r
+ this.currentTabId = tabId;\r
+ $(tabId).addClass('active');\r
+ },
+
+ showTabs: function(tabs) {
+ template = templateFromId("#xos-tabs-template", {tabs: tabs});
+ $("#tabs").html(template(tabs));
+ var that = this;
+
+ _.each(tabs, function(tab) {
+ var regionName = tab["region"];
+ var tabId = '#xos-nav-'+regionName;
+ $(tabId).bind('click', function() { that.tabClick(tabId, regionName); });
+ });
+
+ $("#tabs").show();
+ },
+
showLinkedItems: function() {
- index=0;\r
+ tabs=[];
+
+ tabs.push({name: "details", region: "detail"});
+
+ var index=0;
for (relatedName in this.model.collection.relatedCollections) {\r
relatedField = this.model.collection.relatedCollections[relatedName];\r
+ regionName = "linkedObjs" + (index+1);\r
\r
relatedListViewClassName = relatedName + "ListView";\r
- if (this.app[relatedListViewClassName] == undefined) {\r
- console.log("warning: " + relatedListViewClassName + " not found");\r
- }\r
+ assert(this.app[relatedListViewClassName] != undefined, relatedListViewClassName + " not found");\r
relatedListViewClass = this.app[relatedListViewClassName].extend({collection: xos[relatedName].filterBy(relatedField,this.model.id)});\r
- this.app["linkedObjs" + (index+1)].show(new relatedListViewClass());\r
+ this.app[regionName].show(new relatedListViewClass());\r
+ this.app[regionName].$el.hide();\r
+ tabs.push({name: relatedName, region: regionName});\r
index = index + 1;\r
}\r
\r
+ console.log(index);\r
+\r
while (index<4) {\r
this.app["linkedObjs" + (index+1)].empty();\r
index = index + 1;\r
}\r
- },
-});
+\r
+ this.showTabs(tabs);\r
+ this.tabClick('#xos-nav-detail', 'detail');\r
+ },\r
+\r
+});\r
/* XOSItemView
This is for items that will be displayed as table rows.
</tr>
</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><%= 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 %>">
<!-- Deployment -->
<script type="text/template" id="xosAdmin-deployment-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<table class="test-table">
<thead><tr>
<th>id</th>
</script>
<script type="text/template" id="xosAdmin-deployment-detail-template">
- <h3>Detail View: Deployment</h3>
+ <h3 class="xos-detail-title">Detail View: Deployment</h3>
<form>\r
<table>\r
<tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>\r
<!-- Image -->
<script type="text/template" id="xosAdmin-image-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- NetworkTemplate -->
<script type="text/template" id="xosAdmin-networkTemplate-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Network -->
<script type="text/template" id="xosAdmin-network-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- NetworkSliver -->
<script type="text/template" id="xosAdmin-networkSliver-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- NetworkDeployment -->
<script type="text/template" id="xosAdmin-networkDeployment-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Node -->
<script type="text/template" id="xosAdmin-node-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- SliceRole -->
<script type="text/template" id="xosAdmin-sliceRole-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Service -->
<script type="text/template" id="xosAdmin-service-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Site -->
<script type="text/template" id="xosAdmin-site-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Slice -->
<script type="text/template" id="xosAdmin-slice-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- SliceDeployment -->
<script type="text/template" id="xosAdmin-sliceDeployment-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- SlicePrivilege -->
<script type="text/template" id="xosAdmin-slicePrivilege-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- Sliver -->
<script type="text/template" id="xosAdmin-sliver-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- User -->
<script type="text/template" id="xosAdmin-user-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<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
<!-- UserDeployments -->
<script type="text/template" id="xosAdmin-userDeployment-list-template">
- <h3><%= title %></h3>
+ <h3 class="xos-list-title"><%= title %></h3>
<table class="test-table">
<thead><tr>
<th>id</th>
</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