Commit graph

117 commits

Author SHA1 Message Date
Adam Wight abdbb7d7ff Internally rename container for adding an undocumented paramter
The internal name "more" conflicts with new collapsible buttons.

TODO: looks like TemplatePage has an analogous field?

Change-Id: I10b24758316a6cc3fbd236c77daffa014fcdafc6
2021-05-04 16:23:53 +02:00
Thiemo Kreuz 6e08a27fc7 Use standard search API when searching for templates
Bug: T274903
Change-Id: I7de8f6cc55ab678ed741ae5ebbaad608b9a9b0db
2021-04-30 12:52:45 +00:00
WMDE-Fisch e3197a82ff Increase space between fields when using inline descriptions
Bug: T273425
Change-Id: I3bf31622dbf794e1de1fa69b4fac68114c5689f7
2021-04-20 18:27:03 +02:00
WMDE-Fisch 2920c68adf Use verbose label for the example
Bug: T273425
Change-Id: Ia56aa35f98f31859e48781848b7481ebd5e2bd1c
2021-04-20 10:34:52 +00:00
Andrew Kostka 3c2db5fba9 Relocate parameter descriptions in the transclusion dialog
Bug: T273425
Change-Id: I2044b65ba88ae00e394fb84cb8e96a218995918a
2021-04-15 13:08:53 +02:00
Andrew Kostka 43c1ec5f42 Add filtering for the suggested values combo box
Bug: T271898
Change-Id: Ifb0deb117fbe40bd43c62d8be235a239a2b37f25
2021-04-14 14:11:50 +02:00
Andrew Kostka de2f5b3055 Add a combo box for suggested values in the transclusion dialog
Bug: T271898
Change-Id: Ic637eea2cac45f79234b62c787e1b76d68b61570
2021-04-08 16:10:22 +02:00
Bartosz Dziewoński 185db3a157 Remove tabindex="-1" from "Add more information" button in template dialog
This makes it button keyboard-accessible, like the other buttons.

Bug: T179136
Change-Id: Ib2824176fe861e0ad8511f755521bee941119b29
2021-01-29 21:06:12 +01:00
Adam Wight 9925ad3a88 Send EventLogging when editing parameter values
The first edit to a parameter will cause an event to be sent,
subsequent edits to the same parameter will not send an event.

Bug: T258920
Change-Id: Ibe663ce99a8fdf85a5add17186fb44fdbd4176bf
2020-11-26 11:13:14 +01:00
jenkins-bot c7c20dfb10 Merge "Fix config argument to explicitly pass api" 2020-09-07 19:42:48 +00:00
Adam Wight 1e96f47563 Fix config argument to explicitly pass api
These constructors only take a single argument, so the api config was
being ignored and the input would fall back to the default `new
mw.Api()`.

The order is changed so that the "api" config is merely a default,
and can be changed by whatever comes later.

The UserInputWidget currently doesn't accept an "api" config. This
will be fixed in Ifb1dd9d. But this is not a blocker. Merging this
patch here before the other won't have any consequence. It will just
continue to ignore the "api" config. ;-)

Change-Id: I15c35216c717576c6767927cac06ef72198fc95a
2020-09-01 09:36:24 +02:00
Adam Wight bf72437d63 Show image autocomplete for "File" parameters
The input field becomes a title autocomplete, showing small preview
images and searching only the File namespace.

This is consistent with how TemplateWizard behaves when editing a
File parameter.

Bug: T260886
Change-Id: I7a114e279436ec1ff6f7b8ab66443138ab12637f
2020-08-28 09:55:04 +00:00
Ed Sanders 4545f53245 build: Update eslint-config-wikimedia to 0.17.0
Fix instances of variable shadowing.

Change-Id: I6e2befb020d7d4b506c7b46131eafacd951aa6d1
2020-08-18 13:16:49 +01:00
Ed Sanders 590dc0988d Remove 'blacklist' in documentation
Bug: T254646
Change-Id: I9bad51ee248084f92de4c35d9e10d3d983f53831
2020-06-10 16:19:50 +01:00
James D. Forrester 2c77e88d2c doc: Bump copyright year for 2020
Change-Id: I30539877543dc2a57bd1428a00d10ac46d8fc294
2020-01-08 09:13:24 -08:00
Ed Sanders 18907dde5a Implementations for read-only mode
Depends-On: Ifaa74be266c048d87f94b4ae2df59cafc7aa155f
Change-Id: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
2019-02-22 18:20:51 +00:00
Volker E 5c5323fc3a Re-introduce: Replace deprecated setIndicatorTitle with setTitle
Patch got reverted in Iffbbd36d0e91, with I3028c4225a42 we should be
good to go now.

Bug: T76638
Change-Id: I016f7db8b2527b3ffe3bd103e6c88ee8e4dd11bc
2019-01-16 22:12:38 -08:00
Bartosz Dziewoński 8a286b06f0 Revert "Replace deprecated setIndicatorTitle with setTitle"
This reverts commit a7c98d88de.

Bug: T212975
Change-Id: Iffbbd36d0e91d02f50ce0407ed556f2a7d91a301
2019-01-07 21:08:35 +00:00
Volker E a7c98d88de Replace deprecated setIndicatorTitle with setTitle
Bug: T76638
Change-Id: I6637cb21f01bd9e6b158d08671c1f29665e601e1
2019-01-03 11:52:31 -08:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
David Lynch d30e6925bf ui.MWParameterPage: multiline inputs for line if newlines already present
TemplateData doesn't always match up with the way the template is being used.
If a field has the `line` type, but is provided with newlines, we should avoid
mangling it by forcing it into a single-line field. As-is, any edit to the
template, even if the user only thinks they touched unrelated parameters,
would cause this.

Bug: T190191
Change-Id: I4f2a0b6c46532dcc268288cb209d0260b18f3ad7
2018-09-12 12:01:03 -05:00
Ed Sanders 0f81aae133 Template dialog: Lazy resize multiline text inputs on first focus
Bug: T134814
Bug: T200834
Change-Id: I3ec84ad01db1ed896c41ac8ef38cce8eddb0b8c2
2018-08-23 17:34:25 +01:00
Ed Sanders 478b0bcbb9 Create getters for localised APIs (getContentApi/getLocalApi)
Pass through the current document when available, otherwise
assume the current surface's document.

Also add a getter for getPageName, so that can vary based
on the target document.

Bug: T193856
Change-Id: Ifdc951fdc6a43b924d102e3fcd7e59e52023757b
2018-05-05 14:32:55 +01:00
Bartosz Dziewoński 0cf02e0155 ve.ui.MWParameterPage: Pass $overlay to PopupButtonWidget
Also, pass $overlay to all PageLayout subclasses used in ve.ui.MWMetaDialog
and ve.ui.MWTemplateDialog/ve.ui.MWTransclusionDialog, for consistency.

Bug: T191395
Change-Id: Ib7ed2e2c04ff7930be1161bd2b981180ee59557a
2018-04-04 22:45:13 +02:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
Ed Sanders 013d26f0b0 MWParameterPage: Use MultilineTextInputWidget instead of config
Change-Id: Icccd6460452774ae0ff21ce9df36dfe428d935d2
2017-10-12 18:13:06 +01:00
James D. Forrester a7d48228dc MWParameterPage: Fix missed remove -> trash icon name rename
Bug: T167598
Change-Id: I1701bd426ea66a40937bcc69183c697a8e39710d
2017-06-12 11:39:50 -07:00
jenkins-bot 9cc4736708 Merge "ve.ui.MWParameterPage: Restructure constructor to reduce needless work" 2017-01-03 18:44:56 +00:00
jenkins-bot ec6509e86b Merge "ve.ui.MWParameterPage: Hide the "Fall back to plain wikitext" button when in wikitext" 2017-01-03 18:44:54 +00:00
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Bartosz Dziewoński a811168c2a ve.ui.MWParameterPage: Restructure constructor to reduce needless work
We were constructing a lot of widgets, and never using them all
(they were forever hidden or not even appended to DOM). For large
transclusions this was causing a noticeable performance hit.

I don't think this quite resolves T134814, but it should improve the
situation.

* this.rawFallbackButton is now constructed and appended only when needed.
* this.removeButton is now constructed and appended only when needed.
* this.infoButton can now be a PopupButtonWidget or a disabled ButtonWidget.

Bug: T134814
Change-Id: I2ea00a88a1ea22b73b0c6d10334a94f45734ec3b
2016-12-27 23:54:49 +00:00
Bartosz Dziewoński e0c97ab2f0 ve.ui.MWParameterPage: Hide the "Fall back to plain wikitext" button when in wikitext
We were trying to hide it by detaching, which did not work because it
was getting attached again in later code. Clicking the button just did
nothing.

Change-Id: I027550eb723c43dc85453959159b93e6e802e099
2016-12-27 23:54:42 +00:00
Ed Sanders 7a80fa57bc Fix parent constructor call
Got broken in switch to using 'super'.

Change-Id: Icea95b49ad48849af857bfa3b301d3bcf6039036
2016-09-06 19:16:24 -07:00
Ed Sanders 62bdaac13b Use super property to call parent methods
Change-Id: I76982b844cf2871d7583463def4393e5bdc33aa2
2016-08-23 11:56:47 -07:00
Bartosz Dziewoński 13a7a4c5f9 ve.ui.MWParameterPage: Remove non-working 'focus' handler
This element is a plain `<div>` with no tabindex, and therefore can't
be focussed. jQuery 'focus' events don't bubble, either, which would
otherwise allow focus events on children to fire this handler.

Change-Id: I68cb7d3bac143565c0a1bdb988312233b2d13ccd
2016-05-10 19:27:52 +02:00
Alex Monk 978224f2ec Use widgets for wiki-page-name, wiki-user-name, wiki-template-name, boolean, URL and line template fields
* Use TitleInputWidget for wiki-page-name and wiki-template-name parameters
* Use UserInputWidget for wiki-user-name parameters
* Use a custom hacky CheckboxInputWidget child class for boolean parameters
* Borrow some ve.ui.MWExternalLinkAnnotationWidget.prototype.createInputWidget code for url parameters
* Use a TextInputWidget with multiline disabled for line parameters

Not dealt with in this commit, so fallback to existing behaviour:
* string
* number
* unknown
* content
* unbalanced-wikitext
* date
* wiki-file-name

Bug: T55613
Bug: T124734
Bug: T124736
Change-Id: If04944d64303d959e8dd605e75a175895932b788
Depends-On: I87699a93ca1b34c6d248456fcc060f584623d158
Depends-On: I5e97604f0fc24176d5e89899bf0505dc442a1a7e
2016-04-06 22:07:19 +01:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
Ed Sanders 8ac173894d MWParameterPage: Focus value input when focussing page
Logically depends on I6a439cb13e in OOUI.

Bug: T114562
Change-Id: Ic9ad6ceca8e8f6cb7b1a0f56cd6ed858e39e1dfa
2015-10-07 14:33:55 -07:00
Bartosz Dziewoński 205beb2b49 ve.ui.MWParameterPage: Use more natural DOM order for text field and buttons
OO.ui.BookletLayout does not respect tabindices when trying to focus
the first focusable element after a page is switched. Remove the need
for manually set tabindices in ve.ui.MWTemplateDialog by using natural
DOM order and absolutely positioning things to keep current design.

Bug: T114562
Change-Id: I7a18a455f9fa80eb3d2ea17bff8139e0194c0fbf
2015-10-04 20:39:16 +02:00
Bartosz Dziewoński 5a896f726f ve.ui.MWParameterPage: Simplify handling of required parameters a bit
OOjs UI now implements this behavior with the right configuration.

Change-Id: I7c25508d0e2e59bd013b3ce7aff75fb05f58d9b0
2015-05-07 16:55:18 +02:00
Roan Kattouw 95bffa22a0 Stop using this.$
Has been a backwards-compatibility alias since OOjs UI 0.7.0.

Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
2015-04-14 02:54:01 +01:00
Moriel Schottlender 530f5c05f5 MWParameterPage: Show the field's example if it exists
Also appending both the default value and the example value to the
field description. The input placeholder will show the default
value, the example value, or nothing.

Related to TemplateData change I9e2d66a805e25 but works without.

Bug: T53049
Change-Id: I4e5e57546f6d3c22e778ba061a5344ddee085c17
2015-03-09 14:25:18 -07:00
James D. Forrester bed038b509 build: Bump devDependencies to latest
Updates:
* grunt-contrib-csslint  0.3.1  ->  0.4.0
* grunt-contrib-jslint   0.10.0 -> 0.11.0
* grunt-jscs             0.8.1  ->  1.2.0

For jscs, leaving requireSpacesInsideArrayBrackets to avoid headaches for now.

Change-Id: I62d34444edbba65c8bd22d2fa5e50e16cabb0042
2015-02-02 14:30:39 -08:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
James D. Forrester eac5aabeb3 ve.ui.MWParameter*: Use the destructive flag for all four remove buttons
Previously we were only doing it for one of the four.

Bug: T78033
Change-Id: Ib0091052a5c858dfd37b8755b6e3b84406b7c745
2014-12-09 14:28:40 -08:00
Alex Monk 8120dac27b Move autoValue logic from ui.MWParameterPage to dm.MWParameterModel
Also add missing MWParameterModel#getDefaultValue

Bug: 72404
Change-Id: I4bb117d419f3845f44e321f848e95bb246a24e24
2014-10-27 03:31:36 +00:00
Roan Kattouw 2d3bf973d2 Actually set parameter autoValues as values
The autoValue was displayed in the UI but was never
actually written into the template model, unless you
changed the text input and then undid your change.

Bug: 71157
Change-Id: I08e2ba88c24fdee030104c6fb9baafb558ce8a80
2014-10-22 15:46:20 -07:00
Alex Monk d087052ada Only validate required template params after blur
Bug: 72096
Change-Id: Ib699f8d89af02c9109a5711bd2c3ab4ef664d8ea
2014-10-17 17:59:13 +01:00
Alex Monk 0678ad2929 Style required but currently-invalid parameters on the template dialog
Relies on I693a8bc9 and I7e3a2a16

Bug: 70957
Change-Id: Ieaf4c194fbcd05b81368b086136274084470d3c7
2014-10-09 16:50:50 -07:00
Moriel Schottlender f4dc6fd240 Add 'autovalue' to TemplateData
Allow for an auto-value for parameters in TemplateData, and make sure
this autovalue is inserted as text when parameter is loaded. This is
mostly useful for referencing date or other dynamic templates inside
parameters.

Bug: 52029
Change-Id: I6203530798ffaa62cb26190c70f7ce391bddf123
2014-09-20 00:52:23 +00:00
Alex Monk 160d99d9f4 Rename $label to $labelElement in MWParameterPage to avoid naming conflict
Causing the label of each parameter to be missing ($label actually gets sent to the outline item
widget, for some reason). Looks like it was caused by I1abecd8a.

Bug: 70406
Change-Id: I598ffe5066d0ae8267324d4125d05514449064d5
2014-09-04 22:02:28 +01:00
Alex Monk 11fef44a08 Remove delete button from required parameters in template dialog
Bug: 60358
Change-Id: I5d03f466475bfafd4569480431969f5001365eb8
2014-08-26 01:39:51 +01:00
James D. Forrester a232147b11 Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
Change-Id: I75ac4b378ef485feead9d0eff34ed7877b94b5d0
2014-08-22 13:50:48 -07:00
Alex Monk 42db347213 Auto-open "Add parameter" part of template dialog when tabbed to or opening with no required/suggested params
Bug: 55925
Change-Id: I8475074e25de3969717a6d4dbb88bbb0000ebb4e
2014-07-21 22:38:05 +01:00
James D. Forrester fbdff76263 Update VE core submodule to master (f2277ea)
New changes:
56de6f5 Localisation updates from https://translatewiki.net.
f8bda64 Widgetise demo menu
6ac48d8 Localisation updates from https://translatewiki.net.
365e131 builderloader: Omit value for boolean "disabled" attribute per HTML5
706e4b3 Prevent double counting of DM nodes in getNodeAndOffset
b141a7d Update OOjs UI to v0.1.0-pre (d2451ac748)
c5b3921 Localisation updates from https://translatewiki.net.
1606983 Update reference to ConfirmationDialog to use MessageDialog

Deletions:
* Styles for ve.ui.MWBetaWelcomeDialog - not needed anymore because
  OO.ui.MessageDialog provides them
* Styles for ve.ui.MWGalleryInspector - not needed anymore because
  ve.ui.MWExtensionInspector provides part of them and the rest are being
  replaced by programatic sizing

Modifications:
* ve.ui.MWLinkTargetInputWidget - Added support for validation and href
  getter
* Split message between tool and dialog title for ve.ui.MWEditModeTool
  and ve.ui.MWWikitextSwitchConfirmDialog

General changes:
* Updated inheritance.
* Added manager param to constructors of dialogs and inspectors.
* Updated use of show/hide with toggle.
* Added meaningful descriptions of dialog and inspector classes.
* Configured dialog and inspector sizes statically.
* Configured dialog action buttons statically.
* Interfaced with OO.ui.ActionSet to control action buttons.
* Moved applyChanges code into getActionProcess methods.
* Always using .next in setup/ready process getters and .first in
  hold/teardown process getters.

Change-Id: Ia74732e6e32c0808eee021f0a26225b9e6c3f971
2014-07-14 23:24:45 +00:00
Alex Monk 3acca7cdf5 Fix cite/template dialogs
I1a7fc7f2 broke cite/template dialog - onDescriptionClick is not defined.
I can't find it anywhere in the VE-MW or OOUI source.
Before my change, it was simply a no-op. But now we try to bind it in a way
that breaks everything. This commit just removes that line since it was
apparently not doing anything.

Bug: 67814
Change-Id: I0b9c3318b3de8530e0ba9e355cd73eb7f70a6b5a
2014-07-10 21:37:07 +01:00
Alex Monk 51142e8b11 Replace ve.bind( fn, ... ) calls with fn.bind( ... )
Bug: 62762
Change-Id: I1a7fc7f27fa737d17f5c6b3d084ef4a35e4bebc0
2014-07-10 13:54:07 +00:00
Timo Tijhof 19afd65a08 build: Update jscs and use new "wikimedia" preset
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).

Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
2014-06-26 17:00:15 +00:00
Krenair 652136d712 Add tabindexes to template editor and required attribute where appropriate
At the moment, the natural tab order appears to simply ignore the info and
removal buttons

Bug: 65474
Change-Id: Ib18a9f7b0ce614bed9fee1199f1d36bc4bc012b9
2014-06-04 23:39:36 +01:00
Alex Monk d43db7f12f Trim description when working out whether or not we should disable the info button
So we don't display just a blank box for a single space.

Bug: 65862
Change-Id: Ie0ab305b8ee3cfe86e8f17adaab45c57b4ec49b7
2014-05-30 18:25:58 +00:00
Trevor Parscal 853e4872b4 Restyle parameter pages
* Move description to a popup behind a little info icon button
* Make required indicator generic status indicator (required/deprecated)
  and move to left of the field
* Move param name and actions to above the field
* Show deprecated status and description

Bonus:

* Use auto-focus on CitationDialog (whoops!)
* Make pages that aren't meant to scroll not scroll (whoops again!?)

Depends on I59211b2 in OOUI

Bug: 53612
Change-Id: I3b968ad14aa6c43b6484e2565a9367d2ebc72fc5
2014-04-30 16:27:19 -07:00
Trevor Parscal 8940bc1e69 Add required indicators to parameter pages
Change-Id: I235af5feb1e02805f7844e51c9b1608341336749
2014-03-06 23:03:20 +00:00
Trevor Parscal 37f4996392 Merge TransclusionDialogs into one
* Automatically select single mode when possible
* Allow dynamic switching when possible
* Hide most of the controls and information when in single mode
* Allow parameter model to be instantiated without name and value args
* Place add param buttons at the bottom of template and param pages
  which are only visible when in single mode and on the last page

Change-Id: Iaffbf1863b808c8089dfcf09a976d165f28c8b74
2014-03-05 18:15:17 -08:00
Trevor Parscal def3a5e21a Cleanup page class names and comments
Change-Id: I739b5d9b295d09b86104133a8f4eb30070d664f2
2014-03-01 01:23:17 +00:00
Trevor Parscal cb5a9b948c Redesign template parameter pages to be more space efficient
* Show label, input and remove control on a single line
* Right align label to conserve vertical space without sacrificing
  fill-out speed
* Show description in gray text below the input
* Show remove button only when page is active
* Make description lighter when page is innactive

Change-Id: Iaa09f3bf909ccd415de7af8f428495fef3046893
2014-03-01 00:52:06 +00:00
Trevor Parscal cbd3419dfb Update VE core submodule to master (ac4b49a)
Also update template/transclusion code for OOJS UI
OutlineControlWidget changes, and uses some of the new
functionality.

New changes:
ac4b49a Update OOjs UI to v0.1.0-pre (51f922ba17)

Change-Id: Id7a1f60cd6ce3bdaba7ccb8774563b9e81c75cad
2014-02-28 16:41:42 -08:00
Trevor Parscal e2f6d798b8 Rename MWTemplateParameter* classes to MWParameter*
* The name was getting super long, and the Template prefix doesn't
  appear to be important.
* Soon we will add a placeholder class, which would have been
  MWTemplateParameterPlaceholder, but now just MWParameterPlaceholder
  which seems a little less ridiculous.

Change-Id: Ie2dfe0d4c7b960cd554f89fa6340173e8786c88a
2014-02-26 10:54:45 +00:00
Renamed from modules/ve-mw/ui/pages/ve.ui.MWTemplateParameterPage.js (Browse further)