};\r
\r
XOSAdminApp.buildViews = function() {\r
+ genericAddChildClass = XOSDetailView.extend({template: "#xos-add-template",\r
+ app: XOSAdminApp});\r
+ XOSAdminApp["genericAddChildView"] = genericAddChildClass;\r
+\r
+ genericDetailClass = XOSDetailView.extend({template: "#xos-detail-template",\r
+ app: XOSAdminApp});\r
+ XOSAdminApp["genericDetailView"] = genericDetailClass;\r
+\r
for (var index in OBJS) {\r
name = OBJS[index];
tr_template = '#xosAdmin-' + name + '-listitem-template';
table_template = '#xosAdmin-' + name + '-list-template';
detail_template = '#xosAdmin-' + name + '-detail-template';
+ add_child_template = '#xosAdmin-' + name + '-add-child-template';
collection_name = name + "s";
region_name = name + "List";
detailNavLink = collection_name;
- detailClass = XOSDetailView.extend({
- template: detail_template,\r
- app: XOSAdminApp,\r
- });\r
+ if ($(detail_template).length) {
+ detailClass = XOSDetailView.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({
+ template: add_child_template,\r
+ app: XOSAdminApp,\r
+ });\r
+ } else {\r
+ addClass = genericAddChildClass;\r
+ }\r
+ XOSAdminApp[collection_name + "AddChildView"] = addClass;\r
+\r
itemViewClass = XOSItemView.extend({
detailClass: detailClass,
template: tr_template,
api_command = "list" + firstCharUpper(collection_name);\r
listViewName = collection_name + "ListView";\r
detailViewName = collection_name + "DetailView";\r
+ addChildViewName = collection_name + "AddChildView";\r
\r
api[api_command] = XOSAdminApp.createListHandler(listViewName, collection_name, "detail", collection_name);\r
routes[nav_url] = api_command;\r
\r
nav_url = "addChild" + firstCharUpper(name) + "/:parentModel/:parentField/:parentId";\r
api_command = "addChild" + firstCharUpper(name);\r
- api[api_command] = XOSAdminApp.createAddChildHandler(detailViewName, collection_name);\r
+ api[api_command] = XOSAdminApp.createAddChildHandler(addChildViewName, collection_name);\r
routes[nav_url] = api_command;\r
\r
nav_url = "delete" + firstCharUpper(name) + "/:id";\r