Commit graph

3660 commits

Author SHA1 Message Date
Ed Sanders 3a9c8f78ba Replace x.slice(0,x.length-y) with x.slice(0,-y)
Requires y to be non-zero.

Change-Id: I033732cb78b5e3149ac26e19243bf21b143eb105
2024-12-04 18:04:20 +00:00
Ed Sanders 03b557f167 Dialogs: Go back or close when pressing escape
Decide based on the currently available actions.

Change-Id: Ida805efbf14071967bf2359788486028fb6c9a09
2024-12-02 15:26:54 +00:00
Ed Sanders 6a26905d87 MWTransclusionDialog: Remove unnecessary empty label hack
The blocking task was resolved 7 years ago...

Change-Id: I4853af45f6ea210be9478fd1deac8efb13e47877
2024-12-02 15:25:30 +00:00
Ed Sanders 3dfef738e2 MWGalleryDialog: Highlight item at closest index when removing an image
Bug: T373981
Change-Id: Ib0edc97279c6ec4e0529197d9beb1d7c9c51ee28
2024-10-21 17:18:43 +00:00
Ed Sanders ac652a2e36 MWGalleryItemWidget: Remove unnecessary event argument
Listeners will already know which object emitted the event.
Currently this event is used once as a aggregate event,
(as 'editItem' in the ve.ui.MWGalleryGroupWidget constructor)
in which case the emitting object is already prepended as the
first argument (as documented in OO.EmitterList.prototype.aggregate).

Change-Id: I490f368af8e9cae60eacac918bf83702999f705b
2024-09-04 10:58:06 +01:00
Ed Sanders b302e0288b Disable edit mode switch in multi-user environment
Bug: T370819
Change-Id: I8244aaa0783e35ca70385045a8165e0bcb9a91dc
2024-07-24 13:37:18 +01:00
Zoë 652e140dc5 Rewrite a conditional to make the logic a little clearer.
I spent a couple minutes looking at this before I saw that we needed
`this.updateVisibility()` to only fire if the loop iterated at least
once.

Change-Id: I7d03f73a35e3ded539898effa064dc0e14ba595f
2024-07-08 15:27:07 +01:00
jenkins-bot 1ac180346c Merge "Replace hardcoded colors with Codex design tokens" 2024-07-02 17:30:01 +00:00
Ed Sanders 2a3f06676d Use full external link for link to mw.org help page
Bug: T367267
Change-Id: I472cfa7007b6468c88b5502162fbef2e9874712d
2024-06-12 10:14:40 +01:00
David Lynch e6e104dda5 Use reliability API to detect blocked external links
Bug: T366751
Change-Id: If3813cb662155f674688d0ca0733fabdbb338a50
2024-06-08 13:55:43 -05:00
Jan Drewniak 2fc809dc17 Replace hardcoded colors with Codex design tokens
Replaces hardcoded color hex values with their equivalent
values from Codex, via the "mediawiki.skin.variables" system.

Bug: T366197
Change-Id: Ia929a1a8d6351222acb454c8ec750e920ae6d072
2024-06-07 14:40:07 -04:00
Ed Sanders a3d4388bc1 Follow-up Ic9fad12fe: Move .css file to .less
MWCategoryWidget was converted to LESS syntax but wasn't
moved in the previous commit.

Change-Id: Ifd3e6228b96872ba40fa6d8db1617fb65b781dc0
2024-06-05 18:40:36 +01:00
jenkins-bot 81a1c990e0 Merge "build: Updating eslint-config-wikimedia to 0.28.0" 2024-06-04 13:53:03 +00:00
jenkins-bot 595db906cc Merge "MWExtensionDialog: Fix documentation of confirmAbandon" 2024-06-04 10:57:59 +00:00
libraryupgrader 702677220d build: Updating eslint-config-wikimedia to 0.28.0
The following rules are failing and were disabled:
* modules/ve-mw/tests:
  * implicit-arrow-linebreak

Change-Id: If857233c0de24c8cf619dbb1347ebb375f3ab1ba
2024-06-04 03:40:00 +00:00
Timo Tijhof ad6e0e332e MWTemplateTitleInputWidget: Fix unstable sort affecting Firefox
I'm going to assume the order in production with Chrome, as asserted
by the unit test, is the preferred order whereby negative numbers are
intended to be prepended before the positive numbers.

This came up in I6ecbd5743f3e, where this was the only unit test across
MediaWiki core and WMF gated extensions, that fails in Firefox.

It is reproducible locally with plain MW core + VisualEditor as well.

Bug: T366299
Change-Id: I6f8546e6e604cbb41e11bd2b59f8b5f19350c676
2024-05-31 17:12:29 +01:00
jenkins-bot 8e4d4959fc Merge "Avoid Array.concat" 2024-05-29 22:02:03 +00:00
Ed Sanders b9b966de6e Avoid Array.concat
See I9addf43b2857de7bcac.

Change-Id: Ic1998ab6f7dedf6946d7ae63a985a76031f8eecf
2024-05-29 21:16:25 +01:00
jenkins-bot 66c6fa294c Merge "Change confirmation behaviour when abandoning template edits" 2024-05-29 16:58:43 +00:00
jenkins-bot 48823cad4b Merge "JSDoc: convert @cfg to @param" 2024-05-28 15:13:20 +00:00
Zoë 3c6f0a918c Change confirmation behaviour when abandoning template edits
Previously, it was possible to close a dialog with active edits by
pressing the "<" button or pressing escape. A change was made to confirm
the user's intent before abandoning their changes, see Ia8935b5b1acb

This patch fixes a bug where the user's intent is always confirmed while
editing a template, even if the user has made no changes. This was
because for technical reasons we trimmed whitespace before making a
comparison with the new template case, but that caused the comparison
with the edit case to always fail because existing templates are padded
with whitespace.

This could have been solved by moving the trim operation into the new
template flow. This patch would still have been necessary to prevent
a bug if the default value had trimmable whitespace. I have opted to
keep the whitespace behaviour for edits for consistency.

Bug: T334513
Change-Id: I7b3370c86df67c36fc63a1f1d0e7004a098a1950
2024-05-28 15:49:19 +01:00
Novem Linguae 9ffbfc77cd JSDoc: convert @cfg to @param
Bug: T250843
Change-Id: I53ef4fa4a65b017eec90cc1f2cbb7e7f0681e317
2024-05-26 21:59:02 -07:00
thiemowmde 3a7d345093 Remove redundant elements from Unicode-enabled regex
Same as in If6c7e85 in the TemplateWizard codebase. [a-z] is already
part of \p{L}, and [0-9] is part of \p{N}.

Change-Id: I8008ac7e504739b8f4b5fb5dd732b0deca20cefc
2024-05-24 15:47:02 +02:00
Ed Sanders cb657e0bdf ESLint: Re-enable prefer-const and fix
Change-Id: I9dbc12335016a326f00bf5b9a960551f828c685d
2024-05-21 17:50:12 +01:00
Ed Sanders dbc696124f ESLint: Enforce no-var and autofix
Temporarily disable prefer-const as this requires
manual fixing.

Change-Id: I477b69a57e8d33535c6fc71dba196a8605780725
2024-05-21 17:40:52 +01:00
Ed Sanders 064a30b911 MWExtensionDialog: Fix documentation of confirmAbandon
Change-Id: I30b13f524d97e098d7ce0ae374e452871e500770
2024-05-17 15:53:26 +01:00
jenkins-bot bd1c1593a7 Merge "Fixes incorrect transition from searched image preview to upload panel" 2024-05-10 14:06:04 +00:00
Zoë 220088e13e Fixes incorrect transition from searched image preview to upload panel
This line was introduced by If59979f.

This action is only invoked from the 'safe' action when the dialog mode
is 'info' - uploads are under 'upload-info' instead - so I believe we
shouldn't end up here from an upload and whatever condition this was
guarding against is no longer a concern.

Bug: T362015
Change-Id: I6a6551eab3fb698a6ae781be4623b48e4b4c7edb
2024-05-10 10:57:11 +01:00
Ed Sanders a5de8d5653 Convert local functions to arrow functions and remove this bindings
Change-Id: I7987de8737103a1fc568944496c4d707dde60bc3
2024-05-09 10:33:44 +01:00
Amir E. Aharoni 3ab0128bfd Parse a message correctly
Follow-up to
I2495fe32c2d540be50450d715b049173f2f8727d

Done with the help of Matma Rex at Wikimedia Hackathon 2024.

Bug: T361103
Change-Id: Ica328233cb6172277e66d2341cfb53f87f8aff67
2024-05-07 12:06:37 +00:00
jenkins-bot 6bdd8e21a3 Merge "Fix displaying of "<Invalid>" when an language code isn't found" 2024-05-04 14:48:12 +00:00
jenkins-bot 8f75500ef7 Merge "Fix media dialog layout." 2024-05-03 23:23:17 +00:00
Ed Sanders acd075a4d7 Fix displaying of "<Invalid>" when an language code isn't found
Bug: T361109
Depends-On: I1e85a9d41c017fc3e3897b8b69177f342c5a43ef
Change-Id: I2ef072c3265fa9477ca2be539a7084454a8d8cae
2024-05-03 17:38:14 +01:00
Ed Sanders eb757c4c9f Remove unnecessary context binding when using arrow functions
Change-Id: Ie25e90aeb0519b1e0f793348b27d4d4a6b686698
2024-05-03 12:47:47 +01:00
Zoë f0cef27552 Fix media dialog layout.
Restored a selector lost in Ic9fad12f

Bug: T363992
Change-Id: I68b3052665db6ad09c594debbc593b11b7edebff
2024-05-02 18:59:29 +01:00
Ed Sanders 673dea4852 JSDoc: {Mixed} -> {any}
Change-Id: I457475a9c436c40a384675027c052294e6b1305d
2024-05-02 10:39:25 +01:00
Ed Sanders 4db99d7a27 Use more arrow functions
Change-Id: Ifdb15ea9e5ca606e02ddaf822bfd6397c3ce639e
2024-05-01 14:11:55 +01:00
Ed Sanders 33db46e6fa Use arrow callbacks with OO.ui.Process
Change-Id: I9bf32a382ffc2c0f1915f70bd8909668722cfb16
2024-05-01 14:11:55 +01:00
Ed Sanders e3659d4846 Prefer arrow callbacks
Change-Id: Ia05b27f7c71c33580ffd0718e3bbc673dd8b3d63
2024-05-01 14:11:54 +01:00
Ed Sanders c360e550de Fix incorrect uses of context
Change-Id: Ib8b2dd12db567e9373b633c5c7a0b2990c638d97
2024-05-01 14:10:32 +01:00
Ed Sanders 41cce182fe docs: Escape __magicwords__ to avoid bold formatting by markdown
Change-Id: Ic4660b12091429dd3f34d241b326350049a0019a
2024-04-30 22:32:03 +01:00
Zoë 2df1b00f18 Rename isModified to isSaveable and deprecate the old name.
Bug: T334513
Change-Id: I9f639dae88787774cf362c15cd134d50bd73abee
2024-04-30 16:43:01 +01:00
Zoë a6f826e989 Confirm abort if saving would make a change to the underlying document
Bug: T334513
Change-Id: Ia8935b5b1acb87a351fd02d07f72875e4d7a005c
2024-04-30 16:20:45 +01:00
Ed Sanders 8093aa43c1 JSDoc: Update jsdoc-wmf-theme to 1.0.0
Change-Id: Ibca8da2015bdbcc08817c9852c5cda7c72e07b38
2024-04-30 12:32:58 +01:00
Ed Sanders 97955431aa JSDoc: Fix some more documentation warnings
Change-Id: Ib5cf7fd8a544d45274935e77b6c64f868e25ac85
2024-04-30 12:00:19 +01:00
Ed Sanders afbed7c5b3 JSDoc: Fix event documentation and complex return types
Change-Id: I5dbce39294a34a999303ccfec88261d8c92b17ca
2024-04-29 19:14:26 +01:00
Ed Sanders fd122da6fd JSDoc: @mixins -> @mixes
Change-Id: Ic06b8e058b387f8d683db6273f689694cf416ce6
2024-04-29 18:51:41 +01:00
James D. Forrester b518e55ef9 docs: Replace JSDuck with JSDoc (and pull-through VE with said change)
This is not great, but it's a start (and unblocks other pull-throughs).

New changes:
c401efc98 build: Replace jsduck with jsdoc for documentation
16ba162a0 JSDoc: @mixins -> @mixes
9e0a1f53b JSDoc: Fix complex return types
449b6cc0f Prefer arrow function callbacks
1539af2c8 Remove 'this' bindings in arrow functions
b760f3b14 Use arrow functions in OO.ui.Process steps
57c24109e Use arrow functions in jQuery callbacks
9622ccef9 Convert some remaining functions callbacks to arrow functions
f6c885021 Remove useless local variable
1cd800020 Clear branch node cache when rebuilding tree

Bug: T250843
Bug: T363329
Change-Id: I0f4878ca84b95e3f388b358b943f105637e455f9
2024-04-29 16:16:50 +01:00
Ed Sanders 58f56c0418 Delete MWConfirmationDialog
Despite its generic name, this class exists just for the
template dialog and does 3 things:

1. Provides generic accept/reject override messages
2. Provides a new function signature when the prompt
   and success callback are passed
3. Focuses the delete button

(1) and (2) can be provided by a local helper function.
(3) should be implemented upstream, although given this
was done to prevent users taking destructive actions
accidentally I'm not sure why this should be overridden
here.

Change-Id: Id5aa018310eded7a3552a182d19ca16b040abcbd
2024-04-16 14:46:23 +01:00
Volker E. 344add6080 styles: Update invalid border color
For the invalid border color we'll use the current border error color.
With CSS custom properties on the horizon, we'll easily replace them
consistently in the future.

Change-Id: I1ec266e90a974cf79576ee7db6287ea4eac94656
2024-03-28 20:40:27 -07:00