- views = views || {};
-
- // Filters
- this.views.default = { name: 'default', label: mw.msg( 'rcfilters-filterlist-title' ) };
- filters.forEach( function ( data ) {
- var i,
- group = data.name;
-
- if ( !model.groups[ group ] ) {
- model.groups[ group ] = new mw.rcfilters.dm.FilterGroup( group, {
- type: data.type,
- title: data.title ? mw.msg( data.title ) : group,
- separator: data.separator,
- fullCoverage: !!data.fullCoverage,
- whatsThis: {
- body: data.whatsThisBody,
- header: data.whatsThisHeader,
- linkText: data.whatsThisLinkText,
- url: data.whatsThisUrl
- }
- } );
- }
+ // Clone
+ filterGroups = OO.copy( filterGroups );
+
+ // Normalize definition from the server
+ filterGroups.forEach( function ( data ) {
+ var i;
+ // What's this information needs to be normalized
+ data.whatsThis = {
+ body: data.whatsThisBody,
+ header: data.whatsThisHeader,
+ linkText: data.whatsThisLinkText,
+ url: data.whatsThisUrl
+ };
+
+ // Title is a msg-key
+ data.title = data.title ? mw.msg( data.title ) : data.name;