Commit graph

91 commits

Author SHA1 Message Date
Bartosz Dziewoński d77a69f236 Don't lowercase image caption/alt when prefilling image fields
Judging by the presence of this bug, no one ever uses this feature.

Change-Id: I46a986dd83cf98a8b9f5dcb5bd4c3acb04a6cf5b
2021-01-22 21:23:44 +00:00
Bartosz Dziewoński dc93bf1b37 Parse alternative magic word translations when prefilling image fields
In some languages, image options like 'alt' or 'thumb' can have
multiple synonyms. They were only handled for English (and were
hard-coded).

Change-Id: Ib03932d3d85a5540bea325f2717da3365756a90e
2021-01-22 22:15:16 +01:00
Ammar Abdulhamid ab287ade14 Allow specifying alt-text in File dialog
* Also add expandable help message to explain the alt text field

Bug: T260006
Change-Id: If16ff742d7a8dee4917884e73e9c95bf76350773
2021-01-22 21:37:17 +01:00
pcoombe a822d1c197 Add caption when inserting table
Data tables should always include a caption for accessibility reasons.
So add a placeholder caption when using the "insert table" button.

Bug: T252350
Change-Id: I6773e2274007946de516ae34e841f66ad20ebc0c
2020-05-11 11:09:23 +01:00
Alexander Jones 884991e4a0 Localize numbers before passing to mw.msg
This commit localizes numbers before passing to mw.msg. This occurs
in two places, the successful replacement count and the error message
where too many cells are used in the table tool. The comment above the
second call was not correct, as the existing message used a substitution.

Bug: T244812
Change-Id: I00f83bd478bc42cb536edceba2bcc9daf0b13b3d
2020-03-27 14:04:27 +00:00
Fomafix 9542561b9c Preload modules of the file upload dialog
This prevents a delay when showing the file upload dialog.

Change-Id: I0c29def8e65302078d4fd528abee7c07373803e7
2020-03-03 06:26:10 +01:00
Fomafix 47a7e21216 Lazy load the modules for the upload dialog
This reduces the initial loaded modules.

Also add the dependency on module 'oojs-ui-widgets' because
jquery.wikiEditor.toolbar.js uses OO.ui.ToggleButtonWidget.

Change-Id: I03d0f73fb77bb389dd4e5ad2aa15b3ff5a97e5f5
2020-03-03 06:25:51 +01:00
Fomafix 3def0a39fc Use document.body instead of 'body' as jQuery selector
Change-Id: I05737b760a4875a58101a520d18cd21528175410
2019-12-16 11:36:27 +01:00
Ed Sanders 85ac5f2e07 build: Update linters
Change-Id: Idcac2a782781a86dabd91f30a41adac1ea94ef16
2019-10-29 22:16:13 +00:00
jenkins-bot 9a25fc5557 Merge "Remove use of jquery.tabIndex (take 2)" 2019-10-16 21:49:54 +00:00
Timo Tijhof b505eaed24 Remove use of jquery.tabIndex (take 2)
This was used for setting incremental tabindex attributes
on the <button> elements of the "Find and replace" dialog
as opened from the "Advanced" toolbar section. I was unable to
find a difference in behaviour with and without this code running.

Both with and without this, when tabbing from the first input
field in the dialog, the buttons are in the tab order after
the input fields (matching the visual rendering). Unclear
what this was doing.

This re-applies commit 81b08daa48, which was reverted (5f356b1a),
because I forgot to remove the calls in  dialogs.config.js.

Bug: T234581
Bug: T235701
Change-Id: Ic51074c3d2b2e9b9b050c9f42862519a3e78af16
2019-10-16 22:03:29 +01:00
Ed Sanders 2112538387 build: Update linters
Change-Id: I3a50982ee652c4c1c9b357c793e07cccf014e261
2019-10-07 16:52:10 +01:00
Timo Tijhof 7e5b71b04e mediawiki.RegExp (deprecated) -> mediawiki.util
Bug: T218339
Change-Id: Idd56fbd34648eeb42434848119b118375562cd14
2019-09-09 17:55:24 +00:00
Alex Monk 20d3c66c2c Follow-up Ia75d685c: Fix the insert file dialog
This appears to have been an oversight in the above change. Since the magic
words variable was no longer set, magicWordsI18N became null which broke
things, and caused whitespace info to not get recorded, which broke the
ability to handle the dialog being submitted too.

Bug: T230078
Change-Id: I5c44ed348de6ac2363d3d789b38053caa3935f62
2019-08-07 23:02:19 +00:00
Roan Kattouw d23d096281 Convert ext.wikiEditor module to packageFiles
This allows us to bundle the wgWikiEditorMagicWords and
mw.msg.wikiEditor(?!) config vars that were previously exported globally
in the startup module.

This code is old and crufty, so this is a somewhat minimal conversion:
* Use require() for jquery.wikiEditor.{dialogs,toolbar}.config.js,
  and for jquery.wikiEditor.{dialogs,toolbar}.js
* Don't attempt to convert jquery.wikiEditor.js to something
  require-based, instead just run it and let it set the $.wikiEditor and
  $.fn.wikiEditor globals
* Consolidate ext.wikiEditor.{dialogs,toolbars}.js into
   ext.wikiEditor.js

Bug: T222828
Change-Id: Ia75d685cbde786e8fceb6db36f2436b2beea1499
2019-08-05 22:24:56 +00:00
Alexander Jones 2075d6d2dc Pre-fill fields in image dialog when image code is selected in editor
This commit adds a function to parse image syntax selected in the
editor and uses the parsed data to automatically fill the fields
of the WikiEditor image dialog. Surrounding whitespace in the
selected wikitext is now included in the result. This causes an
issue with the ownline option in line 840, which appends an extra
line regardless of the post text.

Bug: T40829
Change-Id: Ib117a2e6350400f9298d4892a00981ac41f3dbbf
2019-08-01 00:34:06 -05:00
jenkins-bot 7c75285577 Merge "Search: Add option to search whole words" 2019-05-19 18:21:54 +00:00
Derk-Jan Hartman f501cdc9c6 Search: Add option to search whole words
Bug: T24478
Change-Id: Idb47ac392b0f8b1425053c6916db8f25c11c9762
2019-05-15 22:03:54 +02:00
Ed Sanders f9f01cf6b7 build: Update eslint-config-wikimedia 0.10.1
Change-Id: I71b5c0a1b499865b56ef6957427cae7c97609d73
2019-02-06 01:26:47 +00:00
Ed Sanders 583ad04b87 build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I5fea8a1d6c91ea69c3490101ea38ce4626bd7e11
2019-01-08 23:32:56 +00:00
jenkins-bot 6cc83d2f93 Merge "Search & Replace: Fix using replace as first action" 2018-11-30 23:35:24 +00:00
Ed Sanders c19397ffbc Update eslint-config-wikimedia to 0.9.0
Change-Id: Ie60321d33b786a9f56fbf0df26571be7c0a29de8
2018-11-27 17:36:31 +00:00
jenkins-bot 4d479d62f9 Merge "Search & Replace: Use actual global replace" 2018-11-19 22:54:43 +00:00
Derk-Jan Hartman 38c3f2ed98 Search & Replace: Fix using replace as first action
When you use replace, before having used find, matchIndex gets out of
sync with what replace is expecting and encapsulateSelection won't
have a selection and thus defaults to position 0.

Bug: T76750
Change-Id: I1dcc724e7548690a3cc63672f93a3099c028f123
2018-11-19 07:21:21 +00:00
jenkins-bot 7ff3ffa829 Merge "Remove the dialog version of ref inserter" 2018-11-18 14:38:23 +00:00
Derk-Jan Hartman 8284c0480d Search & Replace: Use actual global replace
The old S&R implementation introduces problems with regexes (T58228 and
T50614) and is also rather slow. At some point in the past it was faster
to do multiple search/replace actions using textSelection perhaps, but
with current browsers doing a one shot replace will perform much faster.

If you have CodeMirror enabled, there will be a delay after replacing
all content on a major page, but no worse than the original page load
one, which I think is acceptable.

Bug: T58228
Bug: T50614
Bug: T25510
Change-Id: Ifab1d071d9f09ec55aa6556b5dca04378c4e5273
2018-11-17 21:11:01 +00:00
Derk-Jan Hartman 0089645a46 LinkDialog: Switch to jquery.throttle-debounce plugin
Change-Id: Iebca0398d6bc2939a0904c4cd23395d3207cfea5
2018-11-17 12:07:39 +00:00
Derk-Jan Hartman 709e2bbdfd Remove the dialog version of ref inserter
1: reftoolbar is used in more advanced situations
2: it doesn't actually do much
3: leaner

Keeping it in the same file, because that will preserve order. seems
safer.

Change-Id: I9bb2cf1e8731d12551a00b717b11602e6192d299
2018-11-16 21:49:31 +01:00
Derk-Jan Hartman aaa454b618 Remove browser arrays
Follow-up to I189516917d805dff3819e742a9fd8ad96a161159

Change-Id: Ic2e5389cc565ef061f4f846ad628ee6ea1a8a9fb
2018-11-15 22:59:51 +01:00
Derk-Jan Hartman a686b7f580 LinkDialog: use placeholder instead of fake values
Use proper placeholder attribute instead of faking it with a value.
This predated even jquery.placeholder and is no longer needed.
Also fixes a bug where it was checking with the API for the existence
of the placeholder value.

Bug: T133716
Change-Id: I290ec48f6b1d250da28efffd7ebdb6b681c0227e
2018-11-15 07:06:20 +00:00
Ed Sanders 4fa41179e8 Remove obsolete aliases from closures
Bug: T208951
Change-Id: I0b2993912de221e810414e46708c19be163922f6
2018-11-12 22:28:40 +00:00
Zoranzoki21 7ccbaa3539 Fix "the the" typo
Bug: T201491
Change-Id: I93f905e2f83c6f93aa75a3c826897c165873f6f5
2018-08-27 20:13:56 +00:00
James D. Forrester a24d4748a5 Fix missing 'find' icon, now called 'articleSearch'
Change-Id: I364ac11825564619898c699e66de7d36963cab49
2018-08-24 09:41:17 -07:00
Volker E 17b772e314 Use 'reference' instead of 'book' icon
'reference' is the standard icon for reference.

Bug: T202463
Change-Id: I3e0ed63c449de623a139b3ee3c6866ba3faa7712
2018-08-21 15:53:22 -07:00
Ed Sanders 72e48c26e0 Convert remaining tools to OOUI
Replaces the insert and advanced-insert groups, which
are currently multi-colour icons.

Drops the button-sprite + offset mode, according to
mwgrep there are no other users of this.

Bug: T191031
Bug: T143508
Change-Id: I7032f98908a591ea5c9d3dbbb7616e2c10bbfc80
2018-04-11 15:50:23 +01:00
jenkins-bot b0a5d572d1 Merge "Remove never-used tools" 2018-03-21 19:38:23 +00:00
Ed Sanders accdb762f1 Remove never-used tools
Five tools are registered in toolbar.config, then overridden
in dialogs.config with more advanced verisons. As the dialog
module is no longer optional, the simplified versions are
no longer accessible.

Change-Id: Ib66025d209a36fb821c5619cbfe63330fb6c9a1f
2018-03-21 17:28:32 +00:00
Fomafix d5648e2c95 Avoid '|' in title is interpreted as separator on API request
mw.Api uses U+001f as separator when the title contains a '|'.
This is activated by using an array instead of a string.
The local check for an invalid title because of a '|' is not necessary
anymore.

This changes requires MediaWiki 1.28+ which is already required.

Change-Id: I8450c478d42158f064bf5309efae6bd1d81244ea
2018-03-04 09:44:27 +01:00
Ed Sanders 66a29b9c0a build: Update linters and fix errors
Change-Id: I3d316cfa7432d0600f0114608342155c1d1f6c1d
2017-10-31 18:40:57 +00:00
Fomafix 1e0621fc1f Show invalidreason from API response on invalid title
Bug: T99547
Change-Id: I34372e054e509732b008875260ba5c5e0248e551
2017-10-11 11:02:08 +02:00
James D. Forrester ba6e4e171d Follow-up d400102: Drop irrelevant comment, merge var declaration
Change-Id: I09685da71cdfa21b40258ecffc64fa9a2f6ec272
2017-05-22 13:20:09 +02:00
Ed Sanders d400102c38 Remove IE8 hacks
Change-Id: I23e33e3498487bedcc50d95e2162175e940882c4
2017-05-22 11:50:04 +02:00
Fomafix 5432a42d2d Use background-image instead of <img> for spinner
* Background images get embedded.

Change-Id: Iea1fb3db29b1eb8d5bff1b9b07a6c16145b9efc0
2017-05-05 19:09:37 +02:00
Ed Sanders 1b0bd60ee8 build: Update eslint to 0.4.0 and make pass
Change-Id: Ib0ac14fb53479eb964a5d51066661b4771b1f72e
2017-05-04 22:38:47 +00:00
jenkins-bot ecc01e9122 Merge "Explicit load module 'jquery.tablesorter' instead of use when loaded" 2017-04-27 13:04:51 +00:00
Fomafix 278ae63c04 Explicit load module 'jquery.tablesorter' instead of use when loaded
The module 'jquery.tablesorter' is already loaded a few lines above.
The previous situation depends on a race-condition of the function is called
or not.

Change-Id: If6777fcc7d9d49604eb78b6d233a32898fc82446
2017-04-27 13:50:23 +02:00
Fomafix 24ee938095 Replace deprecated jQuery.isArray with Array.isArray
jQuery.isArray was deprecated in jQuery 3.2.0. [1]

Array.isArray is part of ES5 and MediaWiki 1.29+ which ensures that
JavaScript is only used when the browser supports ES5. (T128115)

Performed using:
find . -type f -name \*.js -exec sed -i -e 's/\$\.isArray/Array.isArray/g' {} \;

[1] https://blog.jquery.com/2017/03/16/jquery-3-2-0-is-out/
[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray#Browser_compatibility

Change-Id: Ia1a118fefb23761fe297647442f0a598a9488968
2017-04-26 16:04:51 +00:00
Fomafix bd133991ba Replace deprecated jQuery .unbind() by .off()
jQuery .unbind() is deprecated since jQuery 3.0.
https://api.jquery.com/unbind/

The deprecated jQuery .bind() was aready replaced by .on() in 7769baa5.

Change-Id: Ia03d7a26754cc26345d9551d740719c43f598995
2017-03-23 20:36:39 +01:00
Ed Sanders 9f7fcfd80e Follow-up Ife5e782bd: Syntax fixes
Change-Id: I0a9d68344b2e5ed5589d421525e6113b72476705
2017-01-09 13:43:42 -08:00
Timo Tijhof 7769baa56e Replace deprecated jQuery bind() and size()
> JQMIGRATE: jQuery.fn.bind() is deprecated
> JQMIGRATE: jQuery.fn.size() is deprecated; use the .length property

Note that bind() is not removed in v3, merely deprecated.
Even after the jQuery Migrate phase, it will continue to work.

size() was removed in v3 and works only during the Migrate phase.

https://api.jquery.com/size/
https://api.jquery.com/bind/
https://jquery.com/upgrade-guide/3.0/

Bug: T124742
Change-Id: I6bbd8f829ecf987228c6a5abd32c84e4e088a9bd
2016-11-21 18:23:50 -08:00