Commit graph

120 commits

Author SHA1 Message Date
Ed Sanders 1d20fd47a3 Remove $controls / $tabs / $buttons interfaces
Bug: T380034
Change-Id: I041ae16f5916a51697aabd1a31d6f7fbc051b8e4
2024-12-04 12:48:57 +00:00
Siddharth VP 5413262fee Retry adding keyboard shortcuts for formatting tools in WikiEditor 2010
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
2024-10-17 01:20:53 +05:30
Jon Harald Søby b937a0afc6 Revert "Keyboard shortcuts for formatting tools in WikiEditor 2010"
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
2024-10-09 13:29:41 +00:00
Siddharth VP 250a2a3ff3 Keyboard shortcuts for formatting tools in WikiEditor 2010
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
2024-10-02 15:56:53 +05:30
James D. Forrester 15942df103 build: Update MediaWiki requirement to 1.43
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I2b42ad8672792f8f6cab43eedf211d7bfb760ab6
2024-08-22 18:51:30 -04:00
Fomafix 9b7ec7ec48 Use "optional_services" to inject service MobileContext
This change requires a soft dependency on extension MobileFrontend
in project integration/config in file zuul/parameter_functions.py.

Depends-On: Idd55fb06cb166c00817f53287ab17984cae6a7a4
Change-Id: Ia0f6dc59cfac3d201c19bc4a62a5df9590c1ed37
2024-04-05 08:52:21 +00:00
James D. Forrester 8f16d58114 extension.json: Drop RL targets definitions, no longer honoured
Bug: T328497
Change-Id: I3a1f2f7f5e2f723218e515305c6e7ec0fc09faac
2024-01-12 08:55:14 -05:00
Fomafix 091c663fa6 Use MediaWiki\ResourceLoader\ImageModule instead of ResourceLoaderImageModule
The class name ResourceLoaderImageModule is deprecated since 1.39.

Change-Id: I8731d8929613b6df5b1511fb3e409b5df0cda2d1
2023-12-01 12:07:27 +00:00
gerritbot 933231e808 Update UserOptionsLookup's FQN
User-options related classes are being moved to the MediaWiki\User\Options namespace in MediaWiki Core; reflect that change here.

Bug: T352284
Depends-On: I9822eb1553870b876d0b8a927e4e86c27d83bd52
Change-Id: Ia3e82b9271fd7d5ecc27e58f3f955c427f83346a
2023-11-29 12:41:20 +00:00
Ed Sanders 5e73c18eb1 Follow-up Ib536b51: Remove wikieditor-toolbar-tool-link-int-invalid, unused
Change-Id: Iab5491e098b15268e3017f931d49a0d7dd69d818
2023-11-03 13:36:40 -04:00
Ed Sanders c3b77c004b Follow-up Ib66025d: Remove unused message keys
Change-Id: If92c408f94473d1a138e77105ef4946edb393f40
2023-11-03 13:25:30 -04:00
James D. Forrester 05e230fee4 build: Update MediaWiki requirement to 1.41
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I5863af5d7c298ffe7fec38934307465947452958
2023-08-19 14:22:39 +08:00
Jon Harald Søby 499c71114a Stop using autoMsg and use mw.messages directly instead
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
2023-07-06 10:39:24 +02:00
Jon Harald Søby 5c18abff00 Move reference-specific settings to the Cite extension
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
2023-06-22 14:07:29 +02:00
Jon Robson 91425b5383 jquery.cookie is deprecated
Bug: T271995
Change-Id: Ie46361101043ed6816a6f5079043d971c6ab7f52
2023-05-15 14:08:35 -07:00
Volker E 58e69d97b9 styles: Replace 'mediawiki.ui/variables' call with skin variables
Replacing 'mediawiki.ui/variables.less' @import with
new skin-aware 'mediawiki.skin.variables.less' standard.
Also
- replacing several static values with new Codex design token featuring
  skin variables.
- reinstate static values only on resizeable drag bar. This is not a
  standardized component yet and will be revisited with further Codex
  component definitions in future.
Bump required MediaWiki core version to v1.41.0.

Bug: T319381
Bug: T332541
Change-Id: I323561894ddf23aa89f51439fc9df2b7642eaca5
2023-03-27 11:26:24 -07:00
Sam Wilson 97f104d58d Realtime Preview: enable by default
The Realtime Preview feature is already enabled by default on
Wikimedia wikis, and has been for two months.

Bug: T323329
Bug: T327515
Change-Id: I72ac9a4c83d0e7cccacab576c13c08f33616b696
2023-03-21 15:43:27 +08:00
Sam Wilson 56b4ba8476 Realtime Preview: remove Beta Feature and onboarding popup
Delete almost all code realting to the onboarding popup (blue
pulsating dot) and Beta Feature. Leave only one line to delete
any existing localStorage item that was used to remember the
dismissal of the onboarding popup.

Bug: T327515
Change-Id: I8d05e143858a2269dd6f3302dcc6cee6b0855ffd
2023-03-17 15:22:32 +08:00
Sam Wilson 68c6d366ce Add config var to disable Beta Feature
Add new $wgWikiEditorRealtimePreviewBeta configuration variable
to make it possible to turn off the RTP Beta Feature even when
the BetaFeatures extension is installed.

Bug: T323033
Change-Id: Ib79f4eaee9cee7404ff883f5e0685610d9dba9d9
2023-01-09 13:08:55 -05:00
Jon Robson 59b04bcba3 Load WikiEditor modules on mobile.
Bug: T324723
Change-Id: Ifa355f3821c72935c74650fa635a6ab863c70d39
2023-01-04 12:52:38 -08:00
Sam Wilson 3ac3629c8d Realtime Preview: add mediawiki.storage module dependency
It is used by the onboarding pulsating dot and popup.

Follow-Up: I7f4dd0858349b0e7c4f4bedea5c7a62a51c6fa3a
Change-Id: Ic61559793fcac47f6b6246872212f70fcf870cbf
2022-07-11 05:51:51 +00:00
Sam Wilson 4ff946aea4 Realtime Preview onboarding popup
Add a pulsating blue dot to the Realtime Preview toolbar button
that displays an onboarding popup when clicked and disappears
forever when dismissed.

Bug: T294589
Change-Id: I7f4dd0858349b0e7c4f4bedea5c7a62a51c6fa3a
2022-06-01 14:11:49 +08:00
jenkins-bot b62c5cf06a Merge "Use new ResourceLoader namespace" 2022-05-25 02:16:51 +00:00
Tim Starling 6b2cca3b2b Use new ResourceLoader namespace
Extensions using Phan need to be updated simultaneously with core due
to T308443.

Bug: T308718
Depends-On: Id08a220e1d6085e2b33f3f6c9d0e3935a4204659
Change-Id: I289b8cb5e74b5d87e26bfe6b779a22eaaa1071ee
2022-05-24 22:59:49 +00:00
Sam Wilson 3ab9a863a2 Realtime preview: improve toolbar button style
* Add hover and active styles to match normal toolbar state styling.
* Move border from right to left on `.section-secondary .group`.
* Add a skinStyle for MonoBook so it doesn't get the button style,
  because it provides its own.

Bug: T303991
Change-Id: I6f08906156a9768729d779b6c50c9e804f51fb98
2022-04-26 15:08:28 +08:00
Thiemo Kreuz 7573a7dbad Remove all unused "loading" code, messages and animations
The CSS was already unused when the extension was created in 2010.
A comment that still mentioned the CSS class was removed via
I0798864 in 2022.

The message is unused since I9fb7e66, that was in 2021.

Change-Id: I25cd31efc4ee61ff3f857c280b5cd18c3ae4bd00
2022-04-21 15:29:15 +02:00
Sam Wilson 84b41f07be Reduce $wgWikiEditorRealtimeDisableDuration from 10 to 6 seconds
Bug: T304568
Change-Id: I70c7b0e42b47f564ea3106544da0674fa28d1b71
2022-04-21 11:10:12 +08:00
Sam Wilson 4c760f8634 Realtime Preview: display manual-reload bar when previews are slow
After three slow preview requests, switch to showing a bar at the
top of the preview area that contains a manual 'reload' button.

The manual bar will be hidden when an error message is show, but
re-shown again after the error is dismissed. Closing and
re-opening the preview pane doesn't reset the manual mode.

Bug: T304568
Change-Id: Ia72bd1ceab68fdaed5de53137bd8ac5961db4714
2022-04-20 13:01:14 +08:00
Sam Wilson 94d4912103 Realtime Preview: add hover button for reloading
Add a 'reload' button to the right-side preview pane (that shows
on hover, and stays in the same place when the preview is
scrolled), and also an accesskey to trigger the preview. If the
preview is not open when the accesskey is pressed, it'll be
opened.

Bug: T303532
Change-Id: Ifa77ad7cf6d2ed6a8b955f9a324986d1c6f9a993
2022-04-14 08:08:58 +08:00
MusikAnimal b8bdd64ee5 Realtime Preview: add as a Beta Feature
For MW installations where BetaFeatures is not available, Realtime
Preview is enabled solely with the $wgWikiEditorRealtimePreview
configuration setting.

Bug: T304596
Change-Id: I880022883bf526a2aef237f4a75e790b0f9bd4e5
2022-04-06 13:45:44 -04:00
Sam Wilson e6b77fb2ab Persist Realtime Preview state in a user preference
Store the current state (enabled/disabled) of Realtime Preview in
a new user preference `wikieditor-realtimepreview` and set it
when enabling or disabling the preview pane.

Bug: T294599
Change-Id: Id5f51c6d77ed0077906d5d5178cbfa785cc04dcf
2022-03-31 21:01:36 +08:00
MusikAnimal f1a2ba96eb Realtime Preview: disable if average response time is very slow
$wgWikiEditorRealtimeDisableDuration is introduced which allows
sysadmins to control the average time after which Realtime Preview
should be disabled. For now, this shows a simple error message that is
intentionally not localized. In a future patch, we will force the
user into a 'manual preview' workflow. See T304568 for more.

Bug: T302282
Change-Id: I2f01eef19fe81c19efedcc0073a28884f0055359
2022-03-30 12:28:23 -04:00
jenkins-bot 07423d1a9f Merge "Add nicer realtime preview error messages" 2022-03-24 20:00:40 +00:00
Sam Wilson 6175e2c519 Add nicer realtime preview error messages
Add a new ErrorLayout to display error messages along with an
image.

Bug: T303383
Change-Id: I1ec27a212b5ab67d3e805c0d7756432850de89ea
2022-03-24 14:56:19 +08:00
MusikAnimal 68e6561857 RealtimePreview: add config setting for debounce time
Change-Id: Iaf49f076c5a290ab9049267b0aede1e6b13a9136
2022-03-24 02:00:19 -04:00
Sam Wilson 411be83bc3 Add toggle button and two-pane layout for realtime preview
* Toolbar button to toggle a two-pane layout on and off.
* Resizable bar for the width of the two panes.
* Resizable bar for the edit box height, even when realtime preview is off.
* Only enabled when $wgWikiEditorRealtimePreview = true.
* Fires JS hooks when enabled, resized, and disabled.

Bug: T293347
Change-Id: Id09d44519249c0b7f5c33d48d524b7c92a5a9106
2022-03-13 07:28:01 +08:00
Sam Wilson 2aa9e1d298 Remove unused messages and commented-out code
It looks like `wikieditor-loading` was already commented out in 2010:
9d278e8dee%5E!/#F114
and I couldn't find any usage of `wikieditor-toolbar-loading`.

Change-Id: I07988643ca502dcbd7c3208fb803a84003947d5e
2022-03-02 02:40:05 +00:00
Ed Sanders d1dc65cfd5 Remove unused deprecated module "jquery.throttle-debounce"
Change-Id: I76a43af8d67768622e6cc0e0d3a059027a5a232f
2022-02-22 01:08:45 +00:00
Reedy 51c3fe42bd Swap to AutoloadNamespaces
Change-Id: I4eb121b4e81b4ec4833ce0bea81ae041abbdacc9
Follows-Up: I0be9b88accafce97f7e9b7524ec740fb576fa11c
2022-02-06 13:55:54 +00:00
Ed Sanders b4f144057e Tag WikiEditor edits with a hidden tag
Bug: T249038
Change-Id: Ia4267bc430ba0f12cce496ebf6f8c1773ae355a6
2021-12-07 23:30:27 +00:00
Sam Wilson 79a0d3040e Disable link-insert button if target is empty
Set the opening state of the insertion button (in the insert-link
dialog) to disabled, and also disable it whenever the target field
is empty. This makes it unneccessary to show an alert when trying
to insert a blank target so that code is removed.

Bug: T293167
Change-Id: I3541f438fad9b7e0bf23ead2f2e164e84565d254
2021-11-26 12:45:48 +08:00
Fomafix 0d4d037968 Use HookHandlers, implement hook interfaces and inject services
The static function WikiEditorHooks::editPageShowEditFormInitial is
kept for compatibility because there are usages in other extensions.

Change-Id: I7ba9f56fd3d00d575696f00f9f1c868fa7ad223b
2021-11-25 19:12:16 +00:00
Fomafix 4da6f5b3b5 Use namespace MediaWiki\Extension\WikiEditor in PHP
Change-Id: I0be9b88accafce97f7e9b7524ec740fb576fa11c
2021-11-20 09:30:11 +00:00
Sam Wilson 3f275059df Add logging for non-live previews
This isn't strictly WikiEditor business, but other logging is done
here, and soon real-time previewing will be built in WikiEditor,
so it makes sense to keep all the logging for the different types
of preview together.

Bug: T290521
Change-Id: If42697e43c1bec95d743244d0acf96c47df8b681
2021-11-18 08:24:37 +08:00
Sam Wilson 60be1db1d1 Remove template for insert-link dialog
The HTML template is no longer required, as all three fields are
now OOUI and so provide their own HTML.

Bug: T289214
Change-Id: Id7e02119f00e30244b8dc2048c1f694500151b25
2021-10-13 10:03:44 +08:00
Sam Wilson 0b14ae0666 Change insert-link radio buttons to OOUI
Add new OOUI field for the link-type radio buttons in the
insert-link dialog.

Bug: T289214
Change-Id: Idf80c533e5a17de3e9a57051c0608524b6d45098
2021-10-12 13:01:26 +08:00
Sam Wilson e3e9ebb6cb Change the (insert-link) title field to OOUI
Following-up on I9fb7e66bf925eb9a8260d6245d2a7db54a7a2fec
this converts the link-text field to OOUI.

Bug: T289214
Change-Id: I17f34a8cbf72b80f3916581867e5828d9b129789
2021-10-11 14:45:02 +00:00
Sam Wilson 6384498d75 Switch to OOUI TitleInputWidget for the link-inserter
In order to get a better look-up experience (images, description,
redirects, and disambigutation pages listed last), swich from
a custom title-autocomplete input (that used jquery.suggestions)
to OOUI's standard one (which is used in a bunch of other places
in MediaWiki).

This means a fair bit of code can be deleted from
jquery.wikiEditor.dialogs.config.js, and some of it moved to
the new OOUI classes.

This patch aims to be the minimum required, and so leaves a few
things for subsequent patches (such as converting the other parts
of the insert-link dialog to OOUI).

Bug: T289214
Change-Id: I9fb7e66bf925eb9a8260d6245d2a7db54a7a2fec
2021-10-08 12:43:55 +00:00
Bartosz Dziewoński edbdc7f9e6 Add runes to special characters
Depends-On: I6c736563068a83f56990729ac6ef3be6c8a0f621
Change-Id: Ia5c43f5973ab512cc5f9e674063d47833eb9a6fc
2021-08-17 18:19:32 +02:00
Umherirrender 54af531265 Remove suggest param from opensearch api request
Deprecated in 1.35 (Iec572012de171d02871b8dc3207d2b34d17bf9ef)

Change-Id: Ic9cca2ff6f7372a64a216c65c408454dc2dc7cbb
2021-04-28 19:49:50 +02:00