/*! * VisualEditor DataModel MWAlienExtensionNode class. * * @copyright See AUTHORS.txt * @license The MIT License (MIT); see LICENSE.txt */ /** * DataModel MediaWiki alien extension node. * * @class * @abstract * * @constructor */ ve.dm.MWAlienExtensionNode = function VeDmMWAlienExtensionNode() {}; /* Inheritance */ OO.initClass( ve.dm.MWAlienExtensionNode ); /* Static members */ ve.dm.MWAlienExtensionNode.static.getMatchRdfaTypes = function () { return [ /^mw:Extension/ ]; }; // Similar to transclusions, extension encapsulation nodes can be of various types ve.dm.MWAlienExtensionNode.static.allowedRdfaTypes = null; ve.dm.MWAlienExtensionNode.static.toDataElement = function ( domElements, converter ) { // 'Parent' method const element = ve.dm.MWExtensionNode.static.toDataElement.call( this, domElements, converter ), isInline = this.isHybridInline( domElements, converter ); element.type = isInline ? 'mwAlienInlineExtension' : 'mwAlienBlockExtension'; return element; }; /** * @inheritdoc ve.dm.MWExtensionNode */ ve.dm.MWAlienExtensionNode.static.getExtensionName = function ( dataElement ) { return dataElement.attributes.mw.name; };