mediawiki-extensions-Visual.../modules/ve/dm/nodes/ve.dm.DefinitionListNode.js
Catrope aa2836aa6e Remove 'internal' property from DM nodes
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
2012-10-24 16:47:14 -07:00

65 lines
1.3 KiB
JavaScript

/**
* VisualEditor data model DefinitionListNode class.
*
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* DataModel node for a definition list.
*
* @class
* @constructor
* @extends {ve.dm.BranchNode}
* @param {ve.dm.BranchNode[]} [children] Child nodes to attach
* @param {Object} [attributes] Reference to map of attribute key/value pairs
*/
ve.dm.DefinitionListNode = function VeDmDefinitionListNode( children, attributes ) {
// Parent constructor
ve.dm.BranchNode.call( this, 'definitionList', children, attributes );
};
/* Inheritance */
ve.inheritClass( ve.dm.DefinitionListNode, ve.dm.BranchNode );
/* Static Members */
/**
* Node rules.
*
* @see ve.dm.NodeFactory
* @static
* @member
*/
ve.dm.DefinitionListNode.rules = {
'isWrapped': true,
'isContent': false,
'canContainContent': false,
'childNodeTypes': ['definitionListItem'],
'parentNodeTypes': null
};
/**
* Node converters.
*
* @see {ve.dm.Converter}
* @static
* @member
*/
ve.dm.DefinitionListNode.converters = {
'domElementTypes': ['dl'],
'toDomElement': function () {
return document.createElement( 'dl' );
},
'toDataElement': function () {
return {
'type': 'definitionList'
};
}
};
/* Registration */
ve.dm.nodeFactory.register( 'definitionList', ve.dm.DefinitionListNode );