| /* This is an example that uses xoslib + marionette to display the developer |
|
view. |
|
|
|
For an example that uses xoslib + datatables, see xosDeveloper_datatables.js |
|
*/ |
|
|
|
DeveloperApp = new Marionette.Application(); |
|
|
| DeveloperApp.addRegions({
|
| mainRegion: "#developerView"
|
| }); |
| |
| DeveloperApp.SliceDetailView = Marionette.ItemView.extend({ |
| template: "#developer-slicedetail-template",
|
| tagName: 'tr',
|
| className: 'developer_slicedetail'
|
| }); |
| |
| DeveloperApp.SliceListView = Marionette.CompositeView.extend({ |
| tagName: "table",
|
| className: "table table-bordered table-striped",
|
| template: "#developer-slicetable-template",
|
| childView: DeveloperApp.SliceDetailView,
|
| childViewContainer: "tbody",
|
|
|
| events: {"click .sort": "changeSort"},
|
|
|
| initialize: function() {
|
| this.listenTo(this.collection, 'change', this._renderChildren);
|
| },
|
|
|
| changeSort: function(e) {
|
| parts=$(e.currentTarget).attr("id").split('-');
|
| order=parts[1];
|
| fieldName=parts[2];
|
| this.collection.sortVar = fieldName;
|
| this.collection.sortOrder = order;
|
| this.collection.sort();
|
| },
|
|
|
| attachHtml: function(compositeView, childView, index) {
|
| // The REST API will let admin users see everything. For the developer
|
| // view we still want to hide slices we are not members of.
|
| if (childView.model.get("sliceInfo").roles.length == 0) {
|
| return;
|
| }
|
| DeveloperApp.SliceListView.__super__.attachHtml(compositeView, childView, index);
|
| },
|
| });
|
| |
| DeveloperApp.on("start", function() { |
| var developerSliceListView = new DeveloperApp.SliceListView({ |
| collection: xos.slicesPlus
|
| });
|
| DeveloperApp.mainRegion.show(developerSliceListView);
|
| xos.slicesPlus.startPolling();
|
| }); |
| |
| $(document).ready(function(){ |
| DeveloperApp.start(); |
| }); |
| |