mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-01 09:26:37 +00:00
3a3437007a
Preserve the place of annotation meta tags; adds information for the users about annotation and, if necessary, annotation range extension. The messages and individual handling of annotations for the annotation range can be defined by the extensions: see I0b58a418 for an example of how that can look like. The structure of this patch closely follows the one from I104e7abbd (handling of <noinclude> et al.). Bug: T261181 Change-Id: I39029e4a63d22b37107edec066006557bcff34bf
57 lines
1.4 KiB
JavaScript
57 lines
1.4 KiB
JavaScript
/*!
|
|
* VisualEditor DataModel MWAlienAnnotationNode class.
|
|
*
|
|
* @copyright 2011-2021 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* DataModel MediaWiki alien annotation node.
|
|
*
|
|
* @class
|
|
* @abstract
|
|
* @extends ve.dm.MWAnnotationNode
|
|
*
|
|
* @constructor
|
|
* @param {Object} [element] Reference to element in linear model
|
|
* @param {ve.dm.Node[]} [children]
|
|
*/
|
|
ve.dm.MWAlienAnnotationNode = function VeDmMWAlienAnnotationNode() {
|
|
// Parent constructor
|
|
ve.dm.MWAlienAnnotationNode.super.apply( this, arguments );
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
OO.inheritClass( ve.dm.MWAlienAnnotationNode, ve.dm.MWAnnotationNode );
|
|
|
|
/* Static members */
|
|
|
|
ve.dm.MWAlienAnnotationNode.static.name = 'mwAlienAnnotation';
|
|
|
|
ve.dm.MWAlienAnnotationNode.static.matchRdfaTypes = [
|
|
/^mw:Annotation\//
|
|
];
|
|
|
|
/* Methods */
|
|
|
|
ve.dm.MWAlienAnnotationNode.static.toDataElement = function ( domElements ) {
|
|
// 'Parent' method
|
|
var element = ve.dm.MWAlienAnnotationNode.super.static.toDataElement.call( this, domElements );
|
|
|
|
element.type = 'mwAlienAnnotation';
|
|
return element;
|
|
};
|
|
|
|
ve.dm.MWAlienAnnotationNode.prototype.getWikitextTag = function () {
|
|
var type = this.getAttribute( 'type' );
|
|
if ( type.indexOf( '/End', type.length - 4 ) !== -1 ) {
|
|
return '</UNKNOWN>';
|
|
}
|
|
return '<UNKNOWN>';
|
|
};
|
|
|
|
/* Registration */
|
|
|
|
ve.dm.modelRegistry.register( ve.dm.MWAlienAnnotationNode );
|