Retry I63414a78ce2546125d557cb37ccb37ea16a15fe1: adds shortcuts for
bold, italic, subscript, superscript and nowiki options, and the link
insertion tool in WikiEditor. The hotkeys match the ones used in
VisualEditor and NWE 2017.
jQuery event.which is used instead of event.code or event.key for
compatibility with alternative keyboard layouts and non-English
keyboards.
Bug: T62928
Change-Id: I18db5b6c53000457524573a9ae06939e8df0dc4f
This reverts commit 250a2a3ff3.
Reason for revert: For me (I use the Dvorak keyboard), this makes Ctrl+C and Ctrl+V to copy/paste completely unusable. My "c" key is physically the "I" key (`KeyI`), and the "V" key is physically the "." key (`Period`).
When dealing with shortcuts like this, one should use `KeyboardEvent.key`, not `KeyboardEvent.code`.
Bug: T62928
Change-Id: I64f625e0f32bd699790417d0d74a14251ac7dc36
Add shortcuts for bold, italic, subscript, superscript and nowiki
options, and the link insertion tool in WikiEditor. The hotkeys match
the ones used in VisualEditor and NWE 2017.
Bug: T62928
Change-Id: I63414a78ce2546125d557cb37ccb37ea16a15fe1
Modules loaded with packageFiles are always executed in module scope
(with a closure), even in debug mode.
The behaviour of non-packageFiles debug mode is the only reason files
have closures.
https: //www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Closure
Change-Id: Idd7ffde7900adbca914c43a6bf7cb1b3fbf92bfa
WikiEditor has a clever functionality where you can enter a message
key directly by using [key]Msg syntax in the object definition. While
that may have been a clever approach, it led to tons of messages
in this extension having to be marked as RawHtmlMessages because
they could potentially be parsed as HTML. Thus I am replacing all
of these instances with using mw.message explicitly instead, with
the necessary method attached.
The autoMsg (and its cloned autoSafeMsg) functions have had FIXME
comments attached since 2018 saying that these methods are
unnecessarily complex and should be replaced with using mw.messages
directly.
This solves a lot of problems for translators in Translatewiki, and
hopefully makes the code more straightforward and easier to understand
for those reading it down the line.
I would like to remove the autoMsg and autoSafeMsg functions
altogether, but their functionality is still in use in a few
extensions (and potentially on-wiki code), so we would have to
clean up that first.
Bug: T154891
Bug: T294760
Change-Id: I2835341867df85552579ea6927cd39a6f889fa6b
These config settings were specific to the Cite extension,
and are misleading on wikis that don't have that extension
installed. Move the functionality to the Cite extension
instead.
Bug: T339973
Depends-On: Ib3fdc897dd3330f69c5832003d4c3cb1e6dba2f3
Change-Id: Ib619706ddfca724990e1db2d51f12a2eb05f6a72
Add a new top-level section to the right side of the toolbar,
containing a single (empty) 'default' group.
Bug: T296447
Change-Id: If88789f20420f02c729122392e16509bbc5ae7d0
An <a href="#"> element
* shows a status line with a URL on hover and
* opens a new tab on middle click.
For still supporting keyboard navigation the replacement uses
* tabindex="0" to have the normal tab order and
* .on( 'keydown' ) to catch the Enter key.
The image example in the help does not need a link or a keyboard
navigation.
Change-Id: I6d75f75871bb29bdd878451f282f2055ed3f4f5c
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
This bumps the extension to requiring the 1.33.x releases of MediaWiki,
which are currently in alpha.
Change-Id: I55f77294d271c81f510ce54181a24435b840d3d2
Depends-On: Ib2faa22c429096d545ddb829a6b4025427ad6071
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
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
strings
* This avoids escaping of double quotes.
* Exceptions: "''" and "'''"
* https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Quotes
Set "validateQuoteMarks": { "mark": "'", "escape": true } in .jscsrc
This tests for single quotes but allows double quotes to avoid escaping.
Change-Id: Ibd32a63c4c97a7ef8938c6d2dff83b952cfca43e
Per T42972, the current hidesig implementation is broken, and only
hides the signature button in namespace 0 regardless of the value of
$wgContentNamespaces.
Seeing as the old implementation of hidesig was broken, I don't really
think backward compatibility with old configurations is a useful
concern here. In particular, hiding of the signature button is no longer
able to be configured in Special:Preferences (why such a trivial pref was
ever able to be exposed to users, I don't know).
Bug: T59727
Change-Id: I596fd435bc9be8c37da43177c1bea90ebff0b2fe
* Internal links: Show simple example first
* References: Show use of unnamed references
* Discussion: Use --~~~~ for consistency with what the toolbar button inserts
Bug: T26128
Change-Id: I08de0ad416727447eccad914c2ade3a93e5a8ae2
* Re adds svg images that were reverted earler for causing problems.
* Adds some missing rtl svg images.
* Fixes insert-ilink.svg that was causing it to not show in some browsers eg internet explorer.
User Perhelion Fixed the problem in insert-ilink.svg and insert-signature.svg. I just added it to button-sprite.svg.
Related less file adding svg to it is at https://gerrit.wikimedia.org/r/#/c/195529/
Bug: T37342
Change-Id: I14482c7b66901609689bf9ddb67b8d2add937612
Use mw.language.getFallbackLanguageChain() to get the
fallback language chain. This chain currently always contains 'en'
as last element. Remove the last element to prevent a fallback to 'en'.
Reimplement autoIconOrOffset to correctly prefer sprite before icon.
Bug: T87247
Change-Id: I452dd45d20ea4dd542d63274b7aad0272e20ea12
Also update the actual HTML with what the current parser outputs:
* width:104px -> width:102px (2px in addition to 100px image width)
* No more "title" attribute on the outer <a>.
And reduce duplication in the message:
* Re-use "thumbnail-more" message.
* Re-use "wikieditor-toolbar-help-content-file-caption" message.
Change-Id: I25f0763b2274ebdcf681c78af277a9be302350a1
magnify-clip.png was recently removed from the core styles directory,
but the Help panel of the WikiEditor still references it by way of i18n
message: wikieditor-toolbar-help-content-file-result
Also remove unused local copy
Bug: T85920
Change-Id: Icc17092c0f854360b2f2999b8f153827bf194c0c
Instead of having this magic word in the translation message, make it a
parameter of the translation message and retrieve it from
wgWikiEditorMagicWords.
Bug: T40831
Change-Id: Id3155221aa61bc86da2d90000dedab36cbe9dd96
eqeqeq:
* Change loose comparisons to strict comparisons where
it seems safe to use a strict comparision instead.
Mostly comparisons to strings or objects, and comparisons to
numbers where the other value is known to be a number, too.
E.g. foo == 'string', bar == node, indexOf() != -1.
* Add eqeqeq:false to files where there are non-obvious usages
left.
onevar, quotmark:
* Disabled in files with lots of style violations.
unused:
* Remove unused variables that have no side-effects in their
assigned expression.
Coding style cleanups on affected lines where trivial.
Change-Id: I5db155a632740e24cb52dba2177c7fc35d5aebd5
* Added closures for jQuery where missing.
* Added closures for mediaWiki where missing.
* Using ready( $ ) where possible.
* Removed empty CSS block.
Change-Id: Ifdd4b10063221a4967d812eafd43858623ec5d28