mediawiki-extensions-Visual.../modules/ve/dm/nodes/ve.dm.ImageNode.js
Catrope 1f01100eb9 Flag pre nodes as having significant whitespace
This causes the converter not to strip inner whitespace in them, and
causes CE to suppress the whitespace mangling logic that is normally
applied (↵ for newlines, ➞ for tabs, alternating  s for spaces).

Change-Id: I738a750c91a4ca4836c485e282865bb7525bf30a
2012-11-07 12:10:58 -08:00

66 lines
1.3 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,
'hasSignificantWhitespace': 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 );