Author: michiel
Date: 2010-03-17 23:35:11 +0100 (Wed, 17 Mar 2010)
New Revision: 41486

Added:
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate-select-instant.jspx
Modified:
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes-nested.jspx
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes.jspx
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/news-item-relations.jspx
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate.jspx
   
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/validation.js
   
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp
   
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/Searcher.js.jsp
   
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspf
   
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspx
Log:
implemented 'select' button, and restored old functionality

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
    2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
    2010-03-17 22:35:11 UTC (rev 41486)
@@ -236,7 +236,7 @@
             </mm:link>
           </li>
 
-          <li>
+          <li class="done">
             <mm:link page="relate.jspx" referids="${referids}">
               <a href="${_}">Basic mm-sr:relate useage</a>
             </mm:link>
@@ -247,11 +247,16 @@
             </mm:link>
           </li>
 
-          <li>
+          <li class="done">
             <mm:link page="relate-select.jspx" referids="${referids}">
               <a href="${_}">Basic mm-sr:relate useage with preselect</a>
             </mm:link>
           </li>
+          <li class="done">
+            <mm:link page="relate-select-instant.jspx" referids="${referids}">
+              <a href="${_}">Basic mm-sr:relate useage with preselect and 
without a submit button</a>
+            </mm:link>
+          </li>
 
 
           <li>Make more test-cases for this tag</li>

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes-nested.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes-nested.jspx
       2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes-nested.jspx
       2010-03-17 22:35:11 UTC (rev 41486)
@@ -30,7 +30,7 @@
         idvar="rid"
         type="news"
         role="posrel"
-        item="/news-item.jspx"
+        item="news-item.jspx"
         delete="true"
         search="true"
         sortable="true"

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes.jspx
      2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/mmform-relatednodes.jspx
      2010-03-17 22:35:11 UTC (rev 41486)
@@ -36,6 +36,7 @@
         idvar="rid"
         type="news"
         role="posrel"
+        max="5"
         unlink="true"
         delete="true"
         fields="number,title"

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/news-item-relations.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/news-item-relations.jspx
      2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/news-item-relations.jspx
      2010-03-17 22:35:11 UTC (rev 41486)
@@ -13,6 +13,7 @@
       type="people"
       role="related"
       min="1"
+      max="1"
       search="true"
       fields="number,firstname">
       <h4><span class="debug">${rid} </span>authors</h4>

Added: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate-select-instant.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate-select-instant.jspx
                            (rev 0)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate-select-instant.jspx
    2010-03-17 22:35:11 UTC (rev 41486)
@@ -0,0 +1,41 @@
+<?xml version="1.0" ?>
+<mm-sre:html
+    styleClass="search"
+    xmlns:jsp="http://java.sun.com/JSP/Page";
+    xmlns:c="http://java.sun.com/jsp/jstl/core";
+    xmlns:mm-sre="urn:jsptagdir:/WEB-INF/tags/mm/searchrelateexample"
+    xmlns:mm-srt="urn:jsptagdir:/WEB-INF/tags/mm/searchrelate"
+    xmlns:mm-sr="http://www.mmbase.org/tags/mm/searchrelate";
+    xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";>
+
+  <h2>mm-sr:relate with selection in the repository</h2>
+  <p>Make selections in the 'repository', then press the button to immediately 
submit those to 'current'.</p>
+
+
+  <mm:node number="default.mags">
+    <mm:relatednodescontainer type="news" id="current"  role="posrel">
+      <mm:sortorder field="number" direction="down" />
+      <mm:relatednodes id="related" />
+    </mm:relatednodescontainer>
+
+
+    <mm:listnodescontainer type="news" id="repository">
+      <mm:sortorder field="number" direction="down" />
+      <mm:constraint field="number" operator="IN" referid="related" 
inverse="true" />
+    </mm:listnodescontainer>
+    <mm-srt:relate
+        current="${current}" repository="${repository}"
+        maxpages="10"
+        pagesize="5"
+        unrelate="true"
+        create="true"
+        select="true"
+        extracreate="">
+      <jsp:attribute name="currentTitle"><b>News</b></jsp:attribute>
+      <jsp:attribute name="repositoryTitle"><b>Add other 
news</b></jsp:attribute>
+    </mm-srt:relate>
+  </mm:node>
+
+  <mm:escape escape="links">$URL: 
https://scm.mmbase.org/mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/relate-select-instant.jspx
 $</mm:escape>
+
+</mm-sre:html>

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate.jspx
   2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/relate.jspx
   2010-03-17 22:35:11 UTC (rev 41486)
@@ -11,9 +11,9 @@
   <h2>mm-sr:relate</h2>
   <p>
     The basic idea of mm-sr:relate is that 2 lists of nodes are presented. One 
list is the 'current'
-    list (e.g. all to a certain other related nodes of a certain type) and the 
other is the 
+    list (e.g. all to a certain other related nodes of a certain type) and the 
other is the
     'repository' (e.g. all nodes of a certain type). You edit the current list 
by moving items from
-    and to the repository. 
+    and to the repository.
   </p>
   <p>
     Make a selection in the 'current' or 'repository' list and press the 
button to submit the changes
@@ -32,7 +32,7 @@
       <mm:constraint field="number" operator="IN" referid="related" 
inverse="true" />
     </mm:listnodescontainer>
     <form>
-      <mm-sr:relate
+      <mm-srt:relate
           current="${current}" repository="${repository}"
           maxpages="10"
           pagesize="5"
@@ -42,7 +42,7 @@
           extracreate="">
         <jsp:attribute name="currentTitle"><b>News</b></jsp:attribute>
         <jsp:attribute name="repositoryTitle"><b>Add other 
news</b></jsp:attribute>
-      </mm-sr:relate>
+      </mm-srt:relate>
       <input id="save" type="submit" value="Save" />
     </form>
   </mm:node>

Modified: 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/validation.js
===================================================================
--- 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/validation.js
 2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/example-webapp/src/main/webapp/validation.js
 2010-03-17 22:35:11 UTC (rev 41486)
@@ -1,16 +1,22 @@
 
-$(document).ready(function() {
-        $("form.mm_form").bind("mmsrValidateHook", function(ev, list, valid, 
reason) {
-                var formInvalid = $(ev.target).find("div.list.invalid");
-                if (valid) {
-                    $(".info").text("Form is valid");
-                } else {
-                    $(".info").text("Form is invalid: " + reason);
-                }
-                if (formInvalid.length == 0) {
-                    $("input[name=submit]").removeAttr("disabled");
-                } else {
-                    $("input[name=submit]").attr("disabled", "disable");
-                }
-            });
+$(document).ready(
+    function() {
+        $("form.mm_form").bind("mmsrValidateHook",
+                               function(ev, list, valid, reason) {
+                                   var formInvalid = 
$(ev.target).find("div.list.invalid");
+                                   if (valid) {
+                                       $(".info").text("Form is valid");
+                                   } else {
+                                       $(".info").text("Form is invalid: " + 
reason);
+                                   }
+                                   if (formInvalid.length == 0) {
+                                       
$("input[name=submit]").removeAttr("disabled");
+                                   } else {
+                                       
$("input[name=submit]").attr("disabled", "disable");
+                                   }
+                               });
+        $(document).bind("mmsrValidateHook",
+                         function(ev) {
+                             //                             console.log(ev);
+                         });
     });

Modified: 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp
      2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp
      2010-03-17 22:35:11 UTC (rev 41486)
@@ -202,6 +202,7 @@
     // Before the page is left, we need to save. Arrange that here.
     $(window).bind("beforeunload",
                    function(ev) {
+                       List.prototype.leftPage = true;
                        var result = self.commit(0, true);
                        if (result != null) {
                            ev.returnValue = confirm(result); //'<fmt:message 
key="invalid" />';
@@ -696,11 +697,9 @@
 List.prototype.commit = function(stale, leavePage) {
     var result;
     var self = this;
-    if (this.saving) {
-        // already saving right now
-        return;
-    }
-    if(this.needsCommit() && ! List.prototype.leftPage) {
+    if(this.needsCommit() && (! List.prototype.leftPage || leavePage)) {
+        // if triggered unload prototype.leftPage is true, so normal commits 
are cancelled. But the last 'leavePage' (which will happen asynchronously)
+        // does proceed. This is because we want this last commit to delay 
actually leaving the page.
 
         if (this.valid) {
             var now = new Date();

Modified: 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/Searcher.js.jsp
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/Searcher.js.jsp
  2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/Searcher.js.jsp
  2010-03-17 22:35:11 UTC (rev 41486)
@@ -62,13 +62,23 @@
     this.related       = {};    // related nodes
     this.unrelated     = {};    // unrelated nodes
     this.deleterels    = {};    // relations to delete
+
+
     this.logger        = new MMBaseLogger();
     this.logger.debug(d);
     this.logger.debug("setting up current");
     this.current       = $(d).find(".mm_relate_current")[0];
-    this.instant       = $(d).hasClass("instant");  // instant action
-    this.canUnrelate   = $(d).hasClass("can_unrelate");
+    this.instant       = $(d).hasClass("instant");  // instant action, no 
submit button needed
+    this.select        = $(d).hasClass("select");
+
+    if (this.select) {
+        this.selectedForRelate   = {};
+        this.selectedForUnrelate = {};
+    }
+
+    this.canUnrelate      = $(d).hasClass("can_unrelate");
     this.canEditrelations = $(d).hasClass("can_editrelations");
+
     if (this.current != null) {
         this.addSearcher(this.current, "current");
     } else {
@@ -95,7 +105,19 @@
     }
     this.sessionName = null;
     var self = this;
+    if (this.select) {
+        $(this.div).find("a.move").click(
+            function(ev) {
+                self.moveSelections();
+                if (self.instant) {
+                    self.commit(this);
+                }
+            }
+        );
+    }
+
     $(this.div).trigger("mmsrRelaterReady", [self]);
+
 }
 
 /**
@@ -156,16 +178,16 @@
  * Commits makes changes to MMBase. Depends on a jsp 
/mmbase/searchrelate/relate.jsp to do the actual work.
  * This jsp, in turn, depends on the query in the user's session which defines 
precisely what must happen.
  */
-MMBaseRelater.prototype.commit = function(ev) {
+MMBaseRelater.prototype.commit = function(button) {
     var relatedNumbers   = this.getNumbers(this.related);
     var unrelatedNumbers = this.getNumbers(this.unrelated);
     var deletedRelations = this.getNumbers(this.deleterels);
-
     if (relatedNumbers != "" || unrelatedNumbers != "" || deletedRelations != 
"") {
-        var a = ev.target;
-        $(a).addClass("submitting");
-        $(a).removeClass("failed");
-        $(a).removeClass("succeeded");
+        if (button != null) {
+            $(button).addClass("submitting");
+            $(button).removeClass("failed");
+            $(button).removeClass("succeeded");
+        }
 
         this.logger.debug("Commiting changed relations of " + this.div.id);
         var id = this.div.id;
@@ -174,15 +196,14 @@
         this.logger.debug("+ " + relatedNumbers);
         this.logger.debug("- " + unrelatedNumbers);
         this.logger.debug("d " + deletedRelations);
-        if (!this.instant) {
-            this.commitSelections(id);
-        }
+
         var params = {id: id, related: relatedNumbers, unrelated: 
unrelatedNumbers, deleted: deletedRelations};
         if (this.transaction != null) {
             params.transaction = this.transaction;
         }
         var self = this;
-        $.ajax({async: false, url: url, type: "GET", dataType: "xml", data: 
params,
+        $.ajax({async: false,
+                url: url, type: "GET", dataType: "xml", data: params,
                 complete: function(res, status){
                     $(a).removeClass("submitting");
                     if (status == "success") {
@@ -213,6 +234,9 @@
                     }
                 }
             });
+        // alert("hoi " + relatedNumbers + " " + unrelatedNumbers + " " + 
deletedRelations);
+        // return false;
+
     } else {
         this.logger.debug("No changes, no need to commit");
         $(this.div).trigger("mmsrCommitted", [a, "nochanges", this]);
@@ -223,27 +247,29 @@
 /**
  * Commits selected items after acknowledgment
  */
-MMBaseRelater.prototype.commitSelections = function(id) {
-    var div = $('#' + id + ' div.mm_relate_current');
+MMBaseRelater.prototype.moveSelections = function() {
     var self = this;
     var done = false;
 
     // unrelate
-    $.each(self.deleterels, function(key, value) {
+    $.each(self.selectedForUnrelate, function(key, value) {
         self.logger.debug("= unrelated: " + key);
-        self.unrelate(value);
-        self.deleterels[key] = null;
+        self.unrelate(value, true);
         done = true;
     });
+    self.selectedForUnrelate = {};
 
     // relate
-    $.each(self.related, function(key, value) {
+    $.each(self.selectedForRelate, function(key, value) {
         self.logger.debug("= related: " + key);
-        if (value != null) { self.relate(value); }
-        self.related[key] = null;
+        if (value != null) {
+            self.relate(value);
+        }
         done = true;
     });
+    self.selectedForRelate = {};
 
+
     if (done) {
         self.logger.debug("done");
     }
@@ -297,59 +323,68 @@
 MMBaseRelater.prototype.bindEvents = function(rep, type) {
     var self = this;
     if (type == "repository") {
-        $(rep).find("tr.click").each(function() {
-            var nr = self.getNumber(this);
-            if (typeof(self.related[nr]) != "undefined") {
-                $(this).toggleClass('selected');
-                self.logger.debug("found selected");
-            }
-
-            $(this).click(function(ev) {
-                if (self.instant) {
-                    self.relate(this);
-                    self.commit(ev);
-                } else {
+        $(rep).find("tr.click").each(
+            function() {
+                var nr = self.getNumber(this);
+                if (typeof(self.related[nr]) != "undefined") {
                     $(this).toggleClass('selected');
-                    if (typeof(self.related[nr]) == "undefined") {
-                        self.related[nr] = this;
-                        self.logger.debug("selected (relate): " + nr);
-                    } else {
-                        self.related[nr] = null;
-                        self.logger.debug("unselected (relate): " + nr);
-                    }
+                    self.logger.debug("found selected");
                 }
-                return false;
+
+                $(this).click(
+                    function(ev) {
+                        if (self.select) {
+                            $(this).toggleClass('selected');
+                            if (typeof(self.selectedForRelate[nr]) == 
"undefined") {
+                                self.selectedForRelate[nr] = this;
+                                self.logger.debug("selected (relate): " + nr);
+                            } else {
+                                self.selectedForRelate[nr] = null;
+                                self.logger.debug("unselected (relate): " + 
nr);
+                            }
+                        } else {
+                            self.relate(this);
+                            if (self.instant) {
+                                self.commit();
+                            }
+                        }
+
+                        return false;
+                    });
             });
-        });
     }
     if (type == "current") {
-        $(rep).find("tr.click").each(function() {
-            var rel = self.getRelationNumber(this);
-            if (typeof(self.deleterels[rel]) != "undefined") {
-                self.logger.debug(self.deleterels[rel]);
-                self.logger.debug("found selected");
-                $(this).toggleClass('selected');
-            }
+        $(rep).find("tr.click").each(
+            function() {
+                var  rel = self.getRelationNumber(this);
+                if (typeof(self.deleterels[rel]) != "undefined") {
+                    self.logger.debug(self.deleterels[rel]);
+                    self.logger.debug("found selected");
+                    $(this).toggleClass('selected');
+                }
 
-            if ($(this).hasClass("new") || (self != null && self.canUnrelate)) 
{    // TODO: hasClass new moet nog wat mee
-                $(this).click(function(ev) {
-                    if (self.instant) {
-                        self.unrelate(this);
-                        self.commit(ev);
-                    } else {
-                        $(this).toggleClass('selected');
-                        if (typeof(self.deleterels[rel]) == "undefined") {
-                            self.deleterels[rel] = this;
-                            self.logger.debug("selected (unrelate): " + rel);
-                        } else {
-                            self.deleterels[rel] = null;
-                            self.logger.debug("unselected (unrelate): " + rel);
-                        }
-                    }
-                    return false;
-                });
-            }
-        });
+                if ($(this).hasClass("new") || (self != null && 
self.canUnrelate)) {    // TODO: hasClass new moet nog wat mee
+                    $(this).click(
+                        function(ev) {
+                            if (self.select) {
+                                $(this).toggleClass('selected');
+                                if (typeof(self.selectedForUnrelate[rel]) == 
"undefined") {
+                                    self.selectedForUnrelate[rel] = this;
+                                    self.logger.debug("selected (unrelate): " 
+ rel);
+                                } else {
+                                    self.selectedForUnrelate[rel] = null;
+                                    self.logger.debug("unselected (unrelate): 
" + rel);
+                                }
+                            } else {
+                                self.unrelate(this);
+                                if (self.instant) {
+                                    self.commit();
+                                }
+                            }
+                            return false;
+                        });
+                }
+            });
 
         if (self.canEditrelations) self.bindSaverelation(rep);
     }
@@ -408,20 +443,24 @@
         $(tr).unbind();
 
         var self = this;
-        $(tr).click(function(ev) {
-            if (self.instant) {
-                self.unrelate(this);
-                self.commit(ev);
-            } else {
-                // TODO: need to have relation nr here (maybe reload data?)
-                $(this).toggleClass('selected');
-                if (typeof(self.unrelated[number]) == "undefined") {
-                    self.unrelated[number] = this;
+        $(tr).click(
+            function(ev) {
+
+                if (self.select) {
+                    // TODO: need to have relation nr here (maybe reload data?)
+                    $(this).toggleClass('selected');
+                    if (typeof(self.selectedForUnrelate[number]) == 
"undefined") {
+                        self.selectedForUnrelate[number] = this;
+                    } else {
+                        self.selectedForUnrelate[number] = null;
+                    }
                 } else {
-                    self.unrelated[number] = null;
+                    self.unrelate(this);
+                    if (self.instant) {
+                        self.commit();
+                    }
                 }
-            }
-        });
+            });
     }
     if (this.relateCallBack != null) {
         this.relateCallBack(tr);
@@ -439,18 +478,18 @@
 /**
  * Moves a node from the list of related nodes to the 'unrelated' repository.
  */
-MMBaseRelater.prototype.unrelate = function(tr) {
+MMBaseRelater.prototype.unrelate = function(tr, userelationnumber) {
     var number = this.getNumber(tr);
-    var relnr = this.getRelationNumber(tr);
+    var relnr  = this.getRelationNumber(tr);
     var relationTrs = this.getRelationTrs(number);
     this.logger.debug("Unrelating node #" + number + ", relation #" + relnr);
 
     // Set up data
     if (typeof(this.unrelated[number]) == "undefined" && 
typeof(this.unrelated[relnr] == "undefined")) {
-        if (this.instant) {
+        if (userelationnumber == null || ! userelationnumber) {
             this.unrelated[number] = tr;
         } else {
-            this.unrelated[relnr] = tr;
+            this.deleterels[relnr] = tr;
         }
     }
     this.related[number] = null;
@@ -475,20 +514,24 @@
     // Events
     $(tr).unbind();
     var self = this;
-    $(tr).click(function(ev) {
-        if (self.instant) {
-            self.relate(this);
-            self.commit(ev);
-        } else {
-            $(this).toggleClass('selected');
-            if (typeof(self.related[number]) == "undefined") {
-                self.related[number] = this;
-            } else {
-                self.related[number] = null;
+    $(tr).click(
+        function(ev) {
+            if (self.select) {
+                $(this).toggleClass('selected');
+                if (typeof(self.related[number]) == "undefined") {
+                    self.selectedForRelate[number] = this;
+                } else {
+                    self.selectedForRelate[number] = null;
+                }
+            }  else {
+                self.relate(this);
+                if (self.instant) {
+                    self.commit();
+                }
             }
+            return false;
         }
-        return false;
-    });
+    );
     $(this.div).trigger("mmsrUnrelate", [tr, this]);
 };
 
@@ -593,8 +636,11 @@
     }
 };
 
-/*
- * 
***********************************************************************************************************************
+/**
+ * 
********************************************************************************
+ * Follows the implementation of the Search part.
+ * This can also be used stand-alone, using mm-sr:search
+ * 
********************************************************************************
  */
 
 function MMBaseSearcher(d, r, type, logger) {
@@ -862,8 +908,11 @@
                     }
                     $(rep).find('input[type="submit"]').attr("disabled", 
"disabled");
                     self.validator.validateHook = function(valid) {
-                        if (valid) 
$(rep).find('input[type="submit"]').removeAttr("disabled");
-                        else 
$(rep).find('input[type="submit"]').attr("disabled", "disabled");
+                        if (valid) {
+                            
$(rep).find('input[type="submit"]').removeAttr("disabled");
+                        } else {
+                            
$(rep).find('input[type="submit"]').attr("disabled", "disabled");
+                        }
                     };
                     var options = {
                         url: "${mm:link('/mmbase/searchrelate/create.jspx')}",

Modified: 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspf
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspf
      2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspf
      2010-03-17 22:35:11 UTC (rev 41486)
@@ -1,3 +1,4 @@
+
 <mm:listnodes referid="related" jspvar="n">
   <jsp:expression>Queries.addToResult(current, n)</jsp:expression>
 </mm:listnodes>
@@ -2,9 +3,12 @@
 <mm:listnodes referid="unrelated" jspvar="n">
+  R:<jsp:expression>n.getNumber()</jsp:expression>
  <jsp:expression>Queries.removeFromResult(current, n)</jsp:expression>
 </mm:listnodes>
+
+
 <mm:present referid="deleted">
   <mm:listnodes referid="deleted">
     <mm:maydelete>
       <mm:hasfield name="dnumber">
-        <mm:deletenode /> 
+        <mm:field name="dnumber" /> <mm:deletenode />
       </mm:hasfield>

Modified: 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspx
      2010-03-17 22:28:37 UTC (rev 41485)
+++ 
mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/relate.jspx
      2010-03-17 22:35:11 UTC (rev 41486)
@@ -13,6 +13,8 @@
       <mm:import externid="unrelated" vartype="list" required="true" />
       <mm:import externid="deleted"   vartype="list" />
       <mm:import from="session" externid="${id}_current" id="current" 
required="true" jspvar="current" vartype="org.mmbase.bridge.Query" />
+
+      [${current.sql}]
       <mm:import externid="transaction" />
       <mm:isempty referid="transaction">
         <jsp:directive.include file="relate.jspf" />

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to