From 536a5dffb2a12895125575d2b23b3e8d38fd7380 Mon Sep 17 00:00:00 2001 From: Stephane Bisson Date: Wed, 6 Dec 2017 16:57:40 -0500 Subject: [PATCH] RCLFilters: display target page as a title * Url decode target param * Pass through mw.Title to convert underscores to spaces Bug: T182164 Change-Id: Iabb0d8ea2b9f93f943e8493ee0a29d3bee3b3682 --- .../src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js | 2 +- .../ui/mw.rcfilters.ui.RclTargetPageWidget.js | 3 ++- .../resources/mediawiki.rcfilters/UriProcessor.test.js | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js index 05aa2fcf1c..7bb0a222c4 100644 --- a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js +++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js @@ -113,7 +113,7 @@ } // target in path - parts = uri.path.match( re ); + parts = mw.Uri.decode( uri.path ).match( re ); if ( parts ) { uri.path = parts[ 1 ]; uri.query.target = parts[ 2 ]; diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js index 6673c082d8..d5c5e26ec9 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js @@ -71,6 +71,7 @@ * Respond to the model being updated */ mw.rcfilters.ui.RclTargetPageWidget.prototype.updateUiBasedOnModel = function () { - this.titleSearch.setValue( this.model.getValue() ); + var title = mw.Title.newFromText( this.model.getValue() ); + this.titleSearch.setValue( title ? title.toText() : this.model.getValue() ); }; }( mediaWiki ) ); diff --git a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js index a234d1af82..fbd159cbb1 100644 --- a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js +++ b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js @@ -285,6 +285,11 @@ output: 'http://host/wiki/Special:RecentChangesLinked?target=Moai', message: 'Target as subpage in path' }, + { + input: 'http://host/wiki/Special:RecentChangesLinked/Château', + output: 'http://host/wiki/Special:RecentChangesLinked?target=Château', + message: 'Target as subpage in path with special characters' + }, { input: 'http://host/wiki/Special:RecentChangesLinked/Moai/Sub1', output: 'http://host/wiki/Special:RecentChangesLinked?target=Moai/Sub1', -- 2.20.1