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