mediawiki-extensions-Visual.../modules/ve-mw/dm/metaitems/ve.dm.MWAlienMetaItem.js
Isabelle Hurbain-Palatin 3a3437007a Handle annotation tags as nodes rather than metaitems.
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
2021-10-21 10:39:04 +02:00

42 lines
1.2 KiB
JavaScript

/*!
* VisualEditor DataModel MWAlienMetaItem class.
*
* @copyright 2011-2020 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* DataModel MW-specific meta item.
*
* @class
* @abstract
* @extends ve.dm.AlienMetaItem
* @constructor
* @param {Object} element Reference to element in meta-linmod
*/
ve.dm.MWAlienMetaItem = function VeDmMWAlienMetaItem() {
// Parent constructor
ve.dm.MWAlienMetaItem.super.apply( this, arguments );
};
/* Inheritance */
OO.inheritClass( ve.dm.MWAlienMetaItem, ve.dm.AlienMetaItem );
/* Static Properties */
ve.dm.MWAlienMetaItem.static.name = 'mwAlienMeta';
ve.dm.MWAlienMetaItem.static.matchRdfaTypes = [
// HACK: Avoid matching things that are better handled by MWAlienExtensionNode or MWIncludesNode or MWAnnotationNode
/^mw:(?!Extension|Includes|Annotation)/
];
// toDataElement inherited from AlienMetaItem, will return regular alienMeta elements but
// that's fine. This class is only here so that <meta>/<link> tags with an mw: type are correctly
// mapped to AlienMetaItem rather than AlienNode.
/* Registration */
ve.dm.modelRegistry.register( ve.dm.MWAlienMetaItem );