mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-16 10:59:56 +00:00
aa2836aa6e
There's no use case for keeping a deep copy of the 'internal' property in the node tree, and it was breaking some of my new tests concerning change markers. We could keep internal data in the node tree if we wanted to, but to be correct we'd have to synchronize every time we changed it, which is a pain. Change-Id: I024de1ff8b6b6154da82c103c4bb21db8ff2ec14
65 lines
1.2 KiB
JavaScript
65 lines
1.2 KiB
JavaScript
/**
|
|
* VisualEditor data model ImageNode class.
|
|
*
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* DataModel node for a document.
|
|
*
|
|
* @class
|
|
* @constructor
|
|
* @extends {ve.dm.LeafNode}
|
|
* @param {Number} [length] Length of content data in document
|
|
* @param {Object} [attributes] Reference to map of attribute key/value pairs
|
|
*/
|
|
ve.dm.ImageNode = function VeDmImageNode( length, attributes ) {
|
|
// Parent constructor
|
|
ve.dm.LeafNode.call( this, 'image', 0, attributes );
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
ve.inheritClass( ve.dm.ImageNode, ve.dm.LeafNode );
|
|
|
|
/* Static Members */
|
|
|
|
/**
|
|
* Node rules.
|
|
*
|
|
* @see ve.dm.NodeFactory
|
|
* @static
|
|
* @member
|
|
*/
|
|
ve.dm.ImageNode.rules = {
|
|
'isWrapped': true,
|
|
'isContent': true,
|
|
'canContainContent': false,
|
|
'childNodeTypes': [],
|
|
'parentNodeTypes': null
|
|
};
|
|
|
|
/**
|
|
* Node converters.
|
|
*
|
|
* @see {ve.dm.Converter}
|
|
* @static
|
|
* @member
|
|
*/
|
|
ve.dm.ImageNode.converters = {
|
|
'domElementTypes': ['img'],
|
|
'toDomElement': function () {
|
|
return document.createElement( 'img' );
|
|
},
|
|
'toDataElement': function () {
|
|
return {
|
|
'type': 'image'
|
|
};
|
|
}
|
|
};
|
|
|
|
/* Registration */
|
|
|
|
ve.dm.nodeFactory.register( 'image', ve.dm.ImageNode );
|