From aebb3fb5222a88bece34d5c0cf0d792ccb3f7832 Mon Sep 17 00:00:00 2001 From: jdlrobson Date: Wed, 28 Jul 2021 09:15:57 -0700 Subject: [PATCH] Use the search title if configured Allow commons to use Special:MediaSearch Depends-On: I37b9d3a2b263f496a283f4bfdc769b7dc880ab06 Bug: T287540 Change-Id: I2a2463d704ef5b2264574cdf186836ba00a639f5 --- resources/skins.vector.search/App.vue | 5 +++++ resources/skins.vector.search/skins.vector.search.js | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/resources/skins.vector.search/App.vue b/resources/skins.vector.search/App.vue index 62ebf8b20..c805fd123 100644 --- a/resources/skins.vector.search/App.vue +++ b/resources/skins.vector.search/App.vue @@ -10,6 +10,7 @@ :title="searchTitle" :placeholder="searchPlaceholder" :aria-label="searchPlaceholder" + :search-page-title="searchPageTitle" :initial-input-value="searchQuery" :button-label="$i18n( 'searchbutton' ).text()" :form-action="action" @@ -74,6 +75,10 @@ module.exports = { } }, props: { + searchPageTitle: { + type: String, + default: 'Special:Search' + }, autofocusInput: { type: Boolean, default: false diff --git a/resources/skins.vector.search/skins.vector.search.js b/resources/skins.vector.search/skins.vector.search.js index a193691dc..eb05c4fdc 100644 --- a/resources/skins.vector.search/skins.vector.search.js +++ b/resources/skins.vector.search/skins.vector.search.js @@ -7,9 +7,11 @@ var /** * @param {HTMLElement} searchForm * @param {HTMLInputElement} search + * @param {string|null} searchPageTitle title of page used for searching e.g. Special:Search + * If null then this will default to Special:Search. * @return {void} */ -function initApp( searchForm, search ) { +function initApp( searchForm, search, searchPageTitle ) { // eslint-disable-next-line no-new new Vue( { el: searchForm, @@ -24,6 +26,7 @@ function initApp( searchForm, search ) { autofocusInput: search === document.activeElement, action: searchForm.getAttribute( 'action' ), searchAccessKey: search.getAttribute( 'accessKey' ), + searchPageTitle: searchPageTitle, searchTitle: search.getAttribute( 'title' ), searchPlaceholder: search.getAttribute( 'placeholder' ), searchQuery: search.value @@ -42,9 +45,12 @@ function initApp( searchForm, search ) { function main( document ) { var searchForm = /** @type {HTMLElement} */ ( document.querySelector( '#searchform' ) ), + titleInput = /** @type {HTMLInputElement|null} */ ( + searchForm.querySelector( 'input[name=title]' ) + ), search = /** @type {HTMLInputElement|null} */ ( document.getElementById( 'searchInput' ) ); if ( search && searchForm ) { - initApp( searchForm, search ); + initApp( searchForm, search, titleInput && titleInput.value ); } } main( document );