/*!
* VisualEditor ContentEditable AlienNode class.
*
* @copyright See AUTHORS.txt
*/
/**
* ContentEditable alien node.
*
* @class
* @abstract
* @extends ve.ce.LeafNode
* @mixes ve.ce.FocusableNode
*
* @constructor
* @param {ve.dm.AlienNode} model
* @param {Object} [config]
*/
ve.ce.AlienNode = function VeCeAlienNode() {
// Parent constructor
ve.ce.AlienNode.super.apply( this, arguments );
// DOM changes
this.$element = $( ve.copyDomElements( this.model.getOriginalDomElements( this.model.getDocument().getStore() ), document ) );
// Mixin constructors
ve.ce.FocusableNode.call( this, this.$element, {
classes: [ 've-ce-alienNode-highlights' ]
} );
// Re-initialize after $element changes
this.initialize();
};
/* Inheritance */
OO.inheritClass( ve.ce.AlienNode, ve.ce.LeafNode );
OO.mixinClass( ve.ce.AlienNode, ve.ce.FocusableNode );
/* Static Properties */
ve.ce.AlienNode.static.name = 'alien';
ve.ce.AlienNode.static.iconWhenInvisible = 'puzzle';
/* Methods */
/**
* @inheritdoc
*/
ve.ce.AlienNode.static.getDescription = function () {
return ve.msg( 'visualeditor-aliennode-tooltip' );
};