support for different detail views for each model
authorScott Baker <smbaker@gmail.com>
Tue, 16 Dec 2014 00:47:19 +0000 (16:47 -0800)
committerScott Baker <smbaker@gmail.com>
Tue, 16 Dec 2014 00:47:19 +0000 (16:47 -0800)
planetstack/core/xoslib/static/js/xosAdminSite.js

index 3aa33d3..c44dc58 100644 (file)
@@ -1,4 +1,4 @@
-OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
+OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment', 'flavor', 'imageDeployment'];
 NAV_OBJS = ['deployment', 'site', 'slice', 'user'];
 
 REWRITES = {"/admin/core/deployment/": "#deployments",
@@ -87,23 +87,29 @@ XOSAdminApp.buildViews = function() {
          collection_name = name + "s";
          region_name = name + "List";
 
+         if (window["XOSDetailView_" + name]) {
+             detailClass = window["XOSDetailView_" + name].extend({template: "#xos-detail-template",
+                                                                    app: XOSAdminApp});
+         } else {
+             detailClass = genericDetailClass;
+         }
          if ($(detail_template).length) {
-             detailClass = XOSDetailView.extend({
+             detailClass = detailClass.extend({
                 template: detail_template,\r
-                app: XOSAdminApp,\r
              });\r
-         } else {\r
-             detailClass = genericDetailClass;\r
          }\r
          XOSAdminApp[collection_name + "DetailView"] = detailClass;\r
 \r
-         if ($(add_child_template).length) {\r
-             addClass = XOSDetailView.extend({
+         if (window["XOSDetailView_" + name]) {\r
+             addClass = window["XOSDetailView_" + name].extend({template: "#xos-add-template",
+                                                                    app: XOSAdminApp});
+         } else {
+             addClass = genericAddChildClass;
+         }
+         if ($(add_child_template).length) {
+             addClass = detailClass.extend({
                 template: add_child_template,\r
-                app: XOSAdminApp,\r
              });\r
-         } else {\r
-             addClass = genericAddChildClass;\r
          }\r
          XOSAdminApp[collection_name + "AddChildView"] = addClass;\r
 \r