blob: 4be4e0fe1c038d5d17afc27ac67626814396e421 [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 Baker00363ea2014-08-28 14:47:29 -070018 backendHtml = row.get("backendHtml")
Scott Baker2dd4a002014-07-15 10:38:06 -070019
20 if (! role) {
21 continue;
22 }
23
Scott Baker00363ea2014-08-28 14:47:29 -070024 actualEntries.push([backendHtml + ' <a href="/admin/core/slice/' + sliceid + '">' + slicename + '</a>',
Scott Bakerac868ac2014-07-15 10:29:17 -070025 role, slivercount, sitecount]);
26 }
27 oTable = $('#dynamicusersliceinfo').dataTable( {
28 "bJQueryUI": true,
29 "aaData": actualEntries ,
30 "bStateSave": true,
31 "aoColumns": [
32 { "sTitle": "Slice" },
33 { "sTitle": "Privilege" , sClass: "alignCenter"},
34 { "sTitle": "Number of Slivers" , sClass: "alignCenter"},
35 { "sTitle": "Number of Sites" , sClass: "alignCenter"},
36 ]
37 } );
38}
39
40$(document).ready(function(){
Scott Baker48c52bb2014-07-15 11:23:03 -070041 xos.slicesPlus.on("change", function() { /*console.log("change");*/ updateSliceTable(xos.slicesPlus); });
42 xos.slicesPlus.on("remove", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
43 xos.slicesPlus.on("sort", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
Scott Bakerac868ac2014-07-15 10:29:17 -070044
45 xos.slicesPlus.startPolling();
46});
47