mediawiki-extensions-Visual.../modules/ve/dm/metaitems/ve.dm.AlienMetaItem.js
Ed Sanders 59bfc081df Store alien meta items' dom nodes only
We don't need to decompose and rebuild alien meta items
as they are uneditable, so just store the dom node and return that
in toDomElements.

Update test cases and several tests now need to use
assert.deepEqualWithDomElements.

Change-Id: I4d2eed267dac7855cb929a17d7aef566eaf0e287
2013-06-12 16:37:37 +01:00

49 lines
1.1 KiB
JavaScript

/*!
* VisualEditor DataModel AlienMetaItem class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* DataModel alien meta item.
*
* @class
* @extends ve.dm.MetaItem
* @constructor
* @param {Object} element Reference to element in meta-linmod
*/
ve.dm.AlienMetaItem = function VeDmAlienMetaItem( element ) {
// Parent constructor
ve.dm.MetaItem.call( this, element );
};
/* Inheritance */
ve.inheritClass( ve.dm.AlienMetaItem, ve.dm.MetaItem );
/* Static Properties */
ve.dm.AlienMetaItem.static.name = 'alienMeta';
ve.dm.AlienMetaItem.static.matchTagNames = [ 'meta', 'link' ];
ve.dm.AlienMetaItem.static.storeHtmlAttributes = false;
ve.dm.AlienMetaItem.static.toDataElement = function ( domElements ) {
return {
'type': this.name,
'attributes': {
'domElements': ve.copyArray( domElements )
}
};
};
ve.dm.AlienMetaItem.static.toDomElements = function ( dataElement ) {
return dataElement.attributes.domElements;
};
/* Registration */
ve.dm.modelRegistry.register( ve.dm.AlienMetaItem );