blob: 9063518dc45e6e80ed41b2de39f08a40f9438b09 [file] [log] [blame]
Scott Baker7ee32a02014-07-13 09:52:15 -07001DeveloperApp = new Marionette.Application();
2
3DeveloperApp.addRegions({
4 mainRegion: "#developerView"
5});
6
7DeveloperApp.SliceDetailView = Marionette.ItemView.extend({
8 template: "#developer-slicedetail-template",
9 tagName: 'tr',
10 className: 'developer_slicedetail'
11});
12
Scott Bakerb6e10662014-07-14 11:15:45 -070013DeveloperApp.SliceListView = Marionette.CompositeView.extend({
Scott Bakerdb236c32014-07-13 17:36:19 -070014 tagName: "table",
Scott Baker0393e5d2014-07-14 12:24:03 -070015 className: "table table-bordered table-striped",
Scott Baker7ee32a02014-07-13 09:52:15 -070016 template: "#developer-slicetable-template",
17 childView: DeveloperApp.SliceDetailView,
Scott Bakerdb236c32014-07-13 17:36:19 -070018 childViewContainer: "tbody",
Scott Bakerb6e10662014-07-14 11:15:45 -070019
20 events: {"click .sort": "changeSort"},
21
Scott Bakerbf33eea2014-07-14 18:10:09 -070022 initialize: function() {
23 this.listenTo(this.collection, 'change', this._renderChildren);
24 },
25
Scott Bakerb6e10662014-07-14 11:15:45 -070026 changeSort: function(e) {
27 parts=$(e.currentTarget).attr("id").split('-');
28 order=parts[1];
29 fieldName=parts[2];
30 console.log(fieldName);
31 this.collection.sortVar = fieldName;
32 this.collection.sortOrder = order;
33 this.collection.sort();
Scott Baker0393e5d2014-07-14 12:24:03 -070034 },
35
36 attachHtml: function(compositeView, childView, index) {
37 // The REST API will let admin users see everything. For the developer
38 // view we still want to hide slices we are not members of.
39 if (childView.model.get("sliceInfo").roles.length == 0) {
40 return;
41 }
42 DeveloperApp.SliceListView.__super__.attachHtml(compositeView, childView, index);
43 },
Scott Baker7ee32a02014-07-13 09:52:15 -070044});
45
46DeveloperApp.on("start", function() {
47 var developerSliceListView = new DeveloperApp.SliceListView({
Scott Bakerdb236c32014-07-13 17:36:19 -070048 collection: xos.slicesPlus
Scott Baker7ee32a02014-07-13 09:52:15 -070049 });
50 console.log(developerSliceListView);
51 DeveloperApp.mainRegion.show(developerSliceListView);
Scott Bakerb6e10662014-07-14 11:15:45 -070052 xos.slicesPlus.startPolling();
Scott Baker7ee32a02014-07-13 09:52:15 -070053});
54
55$(document).ready(function(){
56 DeveloperApp.start();
57});
58