Trevor Parscal has uploaded a new change for review.
https://gerrit.wikimedia.org/r/71562
Change subject: Template parameter adding
......................................................................
Template parameter adding
Objective:
* Allow browsing, searching and adding documented parameters
Changes:
ve.ui.MWTransclusionDialog.js
* Replace regular text input with ve.ui.ParameterSearchWidget
* Fix uses of $(), this.frame.$$ is correct
ve.ui.Dialog.css
* Change rules for addParameterFieldset to make search widget auto-size
vertically
ve.ui.Widget.css
* Add styles for ve.ui.MWParameterResultWidget
ve.ui.MWParameterSearchWidget.js, ve.ui.MWParameterResultWidget.js
* New classes
* Provides a way to search and select parameter for a template
* Displays parameter label, name, aliases and description
*.php
* Links to new files and messages
Change-Id: Ie5dbe8c44ce5d64c4b49b09517fb66cd30dd7304
---
M VisualEditor.i18n.php
M VisualEditor.php
M modules/ve/ui/dialogs/ve.ui.MWTransclusionDialog.js
M modules/ve/ui/styles/ve.ui.Dialog.css
M modules/ve/ui/styles/ve.ui.Widget.css
A modules/ve/ui/widgets/ve.ui.MWParameterResultWidget.js
A modules/ve/ui/widgets/ve.ui.MWParameterSearchWidget.js
7 files changed, 338 insertions(+), 54 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/62/71562/1
diff --git a/VisualEditor.i18n.php b/VisualEditor.i18n.php
index 3ad6bab..4bdc504 100644
--- a/VisualEditor.i18n.php
+++ b/VisualEditor.i18n.php
@@ -66,7 +66,6 @@
'visualeditor-dialog-transclusion-add-template' => 'Add template',
'visualeditor-dialog-transclusion-content' => 'Content',
'visualeditor-dialog-transclusion-options' => 'Options',
- 'visualeditor-dialog-transclusion-param-name' => 'Parameter name',
'visualeditor-dialog-transclusion-placeholder' => 'New template',
'visualeditor-dialog-transclusion-remove-content' => 'Remove content',
'visualeditor-dialog-transclusion-remove-param' => 'Remove parameter',
@@ -125,6 +124,9 @@
'visualeditor-notification-saved' => 'Your changes to $1 have been
saved.',
'visualeditor-outline-control-move-down' => 'Move item down',
'visualeditor-outline-control-move-up' => 'Move item up',
+ 'visualeditor-parameter-input-placeholder' => 'Parameter name',
+ 'visualeditor-parameter-search-no-unused' => 'No unused parameters',
+ 'visualeditor-parameter-search-unknown' => 'Unknown parameter',
'visualeditor-preference-enable' => 'Enable VisualEditor (only in the
[[{{MediaWiki:Visualeditor-mainnamespacepagelink}}|main]] and
[[{{MediaWiki:Visualeditor-usernamespacepagelink}}|user]] namespaces)',
'visualeditor-reference-input-placeholder' => 'What do you want to
reference?',
'visualeditor-reference-search-create' => 'Create new source',
@@ -287,8 +289,6 @@
{{Identical|Content}}',
'visualeditor-dialog-transclusion-options' => 'Label for section with
options for templates, content or parameters.
{{Identical|Options}}',
- 'visualeditor-dialog-transclusion-param-name' => 'Placeholder text
label for an input for adding a parameter to a template.
-{{Identical|Parameter name}}',
'visualeditor-dialog-transclusion-placeholder' => 'Label for section
with options for adding a new template to a multi part transclusion',
'visualeditor-dialog-transclusion-remove-content' => 'Label for button
that removes content between transclusion parts',
'visualeditor-dialog-transclusion-remove-param' => 'Label for button
that removes a parameter from a template',
@@ -375,6 +375,8 @@
'visualeditor-notification-saved' => 'Shown after a user saves a page,
$1 is a page name.',
'visualeditor-outline-control-move-down' => 'Tool tip for a button that
moves items in a list down one place',
'visualeditor-outline-control-move-up' => 'Tool tip for a button that
moves items in a list up one place',
+ 'visualeditor-parameter-input-placeholder' => 'Placeholder text label
for an input for adding a parameter to a template.
+{{Identical|Parameter name}}',
'visualeditor-preference-enable' => 'Label for the user preference to
enable VisualEditor.
Links are in {{msg-mw|Visualeditor-mainnamespacepagelink}} and
{{msg-mw|visualeditor-usernamespacepagelink}}.',
'visualeditor-reference-input-placeholder' => 'Placeholder text for
reference search field.',
@@ -482,7 +484,7 @@
'visualeditor-dialog-transclusion-add-template' => 'أضف قالبا',
'visualeditor-dialog-transclusion-content' => 'المحتوى',
'visualeditor-dialog-transclusion-options' => 'خيارات',
- 'visualeditor-dialog-transclusion-param-name' => 'اسم المعامل',
+ 'visualeditor-parameter-input-placeholder' => 'اسم المعامل',
'visualeditor-dialog-transclusion-placeholder' => 'قالب جديد',
'visualeditor-dialog-transclusion-remove-content' => 'أزل محتوى',
'visualeditor-dialog-transclusion-remove-param' => 'أزل معاملا',
@@ -638,7 +640,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Añadir plantía',
'visualeditor-dialog-transclusion-content' => 'Conteníu',
'visualeditor-dialog-transclusion-options' => 'Opciones',
- 'visualeditor-dialog-transclusion-param-name' => 'Nome del parámetru',
+ 'visualeditor-parameter-input-placeholder' => 'Nome del parámetru',
'visualeditor-dialog-transclusion-placeholder' => 'Plantía nueva',
'visualeditor-dialog-transclusion-remove-content' => 'Desaniciar
conteníu',
'visualeditor-dialog-transclusion-remove-param' => 'Desaniciar el
parámetru',
@@ -871,7 +873,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Дадаць шаблён',
'visualeditor-dialog-transclusion-content' => 'Зьмест',
'visualeditor-dialog-transclusion-options' => 'Парамэтры',
- 'visualeditor-dialog-transclusion-param-name' => 'Назва парамэтра',
+ 'visualeditor-parameter-input-placeholder' => 'Назва парамэтра',
'visualeditor-dialog-transclusion-placeholder' => 'Новы шаблён',
'visualeditor-dialog-transclusion-remove-content' => 'Выдаліць зьмест',
'visualeditor-dialog-transclusion-remove-param' => 'Выдаліць парамэтар',
@@ -1029,7 +1031,7 @@
'visualeditor-dialog-transclusion-add-template' => 'টেমপ্লেট যোগ',
'visualeditor-dialog-transclusion-content' => 'বিষয়বস্তু',
'visualeditor-dialog-transclusion-options' => 'অপশন',
- 'visualeditor-dialog-transclusion-param-name' => 'প্যারামিটারের নাম',
+ 'visualeditor-parameter-input-placeholder' => 'প্যারামিটারের নাম',
'visualeditor-dialog-transclusion-placeholder' => 'নতুন টেমপ্লেট',
'visualeditor-dialog-transclusion-remove-content' => 'বিষয়বস্তু
অপসারণ',
'visualeditor-dialog-transclusion-remove-param' => 'প্যারামিটার অপসারণ',
@@ -1216,7 +1218,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Afegeix una
plantilla',
'visualeditor-dialog-transclusion-content' => 'Contingut',
'visualeditor-dialog-transclusion-options' => 'Opcions',
- 'visualeditor-dialog-transclusion-param-name' => 'Nom de paràmetre',
+ 'visualeditor-parameter-input-placeholder' => 'Nom de paràmetre',
'visualeditor-dialog-transclusion-placeholder' => 'Nova plantilla',
'visualeditor-dialog-transclusion-remove-content' => 'Esborra el
contingut',
'visualeditor-dialog-transclusion-remove-param' => 'Treu el paràmetre',
@@ -1346,7 +1348,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Přidat šablonu',
'visualeditor-dialog-transclusion-content' => 'Obsah',
'visualeditor-dialog-transclusion-options' => 'Možnosti',
- 'visualeditor-dialog-transclusion-param-name' => 'Jméno parametru',
+ 'visualeditor-parameter-input-placeholder' => 'Jméno parametru',
'visualeditor-dialog-transclusion-placeholder' => 'Nová šablona',
'visualeditor-dialog-transclusion-remove-content' => 'Odstranit obsah',
'visualeditor-dialog-transclusion-remove-param' => 'Odstranit parametr',
@@ -1489,7 +1491,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Ychwaneger y nodyn',
'visualeditor-dialog-transclusion-content' => 'Cynnwys',
'visualeditor-dialog-transclusion-options' => 'Dewisiadau',
- 'visualeditor-dialog-transclusion-param-name' => "Enw'r paramedr",
+ 'visualeditor-parameter-input-placeholder' => "Enw'r paramedr",
'visualeditor-dialog-transclusion-placeholder' => 'Nodyn newydd',
'visualeditor-dialog-transclusion-remove-content' => 'Cael gwared ar y
cynnwys',
'visualeditor-dialog-transclusion-remove-param' => 'Cael gwared ar y
paramedr',
@@ -1570,7 +1572,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Vorlage hinzufügen',
'visualeditor-dialog-transclusion-content' => 'Inhalt',
'visualeditor-dialog-transclusion-options' => 'Optionen',
- 'visualeditor-dialog-transclusion-param-name' => 'Parametername',
+ 'visualeditor-parameter-input-placeholder' => 'Parametername',
'visualeditor-dialog-transclusion-placeholder' => 'Neue Vorlage',
'visualeditor-dialog-transclusion-remove-content' => 'Inhalt entfernen',
'visualeditor-dialog-transclusion-remove-param' => 'Parameter
entfernen',
@@ -2026,7 +2028,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Lisa mall',
'visualeditor-dialog-transclusion-content' => 'Sisu',
'visualeditor-dialog-transclusion-options' => 'Suvandid',
- 'visualeditor-dialog-transclusion-param-name' => 'Parameetri nimi',
+ 'visualeditor-parameter-input-placeholder' => 'Parameetri nimi',
'visualeditor-dialog-transclusion-placeholder' => 'Uus mall',
'visualeditor-dialog-transclusion-remove-content' => 'Eemalda sisu',
'visualeditor-dialog-transclusion-remove-param' => 'Eemalda parameeter',
@@ -2273,7 +2275,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Lisää malline',
'visualeditor-dialog-transclusion-content' => 'Sisältö',
'visualeditor-dialog-transclusion-options' => 'Asetukset',
- 'visualeditor-dialog-transclusion-param-name' => 'Parametrin nimi',
+ 'visualeditor-parameter-input-placeholder' => 'Parametrin nimi',
'visualeditor-dialog-transclusion-placeholder' => 'Uusi malline',
'visualeditor-dialog-transclusion-remove-content' => 'Poista sisältö',
'visualeditor-dialog-transclusion-remove-param' => 'Poista parametri',
@@ -2422,7 +2424,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Ajouter le modèle',
'visualeditor-dialog-transclusion-content' => 'Contenu',
'visualeditor-dialog-transclusion-options' => 'Options',
- 'visualeditor-dialog-transclusion-param-name' => 'Nom du paramètre',
+ 'visualeditor-parameter-input-placeholder' => 'Nom du paramètre',
'visualeditor-dialog-transclusion-placeholder' => 'Nouveau modèle',
'visualeditor-dialog-transclusion-remove-content' => 'Supprimer le
contenu',
'visualeditor-dialog-transclusion-remove-param' => 'Supprimer le
paramètre',
@@ -2620,7 +2622,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Engadir o modelo',
'visualeditor-dialog-transclusion-content' => 'Contido',
'visualeditor-dialog-transclusion-options' => 'Opcións',
- 'visualeditor-dialog-transclusion-param-name' => 'Nome do parámetro',
+ 'visualeditor-parameter-input-placeholder' => 'Nome do parámetro',
'visualeditor-dialog-transclusion-placeholder' => 'Novo modelo',
'visualeditor-dialog-transclusion-remove-content' => 'Eliminar o
contido',
'visualeditor-dialog-transclusion-remove-param' => 'Eliminar o
parámetro',
@@ -2794,7 +2796,7 @@
'visualeditor-dialog-transclusion-add-template' => 'הוספת תבנית',
'visualeditor-dialog-transclusion-content' => 'תוכן',
'visualeditor-dialog-transclusion-options' => 'אפשרויות',
- 'visualeditor-dialog-transclusion-param-name' => 'שם הפרמטר',
+ 'visualeditor-parameter-input-placeholder' => 'שם הפרמטר',
'visualeditor-dialog-transclusion-placeholder' => 'תבנית חדשה',
'visualeditor-dialog-transclusion-remove-content' => 'הסרת תוכן',
'visualeditor-dialog-transclusion-remove-param' => 'הסרת פרמטר',
@@ -3270,7 +3272,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Bæta við sniði',
'visualeditor-dialog-transclusion-content' => 'Innihald',
'visualeditor-dialog-transclusion-options' => 'Möguleikar',
- 'visualeditor-dialog-transclusion-param-name' => 'Nafn gildis',
+ 'visualeditor-parameter-input-placeholder' => 'Nafn gildis',
'visualeditor-dialog-transclusion-placeholder' => 'Nýtt snið',
'visualeditor-dialog-transclusion-remove-content' => 'Fjarlægja
innihald',
'visualeditor-dialog-transclusion-remove-param' => 'Fjarlægja gildi',
@@ -3415,7 +3417,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Aggiungi template',
'visualeditor-dialog-transclusion-content' => 'Contenuto',
'visualeditor-dialog-transclusion-options' => 'Opzioni',
- 'visualeditor-dialog-transclusion-param-name' => 'Nome parametro',
+ 'visualeditor-parameter-input-placeholder' => 'Nome parametro',
'visualeditor-dialog-transclusion-placeholder' => 'Nuovo template',
'visualeditor-dialog-transclusion-remove-content' => 'Rimuovi
contenuto',
'visualeditor-dialog-transclusion-remove-param' => 'Rimuovi parametro',
@@ -3563,7 +3565,7 @@
'visualeditor-dialog-transclusion-add-template' => 'テンプレートを追加',
'visualeditor-dialog-transclusion-content' => '内容',
'visualeditor-dialog-transclusion-options' => 'オプション',
- 'visualeditor-dialog-transclusion-param-name' => '引数名',
+ 'visualeditor-parameter-input-placeholder' => '引数名',
'visualeditor-dialog-transclusion-placeholder' => '新規テンプレート',
'visualeditor-dialog-transclusion-remove-content' => '内容を除去',
'visualeditor-dialog-transclusion-remove-param' => '引数を除去',
@@ -3793,7 +3795,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Үлгі қосу',
'visualeditor-dialog-transclusion-content' => 'Контент',
'visualeditor-dialog-transclusion-options' => 'Параметрлер',
- 'visualeditor-dialog-transclusion-param-name' => 'Параметр атауы',
+ 'visualeditor-parameter-input-placeholder' => 'Параметр атауы',
'visualeditor-dialog-transclusion-placeholder' => 'Жаңа үлгі',
'visualeditor-dialog-transclusion-remove-content' => 'Контенті аластау',
'visualeditor-dialog-transclusion-remove-param' => 'Параметрді аластау',
@@ -4032,7 +4034,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Шаблон къош',
'visualeditor-dialog-transclusion-content' => 'Контент',
'visualeditor-dialog-transclusion-options' => 'Параметрле',
- 'visualeditor-dialog-transclusion-param-name' => 'Параметрни аты',
+ 'visualeditor-parameter-input-placeholder' => 'Параметрни аты',
'visualeditor-dialog-transclusion-placeholder' => 'Джангы шаблон',
'visualeditor-dialog-transclusion-remove-content' => 'Ичиндегисин
кетер',
'visualeditor-dialog-transclusion-remove-param' => 'Параметрни кетер',
@@ -4216,7 +4218,7 @@
'visualeditor-dialog-transclusion-add-param' => 'Parameter
derbäisetzen',
'visualeditor-dialog-transclusion-content' => 'Inhalt',
'visualeditor-dialog-transclusion-options' => 'Optiounen',
- 'visualeditor-dialog-transclusion-param-name' => 'Numm vum Parameter',
+ 'visualeditor-parameter-input-placeholder' => 'Numm vum Parameter',
'visualeditor-dialog-transclusion-remove-content' => 'Inhalt
ewechhuelen',
'visualeditor-dialog-transclusion-remove-param' => 'Parameter
ewechhuelen',
'visualeditor-dialog-transclusion-remove-template' => 'Schabloun
ewechhuelen',
@@ -4475,7 +4477,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Додај шаблон',
'visualeditor-dialog-transclusion-content' => 'Содржина',
'visualeditor-dialog-transclusion-options' => 'Нагодувања',
- 'visualeditor-dialog-transclusion-param-name' => 'Назив на параметарот',
+ 'visualeditor-parameter-input-placeholder' => 'Назив на параметарот',
'visualeditor-dialog-transclusion-placeholder' => 'Нов шаблон',
'visualeditor-dialog-transclusion-remove-content' => 'Отстрани
содржина',
'visualeditor-dialog-transclusion-remove-param' => 'Отстрани параметар',
@@ -4622,7 +4624,7 @@
'visualeditor-dialog-transclusion-add-template' => 'ഫലകം ചേർക്കുക',
'visualeditor-dialog-transclusion-content' => 'ഉള്ളടക്കം',
'visualeditor-dialog-transclusion-options' => 'ഐച്ഛികങ്ങൾ',
- 'visualeditor-dialog-transclusion-param-name' => 'ചരത്തിന്റെ പേര്',
+ 'visualeditor-parameter-input-placeholder' => 'ചരത്തിന്റെ പേര്',
'visualeditor-dialog-transclusion-placeholder' => 'പുതിയ ഫലകം',
'visualeditor-dialog-transclusion-remove-content' => 'ഉള്ളടക്കം
നീക്കംചെയ്യുക',
'visualeditor-dialog-transclusion-remove-param' => 'ചരം നീക്കംചെയ്യുക',
@@ -4780,7 +4782,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Tambah templat',
'visualeditor-dialog-transclusion-content' => 'Kandungan',
'visualeditor-dialog-transclusion-options' => 'Pilihan',
- 'visualeditor-dialog-transclusion-param-name' => 'Nama parameter',
+ 'visualeditor-parameter-input-placeholder' => 'Nama parameter',
'visualeditor-dialog-transclusion-placeholder' => 'Templat baru',
'visualeditor-dialog-transclusion-remove-content' => 'Padamkan isi
kandungan',
'visualeditor-dialog-transclusion-remove-param' => 'Buang parameter',
@@ -4937,7 +4939,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Legg til mal',
'visualeditor-dialog-transclusion-content' => 'Innhold',
'visualeditor-dialog-transclusion-options' => 'Valg',
- 'visualeditor-dialog-transclusion-param-name' => 'Parameternavn',
+ 'visualeditor-parameter-input-placeholder' => 'Parameternavn',
'visualeditor-dialog-transclusion-placeholder' => 'Ny mal',
'visualeditor-dialog-transclusion-remove-content' => 'Fjern innhold',
'visualeditor-dialog-transclusion-remove-param' => 'Fjern parameter',
@@ -5087,7 +5089,7 @@
'visualeditor-dialog-transclusion-add-param' => 'Parameter toevoegen',
'visualeditor-dialog-transclusion-content' => 'Inhoud',
'visualeditor-dialog-transclusion-options' => 'Opties',
- 'visualeditor-dialog-transclusion-param-name' => 'Parameternaam',
+ 'visualeditor-parameter-input-placeholder' => 'Parameternaam',
'visualeditor-dialog-transclusion-remove-content' => 'Inhoud
verwijderen',
'visualeditor-dialog-transclusion-remove-param' => 'Parameter
verwijderen',
'visualeditor-dialog-transclusion-remove-template' => 'Sjabloon
verwijderen',
@@ -5346,7 +5348,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Dodaj szablon',
'visualeditor-dialog-transclusion-content' => 'Treść',
'visualeditor-dialog-transclusion-options' => 'Opcje',
- 'visualeditor-dialog-transclusion-param-name' => 'Nazwa parametru',
+ 'visualeditor-parameter-input-placeholder' => 'Nazwa parametru',
'visualeditor-dialog-transclusion-placeholder' => 'Nowy szablon',
'visualeditor-dialog-transclusion-remove-content' => 'Usuń treść',
'visualeditor-dialog-transclusion-remove-param' => 'Usuń parametr',
@@ -5748,7 +5750,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Adăugare format',
'visualeditor-dialog-transclusion-content' => 'Conținut',
'visualeditor-dialog-transclusion-options' => 'Opțiuni',
- 'visualeditor-dialog-transclusion-param-name' => 'Numele parametrului',
+ 'visualeditor-parameter-input-placeholder' => 'Numele parametrului',
'visualeditor-dialog-transclusion-placeholder' => 'Format nou',
'visualeditor-dialog-transclusion-remove-content' => 'Elimină
conținutul',
'visualeditor-dialog-transclusion-remove-param' => 'Elimină parametrul',
@@ -5937,7 +5939,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Добавить шаблон',
'visualeditor-dialog-transclusion-content' => 'Содержимое',
'visualeditor-dialog-transclusion-options' => 'Параметры',
- 'visualeditor-dialog-transclusion-param-name' => 'Имя параметра',
+ 'visualeditor-parameter-input-placeholder' => 'Имя параметра',
'visualeditor-dialog-transclusion-placeholder' => 'Новый шаблон',
'visualeditor-dialog-transclusion-remove-content' => 'Удалить
содержимое',
'visualeditor-dialog-transclusion-remove-param' => 'Удалить параметр',
@@ -6174,7 +6176,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Lägg till mall',
'visualeditor-dialog-transclusion-content' => 'Innehåll',
'visualeditor-dialog-transclusion-options' => 'Alternativ',
- 'visualeditor-dialog-transclusion-param-name' => 'Parameternamn',
+ 'visualeditor-parameter-input-placeholder' => 'Parameternamn',
'visualeditor-dialog-transclusion-placeholder' => 'Ny mall',
'visualeditor-dialog-transclusion-remove-content' => 'Ta bort innehåll',
'visualeditor-dialog-transclusion-remove-param' => 'Ta bort parametern',
@@ -6307,7 +6309,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Weka kigezo',
'visualeditor-dialog-transclusion-content' => 'Yaliyomo',
'visualeditor-dialog-transclusion-options' => 'Chaguzi',
- 'visualeditor-dialog-transclusion-param-name' => 'Jina la paramita',
+ 'visualeditor-parameter-input-placeholder' => 'Jina la paramita',
'visualeditor-dialog-transclusion-placeholder' => 'Kigezo kipya',
'visualeditor-dialog-transclusion-remove-content' => 'Ondoa yaliyomo',
'visualeditor-dialog-transclusion-remove-param' => 'Ondoa paramita',
@@ -6524,7 +6526,7 @@
'visualeditor-dialog-transclusion-add-param' => 'Додати параметр',
'visualeditor-dialog-transclusion-add-template' => 'Додати шаблон',
'visualeditor-dialog-transclusion-options' => 'Параметри',
- 'visualeditor-dialog-transclusion-param-name' => "Ім'я параметра",
+ 'visualeditor-parameter-input-placeholder' => "Ім'я параметра",
'visualeditor-dialog-transclusion-placeholder' => 'Новий шаблон',
'visualeditor-dialog-transclusion-remove-param' => 'Видалити параметр',
'visualeditor-dialog-transclusion-remove-template' => 'Видалити шаблон',
@@ -6666,7 +6668,7 @@
'visualeditor-dialog-transclusion-add-template' => 'Thêm bản mẫu',
'visualeditor-dialog-transclusion-content' => 'Nội dung',
'visualeditor-dialog-transclusion-options' => 'Tùy chọn',
- 'visualeditor-dialog-transclusion-param-name' => 'Tên tham số',
+ 'visualeditor-parameter-input-placeholder' => 'Tên tham số',
'visualeditor-dialog-transclusion-placeholder' => 'Bản mẫu mới',
'visualeditor-dialog-transclusion-remove-content' => 'Xóa nội dung',
'visualeditor-dialog-transclusion-remove-param' => 'Xóa tham số',
@@ -6835,7 +6837,7 @@
'visualeditor-dialog-transclusion-add-template' => '添加模板',
'visualeditor-dialog-transclusion-content' => '内容',
'visualeditor-dialog-transclusion-options' => '选项',
- 'visualeditor-dialog-transclusion-param-name' => '参数名称',
+ 'visualeditor-parameter-input-placeholder' => '参数名称',
'visualeditor-dialog-transclusion-placeholder' => '新模板',
'visualeditor-dialog-transclusion-remove-content' => '移除注释',
'visualeditor-dialog-transclusion-remove-param' => '移除参数',
@@ -6974,7 +6976,7 @@
'visualeditor-dialog-transclusion-add-param' => '添加參數',
'visualeditor-dialog-transclusion-content' => '内容',
'visualeditor-dialog-transclusion-options' => '選項',
- 'visualeditor-dialog-transclusion-param-name' => '參數名稱',
+ 'visualeditor-parameter-input-placeholder' => '參數名稱',
'visualeditor-dialog-transclusion-remove-content' => '移除內容',
'visualeditor-dialog-transclusion-remove-param' => '移除參數',
'visualeditor-dialog-transclusion-remove-template' => '移除模板',
diff --git a/VisualEditor.php b/VisualEditor.php
index 2446d6d..be63cc3 100644
--- a/VisualEditor.php
+++ b/VisualEditor.php
@@ -438,6 +438,8 @@
've/ui/widgets/ve.ui.MWCategoryWidget.js',
've/ui/widgets/ve.ui.MWMediaSearchWidget.js',
've/ui/widgets/ve.ui.MWMediaResultWidget.js',
+ 've/ui/widgets/ve.ui.MWParameterSearchWidget.js',
+ 've/ui/widgets/ve.ui.MWParameterResultWidget.js',
've/ui/widgets/ve.ui.MWReferenceSearchWidget.js',
've/ui/widgets/ve.ui.MWReferenceResultWidget.js',
've/ui/widgets/ve.ui.MWTitleInputWidget.js',
@@ -563,7 +565,6 @@
'visualeditor-dialog-transclusion-add-template',
'visualeditor-dialog-transclusion-content',
'visualeditor-dialog-transclusion-options',
- 'visualeditor-dialog-transclusion-param-name',
'visualeditor-dialog-transclusion-placeholder',
'visualeditor-dialog-transclusion-remove-content',
'visualeditor-dialog-transclusion-remove-param',
@@ -611,6 +612,9 @@
'visualeditor-outline-control-move-down',
'visualeditor-outline-control-move-up',
'visualeditor-outline-control-move-up',
+ 'visualeditor-parameter-input-placeholder',
+ 'visualeditor-parameter-search-no-unused',
+ 'visualeditor-parameter-search-unknown',
'visualeditor-reference-input-placeholder',
'visualeditor-reference-search-create',
'visualeditor-reference-search-reuse',
diff --git a/modules/ve/ui/dialogs/ve.ui.MWTransclusionDialog.js
b/modules/ve/ui/dialogs/ve.ui.MWTransclusionDialog.js
index 2b3b813..b8ea8c0 100644
--- a/modules/ve/ui/dialogs/ve.ui.MWTransclusionDialog.js
+++ b/modules/ve/ui/dialogs/ve.ui.MWTransclusionDialog.js
@@ -377,17 +377,24 @@
* @param {ve.dm.MWTemplateModel} template Template model
*/
ve.ui.MWTransclusionDialog.prototype.getTemplatePage = function ( template ) {
- var infoFieldset, addParameterFieldset, addParameterInput,
addParameterButton, optionsFieldset,
+ var infoFieldset, addParameterFieldset, addParameterSearch,
addParameterButton, optionsFieldset,
removeButton,
spec = template.getSpec(),
label = spec.getLabel(),
description = spec.getDescription();
function addParameter() {
- var param = new ve.dm.MWTemplateParameterModel( template,
addParameterInput.getValue() );
- template.addParameter( param );
- addParameterInput.setValue();
- this.setPageByName( param.getId() );
+ var data, name, param,
+ item = addParameterSearch.results.getSelectedItem();
+
+ data = item && item.getData();
+ name = data && data.name;
+ if ( name ) {
+ param = new ve.dm.MWTemplateParameterModel( template,
name );
+ template.addParameter( param );
+ addParameterSearch.query.setValue();
+ this.setPageByName( param.getId() );
+ }
}
infoFieldset = new ve.ui.FieldsetLayout( {
@@ -397,7 +404,7 @@
} );
if ( description ) {
- infoFieldset.$.append( $( '<div>' ).text( description ) );
+ infoFieldset.$.append( this.frame.$$( '<div>' ).text(
description ) );
}
addParameterFieldset = new ve.ui.FieldsetLayout( {
@@ -406,24 +413,21 @@
'icon': 'parameter'
} );
addParameterFieldset.$.addClass(
've-ui-mwTransclusionDialog-addParameterFieldset' );
- addParameterInput = new ve.ui.TextInputWidget( {
- '$$': this.frame.$$,
- 'placeholder': ve.msg(
'visualeditor-dialog-transclusion-param-name' )
- } );
+ addParameterSearch = new ve.ui.MWParameterSearchWidget( template, {
'$$': this.frame.$$ } );
addParameterButton = new ve.ui.ButtonWidget( {
'$$': this.frame.$$,
'label': ve.msg( 'visualeditor-dialog-transclusion-add-param' ),
'disabled': true
} );
addParameterButton.connect( this, { 'click': addParameter } );
- addParameterInput.connect( this, {
+ addParameterSearch.connect( this, {
'enter': addParameter,
- 'change': function ( value ) {
+ 'select': function ( name ) {
var names = template.getParameterNames();
- addParameterButton.setDisabled( value === '' ||
names.indexOf( value ) !== -1 );
+ addParameterButton.setDisabled( !name || names.indexOf(
name ) !== -1 );
}
} );
- addParameterFieldset.$.append( addParameterInput.$,
addParameterButton.$ );
+ addParameterFieldset.$.append( addParameterSearch.$,
addParameterButton.$ );
optionsFieldset = new ve.ui.FieldsetLayout( {
'$$': this.frame.$$,
@@ -585,7 +589,7 @@
optionsFieldset.$.append( removeButton.$ );
return {
- 'label': $( '<span>' )
+ 'label': this.frame.$$( '<span>' )
.addClass(
've-ui-mwTransclusionDialog-placeholder-label' )
.text( label ),
'icon': 'template',
diff --git a/modules/ve/ui/styles/ve.ui.Dialog.css
b/modules/ve/ui/styles/ve.ui.Dialog.css
index 68d5208..e0fb36a 100644
--- a/modules/ve/ui/styles/ve.ui.Dialog.css
+++ b/modules/ve/ui/styles/ve.ui.Dialog.css
@@ -183,12 +183,10 @@
height: 10em;
}
-.ve-ui-mwTransclusionDialog-addParameterFieldset .ve-ui-widget,
.ve-ui-mwTransclusionDialog-addTemplateFieldset .ve-ui-widget {
display: inline-block;
}
-.ve-ui-mwTransclusionDialog-addParameterFieldset .ve-ui-buttonWidget,
.ve-ui-mwTransclusionDialog-addTemplateFieldset .ve-ui-buttonWidget {
margin-left: 0.5em;
}
@@ -197,6 +195,18 @@
font-style: italic;
}
+.ve-ui-mwTransclusionDialog-addParameterFieldset
.ve-ui-mwParameterSearchWidget {
+ position: relative;
+ overflow: hidden;
+ box-shadow: 0 0 0.5em rgba(0,0,0,0.2);
+ margin-bottom: 1em;
+}
+
+.ve-ui-mwTransclusionDialog-addParameterFieldset .ve-ui-searchWidget-results {
+ position: relative;
+ padding-bottom: 5em;
+}
+
/* ve.ui.MWMetaDialog */
.ve-ui-mwMetaDialog-languages-table {
diff --git a/modules/ve/ui/styles/ve.ui.Widget.css
b/modules/ve/ui/styles/ve.ui.Widget.css
index ab95129..df94f45 100644
--- a/modules/ve/ui/styles/ve.ui.Widget.css
+++ b/modules/ve/ui/styles/ve.ui.Widget.css
@@ -725,6 +725,45 @@
font-weight: bold;
}
+/* ve.ui.MWParameterResultWidget */
+
+.ve-ui-mwParameterResultWidget {
+ padding-right: 0.25em;
+ background-position: 0.5em 0.25em;
+ background-repeat: no-repeat;
+}
+
+.ve-ui-mwParameterResultWidget.ve-ui-widget-disabled {
+ opacity: 0.5;
+}
+
+.ve-ui-mwParameterResultWidget-label {
+ font-weight: bold;
+ float: left;
+}
+
+.ve-ui-mwParameterResultWidget-names {
+ float: right;
+ font-size: 0.9em;
+}
+
+.ve-ui-mwParameterResultWidget-names span {
+ border-radius: 0.3em;
+ padding: 0.125em 0.25em;
+ margin-left: 0.5em;
+ color: #999;
+ background-color: #fff;
+ border: solid 1px #ddd;
+}
+
+.ve-ui-mwParameterResultWidget-names span:not(:first-child) {
+ background-color: #eee;
+}
+
+.ve-ui-mwParameterResultWidget-description {
+ clear: both;
+}
+
/* RTL Definitions */
/* @noflip */
diff --git a/modules/ve/ui/widgets/ve.ui.MWParameterResultWidget.js
b/modules/ve/ui/widgets/ve.ui.MWParameterResultWidget.js
new file mode 100644
index 0000000..6fb268e
--- /dev/null
+++ b/modules/ve/ui/widgets/ve.ui.MWParameterResultWidget.js
@@ -0,0 +1,61 @@
+/*!
+ * VisualEditor UserInterface MWParameterResultWidget class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * Creates an ve.ui.MWParameterResultWidget object.
+ *
+ * @class
+ * @extends ve.ui.OptionWidget
+ *
+ * @constructor
+ * @param {Mixed} data Item data
+ * @param {Object} [config] Config options
+ */
+ve.ui.MWParameterResultWidget = function VeUiMWParameterResultWidget( data,
config ) {
+ // Configuration intialization
+ config = config || {};
+
+ // Parent constructor
+ ve.ui.OptionWidget.call( this, data, config );
+
+ // Initialization
+ this.$.addClass( 've-ui-mwParameterResultWidget ve-ui-icon-parameter' );
+ this.setLabel( this.buildLabel() );
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.ui.MWParameterResultWidget, ve.ui.OptionWidget );
+
+/* Static Properties */
+
+ve.ui.MWParameterResultWidget.static.highlightable = false;
+
+/* Methods */
+
+ve.ui.MWParameterResultWidget.prototype.buildLabel = function () {
+ var i, len,
+ $label = this.$$( '<div>' )
+ .addClass( 've-ui-mwParameterResultWidget-label' )
+ .text( this.data.label ),
+ $names = this.$$( '<div>' )
+ .addClass( 've-ui-mwParameterResultWidget-names' )
+ .append(
+ this.$$( '<span>' ).text( this.data.name )
+ ),
+ $description = this.$$( '<div>' )
+ .addClass( 've-ui-mwParameterResultWidget-description' )
+ .text( this.data.description || '' );
+
+ for ( i = 0, len = this.data.aliases.length; i < len; i++ ) {
+ $names.append(
+ this.$$( '<span>' ).text( this.data.aliases[i] )
+ );
+ }
+
+ return $label.add( $names ).add( $description );
+};
\ No newline at end of file
diff --git a/modules/ve/ui/widgets/ve.ui.MWParameterSearchWidget.js
b/modules/ve/ui/widgets/ve.ui.MWParameterSearchWidget.js
new file mode 100644
index 0000000..a5363d7
--- /dev/null
+++ b/modules/ve/ui/widgets/ve.ui.MWParameterSearchWidget.js
@@ -0,0 +1,164 @@
+/*!
+ * VisualEditor UserInterface MWParameterSearchWidget class.
+ *
+ * @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
+ * @license The MIT License (MIT); see LICENSE.txt
+ */
+
+/**
+ * Creates an ve.ui.MWParameterSearchWidget object.
+ *
+ * @class
+ * @extends ve.ui.SearchWidget
+ *
+ * @constructor
+ * @param {Object} [config] Config options
+ */
+ve.ui.MWParameterSearchWidget = function VeUiMWParameterSearchWidget(
template, config ) {
+ // Configuration intialization
+ config = ve.extendObject( {}, config, {
+ 'placeholder': ve.msg(
'visualeditor-parameter-input-placeholder' )
+ } );
+
+ // Parent constructor
+ ve.ui.SearchWidget.call( this, config );
+
+ // Properties
+ this.template = template;
+ this.index = [];
+
+ // Events
+ this.template.connect( this, { 'add': 'buildIndex', 'remove':
'buildIndex' } );
+
+ // Initialization
+ this.$.addClass( 've-ui-mwParameterSearchWidget' );
+ this.buildIndex();
+};
+
+/* Inheritance */
+
+ve.inheritClass( ve.ui.MWParameterSearchWidget, ve.ui.SearchWidget );
+
+/* Events */
+
+/**
+ * @event select
+ * @param {string|null} name Parameter name or null if no item is selected
+ */
+
+/* Methods */
+
+/**
+ * Handle select widget select events.
+ *
+ * @method
+ * @param {string} value New value
+ */
+ve.ui.MWParameterSearchWidget.prototype.onQueryChange = function () {
+ // Parent method
+ ve.ui.SearchWidget.prototype.onQueryChange.call( this );
+
+ // Populate
+ this.addResults();
+};
+
+/**
+ * Handle select widget select events.
+ *
+ * @method
+ * @param {ve.ui.OptionWidget} item Selected item
+ * @emits select
+ */
+ve.ui.MWParameterSearchWidget.prototype.onResultsSelect = function ( item ) {
+ this.emit( 'select', item && item.getData() ? item.getData().name :
null );
+};
+
+/**
+ * Build a serchable index of parameters.
+ *
+ * @method
+ * @param {ve.dm.MWTemplateSpecModel} spec Template specification
+ */
+ve.ui.MWParameterSearchWidget.prototype.buildIndex = function () {
+ var i, len, name, label, aliases, description,
+ spec = this.template.getSpec(),
+ usedParams = this.template.getParameterNames(),
+ knownParams = spec.getParameterNames();
+
+ this.index.length = 0;
+ for ( i = 0, len = knownParams.length; i < len; i++ ) {
+ name = knownParams[i];
+ if (
+ // Skip aliases
+ spec.getParameterOrigin( name ) !== name ||
+ // Skip parameters already in use
+ ve.indexOf( name, usedParams ) !== -1
+ ) {
+ continue;
+ }
+ label = spec.getParameterLabel( name );
+ aliases = spec.getParameterAliases( name );
+ description = spec.getParameterDescription( name );
+
+ this.index.push( {
+ 'text': [ name, aliases.join( ' ' ), description
].join( ' ' ),
+ 'name': name,
+ 'label': label,
+ 'aliases': aliases,
+ 'description': description
+ } );
+ }
+
+ // Re-populate
+ this.onQueryChange();
+};
+
+/**
+ * Handle media query response events.
+ *
+ * @method
+ */
+ve.ui.MWParameterSearchWidget.prototype.addResults = function () {
+ var i, len, item,
+ exactMatch = false,
+ value = this.query.getValue(),
+ query = value.toLowerCase(),
+ usedParams = this.template.getParameterNames(),
+ items = [];
+
+ for ( i = 0, len = this.index.length; i < len; i++ ) {
+ item = this.index[i];
+ if ( item.text.indexOf( query ) >= 0 ) {
+ items.push( new ve.ui.MWParameterResultWidget( item, {
'$$': this.$$ } ) );
+ if ( item.name === value ) {
+ exactMatch = true;
+ }
+ }
+ }
+
+ if ( !exactMatch && value.length && ve.indexOf( value, usedParams ) ===
-1 ) {
+ items.unshift( new ve.ui.MWParameterResultWidget( {
+ 'name': value,
+ 'label': value,
+ 'aliases': [],
+ 'description': ve.msg(
'visualeditor-parameter-search-unknown' )
+ }, { '$$': this.$$ } ) );
+ }
+
+ if ( !items.length ) {
+ items.push( new ve.ui.MWParameterResultWidget(
+ {
+ 'name': null,
+ 'label': '',
+ 'aliases': [],
+ 'description': ve.msg(
'visualeditor-parameter-search-no-unused' )
+ },
+ { '$$': this.$$, 'disabled': true }
+ ) );
+ }
+
+ this.results.addItems( items );
+ if ( query.length ) {
+ this.results.selectItem( this.results.getFirstSelectableItem()
);
+ }
+};
--
To view, visit https://gerrit.wikimedia.org/r/71562
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie5dbe8c44ce5d64c4b49b09517fb66cd30dd7304
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Trevor Parscal <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits