// Create a map between known parameters and their models
$.each( this.groups, function ( group, groupModel ) {
- if ( groupModel.getType() === 'send_unselected_if_any' ) {
+ if (
+ groupModel.getType() === 'send_unselected_if_any' ||
+ groupModel.getType() === 'boolean'
+ ) {
// Individual filters
groupModel.getItems().forEach( function ( filterItem ) {
model.parameterMap[ filterItem.getParamName() ] = filterItem;
// group2: "param4|param5"
// }
$.each( params, function ( paramName, paramValue ) {
- var itemOrGroup = model.parameterMap[ paramName ];
-
- if ( itemOrGroup instanceof mw.rcfilters.dm.FilterItem ) {
- groupMap[ itemOrGroup.getGroupName() ] = groupMap[ itemOrGroup.getGroupName() ] || {};
- groupMap[ itemOrGroup.getGroupName() ][ itemOrGroup.getParamName() ] = paramValue;
- } else if ( itemOrGroup instanceof mw.rcfilters.dm.FilterGroup ) {
- // This parameter represents a group (values are the filters)
- // this is equivalent to checking if the group is 'string_options'
- groupMap[ itemOrGroup.getName() ] = groupMap[ itemOrGroup.getName() ] || {};
- groupMap[ itemOrGroup.getName() ] = paramValue;
+ var groupName,
+ itemOrGroup = model.parameterMap[ paramName ];
+
+ if ( itemOrGroup ) {
+ groupName = itemOrGroup instanceof mw.rcfilters.dm.FilterItem ?
+ itemOrGroup.getGroupName() : itemOrGroup.getName();
+
+ groupMap[ groupName ] = groupMap[ groupName ] || {};
+ groupMap[ groupName ][ paramName ] = paramValue;
}
} );