https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112922

Revision: 112922
Author:   yaron
Date:     2012-03-02 22:09:40 +0000 (Fri, 02 Mar 2012)
Log Message:
-----------
Fix for bug with "values dependent on" if more than one field is dependent on 
the same base field

Modified Paths:
--------------
    trunk/extensions/SemanticForms/includes/SF_FormPrinter.php
    trunk/extensions/SemanticForms/libs/SemanticForms.js

Modified: trunk/extensions/SemanticForms/includes/SF_FormPrinter.php
===================================================================
--- trunk/extensions/SemanticForms/includes/SF_FormPrinter.php  2012-03-02 
22:02:40 UTC (rev 112921)
+++ trunk/extensions/SemanticForms/includes/SF_FormPrinter.php  2012-03-02 
22:09:40 UTC (rev 112922)
@@ -852,7 +852,7 @@
                                                                
$possible_values = SFUtils::getAllPagesForNamespace( $sub_components[1] );
                                                        } elseif ( 
$sub_components[0] == 'values dependent on' ) {
                                                                global 
$sfgDependentFields;
-                                                               
$sfgDependentFields[$sub_components[1]] = $fullFieldName;
+                                                               
$sfgDependentFields[] = array( $sub_components[1], $fullFieldName );
                                                        } elseif ( 
$sub_components[0] == 'property' ) {
                                                                
$semantic_property = $sub_components[1];
                                                        } elseif ( 
$sub_components[0] == 'default filename' ) {

Modified: trunk/extensions/SemanticForms/libs/SemanticForms.js
===================================================================
--- trunk/extensions/SemanticForms/libs/SemanticForms.js        2012-03-02 
22:02:40 UTC (rev 112921)
+++ trunk/extensions/SemanticForms/libs/SemanticForms.js        2012-03-02 
22:09:40 UTC (rev 112922)
@@ -945,15 +945,18 @@
 
        nameAttr = partOfMultiple ? 'origName' : 'name';
        name = jQuery(this).attr(nameAttr);
-       dependentField = sfgDependentFields[name];
-       if ( dependentField != null ) {
-               if ( partOfMultiple ) {
-                       jQuery(this).closest(".multipleTemplateInstance")
-                               .find('[origName="' + dependentField + '"]')
-                               .setDependentAutocompletion(dependentField, 
name, curValue);
-               } else {
-                       jQuery('[name="' + dependentField + '"]')
-                               .setDependentAutocompletion(dependentField, 
name, curValue);
+       for ( var i in sfgDependentFields ) {
+               dependentFieldPair = sfgDependentFields[i];
+               if ( dependentFieldPair[0] == name ) {
+                       dependentField = dependentFieldPair[1];
+                       if ( partOfMultiple ) {
+                               
jQuery(this).closest(".multipleTemplateInstance")
+                                       .find('[origName="' + dependentField + 
'"]')
+                                       
.setDependentAutocompletion(dependentField, name, curValue);
+                       } else {
+                               jQuery('[name="' + dependentField + '"]')
+                                       
.setDependentAutocompletion(dependentField, name, curValue);
+                       }
                }
        }
 


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to