hide non-member slices, even from admin
[plstackapi.git] / planetstack / core / xoslib / static / js / xosDeveloper.js
1 DeveloperApp = new Marionette.Application();
2 \r
3 DeveloperApp.addRegions({\r
4   mainRegion: "#developerView"\r
5 });
6
7 DeveloperApp.SliceDetailView = Marionette.ItemView.extend({
8   template: "#developer-slicedetail-template",\r
9   tagName: 'tr',\r
10   className: 'developer_slicedetail'\r
11 });
12
13 DeveloperApp.SliceListView = Marionette.CompositeView.extend({
14   tagName: "table",\r
15   className: "table table-bordered table-striped",\r
16   template: "#developer-slicetable-template",\r
17   childView: DeveloperApp.SliceDetailView,\r
18   childViewContainer: "tbody",\r
19 \r
20   events: {"click .sort": "changeSort"},\r
21 \r
22   changeSort: function(e) {\r
23       parts=$(e.currentTarget).attr("id").split('-');\r
24       order=parts[1];\r
25       fieldName=parts[2];\r
26       console.log(fieldName);\r
27       this.collection.sortVar = fieldName;\r
28       this.collection.sortOrder = order;\r
29       this.collection.sort();\r
30   },\r
31 \r
32   attachHtml: function(compositeView, childView, index) {\r
33       // The REST API will let admin users see everything. For the developer\r
34       // view we still want to hide slices we are not members of.\r
35       if (childView.model.get("sliceInfo").roles.length == 0) {\r
36           return;\r
37       }\r
38       DeveloperApp.SliceListView.__super__.attachHtml(compositeView, childView, index);\r
39   },\r
40 });\r
41
42 DeveloperApp.on("start", function() {
43   var developerSliceListView = new DeveloperApp.SliceListView({
44     collection: xos.slicesPlus\r
45   });\r
46   console.log(developerSliceListView);\r
47   DeveloperApp.mainRegion.show(developerSliceListView);\r
48   xos.slicesPlus.startPolling();\r
49 });
50
51 $(document).ready(function(){
52   DeveloperApp.start();
53 });
54