various fixes for when the result is an empty list
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 18 Apr 2013 10:58:11 +0000 (12:58 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 18 Apr 2013 10:58:11 +0000 (12:58 +0200)
manifold/js/manifold.js
plugins/googlemap/googlemap.js
plugins/hazelnut/hazelnut.js

index 9f24bac..7105f52 100644 (file)
@@ -74,8 +74,6 @@ var manifold = {
     // however in some cases we wish to publish the results under a different uuid
     // e.g. an updater wants to publish its results as if from the original (get) query
     asynchroneous_success : function (data, query, publish_uuid, domid) {
-       if (manifold.asynchroneous_debug) 
-           messages.debug("received manifold result with code " + data.code + " for publish on " + publish_uuid);
        // xxx should have a nicer declaration of that enum in sync with the python code somehow
        if (data.code == 1) {
            alert("Your session has expired, please log in again");
@@ -96,8 +94,9 @@ var manifold = {
                jQuery('#' + domid).trigger('results', [value]);
             } else {
                /* Publish an update announce */
-               if (manifold.asynchroneous_debug) messages.debug("publishing results on " + publish_uuid);
-               jQuery.publish("/results/" + publish_uuid + "/changed", [value, query]);
+               var channel="/results/" + publish_uuid + "/changed";
+               if (manifold.asynchroneous_debug) messages.debug("publishing results on " + channel);
+               jQuery.publish(channel, [value, query]);
             }
 
        }
@@ -141,7 +140,7 @@ var manifold = {
      */
     o.on.apply(o, [types, selector, data, function() { 
         for(i = 1; i < arguments.length; i++) {
-            if ( arguments[i].constructor.name == 'Query' )
+            if ( arguments[i].constructor.name == 'ManifoldQuery' )
                 arguments[i] = arguments[i].clone();
         }
         fn.apply(o, arguments);
index 94e9244..607d658 100644 (file)
            instance_.closest('.need-spin').spin(false);
 
 
-            if (!rows) {
-                alert('error');
+            if (rows === undefined || !rows || rows.length==0) {
+               messages.warning ("Empty result in googlemap.update_map - nothing to show");
                 return;
             }
 
index 4bf182e..192ab05 100644 (file)
        // xxx thierry : initialize this here - it was not, I expect this relied on set_query somehow..
         //this.current_query = null;
        this.current_query=manifold.find_query(this.options.query_uuid);
-       if (debug) messages.debug("Hazelnut constructor: have set current_query -> " + this.current_query);
+//     if (debug) messages.debug("Hazelnut constructor: have set current_query -> " + this.current_query.__repr());
        this.query_update = null;
         this.current_resources = Array();
 
             var hazelnut = this;
     
             if (rows.length==0) {
-               if (debug) console.l ("empty result");
-                this.table.html(unfold.errorDisplay("No Result"));   
+               if (debug) messages.debug("Empty result on hazelnut " + domid);
+                this.table.html(unfold.warning("Empty result"));   
                 return;
             } else if (typeof(rows[0].error) != 'undefined') {
-               if (debug) messages.debug ("undefined result");
-                this.table.html(unfold.errorDisplay(rows[0].error));
+               // we now should have another means to report errors that this inline/embedded hack
+               if (debug) messages.error ("undefined result on " + domid + " - should not happen anymore");
+                this.table.html(unfold.error(rows[0].error));
                 return;
             }
             newlines = new Array();