Commit graph

67 commits

Author SHA1 Message Date
WMDE-Fisch 60eb760dd8 [refactor] Don't setup the edit panel when re-using a ref
In the setup process the dialog is loaded and initialized. For the
case where the user opens this dialog to directly re-use a
reference, it does not make sense to fill out the form or create
the internal ref model. The edit panel is not used then.

This method might also be an entry point to create a new sub-ref
when triggered from e.g. Citoid. Switching to the re-use panel
still would not require to setup the edit panel.

I'm also moving a setup for the abilities, that's only relevant
in the edit case.

Bug: T375156
Change-Id: I061b88abc6cfd702a53208bac76be7a2ed6812c2
2024-10-06 17:34:39 +02:00
WMDE-Fisch 14d87b1e04 Add a submenu to offer a re-use with different details
Adding a submenu to the results of the reference re-use search.
This allows the user to either create a direct reuse or a reuse with
different details.

Hide the menu when there's a sub-reference.

Known Issues:
- Ref name is hidden (conditionally when our feature is enabled) as a
  quick fix to not having a good layout choice yet.
- Submenu is clipped at the dialog bounds.
- Submenu highlight should vanish when the submenu is closed
- Instrument action with metrics.

Bug: T375053
Change-Id: I3eddd6bad328aaf9bb99eb2783ba66d4e08f862d
2024-10-01 13:26:52 +02:00
Adam Wight e2ea1bcf68 [refactor] reuse dialog handles its children's events
Hide some knowledge from the reference dialog, and prepare the way
for additional events such as "extends".

Bug: T375053
Change-Id: I6097eb85deadcb58d1f56844c65726f19dbf6dda
2024-09-30 11:22:07 +02:00
WMDE-Fisch d9399cb81b Consistently use ve.msg() where possible
Change-Id: I2813ec963b869ea97aaadeb2018475e8dbaabb3e
2024-09-27 22:28:08 +02:00
WMDE-Fisch 72cf12a2de Adjust messages related to sub-referencing
Also adding some margin where it made sense looking at the mocks
in the message document.

Bug: T373876
Change-Id: I1165681521565d900b705a45579fd816fe625a8f
2024-09-26 21:09:56 +02:00
WMDE-Fisch 31dcf2528e [refactor] Replace InternalList with DocumentReferences in ReferenceEditPanel
Change-Id: Icdb7b80f5ca4284fe77c4905b7a9c98659f9c2b4
2024-08-29 23:43:03 +02:00
WMDE-Fisch f5c96716f0 Git rid of the ref class property in the dialog class
The model is now fully owned by the edit panel and I could not find
any usages of this outside of that class using codesearch.

Bug: T369005
Change-Id: I911fee99d6c910e6e40e0b3cbdb4c7ab60b413c6
2024-08-13 18:41:31 +00:00
WMDE-Fisch 3af9dfdb71 Move event handler to the EditPanel class
Making sure that change events form the fields are handled in the
panel and forwarded to the dialog with the information needed.

Also slighly moving some calls in the setup process that inits
the dialog and removing some duplication. Calling focus on the
edit panel only makes sense in the ready step. Not during setup.

Bug: T369005
Change-Id: I4f9a022a06ec6543b106620eae030235b8f6712b
2024-08-13 15:53:24 +02:00
WMDE-Fisch 48d0699f09 Add method to get the updated ref from the edit panel
That's another step to separate the editing form the dialog. The dialog should not know about internals of the edit panel.

And eventually the dialog can get rid of the referenceModel property.

Bug: T369005
Change-Id: I9cf3a68ef58bc5791497af362c0572734e4bcadd
2024-08-12 18:00:32 +00:00
jenkins-bot f11e415c24 Merge "Remove obsolete disconnect()" 2024-08-12 08:59:34 +00:00
WMDE-Fisch 6bfe4f1c5d Remove obsolete disconnect()
I could not find any connect() was applied from this codebase to
the SurfaceModel. Looking back it seems that the code that connects
the event was removed in Icba13d84e10cf18a6c68e26448b2efe93b8c42b8
and the disconnect was never touched.

Bug: T369005
Change-Id: Ieab623751dd946ba43c42a1be144e6b3725abce3
2024-08-02 12:00:27 +02:00
WMDE-Fisch cc6aec4c77 Don't use the edit form when reusing a reference
There's no need to populate and use the form fields when we're
reusing a reference. The group and content are already stored
in the model and we can insert more directly.

I found that it's also not needed to update the internal item
because we're not changing the content or group. The same is done
in Citoid when reusing a reference.

Bug: T369003
Change-Id: I57315aafb73b0cd68a0d397d2f79833ac54a7c7f
2024-08-01 18:09:07 +02:00
WMDE-Fisch 8b60ead109 Move more editing methods to the EditPanel
Mainly leaving out the event handling for the change detection to
still keep it simple.

Also the data flow back for editing the content is still somewhat
opaque because the relevant data is passed by reference. I might
change that in follow up patches so it's more clear.

Bug: T369005
Change-Id: I93b62791ef10bf318697905af8a0c5b5d438fdb5
2024-07-26 17:45:23 +00:00
Adam Wight 7691f49ea8 Parent is shown as HTML in the subref edit dialog
Minor tweak to render the parent as HTML, without fixing anything
else about the layout.

Bug: T370873
Change-Id: I507acf7b86a20d1965bbb32fdc0132b41c929d0c
2024-07-24 16:09:50 +02:00
jenkins-bot dfb107a22a Merge "Fix broken reference to the new EditPanel class" 2024-07-22 14:25:13 +00:00
WMDE-Fisch 42b658004b Fix broken reference to the new EditPanel class
Missed that in I8588cde1a54cd505a57a36ed97fc591653c9fb6f

Bug: T369005
Change-Id: Ia08ac2d3d41ece91fe6b75d607d7b18f57f39333
2024-07-22 13:23:20 +02:00
WMDE-Fisch eb6624a6f9 Remove static leftovers that moved to MWReferenceEditPanel
When Citoid uses these from the new class they can be removed here.

Bug: T369005
Depends-On: I46fa9fe72b4d095291a01c208cac6c98df2ec088
Change-Id: I1aef5d6a05308191d7d8608902a38c801039af7e
2024-07-18 20:34:29 +02:00
WMDE-Fisch 36d9270c1c Introduce MWReferenceEditPanel to extract editing UI
First step to move the UI parts that are relevant for creating,
editing (and extending) a reference to it's own class.

There remains some duplication because of the sub-referencing in
Citoid currently depending on the static properties to build its
own editing interface.

More patches follow, I just wanted to keep it small for reviewers.

Bug: T369005
Change-Id: I8588cde1a54cd505a57a36ed97fc591653c9fb6f
2024-07-18 14:46:23 +02:00
WMDE-Fisch e7443560f0 Introduce a clearSearch method for the ReferencesSearchWidget
Mainly to support the activity tracking use case where we want to
track an active use everytime the user starts anew in this UI.

Bug: T368533
Change-Id: Iecf7e697bbbd637c4a00a44debf615c2351eb390
2024-07-16 16:21:35 +02:00
WMDE-Fisch dc67570f96 Use the term reuse for code related to that use case
I found that the code is in some cases not clear with the
terminlogy. Let's start by making it at least more clear what's
related to the "reuse" use case.

Change-Id: I5325489be3b14276b0163d8cb8b84215b55d041e
2024-07-16 13:41:55 +00:00
WMDE-Fisch c0d98cdd4f Use existing extends warning i18n
Also introducing a line break to make the difference a bit more
clear what's part of the message.

We still probably want parsed content and not only text here.

Bug: T247922
Change-Id: If545ab2fe1d807a6bcbcdfc0c3b7de83817554e6
2024-07-11 13:16:14 +02:00
mareikeheuer 2ffbf1fa66 Display extends warning message when editing a reference
MVP implementation for adding a warning when editing a reference
that's the extension of another. In the current approach we're
just using the elements .text() like we do when you create an
extended reference.

Bug: T247922
Change-Id: I2fc574152059937b4aa3fc25ee486d363cc809d5
2024-07-03 07:18:35 +02:00
WMDE-Fisch f317419bb9 Don't update the editors re-use warning when re-using a reference
We only need to set some values that are needed by the `insert`
action triggered that then handles the insertion of the ref.

The form to edit or add a reference will never be visible
in the re-use workflow. No need to update that message then.

Change-Id: I710862bdc1bde6a8ce663d863d721cbf075494f0
2024-07-02 12:30:26 +02:00
WMDE-Fisch b483c829ab Extract some methods around the reference insert/update workflow
Includes renaming the method so it's more clear what it's doing.

As preparation for adding the extends warning to the edit pane and
to allow easier identification of parts belonging to the edit
workflow.

Change-Id: If84c5dbdee19c0ebc0a28b50dda93fef3f558c6e
2024-07-02 12:30:11 +02:00
Ed Sanders 5a2154de38 ESLint: Enforce prefer-arrow-callback
Change-Id: I8d96b69e8c15bc8ad84cfb0c511396e5b3e7ac20
2024-06-03 12:31:33 +01:00
WMDE-Fisch 52b9521dc9 Add tracking for VE Cite re-use interaction
Includes a minor drive by cleanup for an obsolete JSDoc block.

Bug: T362347
Change-Id: Ie4a6ebc5a468c0419001b0170c9cc7e13de616ba
2024-05-07 12:47:37 +02:00
WMDE-Fisch 463e25b742 [Cypress] Streamline some selectors and click paths
Change-Id: I9c897f3c94a44f50de5c7a31822645a52cb3d70d
2024-03-19 11:33:23 +00:00
Adam Wight 73c90a0e7d Clean up and fix some jsdoc annotations
Some of the annotations were used in a way that confused jsdoc.  This
cleans up redundant annotations and uses more canonical tags.

These changes cause all classes to now appear in the generated pages.

Includes linking to external docs.

Bug: T358641
Change-Id: Iaee1dadcc19a70c27839d0d27dfa6a07a70fb46b
2024-02-29 13:05:42 +01:00
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
Adam Wight 9535126304 [lint] Satisfy max-len rule
These changes mostly improve the code, and align the lint rules with
the MediaWiki base.

Change-Id: Ib4b0595fd9a9298039b8b44a0f1d4a9e90731527
2024-01-30 12:18:52 +01:00
mareikeheuer 1eb405eb54 Convert Cite extention to ES6
Bug: T343220
Change-Id: I769f0bfaa5af14d6ea4861ea738b44c98feb6193
2023-08-23 12:39:29 +00:00
Awight 42e13cb3c3 Revert "Add extends warning to reference dialog"
This reverts commit da30b2b626.

Reason for revert: Caused a regression.  Feature is not enabled on public wikis so reverting is harmless for now.

Bug: T247922
Bug: T340757
Change-Id: I83434afaf1b76425bddb575dd724f462a247c83d
2023-06-29 16:36:47 +00:00
Svantje Lilienthal da30b2b626 Add extends warning to reference dialog
To warn users when they are editing a sub-reference we
add a warning containing the text of the parent reference.
This is hidden behind a feature flag.

Bug: T247922
Change-Id: I3749683d8a18e502bf16e5bd5f2fe385581625be
2023-06-12 16:24:58 +00:00
Svantje Lilienthal 3d4f0a933e Use message widget for reuse warning in reference dialog
* Use OOUI message widget to make code cleaner
* By default message is toggled off and only displayed when needed
* To prevent visible changes the message widget is slightly adapted:
 * Use black alert icon to prevent yellow default icon for warning messages
 * Remove bold text (in css)
 * Some padding to top and bottom
* Changes can easily be removed if message should be closer to the standard

Bug: T247922
Change-Id: I2296cd497c935ea4638650bdb4b3c833a71a6c6a
2023-06-06 15:07:51 +02:00
thiemowmde 2a8fdf3d81 Hide wrong "this reference is used 0 times" in citation dialog
This fixes a minor regression introduced in Ib003b8a. The problem is
that undefined is not equal to anything in JavaScript, and not smaller
than 2 either.

Bug: T241885
Bug: T335410
Change-Id: Ia6deb291d923b88a08ceac8fbc0efb682e14f358
2023-04-26 16:42:08 +02:00
thiemowmde ce63522726 Fix wrong "this reference is used twice" in VisualEditor
This patch also updates a second place that does almost the same.

That other place also excludes placeholders. We intentionally don't
do this in this new place.

Bug: T241885
Change-Id: Ib003b8a7bbe247db6f7da0a4efcfd4e5967fd033
2023-04-12 15:19:11 +02:00
Ed Sanders cf95dbd4be Move var declarations inline
Change-Id: I824a65e72a72e5acf65c54a63299469f7acb649d
2021-11-03 16:38:31 +00:00
Ed Sanders 85a4e23008 build: Update devDependencies
Change-Id: I38b506d6e058f639e0e7d95c3e60616dbef5af10
2020-06-09 11:29:03 +01:00
Bartosz Dziewoński 54bdd85060 ve.ui.MWReferenceDialog: Avoid exception when destroying
Bug: T236949
Change-Id: I430415d4c0921103af0939d087c2d066cd57369f
2019-11-28 19:49:16 +01:00
Ed Sanders 2a222b61d0 Remove deprecated TargetWidget APIs
Change-Id: Ib7feb57ce19f2db47a41561281d51aebd063f408
2019-11-15 16:30:27 +00:00
David Lynch eb37c893ea Extra tracking for VisualEditor's feature use
Bug: T221305
Change-Id: I1c681ec2da5fd7701d6c6b53f1f8a160dc885610
2019-07-08 11:04:52 -05:00
jenkins-bot dbf08269a6 Merge "Dialogs: Use close flag for close actions" 2019-07-02 19:01:35 +00:00
Ed Sanders 6af3bc1fe4 Remove citefromid alias support
Change-Id: I20aa82a3fdc16897abcb36874c17be31d41fda43
2019-06-20 16:08:58 +01:00
Ed Sanders d92e930bb6 Dialogs: Use close flag for close actions
Bug: T225021
Change-Id: I7915656896b502d6f2e19e38aae09d09d2bb8c49
Depends-On: I67b8474b0662f8dbc23c1b5ff883e3d4093bdbd4
2019-06-10 16:00:38 +01:00
jenkins-bot 64234cb793 Merge "Rename 'citefromid' to 'citoid'" 2019-04-11 11:00:58 +00:00
Ed Sanders 01ef641a66 VE: Use new object format for importRules
Add in missing mwTable types.

Change-Id: I4b2e81f8cd78c61d208a3ef6fdab43d0cc720cb5
Depends-On: I366a091ff4def66cc25200b3d1b2c23ba6b716f7
2019-04-09 19:03:49 +01:00
Ed Sanders e7a7f2107b Rename 'citefromid' to 'citoid'
Backwards compatible change can be merged ahead of change
in Citoid repo.

Bug: T219512
Change-Id: If4b920ba743030341e9cf6987c3d2ddc490992c9
2019-04-03 13:20:36 +01:00
Bartosz Dziewoński 17555dd934 ve.ui.MWReferenceDialog: Remove 'Use an existing reference' button
The same functionality is available using the 'Cite → Re-use' tool
on the toolbar (T214991).

We want to use the same location for a new 'Replace reference' button,
to be implemented in the Citoid extension (T208981).

Bug: T208981
Bug: T214991
Change-Id: I511e3c27a7d2175bdc2b6bdb648f04ac96cd1e0b
2019-02-26 00:30:56 +01:00
Ed Sanders 03711dfea8 Add support for read-only mode
Depends-On: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
Change-Id: I83bec9ea5b71aca0b4ef23237fad84aa6ea8a508
2019-02-22 14:13:57 +00:00