mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 03:08:42 +00:00
Merge "Add ve.dm.BreakNode to represent <br>"
This commit is contained in:
commit
5752b3fb72
|
@ -144,6 +144,7 @@ $wgResourceModules += array(
|
|||
|
||||
've/dm/nodes/ve.dm.AlienInlineNode.js',
|
||||
've/dm/nodes/ve.dm.AlienBlockNode.js',
|
||||
've/dm/nodes/ve.dm.BreakNode.js',
|
||||
've/dm/nodes/ve.dm.DefinitionListItemNode.js',
|
||||
've/dm/nodes/ve.dm.DefinitionListNode.js',
|
||||
've/dm/nodes/ve.dm.DocumentNode.js',
|
||||
|
@ -173,6 +174,7 @@ $wgResourceModules += array(
|
|||
|
||||
've/ce/nodes/ve.ce.AlienInlineNode.js',
|
||||
've/ce/nodes/ve.ce.AlienBlockNode.js',
|
||||
've/ce/nodes/ve.ce.BreakNode.js',
|
||||
've/ce/nodes/ve.ce.DefinitionListItemNode.js',
|
||||
've/ce/nodes/ve.ce.DefinitionListNode.js',
|
||||
've/ce/nodes/ve.ce.DocumentNode.js',
|
||||
|
|
|
@ -99,6 +99,7 @@ $html = '<div>' . file_get_contents( $page ) . '</div>';
|
|||
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.AlienInlineNode.js"></script>
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.AlienBlockNode.js"></script>
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.BreakNode.js"></script>
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.DefinitionListItemNode.js"></script>
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.DefinitionListNode.js"></script>
|
||||
<script src="../../modules/ve/dm/nodes/ve.dm.DocumentNode.js"></script>
|
||||
|
@ -128,6 +129,7 @@ $html = '<div>' . file_get_contents( $page ) . '</div>';
|
|||
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.AlienInlineNode.js"></script>
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.AlienBlockNode.js"></script>
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.BreakNode.js"></script>
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.DefinitionListItemNode.js"></script>
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.DefinitionListNode.js"></script>
|
||||
<script src="../../modules/ve/ce/nodes/ve.ce.DocumentNode.js"></script>
|
||||
|
|
53
modules/ve/ce/nodes/ve.ce.BreakNode.js
Normal file
53
modules/ve/ce/nodes/ve.ce.BreakNode.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
/**
|
||||
* VisualEditor content editable BreakNode class.
|
||||
*
|
||||
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* ContentEditable node for a line break.
|
||||
*
|
||||
* @class
|
||||
* @constructor
|
||||
* @extends {ve.ce.LeafNode}
|
||||
* @param model {ve.dm.BreakNode} Model to observe
|
||||
*/
|
||||
ve.ce.BreakNode = function ( model ) {
|
||||
// Inheritance
|
||||
ve.ce.LeafNode.call( this, 'break', model, $( '<br>' ) );
|
||||
|
||||
// DOM Changes
|
||||
this.$.addClass( 've-ce-BreakNode' );
|
||||
};
|
||||
|
||||
/* Static Members */
|
||||
|
||||
/**
|
||||
* Node rules.
|
||||
*
|
||||
* @see ve.ce.NodeFactory
|
||||
* @static
|
||||
* @member
|
||||
*/
|
||||
ve.ce.BreakNode.rules = {
|
||||
'canBeSplit': false
|
||||
};
|
||||
|
||||
/* Methods */
|
||||
|
||||
ve.ce.BreakNode.prototype.canHaveSlugBefore = function () {
|
||||
return true;
|
||||
};
|
||||
|
||||
ve.ce.BreakNode.prototype.canHaveSlugAfter = function () {
|
||||
return true;
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.ce.nodeFactory.register( 'break', ve.ce.BreakNode );
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
ve.extendClass( ve.ce.BreakNode, ve.ce.LeafNode );
|
62
modules/ve/dm/nodes/ve.dm.BreakNode.js
Normal file
62
modules/ve/dm/nodes/ve.dm.BreakNode.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
/**
|
||||
* VisualEditor data model BreakNode class.
|
||||
*
|
||||
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* DataModel node for a line break.
|
||||
*
|
||||
* @class
|
||||
* @constructor
|
||||
* @extends {ve.dm.LeafNode}
|
||||
* @param {Integer} [length] Length of content data in document
|
||||
* @param {Object} [attributes] Reference to map of attribute key/value pairs
|
||||
*/
|
||||
ve.dm.BreakNode = function ( length, attributes ) {
|
||||
// Inheritance
|
||||
ve.dm.LeafNode.call( this, 'break', 0, attributes );
|
||||
};
|
||||
|
||||
/* Static Members */
|
||||
|
||||
/**
|
||||
* Node rules.
|
||||
*
|
||||
* @see ve.dm.NodeFactory
|
||||
* @static
|
||||
* @member
|
||||
*/
|
||||
ve.dm.BreakNode.rules = {
|
||||
'isWrapped': true,
|
||||
'isContent': true,
|
||||
'canContainContent': false,
|
||||
'childNodeTypes': [],
|
||||
'parentNodeTypes': null
|
||||
};
|
||||
|
||||
/**
|
||||
* Node converters.
|
||||
*
|
||||
* @see {ve.dm.Converter}
|
||||
* @static
|
||||
* @member
|
||||
*/
|
||||
ve.dm.BreakNode.converters = {
|
||||
'domElementTypes': ['br'],
|
||||
'toDomElement': function ( type, element ) {
|
||||
return document.createElement( 'br' );
|
||||
},
|
||||
'toDataElement': function ( tag, element ) {
|
||||
return { 'type': 'break' };
|
||||
}
|
||||
};
|
||||
|
||||
/* Registration */
|
||||
|
||||
ve.dm.nodeFactory.register( 'break', ve.dm.BreakNode );
|
||||
|
||||
/* Inheritance */
|
||||
|
||||
ve.extendClass( ve.dm.BreakNode, ve.dm.LeafNode );
|
|
@ -45,6 +45,7 @@
|
|||
<script src="../dm/annotations/ve.dm.TextStyleAnnotation.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.AlienInlineNode.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.AlienBlockNode.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.BreakNode.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.DefinitionListNode.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.DefinitionListItemNode.js"></script>
|
||||
<script src="../dm/nodes/ve.dm.DocumentNode.js"></script>
|
||||
|
@ -67,6 +68,7 @@
|
|||
<script src="../ce/ve.ce.LeafNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.AlienInlineNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.AlienBlockNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.BreakNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.DefinitionListNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.DefinitionListItemNode.js"></script>
|
||||
<script src="../ce/nodes/ve.ce.DocumentNode.js"></script>
|
||||
|
|
Loading…
Reference in a new issue