Page MenuHomePhabricator

[Refactor] Add logic to get all reuses from a `listIndex`
Open, Needs TriagePublic

Description

Context

In some places in the code we need to get all MWReferenceNodes using the same listKey, aka the reuses. Currently this can be done by calling InternalListNodeGroup.getAllReuses that uses InternalListNodeGroup.keyedNodes. If we want to move away from the listKey as identifier for reuses, we need another way to get "all reuses" of a ref by using the listIndex.\

Currently there's only a mapping on group level that's about the listKey. A mapping based on the listIndex should be stored in the InternalList directly.

Task
  • Maintain a map in ve.dm.InternalList.addNode whenever nodes are added
  • Make sure nodes are removed in ve.dm.InternalList.removeNode

Event Timeline

Change #1238390 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[VisualEditor/VisualEditor@master] Add mapping for nodes by listIndex

https://gerrit.wikimedia.org/r/1238390

Change #1238684 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] VE: Streamline ref usage numbers in MWReferenceEditPanel

https://gerrit.wikimedia.org/r/1238684

Change #1238694 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] [WIP] Use new reusesByListIndex method

https://gerrit.wikimedia.org/r/1238694

Change #1238684 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] VE: Streamline ref usage numbers in MWReferenceEditPanel

https://gerrit.wikimedia.org/r/1238684

Change #1238694 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] [WIP] Add helper method for using listIndex for reuses

https://gerrit.wikimedia.org/r/1238694

Change #1240749 had a related patch set uploaded (by WMDE-Fisch; author: WMDE-Fisch):

[mediawiki/extensions/Cite@master] VE Converter tests: Fix wrong parameter name in edit

https://gerrit.wikimedia.org/r/1240749

Change #1240749 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] VE Converter tests: Fix wrong parameter name in edit

https://gerrit.wikimedia.org/r/1240749

Change #1251925 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[VisualEditor/VisualEditor@master] Alternative listIndex accessors in ve.dm.InternalListNodeGroup

https://gerrit.wikimedia.org/r/1251925

Change #1251925 merged by jenkins-bot:

[VisualEditor/VisualEditor@master] Alternative listIndex accessors in ve.dm.InternalListNodeGroup

https://gerrit.wikimedia.org/r/1251925

Change #1254901 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (7585187b3)

https://gerrit.wikimedia.org/r/1254901

Change #1254901 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (7585187b3)

https://gerrit.wikimedia.org/r/1254901

Change #1238694 abandoned by WMDE-Fisch:

[mediawiki/extensions/Cite@master] Add helper method for using listIndex for reuses

Reason:

I would abandon this patch. We're moving so fast atm that I guess its better to re-do it sometime.

https://gerrit.wikimedia.org/r/1238694

Change #1270946 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/Cite@master] Remove now unused MWGroupReferences helper methods

https://gerrit.wikimedia.org/r/1270946

Change #1270946 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Remove now unused MWGroupReferences helper methods

https://gerrit.wikimedia.org/r/1270946