+/*
+ * Call it with level: success, info, warning, danger
+ */
+function mysliceAlert(msg, level, timeout) {
+ level = typeof level !== 'undefined' ? level : 'success';
+ timeout = typeof timeout !== 'undefined' ? timeout : false;
+ var el = $('#myslice-message');
+ el.find('.message').text(msg);
+ el.addClass('alert-' + level);
+ el.parent().fadeIn('fast');
+ if (timeout) {
+ setTimeout(function(){el.alert('close');},5000);
+ }
+};
/* 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);
- // });
+ $('#myslice-message').bind('closed.bs.alert', function () {
+ $(this).parent().hide();
});
+
+ mysliceAlert('hello','danger');
- /* Testbeds list */
- $('div#testbed-list').ready(function() {
- $('table#testbedList').load("/table/testbed", function() {
-
- });
- });
- //{'columns' : ['hostname','country','type'], 'filters' : { 'country' : 'France' } }
- oTable.load("/table/resource/", {'columns' : ['hostname','country','type'] }, function(data) {
+ $("#objectList").load("/table/resource/", {"fields" : ["hostname","hrn","country","type"], "options": ["checkbox"] }, function(data) {
$(this).dataTable( {
"sScrollY": window.innerHeight - 275,
"sDom": "frtiS",
"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
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
}
}
-});
\ No newline at end of file
+});