works better but now the tabs are broken
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Sat, 23 Mar 2013 20:33:15 +0000 (21:33 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Sat, 23 Mar 2013 20:33:15 +0000 (21:33 +0100)
manifold/js/manifold.js
plugins/hazelnut/hazelnut.js
trash/sliceview.py

index c773aed..15b4632 100644 (file)
@@ -44,6 +44,8 @@ var manifold = {
     // input queries are specified as a list of {'query_uuid': <query_uuid>, 'id': <possibly null>}
     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
index 5152bc4..596062c 100644 (file)
@@ -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
         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'
          */
         /* 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') {        
         }
 
         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;
          * 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();
         }
     
         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 <div>
            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);
             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();
     
     
             });
     
-//         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) {
index 6093ebf..9b97b7a 100644 (file)
@@ -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 ()