blob: f0f92bf281b76135737e894d2675e4b9aa340f82 [file] [log] [blame]
Scott Bakerac868ac2014-07-15 10:29:17 -07001/* This is an example that uses xoslib + datatables to display the developer
2 view.
3
4 For an example that uses xoslib + marionette, see xosDeveloper.js
5 */
6
7 function updateSliceTable(data) {
8 $('#developerView').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="dynamicusersliceinfo"></table>' );
9 var actualEntries = [];
10
11 for (rowkey in data.models) {
12 row = data.models[rowkey];
13 slicename = row.get("name");
14 sliceid = row.get("id");
Scott Baker2dd4a002014-07-15 10:38:06 -070015 role = row.get("sliceInfo").roles[0];
Scott Bakerac868ac2014-07-15 10:29:17 -070016 slivercount = row.get("sliceInfo").sliverCount;
17 sitecount = row.get("sliceInfo").siteCount;
Scott Baker2dd4a002014-07-15 10:38:06 -070018
19 if (! role) {
20 continue;
21 }
22
Scott Bakerac868ac2014-07-15 10:29:17 -070023 actualEntries.push(['<a href="/admin/core/slice/' + sliceid + '">' + slicename + '</a>',
24 role, slivercount, sitecount]);
25 }
26 oTable = $('#dynamicusersliceinfo').dataTable( {
27 "bJQueryUI": true,
28 "aaData": actualEntries ,
29 "bStateSave": true,
30 "aoColumns": [
31 { "sTitle": "Slice" },
32 { "sTitle": "Privilege" , sClass: "alignCenter"},
33 { "sTitle": "Number of Slivers" , sClass: "alignCenter"},
34 { "sTitle": "Number of Sites" , sClass: "alignCenter"},
35 ]
36 } );
37}
38
39$(document).ready(function(){
Scott Baker48c52bb2014-07-15 11:23:03 -070040 xos.slicesPlus.on("change", function() { /*console.log("change");*/ updateSliceTable(xos.slicesPlus); });
41 xos.slicesPlus.on("remove", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
42 xos.slicesPlus.on("sort", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
Scott Bakerac868ac2014-07-15 10:29:17 -070043
44 xos.slicesPlus.startPolling();
45});
46