You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2010/02/28 19:54:15 UTC

svn commit: r917250 - in /ofbiz/trunk/framework: example/widget/example/FormWidgetExampleForms.xml images/webapp/images/fieldlookup.js

Author: jleroux
Date: Sun Feb 28 18:54:15 2010
New Revision: 917250

URL: http://svn.apache.org/viewvc?rev=917250&view=rev
Log:
A patch from Sascha Rodekamp "Refactor fieldlookup.js" (https://issues.apache.org/jira/browse/OFBIZ-3491) - OFBIZ-3491

Mostly changes in the fieldlookup.js to make the code a little bit smaller. 

Modified:
    ofbiz/trunk/framework/example/widget/example/FormWidgetExampleForms.xml
    ofbiz/trunk/framework/images/webapp/images/fieldlookup.js

Modified: ofbiz/trunk/framework/example/widget/example/FormWidgetExampleForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/example/widget/example/FormWidgetExampleForms.xml?rev=917250&r1=917249&r2=917250&view=diff
==============================================================================
--- ofbiz/trunk/framework/example/widget/example/FormWidgetExampleForms.xml (original)
+++ ofbiz/trunk/framework/example/widget/example/FormWidgetExampleForms.xml Sun Feb 28 18:54:15 2010
@@ -282,8 +282,10 @@
 
     <!-- Lookup Layer Example -->
     <form name="ExampleLookupFields" type="single" title="">
+        <!-- Standard LookupLayer -->
         <field name="partyIdFrom" position="1" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonFrom}"><lookup target-form-name="LookupPartyExamplePopup" presentation="layer" position="normal"/></field>
-        <field name="partyIdTo" position="2" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonTo}"><lookup target-form-name="LookupPartyExamplePopupByName" presentation="layer" position="center" height="500px" width="600px"/></field>
+        <!-- passes the name in one and the id in another field, the layer is centered -->
+        <field name="partyIdTo" position="2" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonTo}"><lookup target-form-name="LookupPartyExamplePopupByName" description-field-name="partyIdFrom" presentation="layer" position="center" height="500px" width="600px"/></field>
     </form>
 
     <form name="SelectionBoxesExampleForm" type="single">

Modified: ofbiz/trunk/framework/images/webapp/images/fieldlookup.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/fieldlookup.js?rev=917250&r1=917249&r2=917250&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/fieldlookup.js (original)
+++ ofbiz/trunk/framework/images/webapp/images/fieldlookup.js Sun Feb 28 18:54:15 2010
@@ -46,6 +46,10 @@
     fieldLookup.popup(viewName, formName, viewWidth, viewheight);
 }
 function call_fieldlookupLayer(target, viewName, lookupWidth, lookupHeight, lookupPosition) {
+    if (isEmpty(target) || isEmpty(viewName)) {
+        return lookup_error("Lookup can't be created, one of these variables is missing: target=" + target + " viewName=" + viewName);
+    }
+
     if (CURRENT_LOOKUP != null) {
         if (CURRENT_LOOKUP.parentTarget == target) {
             CURRENT_LOOKUP.closeLookup();
@@ -58,14 +62,18 @@
 }
 
 function call_fieldlookupLayer3(target, target2, viewName, lookupWidth, lookupHeight, lookupPosition) {
+    if (isEmpty(target) || isEmpty(target2) || isEmpty(viewName)) {
+        return lookup_error("Lookup can't be created, one of these variables is missing: target=" + target + " target2=" + target2 + " viewName=" + viewName);
+    }
+
     if (CURRENT_LOOKUP != null) {
         if (CURRENT_LOOKUP.parentTarget == target) {
             CURRENT_LOOKUP.closeLookup();
             return;
         }
     }
-    var fieldLookupPopup2 = new FieldLookupPopup2(target, target2, viewName, lookupWidth, lookupHeight, lookupPosition);
-    fieldLookupPopup2.showLookup();
+    var fieldLookupPopup = new FieldLookupPopup(target, viewName, lookupWidth, lookupHeight, lookupPosition);
+    fieldLookupPopup.showLookup();
     this.target = target;
     this.target2 = target2;
 }
@@ -178,33 +186,35 @@
 */
 var FieldLookupPopup = Class.create({
     initialize: function (target, viewName, lookupWidth, lookupHeight, position) {
-        if (isEmpty(target) || isEmpty(viewName)) {
-            return lookup_error("Lookup can't be created, one of these variables is missing" + target + viewName);
-        }
-        
+
         //removes a existing Lookup
         if (CURRENT_LOOKUP != null) {
             CURRENT_LOOKUP.removeLayer();
         }
-        
-        
+
+        //set dimension isn't set, set default parameters
         if (isEmpty(lookupWidth)) {
             lookupWidth = '700px';
         }
         this.lookupWidth = lookupWidth;
-        
+
         if (isEmpty(lookupHeight)) {
             lookupHeight = '550px';
         }
         this.lookupHeight = lookupHeight;
-        
+
+        //set the parent target to create later the lookup as child of this element
         this.parentTarget = target;
         this.viewName = viewName;
         this.position = position;
-        
+
         this.createElement();
+
+        //set observe events for mouse and keypress
         Event.observe(document, "keypress", key_event);
         Event.observe(document, "mousedown", close_on_click);
+
+        //set global reference
         CURRENT_LOOKUP = this;
     },
     
@@ -355,217 +365,7 @@
             handle: 'fieldLookupHeader', revert: false, ghosting: false
         });
     },
-    
-    makeResizeable: function (lookupDiv) {
-        new Resizeable(lookupDiv, {
-            top: 0,
-            left: 50,
-            resize: function (el) {
-                $('fieldLookupContent').setStyle({
-                    width: "100%",
-                    height: "90%"
-                });
-            }
-        });
-    },
-    
-    removeLayer: function () {
-        this.loopupDrag.destroy();
-        Element.stopObserving(document, "keypress");
-        Element.stopObserving(document, "mousedown");
-        CURRENT_LOOKUP.divRef.parentNode.removeChild(CURRENT_LOOKUP.divRef);
-        CURRENT_LOOKUP = null;
-        this.target = null;
-    }
-});
-
-/**
-* Class to create a lookup layer
-* target - target where the 1st value should be passed
-* target2 - target2 where the 2d value should be passed
-* viewName - view name which will be opened
-* lookupWidth - layer width i.e. 500px, 27% ... [default: 700px]
-* lookupHeight - layer height i.e. 500px, 27% ... [default: 550px]
-* position - normal (under the target field), center (layer is centered) [default: normal] -- !work still in process
-*/
-var FieldLookupPopup2 = Class.create({
-    initialize: function (target, target2, viewName, lookupWidth, lookupHeight, position) {
-        
-        if (isEmpty(target) || isEmpty(target2) || isEmpty(viewName)) {
-            return lookup_error("Lookup can't be created, one of these variables is missing" + target + target2 + viewName);
-        }
-
-        //removes a existing Lookup
-        if (CURRENT_LOOKUP != null) {
-            CURRENT_LOOKUP.removeLayer();
-        }
-        
-        
-        if (isEmpty(lookupWidth)) {
-            lookupWidth = '700px';
-        }
-        this.lookupWidth = lookupWidth;
-        
-        if (isEmpty(lookupHeight)) {
-            lookupHeight = '550px';
-        }
-        this.lookupHeight = lookupHeight;
-        
-        this.parentTarget = target;
-        this.parentTarget2 = target2;
-        this.viewName = viewName;
-        this.position = position;
-        
-        this.createElement();
-        Event.observe(document, "keypress", key_event);
-        Event.observe(document, "mousedown", close_on_click);
-        CURRENT_LOOKUP = this;
-    },
-    
-    showLookup: function () {
-        if ($('fieldLookup') != null) {
-            Effect.Appear('fieldLookup', {duration: 0.3});
-        }
-    },
-    
-    closeLookup: function () {
-        if ($('fieldLookup') != null) {
-            Effect.Fade('fieldLookup', {duration: 0.3});
-        }
-        // removes the layer after fading
-        window.setTimeout('CURRENT_LOOKUP.removeLayer()', 400);
-    },
-    
-    createElement: function () {
-        var parent = this.parentTarget;
-        var parent2 = this.parentTarget2;
-        
-        //creates the lookup dom element
-        var lookupDiv = new Element('DIV', {
-            id: "fieldLookup",
-            style: "width: " + this.lookupWidth + "; height: " + this.lookupHeight + ""
-        });
-        lookupDiv.setAttribute("class", "fieldLookup");
-        lookupDiv.setAttribute("className", "fieldLookup"); //IE7 Hack
-        
-        //creates lookupHeader
-        var headerDiv = new Element('DIV', {
-            id: "fieldLookupHeader"
-        });
-        headerDiv.setAttribute("class", "fieldLookupHeader");
-        headerDiv.setAttribute("className", "fieldLookupHeader"); // IE 7 Hack
-        
-        //create close Button
-        var closeButton = new Element('SPAN', {});
-        var closeButtonImg = new Element('DIV', {
-            onClick: "lookupHide()"
-        });
-        closeButtonImg.onclick = function () {
-            lookupHide();
-        };
-        
-        closeButton.appendChild(closeButtonImg);
-        headerDiv.appendChild(closeButton);
-        lookupDiv.appendChild(headerDiv);
-        
-        //get the lookup from an anjax request
-        this.loadContent(lookupDiv);
-        
-        lookupDiv.style.display = "none";
-        //creates the div as child of the form element (parent --> input field; parentNode --> form)
-        this.pn = parent.parentNode;
-
-        //set the layer position
-        this.setPosition(lookupDiv);
-
-        this.divRef = lookupDiv;
-
-        //make layer draggable
-        this.makeDraggable(lookupDiv);
-
-        //make the window resiable
-        this.makeResizeable(lookupDiv);
-    },
-
-    loadContent: function (lookupDiv) {
-        new Ajax.Request(this.viewName, {
-            onSuccess: function (transport) {
-                var lookupContent = transport.responseText;
-                lookupDiv.insert({bottom: "<div id='fieldLookupContent'>" + lookupContent + "</div>"});
-                modifySubmitButton();
-            }
-        });
-    },
 
-    setPosition: function (lookupDiv) {
-        //set layer position
-        var bdy = document.body;
-        if (this.position == "center") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = (bdy.offsetWidth / 2) - (dimensions.width / 2);
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            var winHeight = document.viewport.getHeight();
-            lookupTop = (scrollOffY + winHeight / 2) - (dimensions.height / 2);
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else if (this.position == "right") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = (bdy.offsetWidth) - (dimensions.width + 5);
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            var winHeight = document.viewport.getHeight();
-            lookupTop = (scrollOffY + winHeight / 2) - (dimensions.height / 2);
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else if (this.position == "left") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = 5;
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            var winHeight = document.viewport.getHeight();
-            lookupTop = (scrollOffY + winHeight / 2) - (dimensions.height / 2);
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else if (this.position == "topright") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = (bdy.offsetWidth) - (dimensions.width + 5);
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            lookupTop = 5 + scrollOffY;
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else if (this.position == "topleft") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = 5;
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            lookupTop = 5 + scrollOffY;
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else if (this.position == "topcenter") {
-            bdy.appendChild(lookupDiv);
-            var dimensions = lookupDiv.getDimensions();
-            lookupLeft = (bdy.offsetWidth / 2) - (dimensions.width / 2);
-            var scrollOffY = document.viewport.getScrollOffsets().top;
-            lookupTop = 5 + scrollOffY;
-            lookupDiv.style.left = lookupLeft + "px";
-            lookupDiv.style.top = lookupTop + "px";
-        } else {
-            //for 'normal', empty etc.
-            if (this.pn != null) {
-                // IE Fix
-                this.pn.appendChild(lookupDiv);
-            }
-        }
-    },
-
-    makeDraggable: function (lookupDiv) {
-        this.loopupDrag = new Draggable(lookupDiv, {
-            handle: 'fieldLookupHeader', revert: false, ghosting: false
-        });
-    },
-    
     makeResizeable: function (lookupDiv) {
         new Resizeable(lookupDiv, {
             top: 0,
@@ -586,7 +386,6 @@
         CURRENT_LOOKUP.divRef.parentNode.removeChild(CURRENT_LOOKUP.divRef);
         CURRENT_LOOKUP = null;
         this.target = null;
-        this.target2 = null;
     }
 });