9063518dc45e6e80ed41b2de39f08a40f9438b09
[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   initialize: function() {\r
23       this.listenTo(this.collection, 'change', this._renderChildren);\r
24   },\r
25 \r
26   changeSort: function(e) {\r
27       parts=$(e.currentTarget).attr("id").split('-');\r
28       order=parts[1];\r
29       fieldName=parts[2];\r
30       console.log(fieldName);\r
31       this.collection.sortVar = fieldName;\r
32       this.collection.sortOrder = order;\r
33       this.collection.sort();\r
34   },\r
35 \r
36   attachHtml: function(compositeView, childView, index) {\r
37       // The REST API will let admin users see everything. For the developer\r
38       // view we still want to hide slices we are not members of.\r
39       if (childView.model.get("sliceInfo").roles.length == 0) {\r
40           return;\r
41       }\r
42       DeveloperApp.SliceListView.__super__.attachHtml(compositeView, childView, index);\r
43   },\r
44 });\r
45
46 DeveloperApp.on("start", function() {
47   var developerSliceListView = new DeveloperApp.SliceListView({
48     collection: xos.slicesPlus\r
49   });\r
50   console.log(developerSliceListView);\r
51   DeveloperApp.mainRegion.show(developerSliceListView);\r
52   xos.slicesPlus.startPolling();\r
53 });
54
55 $(document).ready(function(){
56   DeveloperApp.start();
57 });
58