X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fstatic%2Fjs%2Fmyslice-ui.js;h=060269a85a7a6235a6356f00b800c3d5546eca9e;hb=b7681efa4f6a31fb872aee29a958e073bceba5ab;hp=b6b7ca531c45193283779827cf13ad8f5e371243;hpb=de9cba4dc7bb98a579cf5df1f9900e9328544871;p=unfold.git diff --git a/portal/static/js/myslice-ui.js b/portal/static/js/myslice-ui.js index b6b7ca53..060269a8 100644 --- a/portal/static/js/myslice-ui.js +++ b/portal/static/js/myslice-ui.js @@ -1,41 +1,24 @@ +/* + * Call it with level: success, info, warning, danger + */ +function mysliceAlert(msg, level) { + level = typeof level !== 'undefined' ? level : 'success'; + var el = $('#myslice-message'); + el.find('.message').text(msg); + el.addClass('alert-' + level); + el.fadeIn('fast'); +}; /* Table initialisation */ $(document).ready(function() { var platformParameters = {}; - var oTable = $("#objectList"); - - $.get("/rest/platform", function(data) { - var list = '
Testbeds
'; - for(i=0; i'+data[i].platform_longname+'

'+data[i].platform+'

'; - } - $('#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("/table/resource/", {'columns' : ['hostname','country','type'], 'filters' : { 'country' : 'France' } }, function(data) { + + $("#objectList").load("/table/resource/", {"fields" : ["hostname","hrn","country","type"], "options": ["checkbox"] }, function(data) { $(this).dataTable( { "sScrollY": window.innerHeight - 275, "sDom": "frtiS", @@ -47,14 +30,47 @@ $(document).ready(function() { "bSort": true, "bInfo": false, "bAutoWidth": true, - "bAutoHeight": false + "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 @@ -80,4 +96,4 @@ $.ajaxSetup({ xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')); } } -}); \ No newline at end of file +});