Commit graph

247 commits

Author SHA1 Message Date
Brian Wolff
2db0dc2438 Add taint annotation to HtmlForm::getHTML()
This is to help AbuseFilter pass phan-taint-check.

Change-Id: I73a6a626337037f6b0cee04b0afb5a59907d3be6
2018-08-31 19:32:46 +00:00
Bartosz Dziewoński
76e7016993 HTMLForm: Deprecate parameters 'notice', 'notice-messages', 'notice-message'
Bug: T197179
Change-Id: I603436e0720fdc0f08f35f3c0630b79865a9c82a
2018-08-29 22:02:52 +02:00
jenkins-bot
33afb7440a Merge "Expand documentation about options in HTMLForm" 2018-08-25 06:51:43 +00:00
Ed Sanders
e5911a826c Pass through 'helpInline' to OOUI FieldLayout and make true by default
This change is meant to improve the layout of Special:Preferences in
particular, but it will affect any OOUI form using help messages. It
should be a harmless or beneficial change for most of them.

Previous behavior can be restored by passing `'help-inline' => false`
to the HTMLForm factory after 'help-message'/'help-messages'/'help'.

For example:

* Special:Preferences?ooui=1#mw-prefsection-watchlist
  * Before: https://phabricator.wikimedia.org/F25025213
  * After:  https://phabricator.wikimedia.org/F25025181

* Special:ChangeEmail
  * Before: https://phabricator.wikimedia.org/F25073327
  * After:  https://phabricator.wikimedia.org/F25073328

* Special:BotPasswords/foo
  * Before: https://phabricator.wikimedia.org/F25073324
  * After:  https://phabricator.wikimedia.org/F25073326

Bug: T181854
Change-Id: Ica67fe4081dfaa8eb9e8f56fdb93530750e47012
2018-08-17 22:34:33 +02:00
Umherirrender
7b01567b00 Expand documentation about options in HTMLForm
Change-Id: Ia170f07f994680dca105981a14ad5a0d98b57a26
2018-08-13 09:16:11 +02:00
David Barratt
d609da624b
Add a method to HTMLForm that allows the preText to be accessed externally.
Currently there is no way to access the preText outside of an HTMLForm. Adding
a getPreText method to HTMLForm so the preText is accessible.

Bug: T199115
Change-Id: I937028e7025b4a7b5d333e9bf5a25920f6a88316
2018-07-09 10:42:19 -04:00
Umherirrender
130ec2523d Fix PhanTypeMismatchDeclaredParam
Auto fix MediaWiki.Commenting.FunctionComment.DefaultNullTypeParam sniff

Change-Id: I865323fd0295aabd06f3e3c75e0e5043fb31069e
2018-07-07 00:34:30 +00:00
Fomafix
f02eed24ac Allow overloading of getLabel() with return ' '
This is a follow-up to 125cbd8c01.

Bug: T198338
Change-Id: I21626326dde368d70fcc33052e43ff90db5ea9c0
2018-06-28 11:25:39 +02:00
Fomafix
125cbd8c01 Use \u{00A0} instead of   or  
Directly use the UTF-8 encoding of the 'NO-BREAK SPACE' (U+00A0) instead of
the HTML/XML entities   or   or  .

With the UTF-8 character the generated HTML is shorter and better to read.

Also change the special value for the label in HTMLForm from   to
U+00A0 but also support   for backward compability.

Bug: T154300
Change-Id: I882599ac1120789bb4e524c4394870680caca4f4
2018-06-24 01:20:13 +00:00
Max Semenik
6e956d55aa Replace call_user_func_array(), part 2
Uses new PHP 5.6 syntax like ...parameter unpacking and
calling anything looking like a callback to make the code more readable.
There are much more occurrences but this commit is intentionally limited
to an easily reviewable size.

In one occurrence, a simple conditional instead of trickery was much more readable.

This patch finishes all the easy stuf in the core, the remainder is either unobvious
or would result in smaller readability gains. It will be carefully dealt with in
further commits.

Change-Id: I79a16c48bfb98b75e5b99f2f6f4fa07b3ae02c5b
2018-06-07 20:19:26 -07:00
Bartosz Dziewoński
485f66f174 Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient
Find: /isset\(\s*([^()]+?)\s*\)\s*\?\s*\1\s*:\s*/
Replace with: '\1 ?? '

(Everywhere except includes/PHPVersionCheck.php)
(Then, manually fix some line length and indentation issues)

Then manually reviewed the replacements for cases where confusing
operator precedence would result in incorrect results
(fixing those in I478db046a1cc162c6767003ce45c9b56270f3372).

Change-Id: I33b421c8cb11cdd4ce896488c9ff5313f03a38cf
2018-05-30 18:06:13 -07:00
jenkins-bot
399d9c24a8 Merge "Document nodata for HTMLFormFields" 2018-05-19 14:17:57 +00:00
Florian Schmidt
d99c3a4e6d Document nodata for HTMLFormFields
This could be a useful feature for users of HTMLForm, so they should be
able to know about it.

Bug: T156056
Change-Id: Ib444051e38292c06ebe370465b7c751e136d42b2
2018-05-19 13:48:49 +00:00
Ed Sanders
fc65ff17d9 Special:Preferences: Construct fake tabs to avoid FOUC
Bug: T192769
Bug: T189366
Change-Id: I4aabda97d14d97dce3e35abda2ce82925d721c9b
2018-05-18 18:10:45 +00:00
jenkins-bot
7583ead426 Merge "Make setSubmitProgressive() Deprecate" 2018-04-25 21:45:50 +00:00
Jayprakash12345
e7cd669bc5 Make setSubmitProgressive() Deprecate
Bug: T191586
Change-Id: Ie310ea9c3ca7c9e4b8755ba500e2ccafd0b64463
2018-04-20 23:12:51 +00:00
David Barratt
3481e3b2e0
Create Expiry Widget with Date Time Selector
Special:Block needs a date time selector for easier selection of expiry. To
accommodate this cleanly, a new Expiry Widget is created that handles this
logic.

Bug: T132220
Change-Id: I2853a2ca0ae6ccead3978f4bb50a77c2baa3a150
2018-04-19 20:24:08 -04:00
James D. Forrester
ae7237ea98 Drop HTMLForm & VFormHTMLForm::isVForm(), deprecated in 1.25
Change-Id: If5f4e146071c17a9adabd36453ef68ff38405ed4
2018-03-26 10:55:41 -07:00
Max Semenik
369b3fa977 Normalize PHPDoc attributes
Change-Id: I83e686d099de0ff0aacda7e332972e1c7ee49f04
2018-03-16 22:59:15 -07:00
Kunal Mehta
79de8fd02f Use wikimedia/object-factory 1.0.0
Deprecate the unnamespaced version and move it to includes/compat.

Bug: T147167
Depends-On: I39c805bfb98b32f32f3d0dc1eee9e823afe1c21a
Change-Id: I3780c7adf51683f3f7adb35a88f9a25a0a2e2530
2018-02-04 12:52:44 -08:00
Umherirrender
3124a990a2 Use ::class to resolve class names in includes files
This helps to find renamed or misspelled classes earlier.
Phan will check the class names

Change-Id: I07a925c2a9404b0865e8a8703864ded9d14aa769
2018-01-27 20:34:29 +01:00
Fomafix
04ff65fc69 Simplify autocomplete attribute in HTMLForm
Follows-up 7489a3e8

Change-Id: Ifb17c88e39df7031054b3bee83772172c64d0a6b
2017-12-28 16:41:39 +01:00
Bartosz Dziewoński
7bee1a2304 HTMLForm: Do not generate wrappers for empty sections
This affects Special:Preferences, where there will no longer be an
empty <table class="mw-htmlform-nolabel"><tbody></tbody></table>
after every toplevel section heading.

Change-Id: Icb6fe957024843f2b08720715054b9afb657f395
2017-09-16 15:23:46 +02:00
Umherirrender
3f1a52805e Use short type bool/int in param documentation
Enable the phpcs sniffs for this and used phpcbf

Change-Id: Iaa36687154ddd2bf663b9dd519f5c99409d37925
2017-08-20 13:20:59 +02:00
Umherirrender
ace44e2064 Use correct variable name in @param documentation
For some varargs a variable name is added with suffix ,... as seen for
many other varargs

Some @param are swapped, because there are in the wrong order

Enable Sniff MediaWiki.Commenting.FunctionComment.ParamNameNoMatch

Change-Id: I60fec6025bce824d5c67563ab7b65ad6cd628ad8
2017-08-11 19:27:19 +02:00
Umherirrender
a9007e8baf Add missing & to @param documentation to match functon call
Change-Id: I81e68310abcbc59964b22e0e74842d509f6b1fb9
2017-08-11 18:47:46 +02:00
Max Semenik
fd6e9ef2d4 Human-readable section ID support
It adds the ability to replace the current section ID escaping
schema (.C0.DE) with a HTML5-compliant escaping schema that is
displayed as Unicode in many modern browsers.

See the linked bug for discussion of various options that were
considered before the implementation. A few remarks:
* Because Sanitizer::escapeId() is used in a bunch of places without
  escaping, I'm deprecating it without altering its behavior.
* The bug described in comments for Parser::guessLegacySectionNameFromWikiText()
  is still there in some Edge versions that display mojibake.

Bug: T152540
Change-Id: Id304010a0342efbb7ef2d56c5b8b244f2e4fb2c5
2017-08-01 20:32:20 -07:00
Prateek Saxena
d2b05e83e3 HTMLForm: Show more options when incorrect displayFormat is set
Change-Id: I47a4684f01f5e30629e819403d7445479c4607da
2017-07-26 18:45:36 +00:00
Kunal Mehta
d1cf48a397 build: Update mediawiki/mediawiki-codesniffer to 0.10.1
And auto-fix all errors.

The `<exclude-pattern>` stanzas are now included in the default ruleset
and don't need to be repeated.

Change-Id: I928af549dc88ac2c6cb82058f64c7c7f3111598a
2017-07-22 18:24:09 -07:00
Bartosz Dziewoński
ecdef925bb Miscellaneous indentation tweaks
I was bored. What? Don't look at me that way.

I mostly targetted mixed tabs and spaces, but others were not spared.
Note that some of the whitespace changes are inside HTML output,
extended regexps or SQL snippets.

Change-Id: Ie206cc946459f6befcfc2d520e35ad3ea3c0f1e0
2017-02-27 19:23:54 +01:00
jenkins-bot
fb52b78920 Merge "UsersMultiselect widget and form field." 2017-02-01 14:37:50 +00:00
Phantom42
c70f464c07 UsersMultiselect widget and form field.
New widget and html form field, which allows selecting multiple
users using convenient single-line input (CapsuleMultiselectWidget)

Bug: T131492
Change-Id: I7b6ffe7fb47e0a7083e2a956156ab0f142444398
2017-02-01 00:35:33 +02:00
Bartosz Dziewoński
38cc8a697f HTMLForm: Suppress HTML5 form validation for non-JS users when needed
Our 'hide-if' fields are fundamentally incompatible with HTML5 form
validation attributes. If you have a checkbox field A, and field B
that is required, but hidden if A is unchecked - that's impossible to
express with HTML5 form validation. The only thing you can do is
remove the validation on B (or on the entire form).

The field contents are still validated server-side, just like if the
browser did not support HTML5 forms. The validation is also re-enabled
in JavaScript, since we have extra support for 'hide-if' field that
makes them work.

Change-Id: Ia7ffa76965a7c14af9b6d2db007b6255498398d9
2017-01-10 22:49:38 +00:00
Bartosz Dziewoński
4fc7420fea HTMLForm: Use 'mw-htmlform' CSS class
Makes it easy to identify all HTMLForms on a page.

Change-Id: I5b9494fc925ac953c14b358331acddfe80c2661d
2016-12-18 12:59:05 +00:00
Brad Jorsch
7fdbe15fb6 HTMLForm: Allow returning Message objects from HTMLFormField::validate()
It mostly already worked. HTMLForm::trySubmit() needed a little
adjustment to handle things properly.

Change-Id: Ibb17bb61ac0b2d41953249980bc2f23b8a3ae5b6
2016-11-14 13:25:14 -05:00
This, that and the other
07782d176b New HTMLForm size filter field; add size filter to Special:Newpages
The conversion of SpecialNewpages to HTMLForm seems to be half-finished.
It's not using HTMLForm to read in the request query, which means we have
to roll our own logic. Kind of defeats the purpose of using HTMLForm in
the first place.

When ProtectedPages is converted to HTMLForm (T117722), it can use this new
field type.

Bug: T12817
Change-Id: I069609fbb37b18c3df25156779ad7ac7cd5d6813
2016-10-27 12:23:18 +11:00
Volker E
7e8539d10e Replace deprecated constructive with progressive
Replacing deprecated `constructive` mediawiki.UI CSS class and OOjs UI
flag  with `progressive`.

Bug: T146923
Change-Id: I524b9722ee49692c55bb1f97d34d8a28068716ee
2016-09-30 13:18:52 -07:00
Brad Jorsch
12bdc84219 HTMLForm: Add HTMLDateTimeField
And to do that, an OOUI PHP widget for
mw.widgets.datetime.DateTimeInputWidget too.

Bug: T146340
Change-Id: Iaa8b5892b6c3a1f3698cef59684cc3cdc9d483ea
2016-09-26 12:08:56 -04:00
Florian
3706dcb5c7 Show warnings in HTMLForm and warnings as warnings on Login/Signup form
This commit changes the way how HTMLForm handles a Status object
when executed from a request. It now handles, beside the errors,
also the warnings of a Status object and prints them out, wrapped
in a warning box.

The LoginSignupPage uses this feature to show informative warnings
actually as warnings and not as more disturbing error messages.
Error messages should be reserved for errors and only for erros. An
AuthenticationProvider, which returns an UI AuthenticationResponse
can choose, if the given message is an error or a warning message.

This commit also addds a new function to Status, which allows a
developer to split the object into two new Status objects, where one only
contains the errors and the other only the warnings of the origin
Status object (splitByErrorType). StatusValue also has a new function,
splitByErrorType(), to support this.

Bug: T139179
Change-Id: I9a27911613e62b5c4cb86bea40696cb37c4f49c2
2016-09-17 16:33:39 +02:00
Gergő Tisza
1abe820088 Expose form field objects in HTMLForm
Change-Id: Id22c5b9da154d67948ff2b91702a256c25718312
2016-08-22 22:25:54 +00:00
Kunal Mehta
7f5c0cffd8 HTMLForm: Use ObjectFactory instead of Reflection
ObjectFactory has a hack that constructs an object directly if there are
less than 10 parameters, which there typically is for HTMLForm classes.
This is faster than using ReflectionClass, and whenever ObjectFactory is
updated to take advantage of the splat operator, this will automatically
use it as well.

And use ::class while we're at it.

Change-Id: I7a696c127c237713448b165b9b4faee13f4ff88e
2016-08-13 20:48:29 -07:00
jenkins-bot
71e4493c86 Merge "Allow providing 'notices' for OOUI HTMLForm fields" 2016-07-25 10:58:45 +00:00
Bartosz Dziewoński
b5237cfc1b HTMLForm: Allow distinguishing between form views and submission attempts
Calling HTMLForm::setFormIdentifier() will set an internal identifier
for this form. It will be submitted as a hidden form field, allowing
HTMLForm to determine whether the form was submitted (or just viewed).
Setting this serves two purposes:

* If you use two or more forms on one page, it allows HTMLForm to
  identify which of the forms was submitted, and not attempt to
  validate the other ones. (T102114)
* If you use checkbox or multiselect fields inside a form using the
  GET method, it allows HTMLForm to distinguish between the initial
  page view and a form submission with all checkboxes or select
  options unchecked. (T29676)

Bug: T102114
Bug: T29676
Change-Id: Ib6ce3fd8941be86211cff5c6932b5e84982490fa
2016-07-22 18:00:15 +00:00
Florian
5424788164 HTMLForm: Don't add a type=reset to links
Follow up: Ieb80e2ff36751abc6f00e2a02926fe9800666a8b

Change-Id: If88c80a46cba9729a9503b82532584443d6d5ba4
2016-06-02 22:50:55 +02:00
Gergő Tisza
0c9712c31a Improve HTMLForm (and Special:ChangeCredentials) cancel button
Add two new HTMLForm methods:
* showCancel( [bool] ) to display a cancel button
* setCancelTarget( Title|string ) to set where it should take
  the user.

The cancel button is a simple link formatted as a button.
This is faster than a real button (skips an unnecessary
submit and redirect) and avoids some UX problems:
* when clicking on a real button, HTML5 or JS  validators
  might prevent submission, which does not make sense for cancel
* form field values might get saved by the brower, which again
  does not make sense for cancelling

Use the cancel button for Special:ChangeCredentials.

Bug: T136809
Change-Id: Ieb80e2ff36751abc6f00e2a02926fe9800666a8b
2016-06-02 19:42:44 +00:00
Glaisher
e843da4203 Allow providing 'notices' for OOUI HTMLForm fields
'notice', 'notice-message' and 'notice-messages' can be used
as a parameter to the HTMLForm field to show the notices.
Only added implementation for OOUI forms because I'm not sure
what to do for others.

Bug: T104423
Change-Id: I512f3936bc3335df1bdf76505cfc39da6be99bed
2016-05-29 21:14:11 +05:00
Matthew Flaschen
239d68b48d OOUI HTMLForm: Allow specifying whether buttons are framed
Bug: T136361
Change-Id: Ic31f857c749d62a32cafae68dc3f1cbd86e1e382
2016-05-27 17:04:01 -07:00
Sethakill
7195fab131 Allow to chaining calls in setSubmitDestructive
and setSubmitProgressive.

Change-Id: I926fa717edf146c64bb7e5287f9dc051e30f6566
2016-05-18 18:38:16 +02:00
jenkins-bot
b3b2214a71 Merge "Fix HTMLForm noData logic in trySubmit" 2016-05-03 15:17:38 +00:00
Gergő Tisza
845bc5e770 Fix HTMLForm noData logic in trySubmit
This was missed in If4e0dfb and causes missing array key warnings
for fields using skipLoadData.

Change-Id: Ib52ee2bc9af278f03b48730acc1edb30f5ff1f88
2016-05-02 22:23:13 +00:00
jenkins-bot
46deecce89 Merge "Unify HTMLForm message handling" 2016-05-02 20:52:46 +00:00
Gergő Tisza
dab874cc22 Unify HTMLForm message handling
Improves Ida647973a which unified message handling for form fields
but did not make the functionality available to HTMLForm itself.

Change-Id: I2e6195ba13afbd8b993acb47409fab1be91c547e
2016-05-02 19:48:28 +00:00
Gergő Tisza
e3d7978bc6 Enforce calling HTMLForm::prepareForm before displayForm
Bug: T133163
Change-Id: Idd5d117cb0dd65c195019dcd321cd4bf9024b426
2016-04-27 20:00:06 +01:00
jenkins-bot
a465d1dbeb Merge "Handle null data return in HTMLForm" 2016-04-26 14:37:17 +00:00
Gergő Tisza
ed12473b15 Handle null data return in HTMLForm
Fix a test in If4e0dfb : in the unlikely but valid case when
some form field object returns null from loadDataFromRequest,
handle it correctly and do not replace it with the default value.

Bug: T133163
Change-Id: Id8b48cfc6288d11a79a5838e72bb80b14137a7b0
2016-04-26 01:27:22 +02:00
Bartosz Dziewoński
cba7952e31 HTMLForm: Don't render 'mw-htmlform-submit-buttons' if there aren't any buttons
Visually, this only affects OOUIHTMLForm, in other kinds of forms
the element has no height anyway.

Change-Id: I90e73c49fbefec23532368848bb30b2e7b69075c
2016-04-22 14:49:51 +00:00
jenkins-bot
cc991d3cb0 Merge "Improve HTMLSubmitField return value" 2016-04-19 19:43:55 +00:00
Gergő Tisza
1bd5ee1f06 Improve HTMLSubmitField return value
- do not return anything when the button was not clicked
- return boolean true (instead of the button text) when it was clicked

Unbreaks submit fields which currently don't return anything so there is
no easy way to tell whether they have been clicked.

Change-Id: If4e0dfb6ee6674f0dace80a01850e2d0cbbdb47a
2016-04-18 14:21:33 +00:00
Gergő Tisza
08ca4e37c5 HTMLForm code style fixes
Change-Id: I30612c7cfde1d76aff7fac24fb2b0033457fbc27
2016-04-17 07:28:52 +00:00
jenkins-bot
12a57c83a4 Merge "Fix typo in HtmlForm::setName phpdoc" 2016-04-02 09:48:20 +00:00
Gergő Tisza
48467bc6b3 Fix typo in HtmlForm::setName phpdoc
Fixes I85f5492e0b99a5661dbed9814a0e3f3b9bc63d32.

Change-Id: I1a034c4fd3eb3020a4a725604ece6e992d34a271
2016-04-02 09:34:51 +00:00
jenkins-bot
e208cf8030 Merge "Unify handling of *-message(s) settings in HTMLForm" 2016-04-01 14:48:19 +00:00
Gergő Tisza
8dc5e1857d Unify handling of *-message(s) settings in HTMLForm
*-message(s) settings were documented as message key strings or arrays
of message key strings, but some actually accepted [key, params...]
arrays as well. They did not accept Message objects, which would be
the cleanest and most flexible method of message passing.

The patch adds a new method to process these settings (which accepts
a messages key, a [key, params...] array or a Message object), and
makes all *-message(s) usage call that.

Change-Id: Ida647973a58bea83fdbd53335e63b5a8615c16e4
2016-04-01 17:07:14 +03:00
Gergő Tisza
eed7a00166 Allow setting HTMLForm name
Change-Id: I85f5492e0b99a5661dbed9814a0e3f3b9bc63d32
2016-04-01 15:22:47 +03:00
Fomafix
7489a3e8f1 Preferences: Add autocomplete="off" to preferences form
This change adds a new method setAutocomplete to the class HTMLForm.
This method allows to set the HTML attribute autocomplete for the form.
This change uses this method to set autocomplete="off" for the preferences form.

Without autocomplete="off" the selections in the preferences get cached in
the browser. This can lead to wrong selected options when the settings get
changed on an other way, for example via API.

Bug: T131047
Change-Id: I2920383b5b8cfca3f1d546315f202985edf417d8
2016-03-29 04:49:20 +00:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
jenkins-bot
de193359ce Merge "Revert "Convert Special:EmailUser to use OOUIHTMLForm"" 2016-01-12 00:09:48 +00:00
Florianschmidtwelzow
1ea58a358a Revert "Convert Special:EmailUser to use OOUIHTMLForm"
This reverts commit bc9b2162cb.

Just in case, this change[1] isn't merged before the next wmf-release (12 January) to unbreak the form.

[1] I3e0c02155428ae400bc3a6d3ed2e66e69ee441fa

Change-Id: I1a594485fbf8c75b4199df2e255dedc7fb90e74d
2016-01-10 14:20:52 +00:00
Timo Tijhof
eebc6782c4 htmform: Document "text" methods that take HTML as such
These methods have confusing names, at least document them better.

Follows-up ef8f440de.

Change-Id: Ia2d6bf474d65829d91cae3aeef7ab2d09c4023cf
2016-01-05 16:46:24 -08:00
jenkins-bot
e2d6e193c9 Merge "HTMLForm: Use <button> and allow differing label and value" 2016-01-04 08:47:01 +00:00
Florian
bc9b2162cb Convert Special:EmailUser to use OOUIHTMLForm
It already used HTMLForm for the main form, but the form, which asked for
the username didn't.

Converted the "Enter username" form to use HTMLForm and show it, if no user-
name was passed to the form, show the main "Send e-mail" form, instead.

Extra points:
 - Let HTMLForm::setSubmit*() function return it's own HTMLForm instance

Bug: T117791
Change-Id: I6231577047c93781496e0f8af6809e2ef49e662a
2016-01-02 18:11:48 +00:00
Florian
b1ff754dd7 Convert Special:ExpandTemplates to OOUI
Extra points:
 * Add error message, when $input was not fiven (previous behaviour was, that
   the form was simply displayed again.

Bug: T117748
Change-Id: Ibe4e010fe9d0b2520c2d6964bd66cb2bca3b0bc7
2016-01-02 16:27:10 +00:00
This, that and the other
400d1d300b HTMLForm: Add comment to help grepping function names
This confuses me every time I try to figure out HTMLForm's logic flow...

Change-Id: I80ff89caeeaac9af6ff435ecd5c4176615d41d82
2016-01-01 16:53:13 +11:00
Brad Jorsch
d949901f3c HTMLForm: Use <button> and allow differing label and value
Submit buttons, whether via HTMLForm::addButton() or HTMLSubmitField,
are difficult to use effectively when the submitted value has to match
the internationalized display label. HTML5 (and HTML4 for that matter)
already has <button> that does what we need, we just need to actually
use it.

But for IE6 and IE7, we can't use <button> because the browser doesn't
handle them correctly. Sniff those browsers to avoid their bugginess
(which the OOUI version should have been doing already for IE6, but
wasn't).

Bug: T121584
Change-Id: I7e15331efb162275c4116bcae61f19d6b884cbe3
2015-12-18 12:41:55 -05:00
jenkins-bot
8732532d47 Merge "Implement HTMLComboboxField" 2015-11-24 19:20:07 +00:00
jenkins-bot
3cab263105 Merge "HTMLForm: Do not render hidden elements as elements" 2015-11-19 16:28:05 +00:00
Bartosz Dziewoński
77d759aab4 Implement HTMLComboboxField
It's a dropdown select with the ability to add custom options, or a
text field with input suggestions, whichever you prefer.

This is meant to be a replacement for HTMLSelectOrOtherField and
HTMLAutoCompleteSelectField.

In regular HTML mode, it uses HTML5 `<datalist>` element with no
custom JavaScript. This is supported by a wide range of browsers
(IE 10+, modern Firefox and Chrome, Opera 12+).

In OOUI mode, it uses a ComboBoxInputWidget.

Depends on: I14b40884f185fb4e5

Bug: T118119
Change-Id: I954d3d24ed4efe90be9596a1bd9586ba3aee1e23
2015-11-12 09:48:27 +01:00
Florian
c762b6899b HTMLForm: Do not render hidden elements as elements
Hidden elements doesn't need an extra element in the DOM, but OOUIHTMLForm
would render one, wrapped into a fieldLayout div.

Fix this by adding the possibility to bypass the output, and only construct
a HTMLFormField element and run the output method.

Bug: T117768
Change-Id: I8c9d2ff862f1b14d72a9bb9e1a51e8745af6d1f4
2015-11-09 16:16:40 +00:00
Florian
ab69c83c64 Implement section support for OOUIHTMLForm
Using a PanelLayout to visually separate the outside content with
the inside one.

Bug: T117757
Change-Id: I177cd7a5f8e8ddf7dc90f452aadb804f6304b0c7
2015-11-04 19:14:24 +01:00
Siebrand Mazeland
950910dc99 Fix PHPCS warnings in includes/htmlform/
Change-Id: Ifbf050c92a84d6af59709632965f48f3d567c0da
2015-09-28 13:35:28 +02:00
jenkins-bot
c6bcef30ae Merge "Hoist validation errors from hidden fields to the top of the form" 2015-09-25 17:56:32 +00:00
Gergő Tisza
16076cbf99 Hoist validation errors from hidden fields to the top of the form
HTMLFormField subclasses are supposed to handle error display but
some (like hidden fields) have no means of doing this. Add
a HTMLFormField::canDisplayErrors() method which can be overridden
to return false, in which case HTMLForm will take care of the
error display.

Also adds a 'rawmessage' message which can be used to wrap
arbitrary text. This can be passed to methods which expect a message
specifier array but do not allow a message object (so the RawMessage
class cannot be used), such as HTMLFormField::trySubmit().

Bug: T112635
Change-Id: I5d73536805774ff2ee0ec64b5442650c4888dc84
2015-09-25 17:40:30 +00:00
jenkins-bot
0a138f1acf Merge "Move HTMLForm-specific styles out of mediawiki.legacy.shared" 2015-09-08 00:12:23 +00:00
Bartosz Dziewoński
0a6803e1e5 HTMLForm: Move header formatting OOUI-specific code to OOUIHTMLForm
* Introduce a getter getHeaderText() and override it in OOUIHTMLForm.
* While we're at it, also introduce getFooterText() (although right
  now we have no need to override this one).
* Use both in HTMLForm where appropriate.

Change-Id: I9a7234ed75b024f24e0a087c9c000bb2024b405f
2015-08-21 18:50:02 +00:00
Bartosz Dziewoński
40abd65b24 HTMLForm: Move section formatting OOUI-specific code to OOUIHTMLForm
* Introduce a new helper function formatSection() and override it
  in OOUIHTMLForm.
  * Bonus: Properly construct the form's FieldsetLayout,
    thanks to I860a96858c4fcac62d63b46e35a9153f22c0a9c9.
  * Bonus: Don't pass silly HTMLForm's classes which don't make
    sense in OOUI mode.

Change-Id: I91af6efa8762e9676efea532381292e221255862
2015-08-21 18:49:38 +00:00
Bartosz Dziewoński
d302cb2de8 Move HTMLForm-specific styles out of mediawiki.legacy.shared
Bug: T89981
Change-Id: Idcd20b4a776fe6741462b09885e05d1e08f67334
2015-08-19 22:20:21 +02:00
jenkins-bot
7a6b211c48 Merge "Revert "Use OOUI HTMLForm for Special:Watchlist"" 2015-07-30 19:05:20 +00:00
Legoktm
8fd9634774 Revert "Use OOUI HTMLForm for Special:Watchlist"
Issues with spacing (T107311), probably shouldn't have
been merged right before the branch cut.

This reverts commit 9508c5bd57.

Change-Id: Ibf2ca5a33b8ab0f7381c720c6c92fbfd7a7c819d
2015-07-30 18:55:20 +00:00
Bartosz Dziewoński
deb0bd858a HTMLForm: Correct documentation
Change-Id: I84f4d886907b2ae988956563fda48e78afb3cfa6
2015-07-29 00:52:17 +02:00
Florian
9508c5bd57 Use OOUI HTMLForm for Special:Watchlist
Bug: T99256
Change-Id: I47a8649208279a4090623a3088112fcff9abc4d3
2015-07-27 20:15:15 +00:00
Kunal Mehta
ba7acbe791 Allow HTMLTitleTextField to work on GET forms
Just skip validation if it is a GET form and the current input is an
empty string. Callers will need to check that it is not the empty string
though.

Also make sure HTMLForm::mMethod is always lowercase.

Change-Id: I605f32048fe97eebd7e04b6ffd799759aeb7f31e
2015-07-24 18:19:36 -07:00
Florian
3f7443df86 HTMLForm: Allow to set the primary flag for submit buttons
Currently, every submit button generated by HTMLForm itself (not via
the descriptor) doesn't have the primary flag and there is no (easy) way
to add it, although this generated submit button is most likely the primary
one.

Add a new function HTMLForm::setSubmitPrimary() to allow a form to set
add the primary flag to this submit button.

Change-Id: I3ce363f995389a87764edb586b4b64ab2b77b0db
2015-07-23 21:48:35 +02:00
Florian
c226b13545 Implement UserInputWidget in OOUI/MW Widgets
To use OOUI for forms with user name autocomplete, the new widget
UserInputWidget interacts like the jQuery pendant (working with css
class "mw-autocomplete-user").

It is also available in HTMLForm as "user".

Example usage: Iaeff912e6437d6ebef0d5b1919ce8cf53a7fd5f1

Change-Id: I9501c85f4288c255bbe3a5284e99b57b6169916f
2015-07-20 06:11:16 +02:00
jenkins-bot
77594dc2ba Merge "HTMLForm: Add 'title' type" 2015-07-16 18:33:13 +00:00
Bartosz Dziewoński
b524a4333f OOUIHTMLForm: Support setWrapperLegend()
Changed FormSpecialPage not to call setWrapperLegend() for OOUI
forms to preserve current default behavior.

Bonus:
* Correct documentation of setWrapperLegend() to state that it
  HTML-escapes legend text.
* Remove hard-coded class="visualClear" in getFormAttributes().
* Allow setWrapperLegend( true ) to display the wrapper without
  legend text.
* Rejigger things so that we can put the legend and "header HTML"
  into correct order.

Bug: T103026
Change-Id: I847c5e18ae5469aa3a68cc9fa37b2a6614476ca2
2015-07-13 19:20:08 +02:00
Kunal Mehta
d7d663bc54 HTMLForm: Add 'title' type
HTMLTitleTextField will automatically validate title input, can
optionally ensure the title is in a specific namespace, is creatable, or
already exists.

The field currently doesn't support GET requests since validation on
empty strings fails.

Bug: T104420
Change-Id: I45718462570d0a523a148c3830b1116b634df050
2015-07-09 15:44:09 +00:00
Bartosz Dziewoński
552568c63d OOUIHTMLForm: Correctly handle submit modifier flags
Rejigger some HTMLForm internals to remove the hardcoded assumption of
using 'mw-ui' classes.

Bug: T98903
Change-Id: Icc20453c999c761b87e19a71ccd43d93b9c1bfa7
2015-06-27 13:14:08 +00:00
Florian
fd10cd5b95 Use HTMLForm for Special:Export
* Transform all input fields to use HtmlForm as preparation for enabling
  MediaWiki UI eveywhere.
* Remove protected whitespace for HTMLCheckField (adds empty line to div-layout)
* Add a new HTMLForm input field "Text with Button" and "Namespaceselector with Button"

Bug: T73434
Change-Id: I53cc019c3ca94cec8f3c05500d0c604c1af7f688
2015-06-14 16:48:26 +00:00
Florian
091936eb2e HTMLForm: Break long lines
Change-Id: Ia09a28ccc361d1a54069bd23a412831fe9c20f34
2015-06-05 03:12:35 +02:00
Kunal Mehta
ede0147134 HTMLForm::factory() doesn't throw MWExceptions
Change-Id: I0104bf1dd9ebb813aa37f92b21515a964ca2a709
2015-05-27 22:37:33 -07:00
jenkins-bot
5eda39e04b Merge "Implement OOUI display format for HTMLForm" 2015-05-24 12:22:29 +00:00
Mark Holmquist
e85bd04bcd Implement OOUI display format for HTMLForm
Bug: T85291
Change-Id: I6ffe93c16d6b209a0ab08d714ad8ddaefb6acd52
2015-05-23 16:10:08 +02:00
Daniel A. R. Werner
def394bea7 Added documentation for HTMLFormField's "hide-if"
Change-Id: I410c58dc0586cfe97e39668c9608ce0d9e10a08b
2015-05-18 22:16:58 +00:00
jenkins-bot
8b82353738 Merge "Use HTMLForm for Special:LinkSerach" 2015-05-07 01:25:01 +00:00
Bartosz Dziewoński
9172be5a0c HTMLForm: Add wfDeprecated to isVForm
Change-Id: Idd8eb9cf63794c5a71439c130ad28564e6d3e750
2015-05-01 22:17:50 +00:00
Florian
e072d7bd8c Use HTMLForm for Special:LinkSerach
* Convert Special:LinkSearch to use HTMLForm for preparation of MediaWiki
  UI everywhere
* Add support for dir= tag in HTMLTextField

Bug: T73439
Change-Id: I8503c391a40f1654f8570578a9de9015d86c9845
2015-04-19 21:10:45 +02:00
Florianschmidtwelzow
e4f5c50652 Use HTMLForm for Special:FileDuplicateSearch
* Prepare the usage of MediaWiki UI.
* Add new HTMLForm output mode "inline" (very close to "raw")

Bug: 71436
Change-Id: I12240aaf624dff5219b344648b20373594b5ec46
2015-03-29 17:23:12 +02:00
Bartosz Dziewoński
f338a1cf31 HTMLForm: Separate VForm code to a subclass
…and in general, work with the existing HTMLForm design for defining
display formats, rather than against it.

Breaking changes:
* HTMLForm::isVForm() is now deprecated.
* You can no longer do this:
    $form = new HTMLForm( … );
    $form->setDisplayFormat( 'vform' ); // throws exception
  Instead, do this:
    $form = HTMLForm::factory( 'vform', … );
  When using FormSpecialPage, override the new getDisplayFormat() method
  instead of calling $form->setDisplayFormat() in the alterForm() method.
  (Other display formats are not affected, only 'vform'.)

Bug fixes:
* Correctly suppress empty labels for VForm fields
* Correctly disable <fieldset/> wrappers for VForms

Other benefits:
* Reduce code duplication related to $getFieldHtmlMethod
* Introduce HTMLForm::factory() method for constructing HTMLForms

Related cleanup:
* Correctly style 'reset' buttons in MediaWiki UI mode
* Label $wgHTMLFormAllowTableFormat as a mobile-specific hack
* Display checkboxes normally in MediaWiki UI mode (removed weird
  override that only broke things). Also, always render checkboxes
  in VForms as .mw-ui-checkbox.
* self:: → static::

Bug: T85285
Change-Id: I086a84f1c8cc6a16710709b7806c7f5f96462b32
2015-01-14 19:33:34 +00:00
umherirrender
cbdc6e53fe Make HTMLForm::formatErrors non-static to can parse message in context
One call in core already called it non-static

Avoid:
[GlobalTitleFail] MessageCache::parse called by
Message::toString/Message::parseText/MessageCache::parse with no title
set

Change-Id: Ic91e715177c0a4578825640a31ec68ecba3176e0
2014-12-19 16:31:55 +01:00
Kunal Mehta
4603f28025 Avoid GlobalTitleFail in HTMLFormField::__construct
Pass the HTMLForm parent instance in the constructor so context
is available when parsing a message.

Change-Id: I532c0d95698cbcc57294b9bd2725f33838f393a9
2014-12-17 14:20:14 -08:00
Florianschmidtwelzow
317345b0df SpecialNewpages: Prepare for mw-ui
Use HTMLForm instead of self-built table structure, to be
prepared for use with MediaWiki UI.

Bug: 71446
Change-Id: I5c03dc543b910aab27a26a5a223341be50893cf3
2014-10-15 23:25:11 +02:00
Matthew Flaschen
c1bf30c2e5 Fix input regression affecting HTMLForms that use VForm
Although the classes (e.g. mw-ui-input) are still there,
the style module was not being loaded.

This affects forms that deliberately use VForm even without
wgUseMediaWikiUIEverywhere (since they pre-date it).

This applies at least to PasswordReset, which was added in
d32891d99f (last October).

Bug: 71448
Change-Id: Ieca36c0036d4c93244c533237eddd678564dd3c0
2014-10-01 02:17:42 -04:00
Prateek Saxena
930dcafb09 HtmlForm: Add @since annotation for methods added to UI standardization
Change-Id: I74f58df9de79d2ad055eaf9760763005996dc0a0
2014-09-24 18:23:33 +00:00
Prateek Saxena
279d4e2883 Special:BlockList: Use mw-ui-progressive for search button
Bug: 71144
Change-Id: I56969edb6651a26ff2579e1ed9f9da34a9536e46
2014-09-23 15:24:51 -07:00
jdlrobson
274978205c Correct button colours of preference page when $wgUseMediaWikiUIEverywhere is enabled
* Apply mw-ui-destructive to Special:Preferences/Reset
  when $wgUseMediaWikiUIEverywhere is enabled

Introduces HTMLForm->setSubmitDestructive()

Bug: 65317
Change-Id: I1d6691dce3e7dab662bda9a718e16c5caee6c041
2014-09-17 00:00:38 +00:00
jenkins-bot
38d59dd213 Merge "Improve hidden field validation" 2014-09-16 00:10:13 +00:00
Bryan Davis
dd107dda96 Apply vform styling to HTMLForm buttons
Check for isVForm() and apply styling matching the default submit button
when generating alternate form submit buttons.

Change-Id: Ia3313087248af1537ac4740694846b6ff1187b1a
2014-09-05 15:56:19 -06:00
umherirrender
63dc5abc9a Fixed spacing
- Added space after reserved words: function, foreach, if
- Combined 'else if' into elseif
- Added braces to one-line statements
- Added spaces after comma, before parentheses

Change-Id: Ie5bbf680d6fbe0f0872dab2700c16b1394906a72
2014-08-27 18:31:50 +02:00
Brad Jorsch
f637ad308f Add HTMLAutoCompleteSelectField
This is much like the one OAuth has in
Special:OAuthConsumerRegistration/propose, except it stores the
autocompletion options in a data property rather than a global and uses
jquery.suggestions rather than jquery.ui.autocomplete.

Change-Id: I42473cea75f3706cc0125167f9191275ca6cb3b0
2014-08-26 15:14:23 -04:00
Kunal Mehta
1d20719c72 includes/htmlform/: Use Config instead of globals
Change-Id: Ibc798f3ee22dec0a77bab39611d490c09b3cb764
2014-08-23 22:09:15 -07:00
jenkins-bot
28fdbd9ea2 Merge "Add blanket support for mediawiki ui via globals" 2014-08-16 00:48:19 +00:00
jdlrobson
aa15d5287d Add blanket support for mediawiki ui via globals
This provides better mobile experiences on various pages
and a more consistent UI across both mobile and desktop.

It does this in two ways.

1) Forces HTMLForms to not use table based layouts so as
not to interfere with responsive nature of mediawiki ui elements

2) Applies MediaWiki.UI classes to most pages
If a page is created via Xml or Html classes it will use mediawiki ui
Where possible I've added classes unconditionally, but for cases of buttons
this is behind the $wgUseMediaWikiUIEverywhere global since button styling is
enabled on pages by default and for checkboxes since it is changes HTML markup.

3) Adds all MediaWiki.UI styles to pages which can use it
When enabled:
* Apply these styles to all pages which use HTMLForms
* Apply to EditPage
* Apply to anything that uses certain elements outputted by the
Xml or HTML helper classes
* Apply to History page
* Apply to protection page
* Apply to move page
* Apply to deletion page

Currently kept behind a global to allow us time to finetune
existing elements. After further testing we will look to kill the
globals and make mediawiki.ui the default

See: I430c0fbb79d2a33bb828b2427bda0ee01115d73f
Change-Id: I47db5eab4569514d039261d11b6dedb0eeae17b5
2014-08-15 14:48:00 -07:00
jenkins-bot
a15fe7dd93 Merge "Turn HTMLBlockedUsersItemSelect into HTMLSelectLimitField" 2014-08-15 21:40:32 +00:00
Brad Jorsch
788526c2d1 Improve hidden field validation
Hidden fields are supposed to be ignored during validation; more
completely ensure this by checking in HTMLForm::trySubmit before calling
validate.

Also, more properly handle HTMLCheckFields in the isHidden check by
casting their booleans to strings.

Bug: 68132
Change-Id: I84f8239c299727b773015643048eed4684417733
2014-07-31 14:04:00 -04:00
umherirrender
a8d4bfaa83 Allow message object on HTMLForm::setWrapperLegendMsg/setSubmitTextMsg
When a message needs plural support, it should be possible to parse a
message object with the params set.

Change-Id: Ifb67952b589a1821cde452b2be3f327f24e6b534
2014-07-27 17:16:22 +02:00
umherirrender
b883e8c7c0 Cleanup some docs (includes/[e-l])
- Swap "$variable type" to "type $variable"
- Added missing types
- Fixed spacing inside docs
- Makes beginning of @param/@return/@var/@throws in capital
- Changed some types to match the more common spelling

Change-Id: I41a84e8e1dec39170aa655250325ffc485eaeaef
2014-07-24 19:43:03 +02:00
Derric Atzrott
0cda6a5182 Adding css styling option for help option in HTMLForm
There is now a new option named csshelpclass that can be passed in form
descriptors for HTMLForm objects.  This option accepts a css class and
applies it to the help text that is provided with the help option in the
form descriptor.

Bug: 65087
Change-Id: If1bd1d12a9159895f45c9cf0fbb7992e4c7e3526
2014-07-16 20:17:07 -03:00
Kunal Mehta
22906ba398 Turn HTMLBlockedUsersItemSelect into HTMLSelectLimitField
Makes it a "real" HTMLForm option that other code can re-use

Change-Id: If0fb7332daf991b790bbf87e825229dccb10b360
2014-07-13 22:44:39 +00:00
Alexandre Emsenhuber
3de2f5a64d Allow to set a salt for the edit token in HTMLForm
And set one in RevertAction.

Change-Id: I9f72c6203e8d9d0770009083263ddca98845f530
2014-07-08 22:45:14 +02:00
Brad Jorsch
0188fe7d5e HTMLForm submission callback documentation updates
The possibilities for the submission callback return value were
documented in three different places, and none were entirely correct.
Related documentation could also use a cleanup.

Change-Id: Ib3621a0d5ba24c481f3117b547bca70d4ca50ba2
2014-07-03 11:21:55 -04:00
umherirrender
b6ed42da0a Remove HTMLForm::addJS() (deprecated since 1.18)
Change-Id: Id174d37b69a2e8d76555c3d414fdb87c01222d66
2014-06-24 19:59:44 +02:00
Thiemo Mättig
f6cff5e392 Update documentation of what a "section" is
There are so many slightly different understandings of what a
"section" is or can be. I'm aware the documentation was improved
just a few weeks ago. I still find it incomplete and confusing.

1. I renamed it to $sectionId to make it more clear what it
really is.

2. Sections are usually numbers. 0, 1 and so on. There is no
reason to disallow the use of ints or even floats (this works
because the string representation of 0.0 is "0"). The code never
disallowed numbers.

3. 'T1' never was supported, as far as I can tell. 'T-1' is
supported. See Parser::extractSections().

4. null and false and '' all mean "the whole page" in
WikiPage::replaceSectionAtRev() but for some reason this meaning got
lost in WikitextContent::replaceSection(). I made it the same again.

Change-Id: Icc3997722d2ed742bf7703cd7c06d09199225720
2014-06-12 18:13:23 +02:00
Brad Jorsch
e9d4d06276 HTMLForm: Add "cloner" type
SecurePoll is going to need the ability to have a form for stuff like
"one or more admin usernames" and "one or more poll questions, each with
one or more options".

This change implements a generic field container that simply displays as
a <ul> followed by an "add more" button, with each <li> containing
various fields including a "remove" button.

Since this is only going to show up in SecurePoll to people creating a
poll (not to general users), the current design is functional but not
necessarily beautiful. Those interested in beauty are welcome to do so
in a followup change.

Change-Id: I46fad3971739ddc961259fe32eb6e1cd265a1c06
2014-05-02 15:02:40 +00:00
Siebrand Mazeland
f994817f6b Pass phpcs-strict on various files in includes/
These files have all had treatment before, and these occurrences have either
been missed or have been introduced after.

Change-Id: I06cdab4616b5bff47c85152df28f18c861730a23
2014-04-24 21:50:01 +02:00
umherirrender
23bb3d1cb4 Follow-Ups to "Fixed some @params documentation"
Fix of inline comments of the following patch sets:
Follow-Up: I0056b4a8df243cfc0c5f25378de48f7a35170aca
Follow-Up: I7f605aa9e117b5fd80d9b1440864fe526d2b14a5
Follow-Up: I3622f216a2ca8ac1b5e51892be9f98665f65bc36
Follow-Up: I6627ba0e76d3577c40bf2473e0f78a5ad7368634
Follow-Up: Id75b5ecf648ca50f955b3bde3307c82c4366b102
Follow-Up: I4ca5231119f33039d91da3b57a41cd40719a576b

Change-Id: Id9bbe84b2820e9db44af5783411e955f55f643d4
2014-04-23 13:39:49 +02:00
umherirrender
dcf6955e5c Fixed some @params documentation (includes/*)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.

Change-Id: Ifbb1da2a6278b0bde2a6f6ce2e7bd383ee3fb28a
2014-04-20 23:33:05 +02:00
Ladsgroup
1ba0445c12 Changing URLs of mediawiki.org in scripts to the SSL-based website
http://www.mediawiki.org --> https://www.mediawiki.org

Part 2

Change-Id: I3be61fe3dfb502cc20180486eb1a8016eac151df
2014-03-12 23:24:03 +00:00
Brad Jorsch
4bd9a382b8 HTMLForm: Support 'url' type
SecurePoll will have a field that's a url, so we may as well use the
correct HTML5 input type for it.

Change-Id: Id3ddd8f2efdff08c8a188089d321d143ce5ef9c9
2014-03-12 15:04:51 -04:00
Brad Jorsch
f88fcb7461 HTMLForm: Allow i18n of 'options'
One shortcoming in HTMLForm is that fields that use the 'options'
parameter (e.g. <select>) have no easy way for the individual labels to
be localized.

This change adds a new parameter type, 'options-messages', where the
keys are message keys rather than bare strings (similar to the
difference between 'label' and 'label-message'). It also abstracts out
the fetching of the various option parameters, and changes the necessary
field classes to use it.

Change-Id: If4175332405d26c7ff2e8fbe100bcad61762ce6f
2014-02-19 23:26:23 +00:00
Reedy
bec75cc99f Refactor out HTMLFormField class and type normalisation code
Also include fieldname when exceptioning over bad descriptor class

Change-Id: Ia612453625fdeb611875d5ffc724cef2abe4f776
2014-02-19 21:39:29 +00:00
jenkins-bot
f73c54a0a4 Merge "Fix HTML output arround HTMLForm's submit buttons when in vform" 2014-02-08 03:25:09 +00:00
Siebrand Mazeland
0cef781886 Fix CodeSniffer errors and warnings
Change-Id: Idc74e34634d88625773fb8f73315f61edfa67e28
2014-02-05 11:20:17 +01:00
S Page
d276ff5d06 Use new mw-ui-constructive Agora styles
The new Agora ("beveled bottom") version deprecates mw-ui-primary.
* Use mw-ui-constructive (green) for Login, Create account, and Reset
password.
* Use mw-ui-progressive (blue) for Join <wiki> and Search.

A separate change I90954ea will implement right-aligned and quieter button layout.

Bug: 60596
Change-Id: Ia1fe557e7ebeac011c5da7297e848c1bfee7910f
2014-01-30 01:17:00 +00:00
Matthew Flaschen
a0edc19f42 Add mediawiki.ui.button to places in core using mw.ui
All of these also use other mw.ui features (e.g. mw-ui-vform,
mw-ui-input, mw-ui-checkbox-label, etc.), so they can't only depend
on mediawiki.ui.button.

Change-Id: I6906533753185f7de42552cff38a86fb0171d1d8
2013-12-18 20:23:17 -05:00
Alexandre Emsenhuber
0311433ce5 Fix HTML output arround HTMLForm's submit buttons when in vform
$html in HTMLForm::getButtons() is vrapped in a <div></div> when in
vform mode but it contains a <span> tag without its closing
counterpart, thus making the HTML invalid.

And while I'm at it: put line breaks at better places.

Change-Id: I7ffa1bdd72d95188320c1b29d1c46a5f6f434cbe
2013-12-15 22:06:46 +01:00
addshore
8fa2314b2e Formatting fixes in includes/htmlform/*
Change-Id: Iee9e4f3fcf8491022ffe97c74312871f97f8ce9c
2013-12-09 14:23:05 +01:00
addshore
976276338a Split includes/HTMLForm
Change-Id: I6eabfdb064c0e35b69efe9d6142e94df4128b632
2013-12-08 23:13:56 +01:00