X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.rcfilters%2Fmw.rcfilters.Controller.js;h=7b95b2ee2836e05c9be5fc3c2d50023713477746;hb=08703ee29f21fa3c8dfa13e2763491845242ebfc;hp=95e11d59f3aa5af0ac1851e0a600167f1fe0abb3;hpb=178bada116bc5aa336191f4867fec5cae2258cd6;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js index 95e11d59f3..7b95b2ee28 100644 --- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js +++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js @@ -29,11 +29,62 @@ */ mw.rcfilters.Controller.prototype.initialize = function ( filterStructure, namespaceStructure, tagList ) { var parsedSavedQueries, + views = {}, + items = [], uri = new mw.Uri(), $changesList = $( '.mw-changeslist' ).first().contents(); + // Prepare views + if ( namespaceStructure ) { + items = []; + $.each( namespaceStructure, function ( namespaceID, label ) { + // Build and clean up the individual namespace items definition + items.push( { + name: namespaceID, + label: label || mw.msg( 'blanknamespace' ), + description: '', + identifiers: [ + ( namespaceID < 0 || namespaceID % 2 === 0 ) ? + 'subject' : 'talk' + ], + cssClass: 'mw-changeslist-ns-' + namespaceID + } ); + } ); + + views.namespaces = { + title: mw.msg( 'namespaces' ), + trigger: ':', + groups: [ { + // Group definition (single group) + name: 'namespaces', + type: 'string_options', + title: mw.msg( 'namespaces' ), + labelPrefixKey: { 'default': 'rcfilters-tag-prefix-namespace', inverted: 'rcfilters-tag-prefix-namespace-inverted' }, + separator: ';', + fullCoverage: true, + filters: items + } ] + }; + } + if ( tagList ) { + views.tags = { + title: mw.msg( 'rcfilters-view-tags' ), + trigger: '#', + groups: [ { + // Group definition (single group) + name: 'tagfilter', // Parameter name + type: 'string_options', + title: 'rcfilters-view-tags', // Message key + labelPrefixKey: 'rcfilters-tag-prefix-tags', + separator: '|', + fullCoverage: false, + filters: tagList + } ] + }; + } + // Initialize the model - this.filtersModel.initializeFilters( filterStructure, namespaceStructure, tagList ); + this.filtersModel.initializeFilters( filterStructure, views ); this._buildBaseFilterState();