mediawiki-extensions-Cite/modules/ve-cite/ve.ui.MWReferenceResultWidget.js
WMDE-Fisch d478955777 Improve sub-ref check to avoid false positives
Bug: T376242
Change-Id: If922dbd52ceb9b1a7973fececa2d062a043f8191
2024-10-02 07:52:23 +02:00

56 lines
1.5 KiB
JavaScript

'use strict';
/*!
* VisualEditor UserInterface MWReferenceResultWidget class.
*
* @copyright 2011-2018 VisualEditor Team's Cite sub-team and others; see AUTHORS.txt
* @license MIT
*/
/**
* Creates an ve.ui.MWReferenceResultWidget object.
*
* @constructor
* @extends OO.ui.OptionWidget
* @param {Object} config Configuration options
* @param {Object} config.item Result item
* @param {Object} config.reuseMenu
*/
ve.ui.MWReferenceResultWidget = function VeUiMWReferenceResultWidget( config ) {
config = ve.extendObject( {
title: ve.msg( 'cite-ve-dialog-reference-useexisting-long-tool' )
}, config );
// Parent constructor
ve.ui.MWReferenceResultWidget.super.apply( this, arguments );
// Initialization
const item = config.item;
this.$element
.addClass( 've-ui-mwReferenceResultWidget' );
if ( item.reference.extendsRef ) {
this.$element.addClass( 've-ui-mwReferenceResultWidget-sub' );
}
const $footnoteLabel = $( '<div>' )
.addClass( 've-ui-mwReferenceResultWidget-footnote' )
.text( '[' + item.footnoteLabel + ']' );
const $name = $( '<div>' )
.addClass( 've-ui-mwReferenceResultWidget-name' )
.toggleClass( 've-ui-mwReferenceResultWidget-name-autogenerated', /^:\d+$/.test( item.name ) )
.text( item.name );
this.setLabel( $footnoteLabel.add( $name ).add( item.$refContent ) );
this.setData( item.reference );
if ( mw.config.get( 'wgCiteBookReferencing' ) && config.reuseMenu ) {
this.$element.append( config.reuseMenu.$element );
}
};
/* Inheritance */
OO.inheritClass( ve.ui.MWReferenceResultWidget, OO.ui.OptionWidget );