mysliceMessage() js function can be used to display a message
[unfold.git] / portal / static / js / myslice-ui.js
index b60c7c1..5b8e7f6 100644 (file)
@@ -1,59 +1,71 @@
 
+function mysliceAlert(msg) {
+       $('#myslice-message').find('.message').text(msg);
+       $('#myslice-message').fadeIn('fast');
+}
 /* Table initialisation */
 $(document).ready(function() {
        
        var platformParameters = {};
        
-       var oTable = $("#objectList");
                
-       $.get("/rest/platform", function(data) {
-               var list = '<div class="list-group-item sl-platfrom"><span class="list-group-item-heading">Testbeds</span></div>';
-               for(i=0; i<data.length;i++) {
-                       list += '<a href="#" class="list-group-item sl-platfrom" data-platform="'+data[i].platform+'"><span class="list-group-item-heading">'+data[i].platform_longname+'</span><p class="list-group-item-text">'+data[i].platform+'</p></a>';
-               }
-               $('#select-platform').html(list);
-       }).done(function() {
-               // $('a.sl-platfrom').click(function() {
-                       // console.log($(this).data('platform'));
-                       // platformParameters = { "platform" : $(this).data('platform') };
-                       // $('a.sl-platfrom').removeClass('active');
-                       // $(this).addClass('active');
-//                     
-                       // oTable.load("/list/resource", platformParameters, function(data) {
-                               // oTable.fnDraw();
-                       // });
-//                     
-                       // $('body').data('filters',platformParameters);
-               // });
-       });
        
-       /* Testbeds list */
-       $('div#testbed-list').ready(function() {
-               $('table#testbedList').load("/table/testbed", function() {
-                       
-               });
-       });
        
        
-       oTable.load("/list/resource", {}, function(data) {
+       
+       $("#objectList").load("/table/resource/", {"fields" : ["hostname","hrn","country","type"], "options": ["checkbox"] }, function(data) {
                $(this).dataTable( {
-                       "bScrollInfinite": true,
+                       "sScrollY": window.innerHeight - 275,
+                       "sDom": "frtiS",
                "bScrollCollapse": true,
-               "sScrollY": "500px",
                "bStateSave": true,
                "bPaginate": false,
                "bLengthChange": false,
-               "bFilter": true,
+               "bFilter": false,
                "bSort": true,
                "bInfo": false,
-               "bAutoWidth": false
+               "bAutoWidth": true,
+               "bAutoHeight": false,
+               "fnInitComplete": function(oSettings, json) {
+                               for(var i = 0; i < myslice.pending.length; i++) {
+                                       var el = $('*[data-key="'+myslice.pending[i]+'"]');
+                                       el.addClass("active");
+                                       el.find('input[type=checkbox]').prop('checked', true);
+                                       if (myslice.count() > 0) {
+                                               $('#badge-pending').text(myslice.count());
+                                               $('#badge-pending').show();
+                                       }
+                               }
+                   }
                } );
+               
+               
+               $("input[type=checkbox]").click(function() {
+                       var cnt = 0;
+                       var id = $(this).val();
+                       var row = $(this).parent().parent()
+                       if (row.hasClass("active")) {
+                               row.removeClass("active");
+                               myslice.del(id);
+                               cnt = myslice.count();
+                               $('#badge-pending').text(cnt);
+                               if (cnt <= 0) {
+                                       $('#badge-pending').hide();
+                               }
+                       } else {
+                               row.addClass("active");
+                               myslice.add(id);
+                               cnt = myslice.count();
+                               $('#badge-pending').text(cnt);
+                               if (cnt > 0) {
+                                       $('#badge-pending').show();
+                               }
+                       }
+               });
        });
-} );
-
-function drawTable(data) {
        
-}
+       
+});
 
 //http://stackoverflow.com/questions/5100539/django-csrf-check-failing-with-an-ajax-post-request
 //make sure to expose csrf in our outcoming ajax/post requests
@@ -79,4 +91,4 @@ $.ajaxSetup({
              xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
          }
      } 
-});
\ No newline at end of file
+});