Commit graph

90 commits

Author SHA1 Message Date
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)