svn commit: r935904 - /ofbiz/trunk/framework/images/webapp/images/fieldlookup.js

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r935904 - /ofbiz/trunk/framework/images/webapp/images/fieldlookup.js

jleroux@apache.org
Author: jleroux
Date: Tue Apr 20 13:23:40 2010
New Revision: 935904

URL: http://svn.apache.org/viewvc?rev=935904&view=rev
Log:
A patch from Sascha Rodekamp related to "Pagination in Layered Lookups" (https://issues.apache.org/jira/browse/OFBIZ-3726) - OFBIZ-3726

The pagination in the layered lookups was broken because of a previous patch.

Modified:
    ofbiz/trunk/framework/images/webapp/images/fieldlookup.js

Modified: ofbiz/trunk/framework/images/webapp/images/fieldlookup.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/fieldlookup.js?rev=935904&r1=935903&r2=935904&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/fieldlookup.js (original)
+++ ofbiz/trunk/framework/images/webapp/images/fieldlookup.js Tue Apr 20 13:23:40 2010
@@ -302,7 +302,7 @@ var FieldLookupPopup = Class.create({
         lookupDiv.appendChild(headerDiv);
         
         //get the lookup from an anjax request
-        this.loadContent(lookupDiv);
+        this.contentRef = this.loadContent(lookupDiv);
         
         lookupDiv.style.display = "none";
         //creates the div as child of the form element (parent --> input field; parentNode --> form)
@@ -352,9 +352,11 @@ var FieldLookupPopup = Class.create({
                 });
 
                 //modify the submit button
-                modifySubmitButton(lookupDiv, lookupCont);
+                modifySubmitButton(lookupDiv);
             }
         });
+        
+        return lookupCont
     },
 
     createFadedBackground: function (){
@@ -552,8 +554,8 @@ function hideLookup() {
     obj.closeLookup();
 }
 
-function modifySubmitButton (lookupDiv, lookupContent) {
-    /* changes form/submit behavior for Lookup Layer */
+function modifySubmitButton (lookupDiv) {
+ /* changes form/submit behavior for Lookup Layer */
     if (lookupDiv) {
         //find the lookup form
         var forms = lookupDiv.getElementsByTagName('form');
@@ -578,7 +580,7 @@ function modifySubmitButton (lookupDiv,
                     id: 'lookupSubmitButton'
                 });
                 submit.onclick = function () {
-                    lookupFormAjaxRequest(formAction, lookupForm.getAttribute('id'), lookupDiv, lookupContent);
+                    lookupFormAjaxRequest(formAction, lookupForm.getAttribute('id'));
                     return false;
                 };
                 submit.setAttribute("class", "smallSubmit");
@@ -590,7 +592,7 @@ function modifySubmitButton (lookupDiv,
                 ele.parentNode.appendChild(submit);
                 Event.observe(document, "keypress", function (evt) {
                     if (Event.KEY_RETURN == evt.keyCode) {
-                        lookupFormAjaxRequest(formAction, lookupForm.getAttribute('id'), lookupDiv, lookupContent);
+                        lookupFormAjaxRequest(formAction, lookupForm.getAttribute('id'));
                     }
                 });
                 ele.parentNode.removeChild(ele);
@@ -605,7 +607,7 @@ function modifySubmitButton (lookupDiv,
                             var select = eleChild[k].getElementsByTagName("SELECT");
 
                             if (link.length > 0) {
-                                link[0].href = "javascript:lookupPaginationAjaxRequest('" + link[0].href + "', '" + lookupForm.getAttribute('id') + "', 'link', '" + lookupDiv + "')";
+                             link[0].href = "javascript:lookupPaginationAjaxRequest('" + link[0].href + "', '" + lookupForm.getAttribute('id') + "', 'link')";
                             } else if (select.length > 0) {
                                 try {
                                     var oc = select[0].getAttribute("onchange");
@@ -619,7 +621,7 @@ function modifySubmitButton (lookupDiv,
                                             var viewSize = select[0].value;
                                             var spl = ocSub.split(searchPattern);
                                             select[0].onchange = function () {
-                                                lookupPaginationAjaxRequest(spl[0] + this.value + spl[1], lookupForm.getAttribute('id'), 'select', lookupDiv);
+                                                lookupPaginationAjaxRequest(spl[0] + this.value + spl[1], lookupForm.getAttribute('id'), 'select');
                                             };
                                         } else if (searchPattern2.test(ocSub)) {
                                             ocSub = ocSub.replace(searchPattern2, "");
@@ -627,12 +629,12 @@ function modifySubmitButton (lookupDiv,
                                                 ocSub.replace(searchPattern, viewSize);
                                             }
                                             select[0].onchange = function () {
-                                                lookupPaginationAjaxRequest(ocSub + this.value, lookupForm.getAttribute('id'), 'select', lookupDiv);
+                                                lookupPaginationAjaxRequest(ocSub + this.value, lookupForm.getAttribute('id'), 'select');
                                             };
                                         }
                                     } else {
                                         var ocSub = oc.substring((oc.indexOf('=') + 1),(oc.length - 1));
-                                        select[0].setAttribute("onchange", "lookupPaginationAjaxRequest(" + ocSub + ", '" + lookupForm.getAttribute('id') +"', '" + lookupDiv + "')");
+                                        select[0].setAttribute("onchange", "lookupPaginationAjaxRequest(" + ocSub + ", '" + lookupForm.getAttribute('id') +"')");
                                     }
                                 }
                                 catch (ex) {
@@ -653,8 +655,11 @@ function modifySubmitButton (lookupDiv,
 * @param form - formId
 * @return
 */
-function lookupFormAjaxRequest(formAction, form, lookupDiv, lookupContent) {
-    new Ajax.Request(formAction, {
+function lookupFormAjaxRequest(formAction, form) {
+ lookupDiv = (GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).divRef);
+ lookupContent = (GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).contentRef);
+
+ new Ajax.Request(formAction, {
         method: 'post',
         parameters: $(form).serialize(), requestHeaders: {
             Accept: 'application/json'
@@ -670,13 +675,17 @@ function lookupFormAjaxRequest(formActio
             lookupCont.insert({
                 bottom: "" + formRequest + ""
             });
-            modifySubmitButton(lookupDiv, lookupCont);
+            GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).contentRef = lookupCont;
+            modifySubmitButton(lookupDiv);
         }
     });
 }
 
-function lookupPaginationAjaxRequest(navAction, form, type, lookupDiv) {
-    if (type == 'link') {
+function lookupPaginationAjaxRequest(navAction, form, type) {
+ lookupDiv = (GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).divRef);
+ lookupContent = (GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).contentRef);
+
+ if (type == 'link') {
         navAction = navAction.substring(0, navAction.length - 1);
     }
     navAction = navAction + "&presentation=layer";
@@ -687,10 +696,16 @@ function lookupPaginationAjaxRequest(nav
         },
         onSuccess: function (transport) {
             var formRequest = transport.responseText;
-            $('fieldLookupContent').remove();
-            lookupDiv.insert({
-                bottom: "<div id='fieldLookupContent'>" + formRequest + "</div>"
+            lookupContent.remove();
+            var lookupCont = new Element('DIV', {
+                id: "fieldLookupContent"
+            });
+            lookupDiv.appendChild(lookupCont);
+
+            lookupCont.insert({
+                bottom: "" + formRequest + ""
             });
+            GLOBAL_LOOKUP_REF.getReference(ACTIVATED_LOOKUP).contentRef = lookupCont;
             modifySubmitButton(lookupDiv);
         }
     });