1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
/*!
* VisualEditor MWAnnotationContextItem class.
*
* @copyright See AUTHORS.txt
*/
/**
* Context item for a MWAnnotation
*
* @class
* @extends ve.ui.LinearContextItem
*
* @constructor
* @param {ve.ui.LinearContext} context Context the item is in
* @param {ve.dm.Model} model Model the item is related to
* @param {Object} [config]
*/
ve.ui.MWAnnotationContextItem = function VeUiMWAnnotationContextItem() {
// Parent constructor
ve.ui.MWAnnotationContextItem.super.apply( this, arguments );
// Initialization
this.$element.addClass( 've-ui-mwAnnotationContextItem' );
this.setLabel( this.getLabelMessage() );
this.$actions.remove();
};
/* Inheritance */
OO.inheritClass( ve.ui.MWAnnotationContextItem, ve.ui.LinearContextItem );
/* Static Properties */
ve.ui.MWAnnotationContextItem.static.editable = false;
ve.ui.MWAnnotationContextItem.static.name = 'mwAnnotation';
ve.ui.MWAnnotationContextItem.static.icon = 'markup';
ve.ui.MWAnnotationContextItem.static.modelClasses = [
ve.dm.MWAnnotationNode
];
/* Methods */
/**
* @inheritdoc
*/
ve.ui.MWAnnotationContextItem.prototype.renderBody = function () {
this.$body.empty();
const $desc = this.getDescriptionMessage();
if ( $desc ) {
this.$body.append( $desc, $( document.createTextNode( mw.msg( 'word-separator' ) ) ) );
}
if ( this.model.getAttribute( 'mw' ) ) {
if ( this.model.getAttribute( 'mw' ).extendedRange ) {
// eslint-disable-next-line no-jquery/no-append-html
this.$body.append( mw.message( 'visualeditor-annotations-extended-documentation' ).parseDom() );
}
}
};
|