tenantview without navigation
diff --git a/planetstack/core/xoslib/static/js/xosTenant.js b/planetstack/core/xoslib/static/js/xosTenant.js
index 5095505..6f73046 100644
--- a/planetstack/core/xoslib/static/js/xosTenant.js
+++ b/planetstack/core/xoslib/static/js/xosTenant.js
@@ -38,6 +38,7 @@
                      },
 
             createClicked: function(e) {
+                     XOSTenantApp.addSlice();
                      },
 
             deleteClicked: function(e) {
@@ -55,7 +56,8 @@
 XOSTenantApp = new XOSApplication({
     logTableId: "#logTable",
     statusMsgId: "#statusMsg",
-    hideTabsByDefault: true
+    hideTabsByDefault: true,
+    varName: "XOSTenantApp",
 });
 
 XOSTenantApp.addRegions({
@@ -63,9 +65,10 @@
     tenantSummary: "#tenantSummary",
     tenantSiteList: "#tenantSiteList",
     tenantButtons: "#tenantButtons",
+    tenantAddSliceInterior: "#tenant-addslice-interior",
 });
 
-XOSTenantApp.buildViews = function() {

+XOSTenantApp.buildViews = function() {
      XOSTenantApp.tenantSites = new XOSTenantSiteCollection();

 

      tenantSummaryClass = XOSDetailView.extend({template: "#xos-detail-template",

@@ -74,6 +77,12 @@
 

      XOSTenantApp.tenantSummaryView = tenantSummaryClass;

 

+     tenantAddClass = XOSDetailView.extend({template: "#xos-detail-template",

+                                                app: XOSTenantApp,

+                                                detailFields: ["name", "description"]});

+

+     XOSTenantApp.tenantAddView = tenantAddClass;

+

      tenantSiteItemClass = XOSItemView.extend({template: "#xos-listitem-template",

                                                app: XOSTenantApp});

 

@@ -92,8 +101,7 @@
 

      XOSTenantApp.tenantSliceSelectorView = SliceSelectorView.extend( {

          sliceChanged: function(id) {

-             //console.log("navigate to " + id);

-             XOSTenantApp.Router.navigate("slice/" + id, {trigger: true});

+             XOSTenantApp.navToSlice(id);

          },

      });

 

@@ -113,6 +121,41 @@
     return result;

 };

 

+XOSTenantApp.navToSlice = function(id) {

+    XOSTenantApp.viewSlice(xos.slicesPlus.get(id));

+};

+

+XOSTenantApp.adjustCollectionField = function(collectionName, id, fieldName, amount) {

+    model = XOSTenantApp[collectionName].get(id);

+    model.set(fieldName, Math.max(model.get(fieldName) + amount, 0));

+};

+

+XOSTenantApp.addSlice = function() {

+    var app=this;

+    model = new xos.slicesPlus.model({site: xos.tenant().current_user_site_id});

+    console.log(model);

+    var detailView = new XOSTenantApp.tenantAddView({model: model, collection: xos.slicesPlus});

+    detailView.dialog = $("tenant-addslice-dialog");

+    app.tenantAddSliceInterior.show(detailView);

+    $("#tenant-addslice-dialog").dialog({

+       autoOpen: false,
+       modal: true,
+       width: 640,
+       buttons : {
+            "Save" : function() {
+              var addDialog = this;
+              detailView.synchronous = true;
+              detailView.afterSave = function() { $(addDialog).dialog("close"); XOSTenantApp.navToSlice(detailView.model.id); }
+              detailView.save();
+            },
+            "Cancel" : function() {
+              $(this).dialog("close");
+            }
+          }
+        });
+    $("#tenant-addslice-dialog").dialog("open");

+};

+

 XOSTenantApp.viewSlice = function(model) {

     if (!model && xos.slicesPlus.models.length > 0) {

         model = xos.slicesPlus.models[0];

@@ -142,42 +185,6 @@
                                                                 linkedView: tenantSummary } ) );

 };

 

-XOSTenantApp.initRouter = function() {

-    router = XOSRouter;

-    var api = {};

-    var routes = {};

-

-    nav_url = "slice/:id";

-    api_command = "viewSlice";

-    api[api_command] = function(id) { XOSTenantApp.viewSlice(xos.slicesPlus.get(id)); };

-    routes[nav_url] = api_command;

-

-    nav_url = "increase/:collectionName/:id/:fieldName";

-    api_command = "increase";

-    api[api_command] = function(collectionName, id, fieldName) {

-                           XOSTenantApp.Router.showPreviousURL();

-                           model = XOSTenantApp[collectionName].get(id);

-                           model.set(fieldName, model.get(fieldName) + 1);

-                       };

-    routes[nav_url] = api_command;

-

-    nav_url = "decrease/:collectionName/:id/:fieldName";

-    api_command = "decrease";

-    api[api_command] = function(collectionName, id, fieldName) {

-                           XOSTenantApp.Router.showPreviousURL();

-                           model = XOSTenantApp[collectionName].get(id);

-                           model.set(fieldName, Math.max(0, model.get(fieldName) - 1));

-                       };

-    routes[nav_url] = api_command;

-

-    nav_url = "*path";

-    api_command = "defaultRoute";

-    api[api_command] = function() { XOSTenantApp.viewSlice(undefined); };

-    routes[nav_url] = api_command;

-

-    XOSTenantApp.Router = new router({ appRoutes: routes, controller: api });

-};

-

 XOSTenantApp.startNavigation = function() {

     Backbone.history.start();

     XOSTenantApp.navigationStarted = true;

@@ -188,11 +195,7 @@
 

     if (!XOSTenantApp.navigationStarted) {

         if (stats["isLoaded"] + stats["failedLoad"] >= stats["startedLoad"]) {

-            XOSTenantApp.startNavigation();

-

-            //if (xos.slicesPlus.models.length > 0) {

-            //    XOSTenantApp.Router.navigate("slice/" + xos.slicesPlus.models[0].id, {trigger:true});

-            //}

+            XOSTenantApp.viewSlice(undefined);

         } else {

             $("#tenantSummary").html("<h3>Loading...</h3><div id='xos-startup-progress'></div>");

             $("#xos-startup-progress").progressbar({value: stats["completedLoad"], max: stats["startedLoad"]});

@@ -203,8 +206,6 @@
 XOSTenantApp.on("start", function() {

      XOSTenantApp.buildViews();
 
-     XOSTenantApp.initRouter();
-
      // fire it once to initially show the progress bar
      XOSTenantApp.collectionLoadChange();