References always deal with original document

Singleton always steps up to the original document from fragments, to
give absolute numbering.

Bug: T370874
Change-Id: I0353649289f6c8fe26fa6bdff5d2367b7b575bac
This commit is contained in:
Adam Wight 2024-07-27 18:54:45 +02:00
parent c54000ed86
commit 3e2d060037
2 changed files with 7 additions and 3 deletions

View file

@ -34,10 +34,13 @@ OO.mixinClass( ve.dm.MWDocumentReferences, OO.EventEmitter );
/**
* Singleton MWDocumentReferences for a document.
*
* @param {ve.dm.Document} doc Source document associated with the singleton
* @param {ve.dm.Document} fragment Source document associated with the
* singleton, may be a fragment in which case we step up to the original
* document.
* @return {ve.dm.MWDocumentReferences} Singleton docRefs
*/
ve.dm.MWDocumentReferences.static.refsForDoc = function ( doc ) {
ve.dm.MWDocumentReferences.static.refsForDoc = function ( fragment ) {
const doc = fragment.getOriginalDocument() || fragment;
let docRefs = doc.getStorage( 'document-references-store' );
if ( docRefs === undefined ) {
docRefs = new ve.dm.MWDocumentReferences( doc );

View file

@ -13,7 +13,8 @@ function getInternalListMock( groups, mockWithNode ) {
getItemNode: () => ( node )
};
const docMock = {
getStorage: () => ( refDocMock )
getStorage: () => ( refDocMock ),
getOriginalDocument: () => ( null )
};
const mockInternalList = {
getDocument: () => ( docMock ),