Commit graph

19723 commits

Author SHA1 Message Date
jenkins-bot 94268009c9 Merge "Remove dead code, deleting parameters is not possible" 2022-07-27 09:41:51 +00:00
Thiemo Kreuz b085d6cf24 Prefer adding parameter to currently focussed template
Instead of the template that's currently selected. That's confusing,
e.g. when you click one of the search fields, search for a parameter,
can't fine it, and press ctrl+shift+d to add an undocumented
parameter. Or you navigate the list of parameters with the cursor
keys, can't find the parameter you are looking for, and press
ctrl+shift+d to add it.

Still falls back to the selection when the focus is outside of the
sidebar.

We suggest to merge this before UX review, and review it later in
demo time. It's easy to undo if necessary.

Bug: T313388
Change-Id: I9848dd0af4fe821526dafc18bbd7cb1ab0e68cfc
2022-07-27 09:17:23 +02:00
Thiemo Kreuz f09f704364 Don't send missing $wgVisualEditorTabMessages to the browser
This is send as an associative array. Instead of adding elements that
are null we can just not add them.

Bug: T291729
Change-Id: I28d847941eec865cb255779534eca14ec88f588f
2022-07-27 09:13:48 +02:00
Thiemo Kreuz b8b5ed3eaa Remove 5 more very old unused messages
* "visualeditor-dialog-transclusion-options" was added in 2013 via
  I3bcf924. It was used as the label for multiple FieldsetLayouts in
  ve.ui.MWTransclusionDialog.js. In 2013 a larger rewrite was done via
  I51e74b3. The FieldsetLayouts with this message don't exist any more
  since then.
* "visualeditor-dialogbutton-meta-tooltip" was added in 2013 via
  Ibf63329. It was used as the button label in
  ve.ui.MWMetaButtonTool.js. This file was deleted in 2013 via
  I3bb61d5. That patch added a new message "visualeditor-meta-tool"
  that says the same as the old message". The old message is unused
  since then.
* "visualeditor-savedialog-label-create" is a new key for a message
  that existed before. The old key was "visualeditor-create-page". It
  was used in ve.init.mw.ViewPageTarget.js as a button label. This
  usage was removed in 2012 via I5f59482. The renamed message was
  never used.
* "visualeditor-savedialog-label-report" was added in 2012 via
  I5f59482. It was used as a button label in
  ve.init.mw.ViewPageTarget.js. The feature was removed in 2013 with
  no replacement, see I8a5e0ab. Some of the messages that became
  unused got removed in the same patch, but not all of them.
* "visualeditor-savedialog-warning-dirty" was added in 2013 via
  I3daf631. It was used for a confirmation popup in
  ve.init.mw.ViewPageTarget.js. I8c0db01 moved the code to
  ve.ui.MWSaveDialog.js. In 2015 the confirmation popup was removed
  with no replacement, see I9091534.

Change-Id: Iae7961612d5b5be9cdd294a67a9ce40ee8cb9b4d
2022-07-27 09:01:21 +02:00
Thiemo Kreuz 91b5cea852 Remove unused template dialog title message
The message "visualeditor-dialog-template-insert" was added in 2021
via I5da4003. It was used as a dialog title in
ve.ui.MWTemplateDialog.js. In 2021 we introduced three new messages
via Ib9b76ca. One of them still says the same as the old message, but
got a new key assigned. It appears like we forgot to remove the old
message.

Change-Id: Ie3854114197e3f36b48bb7efd8dd96a1f9651198
2022-07-27 08:54:31 +02:00
Translation updater bot d70e425fc9 Localisation updates from https://translatewiki.net.
Change-Id: I9edc9a6a56dc59abb0a8a0b8519024238edaec46
2022-07-27 08:27:02 +02:00
Gergő Tisza 591796df12
Log incompatible skin warnings
Log a client error when VisualEditor cannot load because of an
incompatible skin (which is not supposed to happen in practice).

Bug: T312632
Change-Id: I2ccfaa584d7a05e10170a66d446bd4e476dcc775
2022-07-26 17:51:30 -07:00
jenkins-bot 1d34b069ad Merge "ve.init.mw.Target: Use mw.libs.ve.targetSaver.getHtml in getWikitextFragment" 2022-07-27 00:07:35 +00:00
C. Scott Ananian 43231df98a VisualEditorParsoidClient: use the new PageConfigFactory::create() signature
Depends-On: I79a2773bf6d2366593b31555afd0b548b66d222a
Change-Id: I40b0c7159c493f7ff12085f9845fc5399102df2f
2022-07-26 21:21:40 +00:00
jenkins-bot e06cdeadb1 Merge "ve.ui.MWGalleryDialog: Fix "Alternative text" not being readonly sometimes" 2022-07-26 20:26:17 +00:00
jenkins-bot f7d9da3317 Merge "Start altText as null to avoid empty alt for new gallery images" 2022-07-26 20:00:52 +00:00
jenkins-bot 7e55a99917 Merge "Add a checkbox to use the image caption as the alt text for galleries" 2022-07-26 20:00:48 +00:00
Bartosz Dziewoński d2f7796744 ve.ui.MWGalleryDialog: Fix "Alternative text" not being readonly sometimes
Depending on the order in which this code executed, sometimes the
dialog initialization would overwrite the readonly state set by item
initialization.

They should simply all check both conditions.

Change-Id: I6a18f1e074f118423438c017b3e4e34e75579e5d
2022-07-26 21:50:19 +02:00
Bartosz Dziewoński ea5597be83 Update VE core submodule to master (1ab6be70d)
New changes:
e34ab94c4 Localisation updates from https://translatewiki.net.
f6524d778 MobileActionsContextItem: Use 'copy' icon
a8ecafebe Localisation updates from https://translatewiki.net.
5bb6f2bec Localisation updates from https://translatewiki.net.
f7a8fad02 ve.init.Target: Don't generate actions toolbar when empty
9ecf20daa sa.Target: Move pageMenu to main toolbar

Bug: T312766
Change-Id: If2f381099d65058949d9b366d72e840b71c0064b
2022-07-26 17:21:21 +02:00
jenkins-bot c595901528 Merge "Tab to first template parameter in list, not to the selection" 2022-07-26 14:45:04 +00:00
jenkins-bot 20f255d0f9 Merge "Fix filtering not clearing "currently selected page" state" 2022-07-26 14:36:02 +00:00
jenkins-bot 4997f3d41d Merge "Move getters for the currently selected part to two-pane layout" 2022-07-26 12:30:41 +00:00
Thiemo Kreuz d922c12957 Remove dead code, deleting parameters is not possible
This code was for when the dialog had a trash can icon for every
parameter, and parameters could actually be deleted. It's unreachable
now.

We missed this when removing the old workflow.

Change-Id: Ic94df506ea84009a1e1863a4e9847a70498df448
2022-07-26 13:21:39 +02:00
jenkins-bot 72b3a31571 Merge "Fix Ctrl+D and Ctrl+Shift+Y hotkeys to add parts" 2022-07-26 09:23:50 +00:00
jenkins-bot 2185393d96 Merge "Fix Ctrl+Shift+D hotkey to add undocumented parameters" 2022-07-26 09:20:48 +00:00
Thiemo Kreuz 72c136182c Remove unused pieces of code from two-pane layout
The toggle feature is not used. The method is always called with a
bool.

Bug: T313489
Change-Id: Id05398ea837355f93df597674e817e3e4f0f8481
2022-07-26 10:41:45 +02:00
Translation updater bot bf829f4681 Localisation updates from https://translatewiki.net.
Change-Id: If8f03962e2280a53b18bc6057eea8ce8aefcd6ee
2022-07-26 08:26:05 +02:00
Arlo Breault 5bfdff2197 Start altText as null to avoid empty alt for new gallery images
Bug: T310624
Change-Id: I26ffb386fa4de5ed6128da8d08da1df2576f3755
2022-07-25 22:43:28 -04:00
jenkins-bot ce2cdc6a1e Merge "ve.ui.MWTemplateDialog: Fix dialog becoming inert" 2022-07-25 16:03:50 +00:00
jenkins-bot 801d017417 Merge "Add missing check to confirmation dialog's "closed" handler" 2022-07-25 15:27:06 +00:00
Bartosz Dziewoński 9e954b7c20 ve.ui.MWTemplateDialog: Fix dialog becoming inert
OOUI support for multiple modal window managers is hacky, and only
works correctly when the managers are attached directly to <body>.
Remove the wrapper that doesn't seem to be necessary.

Bug: T313690
Change-Id: I4134c0f50d28a364dcf15b426bd9b59a4f7a985d
2022-07-25 17:01:12 +02:00
Thiemo Kreuz cbc90ff90a Remove dysfunctional "no outline" mode from template dialog
The dialog is unusable when there is no outline. See T313489 for a
longer explanation.

Bug: T313489
Change-Id: Ib2cc9c363d3596a16f6f1c4aef03ca216abf6b1f
2022-07-25 14:45:18 +00:00
jenkins-bot 5bdb15f8fd Merge "Document what "current page" means in two-pane layout" 2022-07-25 13:41:23 +00:00
Thiemo Kreuz 59c2ee6242 Add missing check to confirmation dialog's "closed" handler
Apparently this can be undefined when Esc is pressed. Note this code
cleanup related to but does not fix T313690.

Bug: T313690
Change-Id: Ia4658f8e00a68ed4cc3a6ddb0a932b3218b813dc
2022-07-25 13:53:12 +02:00
Translation updater bot 576f27e3d5 Localisation updates from https://translatewiki.net.
Change-Id: Id8ba7dd358d976435816667f17ab2a06aab7da65
2022-07-25 09:51:04 +02:00
Translation updater bot f4497c9ddd Localisation updates from https://translatewiki.net.
Change-Id: I480a16f3d6d2a3ca838deb4fd4bc0879d940f686
2022-07-25 08:39:48 +02:00
Arlo Breault 94c4d619a7 Add a checkbox to use the image caption as the alt text for galleries
The need for something like this was anticipated in
I2bf43c7e83283f43e047229eb53c244918fcbb0c.

As of version 2.5.0 of Parsoid's output, if alternate text is missing
for an image but a caption is present and image isn't displaying the
caption (ie. it isn't a thumb or frame), then the text content of the
caption will be set as the alt attribute.  Parsoid will then drop the
alt attribute when serializing if it matches the caption text, since
it's unnecessary.

However, if the caption is modified and the alt text isn't, the alt will
be serialized.  This is likely to be unexpected to editor.  They may
have missed that the both the caption and alt are populated in VE and
only edited one place.

Since all of the above is happening only for images where the caption
isn't visible, it doesn't appear to be a much used feature since, at
least for inline images, the experience of caption editing was already
less than optimal.

However, because of a quirk in how galleries are rendered in Parsoid,
this affects gallery caption editing, which is visible and presumably
used more often.  See T268250 for a discussion on an improved gallery
structure.  But for now, gallery images are effectively inline and set
the alternate text, thus subject to the above.

Here we add a checkbox so that the default is to ignore the alt if it's
the same as the caption.  And only make use of it if it differed
originally or was explicitly unchecked to modify.

Bug: T311677
Change-Id: Idf297d8a98995971c5835b0cea56c3317a3626e2
2022-07-22 15:46:55 -04:00
Thiemo Kreuz c821ca154b Document what "current page" means in two-pane layout
Change-Id: I37b26a9f01031d4910ff773977a89eb46a4c19ac
2022-07-22 18:12:15 +02:00
Thiemo Kreuz c2c5a2b938 Fix filtering not clearing "currently selected page" state
This patch also removes an obsolete comment.

Bug: T313388
Change-Id: Ie292c07fb096f89a226d7a2239e3dd2883dd91d7
2022-07-22 17:10:48 +02:00
Thiemo Kreuz 1491315c04 Move getters for the currently selected part to two-pane layout
Turns out we have two concepts, now represented by two methods:
1. A top-level part can only be moved or removed when it is actually
   selected. This is relevant for the toolbar buttons and for the
   keyboard shortcuts/hotkeys. We intentionally block the buttons
   and hotkeys when a parameter is selected.
2. Adding a new part or parameter is always possible, no matter if a
   top-level part or parameter is selected. This is again relevant
   for the toolbar buttons and hotkeys.

Bug: T313388
Change-Id: I17caf8fce9d8f1ebe21660cf8c6d91ace8423490
2022-07-22 15:53:10 +02:00
Thiemo Kreuz 21ab6bc5f6 Fix Ctrl+D and Ctrl+Shift+Y hotkeys to add parts
Same issue as in the previous patch, but less intrusive. It was always
possible to add a new part, but it was often inserted at the wrong
position. It worked only as intended when a top-level part was
selected. When a parameter was selected, the new part was always
appended to the very end of the transclusion, not after the selected
template.

This is now a little bit of duplicate code. We might extract this to
a method in a later patch.

Bug: T313388
Change-Id: I1327222969d1d315bdacf3998f366d88c4c26bd5
2022-07-22 15:25:59 +02:00
Thiemo Kreuz c86134a9ec Fix Ctrl+Shift+D hotkey to add undocumented parameters
The hotkey was only working when a top-level part was selected, not
when a parameter in a template was selected.

Some outdated helper methods are now marked as deprecated. They will
be replaced and removed in later patches.

Bug: T313388
Change-Id: I5ffe45fd00c36b97ee36dc0ba6831db5a941c731
2022-07-22 15:22:07 +02:00
jenkins-bot fef2e4a8c6 Merge "Template dialog sidebar: Skip glitchy jQuery animation" 2022-07-22 12:51:31 +00:00
Thiemo Kreuz cf77557a95 Fix "null is not a string" error in event logging code
This getTitle() method can return null.

Bug: T299779
Change-Id: I33c6fc0cdd03ae45a04d4098cf101dc9fa3414e3
2022-07-21 13:26:45 +02:00
Thiemo Kreuz 19edc6043a Tab to first template parameter in list, not to the selection
This is a partial revert of Iaf089f4. It restores the old behavior:
* In case there is already a highlight in the parameter list, just
  keep that. Usually there is no highlight at this point, but better
  have this check in place to be sure.
* Otherwise always start at the top.

Jumping to the selection is confusing, esp. for keyboard-only users.
The argument goes like this:
* Let's say I'm in the middle of editing values on the right side of
  the dialog.
* I want to navigate to the sidebar. How do I do this with the
  keyboard? I use the tab key.
* Pressing tab also implies I move the selection to the next
  parameter. And the next. Until I reach the end of the parameter
  list. Then the selection stays there.
* When I finally reach the sidebar and tab into the parameter list,
  the last parameter is selected. But this was merely a side-effect
  of me navigating the dialog.

Such a "selection becomes highlighting" behavior was not specified
in T311204.

This patch is requested and approved by PM.

Bug: T312647
Bug: T311204
Change-Id: Ie5b5dfd4fca132050815e6182845ca23adb5f805
2022-07-21 10:44:48 +02:00
Translation updater bot 3a0b3e07d5 Localisation updates from https://translatewiki.net.
Change-Id: I588ff3e1e5b5a5b783c0b8941cf38b64a3b06877
2022-07-21 09:04:57 +02:00
jenkins-bot d175825996 Merge "build: Updating grunt to 1.5.3" 2022-07-20 19:00:30 +00:00
jenkins-bot c6e1341378 Merge "build: Updating grunt-banana-checker to 0.10.0" 2022-07-20 17:51:12 +00:00
jenkins-bot c2d867d348 Merge "Remove unused getCurrentPageName method from two-pane layout" 2022-07-20 17:51:09 +00:00
jenkins-bot ea2cc5e199 Merge "ApiVisualEditor: set title when expanding permission editnotices" 2022-07-20 16:10:04 +00:00
Thiemo Kreuz 2e2a8257bd Remove unused getCurrentPageName method from two-pane layout
Change-Id: Ieb5316530f646a2515e47239b9b44c9337863cf4
2022-07-20 17:50:37 +02:00
vahurzpu 766884b41d ApiVisualEditor: set title when expanding permission editnotices
Before, permission editnotices didn't have access to the page titles, so
magic words like {{PAGENAME}} would give a subpage of Special:Badtitle. This
formats the message in the appropriate context.

Bug: T313372
Change-Id: I93894a4fc129de9da4b120c084b1d343b4021cdd
2022-07-20 10:48:56 -04:00
James D. Forrester 05eaaa8a2d build: Updating grunt to 1.5.3
Change-Id: Icc076acec3e116e66833914a11edc87d11abdde1
2022-07-20 09:42:42 -04:00
James D. Forrester 2103c54849 build: Updating grunt-banana-checker to 0.10.0
Change-Id: I23562c7190dc908808ca8fbd53542886fb5fea10
2022-07-20 09:39:28 -04:00
jenkins-bot de101bd21b Merge "Follow-up I586b67a0cf: No need to check for 'resource' key" 2022-07-20 12:55:23 +00:00