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/12/27 22:36:34 UTC

svn commit: r1053198 - /ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js

Author: jleroux
Date: Mon Dec 27 21:36:33 2010
New Revision: 1053198

URL: http://svn.apache.org/viewvc?rev=1053198&view=rev
Log:
Use the power of Aptana to format correctly this file. I have adapted the default format setting to be more near our best practices. If you are interested I can share the formatting template. 

Anyway I think I will discuss that on dev ML latter. We could have it posted in the wiki, when agreed upon its content, and use it as part of our best practices...

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

Modified: ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js?rev=1053198&r1=1053197&r2=1053198&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js (original)
+++ ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js Mon Dec 27 21:36:33 2010
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 // *** getDependentDropdownValues allows to dynamically populate a dependent drop-down on change on its parent drop-down, doesn't require any fixed naming convention 
 // request      = request calling the service which retrieve the info from the DB, ex: getAssociatedStateList
 // paramKey     = parameter value used in the called service 
@@ -33,100 +32,103 @@
 // 				  this is to handle a specific case where an input field is needed instead of a drop-down when no values are returned by the request
 // 				  this will be maybe extended later to use an auto-completed drop-down or a lookup, instead of straight drop-down currently, when there are too much values to populate
 // 				  this is e.g. currently used in the Product Price Rules screen
-function getDependentDropdownValues(request, paramKey, paramField, targetField, responseName, keyName, descName, selected, callback, hide, hideTitle, inputField) {
-	target = '#' + targetField;
-	input = '#' + inputField;
+function getDependentDropdownValues(request, paramKey, paramField, targetField, responseName, keyName, descName, selected, callback, hide, hideTitle, inputField){
+    target = '#' + targetField;
+    input = '#' + inputField;
     targetTitle = target + '_title'
     optionList = '';
     jQuery.ajax({
         url: request,
-        data: [ { name: paramKey, value: jQuery('#' + paramField).val()} ],  // get requested value from parent drop-down field
-        dataType : 'json',
+        data: [{
+            name: paramKey,
+            value: jQuery('#' + paramField).val()
+        }], // get requested value from parent drop-down field
+        dataType: 'json',
         async: false,
         type: 'POST',
         success: function(result){
-	        list = result[responseName];
-	        // Create and show dependent select options
-	        // Create and show dependent select options
-	        if (list) {
-		        jQuery.each(list, function (key, value) {
-		            if (typeof value == 'string') {
-		                values = value.split(': ');
-		                if (values[1].indexOf(selected) >=0) {
-		                    optionList += "<option selected='selected' value = " + values[1] + " >" + values[0] + "</option>";
-		                } else {
-		                    optionList +=  "<option value = " + values[1] + " >" + values[0] + "</option>";
-		                }
-		            } else {
-		                if (value[keyName] == selected) {
-		                    optionList += "<option selected='selected' value = " + value[keyName] + " >" + value[descName] + "</option>";
-		                } else {
-		                    optionList += "<option value = " + value[keyName] + " >" + value[descName] + "</option>";
-		                }
-		            }
-		        })
-	        };
+            list = result[responseName];
+            // Create and show dependent select options
+            // Create and show dependent select options
+            if (list) {
+                jQuery.each(list, function(key, value){
+                    if (typeof value == 'string') {
+                        values = value.split(': ');
+                        if (values[1].indexOf(selected) >= 0) {
+                            optionList += "<option selected='selected' value = " + values[1] + " >" + values[0] + "</option>";
+                        } else {
+                            optionList += "<option value = " + values[1] + " >" + values[0] + "</option>";
+                        }
+                    } else {
+                        if (value[keyName] == selected) {
+                            optionList += "<option selected='selected' value = " + value[keyName] + " >" + value[descName] + "</option>";
+                        } else {
+                            optionList += "<option value = " + value[keyName] + " >" + value[descName] + "</option>";
+                        }
+                    }
+                })
+            };
             // Hide/show the dependent drop-down if hide=true else simply disable/enable
-            if ((!list) || (list.length < 1) || ((list.length == 1) && list[0].indexOf("_NA_") >=0)) {
-            	jQuery(target).attr('disabled', 'disabled');
-            	if (hide) {
-	                if (jQuery(target).is(':visible')) {
-	                	jQuery(target).fadeOut(2500);
-	                	if (hideTitle) jQuery(targetTitle).fadeOut(2500);
-					} else {
-						jQuery(target).fadeIn();
-						if (hideTitle) jQuery(targetTitle).fadeIn();	                    
-	                	jQuery(target).fadeOut(2500);
-	                	if (hideTitle) jQuery(targetTitle).fadeOut(2500);
-    	            }
-            	}
+            if ((!list) || (list.length < 1) || ((list.length == 1) && list[0].indexOf("_NA_") >= 0)) {
+                jQuery(target).attr('disabled', 'disabled');
+                if (hide) {
+                    if (jQuery(target).is(':visible')) {
+                        jQuery(target).fadeOut(2500);
+                        if (hideTitle) jQuery(targetTitle).fadeOut(2500);
+                    } else {
+                        jQuery(target).fadeIn();
+                        if (hideTitle) jQuery(targetTitle).fadeIn();
+                        jQuery(target).fadeOut(2500);
+                        if (hideTitle) jQuery(targetTitle).fadeOut(2500);
+                    }
+                }
             } else {
-            	jQuery(target).removeAttr('disabled');
-            	if (hide) {
-            		if (!jQuery(target).is(':visible')) {
-            			jQuery(target).fadeIn();
-            			if (hideTitle) jQuery(targetTitle).fadeIn();
-            		}
+                jQuery(target).removeAttr('disabled');
+                if (hide) {
+                    if (!jQuery(target).is(':visible')) {
+                        jQuery(target).fadeIn();
+                        if (hideTitle) jQuery(targetTitle).fadeIn();
+                    }
                 }
             }
-    	},
-	    complete: function() {
+        },
+        complete: function(){
             // this is to handle a specific case where an input field is needed instead of a drop-down when no values are returned by the request (else if allow-empty="true" is used autoComplete handle the case)
             // this could be extended later to use an auto-completed drop-down or a lookup, instead of drop-down currently, when there are too much values to populate
             // Another option is to use an input field with Id instead of a drop-down, see setPriceRulesCondEventJs.ftl and top of getAssociatedPriceRulesConds service
             if (!list && inputField) {
                 jQuery(target).hide();
                 jQuery(input).show();
-            } else if (inputField) { 
+            } else if (inputField) {
                 jQuery(input).hide();
                 jQuery(target).show();
             }
             jQuery(target).html(optionList).click().change(); // .change() needed when using also asmselect on same field, .click() specifically for IE8
             if (callback != null) eval(callback);
-		}
+        }
     });
 }
-  
+
 //*** calls any service already mounted as an event
-function getServiceResult(request, params) {
+function getServiceResult(request, params){
     var data;
     jQuery.ajax({
-    	type: 'POST',
-    	url: request,
-    	data: params,
-    	async: false,
-    	cache: false,
-    	dataType: 'json',
-    	success: function(result) {
-    		data = result;
-    	}
-    });    
+        type: 'POST',
+        url: request,
+        data: params,
+        async: false,
+        cache: false,
+        dataType: 'json',
+        success: function(result){
+            data = result;
+        }
+    });
     return data;
 }
 
 //*** checkUomConversion returns true if an UomConversion exists 
-function checkUomConversion(request, params) {
-    data = getServiceResult(request, params);     
+function checkUomConversion(request, params){
+    data = getServiceResult(request, params);
     return data['exist'];
 }
 



Re: svn commit: r1053198 - /ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js

Posted by Jacques Le Roux <ja...@les7arts.com>.
Added in https://cwiki.apache.org/confluence/display/OFBADMIN/Coding+Conventions (updated and amended)

Jacques

From: "Jacques Le Roux" <ja...@les7arts.com>
> Hi,
>
> Following this, I'd like to suggest to use, if possible, Eclipse/Aptana for editing Javascript files and notably to format them 
> correctly. I suggest also to not use tabs in *our* javascript files but 4 spaces (like in Java)
> I have put the Aptana formatting template as an attachment of OFBiz Contributors Best Practices
>
> Thanks to share your opinion
>
> Jacques
>
> From: <jl...@apache.org>
>> URL: http://svn.apache.org/viewvc?rev=1053198&view=rev
>> Log:
>> Use the power of Aptana to format correctly this file. I have adapted the default format setting to be more near our best 
>> practices. If you are interested I can share the formatting template.
>>
>> Anyway I think I will discuss that on dev ML latter. We could have it posted in the wiki, when agreed upon its content, and use 
>> it as part of our best practices...
>>
>
> 



Re: svn commit: r1053198 - /ofbiz/trunk/framework/images/webapp/images/getDependentDropdownValues.js

Posted by Jacques Le Roux <ja...@les7arts.com>.
Hi,

Following this, I'd like to suggest to use, if possible, Eclipse/Aptana for editing Javascript files and notably to format them 
correctly. I suggest also to not use tabs in *our* javascript files but 4 spaces (like in Java)
I have put the Aptana formatting template as an attachment of OFBiz Contributors Best Practices

Thanks to share your opinion

Jacques

From: <jl...@apache.org>
> URL: http://svn.apache.org/viewvc?rev=1053198&view=rev
> Log:
> Use the power of Aptana to format correctly this file. I have adapted the default format setting to be more near our best 
> practices. If you are interested I can share the formatting template.
>
> Anyway I think I will discuss that on dev ML latter. We could have it posted in the wiki, when agreed upon its content, and use it 
> as part of our best practices...
>