From 946bd11b9c26049833e274498fbf21feb3e6235c Mon Sep 17 00:00:00 2001
From: Thierry Parmentelat <thierry.parmentelat@inria.fr>
Date: Thu, 18 Apr 2013 12:58:11 +0200
Subject: [PATCH] various fixes for when the result is an empty list

---
 manifold/js/manifold.js        |  9 ++++-----
 plugins/googlemap/googlemap.js |  4 ++--
 plugins/hazelnut/hazelnut.js   | 11 ++++++-----
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/manifold/js/manifold.js b/manifold/js/manifold.js
index 9f24bac3..7105f521 100644
--- a/manifold/js/manifold.js
+++ b/manifold/js/manifold.js
@@ -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);
diff --git a/plugins/googlemap/googlemap.js b/plugins/googlemap/googlemap.js
index 94e92442..607d6589 100644
--- a/plugins/googlemap/googlemap.js
+++ b/plugins/googlemap/googlemap.js
@@ -135,8 +135,8 @@
 	    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;
             }
 
diff --git a/plugins/hazelnut/hazelnut.js b/plugins/hazelnut/hazelnut.js
index 4bf182ec..192ab054 100644
--- a/plugins/hazelnut/hazelnut.js
+++ b/plugins/hazelnut/hazelnut.js
@@ -106,7 +106,7 @@
 	// 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();
 
@@ -270,12 +270,13 @@
             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();
-- 
2.47.0