-TestApp = new Marionette.Application();
+TestApp = new XOSApplication();
TestApp.addRegions({
deploymentList: "#deploymentList",
sliceList: "#sliceList",
sliverList: "#sliverList",
userList: "#userList",
- detail: "#detail"
+ detail: "#detail",
+ linkedObjs1: "#linkedObjs1",
+ linkedObjs2: "#linkedObjs2",
+ linkedObjs3: "#linkedObjs3",
+ linkedObjs4: "#linkedObjs4"
});
-// ---- Deployment ----
-
-TestApp.DeploymentListItemView = Marionette.ItemView.extend({
- template: '#test-deployment-listitem-template',
- tagName: 'tr',
- className: 'test-tablerow',
-});
-
-TestApp.DeploymentListView = Marionette.CompositeView.extend({
- childView: TestApp.DeploymentListItemView,
- childViewContainer: 'tbody',
- template: '#test-deployment-list-template',
-
- initialize: function() {
- this.listenTo(this.collection, 'change', this._renderChildren)
- },
-});
-
-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'];
+//TestApp.navigateToDetail = function(detailView) {
+// $(TestApp.detailBoxId).show();\r
+// TestApp.detail.show(detailView);\r
+//};\r
+\r
+TestApp.navigateToModel = function(app, detailClass, detailNavLink, model) {\r
+\r
+ var detailView = new detailClass({\r
+ model: model,\r
+ });\r
+\r
+ $(app.detailBoxId).show();\r
+ app.detail.show(detailView);\r
+ detailView.showLinkedItems();\r
+};\r
+\r
+TestApp.on("start", function() {\r
+ var objs = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
for (var index in objs) {
name = objs[index];
- tr_template = '#test-' + name + '-listitem-template';
- table_template = '#test-' + name + '-list-template';
- detail_template = '#test-' + name + '-detail-template';
+ tr_template = '#xosAdmin-' + name + '-listitem-template';
+ table_template = '#xosAdmin-' + name + '-list-template';
+ detail_template = '#xosAdmin-' + name + '-detail-template';
collection_name = name + "s";
region_name = name + "List";
- detailClass = Marionette.ItemView.extend({
+ detailClass = XOSDetailView.extend({
template: detail_template,\r
- tagName: 'div',\r
-\r
- events: {"click button.js-submit": "submitClicked",\r
- "change input": "inputChanged"},\r
-\r
- /* inputChanged is watching the onChange events of the input controls. We\r
- do this to track when this view is 'dirty', so we can throw up a warning\r
- if the user tries to change his slices without saving first.\r
- */\r
-\r
- inputChanged: function(e) {\r
- 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
- var thisView = this;\r
- this.model.save(data, {error: function(model, result, xhr) { thisView.saveError(model, result, xhr); }});\r
- this.dirty = false;\r
- },\r
- });
+ app: TestApp,\r
+ });\r
- itemViewClass = Marionette.ItemView.extend({
+ itemViewClass = XOSItemView.extend({
detailClass: detailClass,
template: tr_template,
- tagName: 'tr',
- className: 'test-tablerow',
-
- events: {"click": "changeItem"},
-\r
- changeItem: function(e) {\r
- TestApp.hideError();\r
- e.preventDefault();\r
- e.stopPropagation();\r
-\r
- var detailView = new this.detailClass({\r
- model: this.model,\r
- });\r
- $('#detailBox').show();\r
- TestApp.detail.show(detailView);\r
- },
+ app: TestApp,
});
- listViewClass = Marionette.CompositeView.extend({
+ listViewClass = XOSListView.extend({
childView: itemViewClass,
- childViewContainer: 'tbody',
template: table_template,
collection: xos[collection_name],
-
- initialize: function() {
- this.listenTo(this.collection, 'change', this._renderChildren)
- },
+ title: name + "s",
+ app: TestApp,
});
+ TestApp[collection_name + "ListView"] = listViewClass;
var listView = new listViewClass();
- TestApp[region_name].show(listView);
- xos[collection_name].startPolling();
+ if (region_name in TestApp.getRegions()) {
+ TestApp[region_name].show(listView);
+ }
+ xos[collection_name].fetch(); //startPolling();
}
$('#close-detail-view').unbind().bind('click', function() {
$('#detailBox').hide();
});
-
-// $('#detailBox').hide();
-// $('#errorBox').hide();
});
$(document).ready(function(){
- TestApp.start();\r
+ TestApp.start();
});