From 951e39212242e125a99c3c651e9fd40d49433f81 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Sat, 23 Mar 2013 21:33:15 +0100 Subject: [PATCH] works better but now the tabs are broken --- manifold/js/manifold.js | 2 ++ plugins/hazelnut/hazelnut.js | 27 +++++++++++---------------- trash/sliceview.py | 31 +++++-------------------------- 3 files changed, 18 insertions(+), 42 deletions(-) diff --git a/manifold/js/manifold.js b/manifold/js/manifold.js index c773aed9..15b46320 100644 --- a/manifold/js/manifold.js +++ b/manifold/js/manifold.js @@ -44,6 +44,8 @@ var manifold = { // input queries are specified as a list of {'query_uuid': , 'id': } asynchroneous_exec : function (query_uuid_domids) { // start spinners + + if (manifold.asynchroneous_exec) console.log("Turning spin on with " + jQuery(".need-spin").length + " matches for need-spin"); jQuery('.need-spin').spin(); // We use js function closure to be able to pass the query (array) to the diff --git a/plugins/hazelnut/hazelnut.js b/plugins/hazelnut/hazelnut.js index 5152bc4c..596062c2 100644 --- a/plugins/hazelnut/hazelnut.js +++ b/plugins/hazelnut/hazelnut.js @@ -56,7 +56,7 @@ $.subscribe(query_channel, function(e, query) { hazelnut.set_query(query); }); $.subscribe(update_channel, function(e, resources, instance) { hazelnut.set_resources(resources, instance); }); $.subscribe(results_channel, $this, function(e, rows) { hazelnut.update_plugin(e,rows); }); - if (debug) console.log("hazelnut '" + this.id + "' subscribed to " + query_channel + " " + update_channel + " " + results_channel); + if (debug) console.log("hazelnut '" + this.id + "' subscribed to e.g." + results_channel); }); // this.each }, // init @@ -147,9 +147,6 @@ oSelectAll.unbind('click'); oSelectAll.click(selectAll); - /* Spinner (could be done when the query is received = a query is in progress, also for update) */ -// $('#' + options.plugin_uuid).spin() - /* Add a filtering function to the current table * Note: we use closure to get access to the 'options' */ @@ -163,13 +160,12 @@ /* methods */ this.set_query = function(query) { - if (debug) console.log("entering set_query"); var options = this.options; /* Compare current and advertised query to get added and removed fields */ previous_query = this.current_query; /* Save the query as the current query */ this.current_query = query; - if (debug) console.log("set_query, current_query is now -> " + this.current_query); + if (debug) console.log("hazelnut.set_query, current_query is now -> " + this.current_query); /* We check all necessary fields : in column editor I presume XXX */ // XXX ID naming has no plugin_uuid if (typeof(query.fields) != 'undefined') { @@ -217,7 +213,7 @@ } this.set_resources = function(resources, instance) { - if (debug) console.log("entering set_resources"); + if (debug) console.log("entering hazelnut.set_resources"); var options = this.options; var previous_resources = this.current_resources; this.current_resources = resources; @@ -246,7 +242,7 @@ * XXX will be removed/replaced */ this.selected_changed = function(e, change) { - if (debug) console.log("entering selected_changed"); + if (debug) console.log("entering hazelnut.selected_changed"); var actions = change.split("/"); if (actions.length > 1) { var oNodes = this.table.fnGetNodes(); @@ -267,10 +263,10 @@ } this.update_plugin = function(e, rows) { - if (debug) console.log("entering update_plugin"); // e.data is what we passed in second argument to subscribe // so here it is the jquery object attached to the plugin
var $plugindiv=e.data; + if (debug) console.log("entering hazelnut.update_plugin on id '" + $plugindiv.attr('id') + "'"); // clear the spinning wheel: look up an ancestor that has the need-spin class // do this before we might return $plugindiv.closest('.need-spin').spin(false); @@ -279,13 +275,13 @@ var hazelnut = this; if (rows.length==0) { + if (debug) console.l ("empty result"); this.table.html(errorDisplay("No Result")); return; - } else { - if (typeof(rows[0].error) != 'undefined') { - this.table.html(errorDisplay(rows[0].error)); - return; - } + } else if (typeof(rows[0].error) != 'undefined') { + if (debug) console.log ("undefined result"); + this.table.html(errorDisplay(rows[0].error)); + return; } newlines = new Array(); @@ -333,10 +329,9 @@ }); -// console.log ("end of each, newlines=" + newlines.length); + if (debug) console.log("hazelnut.update_plugin: total of " + newlines.length + " rows"); this.table.fnAddData(newlines); -// console.log (" exiting update_plugin = "); }; this.checkbox = function (plugin_uuid, header, field, selected_str, disabled_str) { diff --git a/trash/sliceview.py b/trash/sliceview.py index 6093ebf6..9b97b7a3 100644 --- a/trash/sliceview.py +++ b/trash/sliceview.py @@ -31,10 +31,6 @@ def slice_view (request, slicename=tmp_default_slice): timestamp='latest', fields=['hrn','hostname'], filters= [ [ 'slice_hrn', '=', slicename, ] ], - # xxx filter : should filter on the slices the logged user can see - # we don't have the user's hrn yet - # in addition this currently returns all slices anyways - # filter = ... sort='slice_hrn', ) page.enqueue_query (main_query) @@ -48,7 +44,7 @@ def slice_view (request, slicename=tmp_default_slice): page=page, title="2 tabs : w/ and w/o checkboxes", domid='thetabs', - toggled=False, +# toggled=False, active_domid='checkboxes', sons=[ Hazelnut ( @@ -73,7 +69,7 @@ def slice_view (request, slicename=tmp_default_slice): page=page, title='not in tabs', domid='standalone', - toggled=False, +# toggled=False, # this is the query at the core of the slice list query=main_query, ), @@ -81,14 +77,14 @@ def slice_view (request, slicename=tmp_default_slice): page=page, title='xmlrpc code', query=main_query, - toggled=False, +# toggled=False, ), ]) - # variables that will get passed to the view-unfold2.html template + # variables that will get passed to the view-unfold1.html template template_env = {} - # define 'unfold2_main' to the template engine + # define 'unfold1_main' to the template engine - the main contents template_env [ 'unfold1_main' ] = main_plugin.render(request) # more general variables expected in the template @@ -98,23 +94,6 @@ def slice_view (request, slicename=tmp_default_slice): # so we can sho who is logged template_env [ 'username' ] = the_user (request) -### # ########## add another plugin with the same request, on the RHS pane -### # will show up in the right-hand side area named 'related' -### related_plugin = SliceList ( -### page=page, -### title='Same request, other layout', -### domid='sidelist', -### with_datatables=True, -### header='paginated main', -### # share the query -### query=main_query, -### ) -### # likewise but on the side view -### template_env [ 'unfold2_margin' ] = related_plugin.render (request) -### -### # add our own css in the mix -### page.add_css_files ( 'css/hazelnut.css') - # don't forget to run the requests page.exec_queue_asynchroneously () -- 2.43.0