isset() should only be used to suppress errors, not for null check.
When the variable is always defined, there is no need to use isset.
Found by a new phan plugin (2efea9f989)
https://www.mediawiki.org/wiki/Manual:Coding_conventions/PHP#isset
Change-Id: I2eee98fdcb21192108183c431b10e0072b951f72
Implicitly marking parameter $... as nullable is deprecated in PHP
8.4. The explicit nullable type must be used instead.
Bug: T376276
Change-Id: I73a4ce1ecd9b4fe040e5bfd22889e783071fab0d
Cite's MWDocumentReferences included a Document, which caused
auto-save serialization to fail silently on the cyclical reference.
This patch moves the caching to per-instance scope, which was the
better choice to begin with. The document refs are recalculated after
each change anyway, and caching is only necessary to work around an
awkward control flow in which each ReferenceNode is responsible for
its footnote number.
Bug: T377484
Change-Id: Iebe4befd603fe07d9da2a5bb6126228ec4d5dfea
Should have moved with the tracking implementation but also seem to
have worked this way.
Bug: T355194
Change-Id: Ie2f161a9be19734f540935c6b5c0de95002f065d
This is not needed anymore. The additional details to a newly
created sub-reference are set using the ReferenceDialog now.
Bug: T375156
Depends-On: Iae32e95b7ede1c9c0891a910537e1e36514f5a0c
Change-Id: I941b6928cbfbc51a77c4381356f2a54ff72847eb
Make it a bit more explicit when we want to remove that node and
be a bit more verbose with comments.
Bug: T375156
Change-Id: Ibb5efefa03037b99b50284071d06231e518530a6
The ReferenceDialog can be used to insert a new sub-ref and set
the additional details for that. Here I'm creating an entry point
for that workflow.
Bug: T375156
Change-Id: I47db21cd44d19ff209f9d5fa736bd6a057b983f2
There's no need to open another dialog to set the additional
details when creating a sub-reference. We can just use the edit
panel that's already added to the ReferenceDialog.
In the edit panel I assume that whenever it is loaded with a
reference that uses the extends attribute and has no content
then the panel is used to create a sub-ref.
Note: SetExtendsContentDialog is still used for the Citoid flow.
Bug: T375156
Change-Id: I8cb3663f2f45a807b1d00f543ae13e8c5f53c6d8
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
We discovered that the label can be really long depending on the
language. On mobile, where the screen is quite narrow it seems
more useful to let it wrap.
In this context it's even more relevant, because the options you
can choose from might only differ in the last parts of the message.
Bug: T375053
Change-Id: I9ec111ab1b80843f993d605ff11a1702c3d7b37c
I mock something similar to what's done in the ReferenceDialog,
just to improve the situation for now.
Change-Id: Ie3a1facf79a1920fe282a023b2ac33165d62f117
We want the tooltip on the entire search result item, but not on
the button. The button probably needs a dedicated tooltip. To be
discussed. Let's start with removing the wrong tooltip.
Bug: T375053
Change-Id: I69da1f3cf80cf94342498a30b47acac8412d08ca
When the reference to re-use has a lot of content the button element
of the sub-menu expands over the whole height of the result widget.
The expanded sub-menu will always be positioned at the end of the
button element, that's why it was always added to the end of the
result widget and not the visible button.
Makeing sure that the element of the button is not larger than the
visible outlines fixes that problem.
Bug: T375053
Change-Id: I3c16aeae37c3774808544b03c7e6e52762e6d145
Since changing the group will break a subref, we'll hide the field
for now.
TODO: There's more that can be done here: the main ref group
selector could also be hidden, and changing group could be supported
if we change the group on all linked refs.
Bug: T375156
Change-Id: I220850edae58097e09616a4b100878513767deae