Commit graph

19 commits

Author SHA1 Message Date
DLynch 6bc1ae4146 Revert "Avoid creating a MWReferenceModel if not needed"
This reverts commit 74f66bc478.

Reason for revert: this broke reference reuse from Citoid

Change-Id: I86efea4945c1795dbfd61f4e020d78ca81a6f4d1
2024-02-16 03:54:34 +00:00
Adam Wight 74f66bc478 Avoid creating a MWReferenceModel if not needed
It's fine to copy attributes directly from the reference node rather
than go through the specialized model object.

Bug: T336417
Change-Id: Idaca192137dc762ddced2ee8446a7d838f97e317
2024-02-07 15:24:12 +01:00
mareikeheuer 1eb405eb54 Convert Cite extention to ES6
Bug: T343220
Change-Id: I769f0bfaa5af14d6ea4861ea738b44c98feb6193
2023-08-23 12:39:29 +00:00
thiemowmde 341847a410 Fix inconsistent usage of lastIndexOf in VE reference code
I assume the code was using lastIndexOf as some kind of performance
optimization. Certain StackOverflow threads suggest it without going
into detail. It's not correct here. You can actually name a group
"mwReference/", which will result in the (valid) internal name
"mwReference/mwReference/". This works as expected with indexOf but
not with lastIndexOf.

Change-Id: I8e85ae5c11a74016c7720fcdb6ac6478431aaa8e
2023-06-06 13:37:25 +02:00
thiemowmde 889c2ea011 Fix empty previews in reference reuse dialog
This fixes a minor inconsistency: A reference that comes from a
template and is already reused outside of the template is only
partially available to VE, and previewed with a warning message
because of this:

"This reference is defined in a template or other generated block,
and for now can only be previewed in source mode."

This was missing in the reuse dialog.

Note this patch is not meant to make any design decision, but to use
the existing design consistently.

You can test this with and without the Citoid extension. It works in
both cases.

Bug: T336372
Change-Id: I962cf111b1882bcd736f1090ca17d2b176495d2f
2023-05-10 13:03:24 +00:00
thiemowmde fd90304b23 Make auto-generated reference names like name=":0" visible in VE
This is a prerequisite before any work related to T52568 (being able
to manually name references in VisualEditor) can start.

Why these names should not be hidden:
* We don't know if the name is actually part of the auto-generated
  sequence in the current article or copy-pasted from somewhere else.
* Manually given names that start with a colon are currently hidden
  even if they are unrelated to the auto-generated sequence.
* The information is highly relevant for users switching between VE
  and wikitext. Especially when a reference is used multiple times
  the relevant wikitext can be as short as <ref name=":0" />. The
  literally only information in this case is the number.

Since these numbers are still more technical than anything we make
them very dim to emphasize the contrast to non-numeric names.

Bug: T52568
Bug: T92432
Change-Id: I65cb6998cb5f8659cd9043f3d4aaeac1c5f69da8
2023-02-23 12:28:02 +01:00
Ed Sanders cada626709 Use useView mode of PreviewElement for re-use search widget
Generating the preview from the model is much slower and not
required in this context.

Bug: T310318
Change-Id: I73ab222c268939eb542aaae8b529446eae45abc7
2022-06-15 16:28:39 +01:00
Thiemo Kreuz 7a2f271ce6 Use .test() instead of .match()
.match() returns the matches. But these are not needed here. The
boolean method is .test().

Change-Id: I9e6f13f25fb8ccc6d3e873288d1100f4a2a56b15
2021-12-29 18:24:22 +01:00
Ed Sanders c8b691b8d1 Follow-up cf95dbd: Fix incorrect scope in loop
Change-Id: Iae5ec0321e19bfa1c5f53326bf9d9a3082d96f77
2021-11-15 14:39:15 +00:00
Ed Sanders cf95dbd4be Move var declarations inline
Change-Id: I824a65e72a72e5acf65c54a63299469f7acb649d
2021-11-03 16:38:31 +00:00
Ed Sanders 8e3bc8cb2c Match line-breaking whitespace in reference names
Bug: T263698
Change-Id: I436b0fbf1756e08fe9ff9013aff7479d5ec653f6
2020-09-24 20:29:00 +02:00
Thiemo Mättig bbc1f2c91d Use standard form for @license tags
See https://spdx.org/licenses/

Change-Id: Ic091ebc3844abcd6de90b3241382fb4732200a6d
2018-03-20 03:18:37 +00:00
zoranzoki21 288226aba5 Replace "getSelectedItem" with "findSelectedItem" for consistency
Bug: T184037
Change-Id: Ie4b191ba55cf1cf1300182e056a5a4901c18d583
2018-01-10 11:51:25 +00:00
James D. Forrester 0999d771b6 doc: Bump copyright year
Also make the overly-terse statement clearer.

Change-Id: I752bb82444bf7cb41480076bace42331dc35a598
2018-01-02 17:05:50 -08:00
James D. Forrester 0d20873fa6 doc: Bump copyright year notice, 'team' name
Change-Id: Ia090c417a1aa716b255613199b5e49616bf0517a
2017-04-20 16:50:43 +00:00
Ed Sanders 753d87b072 Re-use internalList when building index
Calling #getItemNode on the un-initalised internalList caused
a tree rebuild of the sub-document.

On a page with 200 references this cuts the time it takes to
render the re-use list from ~2000ms to ~1000ms.

Bug: T134975
Change-Id: I696a965e88338e1bec2a14f61dab158c56728f2e
2016-11-05 18:05:59 +00:00
Ed Sanders f4240f13f9 Use 'super' to call parent methods
Change-Id: Iba051a1e84b2ea805d0b3795933587c735ec0d88
2016-11-02 12:43:14 +00:00
Ed Sanders 58ecfc64b1 Trim search queries in VE's reference search widget
Bug: T138278
Change-Id: I044fa6b8b5049e5520f0e1b4993eebab8498bd55
2016-06-21 13:17:53 +01:00
Ed Sanders 18f616b9b8 VisualEditor: Move code for Cite into this repo
This code has been developed over three years now in the repo of MediaWiki's
integration of VisualEditor. It has grown and developed significantly during
that time, but now is pretty stable. A number of hacks inside the MediaWiki-
VisualEditor code base have been used to prevent this code from being loaded
on wikis where the Cite extension is not deployed, but this state of affairs
is and always was meant to be temporary.

This code is under the MIT licence which is a tad messy, but not impossible.
It's clearly labelled as such. The list of authors has been updated to take
into account the influx of new functionality.

Bug: T41621
Bug: T104928
Change-Id: I39936ed83d5a60471a0a75da753f498e80aef234
2016-02-04 08:41:54 -08:00