download button for ssh commands
[plstackapi.git] / planetstack / core / xoslib / static / js / test.js
index 10626d7..f657fa3 100644 (file)
@@ -1,4 +1,4 @@
-TestApp = new Marionette.Application();
+TestApp = new XOSApplication();
 
 TestApp.addRegions({
     deploymentList: "#deploymentList",
@@ -11,127 +11,74 @@ TestApp.addRegions({
     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();
 });