Streamline code dealing with (undeployed) extends attribute

No need to create an expensive model here when all we need is a
single attribute.

Note this code is still behind a feature flag and not running
anywhere, except on the beta cluster.

Bug: T247922
Change-Id: Iea48837213b72a8d0f4b3cc9d9688d9a08315509
This commit is contained in:
thiemowmde 2024-05-02 17:09:16 +02:00
parent 891a757336
commit a531d4d82d

View file

@ -93,9 +93,7 @@ ve.ui.MWReferenceContextItem.prototype.getReuseWarning = function () {
* @return {jQuery|null} * @return {jQuery|null}
*/ */
ve.ui.MWReferenceContextItem.prototype.getExtendsWarning = function () { ve.ui.MWReferenceContextItem.prototype.getExtendsWarning = function () {
const refModel = ve.dm.MWReferenceModel.static.newFromReferenceNode( this.model ); if ( this.model.getAttribute( 'extendsRef' ) ) {
if ( refModel.extendsRef ) {
return $( '<div>' ) return $( '<div>' )
.addClass( 've-ui-mwReferenceContextItem-muted' ) .addClass( 've-ui-mwReferenceContextItem-muted' )
.text( mw.msg( 'cite-ve-dialog-reference-editing-extends' ) ); .text( mw.msg( 'cite-ve-dialog-reference-editing-extends' ) );
@ -133,12 +131,12 @@ ve.ui.MWReferenceContextItem.prototype.getDescription = function () {
* @return {string|null} * @return {string|null}
*/ */
ve.ui.MWReferenceContextItem.prototype.getParentRef = function () { ve.ui.MWReferenceContextItem.prototype.getParentRef = function () {
const refModel = ve.dm.MWReferenceModel.static.newFromReferenceNode( this.model ); const extendsRef = this.model.getAttribute( 'extendsRef' );
if ( !refModel.extendsRef ) { if ( !extendsRef ) {
return null; return null;
} }
const list = this.getFragment().getDocument().getInternalList(); const list = this.getFragment().getDocument().getInternalList();
const index = list.keys.indexOf( 'literal/' + refModel.extendsRef ); const index = list.keys.indexOf( 'literal/' + extendsRef );
return list.getItemNode( index ).element.attributes.originalHtml; return list.getItemNode( index ).element.attributes.originalHtml;
}; };