-( function ( mw, $ ) {
+( function () {
/* eslint no-underscore-dangle: "off" */
/**
* URI Processor for RCFilters
*
+ * @class
+ *
+ * @constructor
* @param {mw.rcfilters.dm.FiltersViewModel} filtersModel Filters view model
+ * @param {Object} [config] Configuration object
+ * @cfg {boolean} [normalizeTarget] Dictates whether or not to go through the
+ * title normalization to separate title subpage/parts into the target= url
+ * parameter
*/
- mw.rcfilters.UriProcessor = function MwRcfiltersController( filtersModel ) {
+ mw.rcfilters.UriProcessor = function MwRcfiltersController( filtersModel, config ) {
+ config = config || {};
this.filtersModel = filtersModel;
+
+ this.normalizeTarget = !!config.normalizeTarget;
};
/* Initialization */
// matches [/wiki/]SpecialNS:RCL/[Namespace:]Title/Subpage/Subsubpage/etc
re = /^((?:\/.+?\/)?.*?:.*?)\/(.*)$/;
+ if ( !this.normalizeTarget ) {
+ return uri;
+ }
+
// target in title param
if ( uri.query.title ) {
parts = uri.query.title.match( re );
{ urlversion: '2' }
);
};
-}( mediaWiki, jQuery ) );
+}() );