Merge "RCFilters: Correct default view title"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 27 Jun 2017 19:10:51 +0000 (19:10 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 27 Jun 2017 19:10:51 +0000 (19:10 +0000)
1  2 
resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js

                // Collect views
                allViews = {
                        'default': {
-                               label: mw.msg( 'rcfilters-filterlist-title' ),
+                               title: mw.msg( 'rcfilters-filterlist-title' ),
                                groups: filterGroups
                        }
                };
                        viewData.groups.forEach( function ( groupData ) {
                                var group = groupData.name;
  
 -                              model.groups[ group ] = new mw.rcfilters.dm.FilterGroup(
 -                                      group,
 -                                      $.extend( true, {}, groupData, { view: viewName } )
 -                              );
 +                              if ( !model.groups[ group ] ) {
 +                                      model.groups[ group ] = new mw.rcfilters.dm.FilterGroup(
 +                                              group,
 +                                              $.extend( true, {}, groupData, { view: viewName } )
 +                                      );
 +                              }
  
                                model.groups[ group ].initializeFilters( groupData.filters, groupData.default );
                                items = items.concat( model.groups[ group ].getItems() );
                                groupModel.getItems().forEach( function ( filterItem ) {
                                        model.parameterMap[ filterItem.getParamName() ] = filterItem;
                                } );
 -                      } else if ( groupModel.getType() === 'string_options' ) {
 +                      } else if (
 +                              groupModel.getType() === 'string_options' ||
 +                              groupModel.getType() === 'single_option'
 +                      ) {
                                // Group
                                model.parameterMap[ groupModel.getName() ] = groupModel;
                        }
        /**
         * Get the label for the current view
         *
+        * @param {string} viewName View name
         * @return {string} Label for the current view
         */
-       mw.rcfilters.dm.FiltersViewModel.prototype.getCurrentViewLabel = function () {
-               return this.views[ this.getCurrentView() ].title;
+       mw.rcfilters.dm.FiltersViewModel.prototype.getViewTitle = function ( viewName ) {
+               viewName = viewName || this.getCurrentView();
+               return this.views[ viewName ] && this.views[ viewName ].title;
        };
  
        /**