Commit graph

9496 commits

Author SHA1 Message Date
daniel 0cd6c90d5a Extract RESTbase client code into VRSParsoidClient.
This makes the "direct" client and the VRS based client
implement the same interface, so the caller doesn't have to know
which one it is using.

It looks like ParsoidHelper will not be needed if we use this approach.

Change-Id: Ib1c1d7355951fc0765227dd01a9edfc554fc448d
2022-09-14 18:20:36 +01:00
Thiemo Kreuz 003f5fc82e Remove redundant/unused CSS for template parameter page
A lot of this just repeats what is already set by some other rule,
e.g. because it is the OOUI default anyway. Warning. This patch is a
little more agressive. I tested it on desktop and mobile, even with
MonoBook, and could not spot a different. Please do some more tests.

Change-Id: I0ee6e70f4f14c20d431643c53031d6d5b8df1aa2
2022-09-12 11:32:39 +00:00
jenkins-bot f153331ee3 Merge "Remove redundant "choose" event handler" 2022-09-12 10:03:52 +00:00
jenkins-bot b3443cd96c Merge "Enable template editor toolbar deeper in the stack" 2022-09-12 09:52:26 +00:00
jenkins-bot 58aacfa046 Merge "Fix parameter labels not being clickable" 2022-09-12 09:50:04 +00:00
jenkins-bot 5d24bea80a Merge "Start with last item when shift+tabbing into parameter list" 2022-09-08 12:40:40 +00:00
jenkins-bot ee9866bfc9 Merge "Make "(undocumented parameter)" part of the parameter label" 2022-09-08 11:52:52 +00:00
jenkins-bot b00c52556b Merge "DesktopArticleTarget.init: Get $targetContainer after jQuery ready" 2022-09-06 22:17:23 +00:00
Jon Robson ecfc3f18e4 DesktopArticleTarget.init: Get $targetContainer after jQuery ready
$targetContainer was calculated at the top of the file,
but it's only guaranteed to be available after jQuery ready event.

Bug: T314952
Change-Id: Id5d0c71433bfc51cb7193ee1b931a7dd8a4324d9
2022-09-04 02:43:19 +02:00
jenkins-bot 4687e27ffa Merge "Fix logic for getting the *available* preferred editor" 2022-09-01 20:41:25 +00:00
Ed Sanders a625d0b7b7 Fix logic for getting the *available* preferred editor
Factor out getAvailableEditPageEditor from getEditModeFromUri
and use instead of getEditPageEditor everywhere.

Bug: T316776
Change-Id: I34bab092b829124c52f8bc0e262a9c3aa17f2c52
2022-09-01 22:25:53 +02:00
Ed Sanders 35138e00be DesktopArticleTarget: Fix popstate handling when action=edit (single edit tab)
This means if you load the editor on a single edit tab wiki,
then press back then forward, the editor will re-open.

Bug: T316869
Change-Id: I1ea33de7d7324a53399be9155c474a14ae21dfe8
2022-09-01 14:56:05 +01:00
Ed Sanders 45b36ad683 Fix broken history management in onEditSectionLinkClick
This code is supposed to be similar to the code in activatePageTarget()
however it was checking if the *link* URL looked like a veaction link,
not the view URL. It also then tried to push this.href as the new state
which was always undefined. This meant:
* If the section edit link was veaction= then nothing happened. The URL
  in the address bar would get updated *after* the editor loaded by code
  in DesktopArticleTarget.
* If the section edit link was edit= (single edit tab wikis) then the
  view URL would get replaced with and edit URL, meaning if you browser-
  backed out of the editor, the URL was stay as the edit URL.

Bug: T316771
Change-Id: Idb5e3c51a22361e0d9916d3c31444daeff310ed2
2022-08-31 13:57:02 +01:00
jenkins-bot 736cca3a18 Merge "DesktopArticleTarget: Set wgPostEdit when redirecting after save" 2022-08-30 22:26:58 +00:00
jenkins-bot 182eb7340e Merge "Fix calling order in template dialog .getSetupProcess()" 2022-08-30 13:28:51 +00:00
Thiemo Kreuz 663936ab6e Fix calling order in template dialog .getSetupProcess()
This fixes two issues:
1. .initializeAllStickyHeaderHeights() is now executed after the
   .ve-ui-mwTransclusionDialog-single-transclusion CSS class is set.
   This is critical because in this mode the sticky header does
   have a different height.
2. We get rid of 2 references to .sidebar that should not have been
   in this class in the first place.

Also bring some more calls in an order that makes sense. This does
not make a difference and is only for readability.

Bug: T315292
Change-Id: I22f6c11de8f693edb03485adcaa186bd4b283b2f
2022-08-30 14:20:42 +02:00
Thiemo Kreuz 337ee1588e Remove redundant "choose" event handler
I'm pretty sure this extra call is just pointless. This "choose"
event is triggered every time a new parameter is added to the list of
parameters. But there is another code path that is triggered in the
exact same situations: the onReplacePart event handler.

As far as I remember this "choose" handler was added very early when
the other events haven't been implemented yet.

This should be fairly easy to test. The only situation where this
could make a difference is:
1. When you have a template with 3 parameters and you add a 4th
   parameter.
2. When you edit an existing multi-part transclusion that contains a
   lot of parameters, but the parameters are initially hidden. The
   widgets are only created when you click "show all" or start
   searching.

Change-Id: I59e3873a4fe6fa5a01d681fce89fbe00756ae815
2022-08-30 12:23:07 +02:00
Thiemo Kreuz e5d6af728e Add missing call to .recalculateStickyHeaderHeight()
This was missing when you:
* Insert a new template and select a template with a lot of
  parameters.
* Same when you edit an existing multi-part template and add a new
  part (Ctrl+D) with many parameters.

Bug: T315292
Change-Id: Icd281c21a1b40d8e29343fa4975e27e8d927cd15
2022-08-30 11:57:23 +02:00
Thiemo Kreuz d92da786a2 Fix parameter labels not being clickable
This is only an issue when a long parameter description is collapsed.
The float is a left over from a time when there was a delete button
on the right side of each parameter label. This is gone.

Bug: T310137
Change-Id: I249f0592de9c73a07af22bd7f86241caf0207770
2022-08-29 17:12:28 +02:00
Thiemo Kreuz 299738307e Make "(undocumented parameter)" part of the parameter label
This makes it possible to click on "(undocumented parameter)"
to focus the input field – the same effect as when clicking the
parameter name.

This also lower-cases the initual "(U…". This is not the beginning of
a sentence.

Change-Id: Ibfa5bbaee39c2b3a4fefbcee33102b85ca3ba9c0
2022-08-29 17:00:23 +02:00
jenkins-bot f606e7c7e3 Merge "Don't focus template input fields (and open keyboard) on mobile" 2022-08-29 07:27:17 +00:00
Thiemo Kreuz d10dd4ded0 Don't focus template input fields (and open keyboard) on mobile
On mobile, tapping anything in the sidebar should only scroll the
corresponding element into view, but not focus the input field. The
reasoning is that an on-screen keyboard should only pop up when the
input field is actually tapped.

By the way, the "jump" issue in T312768 was because of the same
reason. In that case an onFocus happens before we have a chance to
scroll. Unfortunately there is no way to reverse the execution order
of these. Which is why we disabled the animation there.

Bug: T289043
Change-Id: I1c18802b8ff776fa8d9c17e3df8020354690d29f
2022-08-28 14:26:29 +00:00
jenkins-bot ce37169a51 Merge "Don't send missing $wgVisualEditorTabMessages to the browser" 2022-08-26 18:57:07 +00:00
jenkins-bot 5e50db824f Merge "Tweak main toolbar shadow to not leak out from the sides on vector-2022" 2022-08-26 16:49:07 +00:00
jenkins-bot 012458f4ca Merge "Fix a few risky places for a multi-valued rel attributes" 2022-08-25 00:13:22 +00:00
Isabelle Hurbain-Palatin fa58a9e6ec Fix a few risky places for a multi-valued rel attributes
This patch follows the audit made on the extensions to check the usage
of the "rel" attribute and check that it's compatible with multi-values.

Bug: T315209
Change-Id: Ib323736d93ea96c86f9d56599e515c9e6d72a76e
2022-08-23 15:21:41 +02:00
Jon Robson e763f9d2f2 Error logging: Provide additional debugging context
Bug: T314952
Change-Id: Ife8dffd2eb427d60ef4179f382109c7e2a1f0d1e
2022-08-22 11:21:44 +01:00
Thiemo Kreuz c35c1f6813 Dynamically calculate height of toolbar sticky headers
Alternative for Idf4d69d.

Bug: T315292
Change-Id: I15231d66bb832b92d1924881b0df7dbe9f26a921
2022-08-18 17:59:03 +02:00
Thiemo Kreuz e338a3c35d Enable template editor toolbar deeper in the stack
We can do this more in-place instead of reaching into the structure
from the outside.

Change-Id: I1beb5f7dcfef027f811a3bb4d2a2ef323e2535e3
2022-08-17 13:37:48 +02:00
jenkins-bot d81ac62283 Merge "Limit toolbar top border fix to vector-legacy" 2022-08-17 03:39:24 +00:00
jenkins-bot fd71fbe605 Merge "DesktopArticleTarget: Move updateTabs to .init so it can be called sooner" 2022-08-16 23:01:55 +00:00
jenkins-bot f03aa80f95 Merge "ArticleTarget: Move updateTabs implementation to DesktopArticleTarget" 2022-08-16 23:01:53 +00:00
jenkins-bot 16a8dc34a0 Merge "ve.ui.MWTargetWidget: Remove top margin in Vector 2022" 2022-08-16 22:51:35 +00:00
Ed Sanders 0588477b6c DesktopArticleTarget: Set wgPostEdit when redirecting after save
Bug: T240041
Change-Id: Ieba322fd6a33039f6c91868a266b9deefd2e0116
2022-08-16 15:32:45 +01:00
Ed Sanders 1c313eddf1 Follow-up I7fb352fc: Fix scope typo in ArticleTarget
Bug: T315320
Change-Id: Iefbb5ad1cee8069e52f9f62ae2191491e263a73b
2022-08-16 15:13:22 +01:00
Thiemo Kreuz 1926ab7b05 Code cleanup in ExpandableContentElement
This is split off from the unfinished patch I039d6f6. This only moves
existing code around, makes use of chaining and such to make code
more compact and hopefully more readable. Methods are renamed to
reflect better what they actually do. No behavior should change.

Change-Id: I3ba538c8c77ad4455bf0f0aa821ca14feadef7cc
2022-08-15 08:40:11 +00:00
jenkins-bot 254b14f3bf Merge "Chain scroll calls instead of just calling after each other" 2022-08-15 07:50:49 +00:00
jenkins-bot ba00286b13 Merge "Pass empty string to unused argument of pushState/replaceState" 2022-08-12 15:56:24 +00:00
Thiemo Kreuz eb71810b6d Start with last item when shift+tabbing into parameter list
Note this implementation introduces some technical debt: It adds a
little bit of knowledge about what "part widgets" and the toolbar are
to the parameter SelectWidget. I think this is acceptable.
A "cleaner" implementation is probably so complicated that we don't
want it in the code, for such a minor benefit. However, alternative
patches are very much welcome.

Bug: T313703
Change-Id: I957698d58a7622cbe54bcc2ba454388ba9f09537
2022-08-11 18:23:51 +00:00
Thiemo Kreuz 89ace728a4 Chain scroll calls instead of just calling after each other
Change-Id: I420fbd29ab79d6f2e1e9ef02bc3c99050126c3c8
2022-08-11 15:35:45 +00:00
jenkins-bot 54d0268847 Merge "Do not show incompatible skin warning when page is not editable" 2022-08-11 13:43:54 +00:00
Ed Sanders f9ed7066c8 DesktopArticleTarget: Move updateTabs to .init so it can be called sooner
The edit tab should be active as soon as the editor starts loading
(to indicate it doesn't need to be clicked again, and that the read
tab can now be clicked).

Change-Id: I450c53eef64c25e9520d3868b4ecc95204644138
2022-08-11 14:30:48 +01:00
Ed Sanders 9f5944af9e ve.ui.MWTargetWidget: Remove top margin in Vector 2022
Change-Id: I3d079a9e1b44821180c849c2c018a2314b2e089e
2022-08-11 14:27:53 +01:00
Gergő Tisza c697a6d2da
Do not show incompatible skin warning when page is not editable
Bug: T314952
Change-Id: Ie09f2ab5a8ae05cdd95ba1acbe02e978c002f8d6
2022-08-10 23:07:39 -07:00
Bartosz Dziewoński d36d467a82 ve.ui.MWTargetWidget: Suppress the stacking context established by .vector-body
Bug: T314230
Change-Id: I742f0435f279689dbdac8e811a8aeab00cc9086b
2022-08-11 01:47:19 +02:00
Bartosz Dziewoński 4cd18e42ab Tweak main toolbar shadow to not leak out from the sides on vector-2022
Bug: T311311
Change-Id: I847c8b64c5e24e92bf75d206f0815d1be3352292
2022-08-10 20:38:20 +02:00
Ed Sanders 08b3a21b25 Limit toolbar top border fix to vector-legacy
Also move code to .init so it can apply as soon as the
editor starts loading.

Bug: T311311
Change-Id: I87b15a0c56261a9f70291749bdbc37a518506d5d
2022-08-10 20:38:20 +02:00
Ed Sanders 260ee25f3a ArticleTarget: Move updateTabs implementation to DesktopArticleTarget
The .selected class does nothing on mobile, nor are the tabs visible
under the full screen overlay.

Change-Id: I14a6747f4a3274d71b7aa16b2c9b76b62a5253c2
2022-08-10 17:00:17 +01:00
Ed Sanders 686ef07ed3 Pass empty string to unused argument of pushState/replaceState
Per https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
this argument is treated as unused in all the browsers we support.

Change-Id: I83d3e2e8d9d2defa49e7a832f78bfc29f15da719
2022-08-09 13:37:34 +01:00
jenkins-bot 95774e4f2a Merge "Also log EditAttemptStep events via Metrics Platform" 2022-08-06 05:09:24 +00:00