mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-24 06:24:08 +00:00
ListItem now is a branch instead of being leaf. So it contains children - usually it would be just Paragraph, but in some cases Table as well (as Wikitext allows to have HTML table in list item)
This commit is contained in:
parent
02694c630d
commit
d01cdd859d
70
demo/es.js
70
demo/es.js
|
@ -132,63 +132,84 @@ $(document).ready( function() {
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['bullet']
|
'styles': ['bullet']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 4444'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 4444' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['bullet', 'bullet']
|
'styles': ['bullet', 'bullet']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 55555'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 55555' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['bullet', 'bullet', 'bullet']
|
'styles': ['bullet', 'bullet', 'bullet']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 666666'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 666666' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['number']
|
'styles': ['number']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 7777777'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 7777777' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['number', 'number']
|
'styles': ['number', 'number']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 88888888'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 88888888' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['term']
|
'styles': ['term']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 999999999'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 999999999' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['definition']
|
'styles': ['definition']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 0000000000'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 0000000000' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -215,27 +236,36 @@ $(document).ready( function() {
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['bullet']
|
'styles': ['bullet']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 4444'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 4444' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['bullet', 'bullet']
|
'styles': ['bullet', 'bullet']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 55555'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 55555' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'type': 'listItem',
|
'type': 'listItem',
|
||||||
'attributes': {
|
'attributes': {
|
||||||
'styles': ['number']
|
'styles': ['number']
|
||||||
},
|
},
|
||||||
'content': {
|
'children' : [
|
||||||
'text': 'Test 666666'
|
{
|
||||||
|
'type': 'paragraph',
|
||||||
|
'content': { 'text': 'Test 666666' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,10 @@
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.es-listItemView > .es-paragraphView {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.es-headingView-level1,
|
.es-headingView-level1,
|
||||||
.es-headingView-level2 {
|
.es-headingView-level2 {
|
||||||
border-bottom: 1px solid #AAA;
|
border-bottom: 1px solid #AAA;
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
* @param {Object} element Document data element of this node
|
* @param {Object} element Document data element of this node
|
||||||
* @param {Integer} length Length of document data element
|
* @param {Integer} length Length of document data element
|
||||||
*/
|
*/
|
||||||
es.ListItemModel = function( element, length ) {
|
es.ListItemModel = function( element, contents ) {
|
||||||
// Inheritance
|
// Inheritance
|
||||||
es.DocumentModelLeafNode.call( this, 'listItem', element, length );
|
es.DocumentModelBranchNode.call( this, 'listItem', element, contents );
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Methods */
|
/* Methods */
|
||||||
|
@ -30,9 +30,9 @@ es.DocumentModel.nodeModels.listItem = es.ListItemModel;
|
||||||
|
|
||||||
es.DocumentModel.nodeRules.listItem = {
|
es.DocumentModel.nodeRules.listItem = {
|
||||||
'parents': ['list'],
|
'parents': ['list'],
|
||||||
'children': []
|
'children': ['paragraph', 'table']
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Inheritance */
|
/* Inheritance */
|
||||||
|
|
||||||
es.extendClass( es.ListItemModel, es.DocumentModelLeafNode );
|
es.extendClass( es.ListItemModel, es.DocumentModelBranchNode );
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
*/
|
*/
|
||||||
es.ListItemView = function( model ) {
|
es.ListItemView = function( model ) {
|
||||||
// Inheritance
|
// Inheritance
|
||||||
es.DocumentViewLeafNode.call( this, model );
|
es.DocumentViewBranchNode.call( this, model );
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
this.$icon = $( '<div class="es-listItemView-icon"></div>' ).prependTo( this.$ );
|
this.$icon = $( '<div class="es-listItemView-icon"></div>' ).prependTo( this.$ );
|
||||||
|
@ -23,6 +23,7 @@ es.ListItemView = function( model ) {
|
||||||
this.setClasses();
|
this.setClasses();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
es.ListItemView.prototype.setClasses = function() {
|
es.ListItemView.prototype.setClasses = function() {
|
||||||
var classes = this.$.attr( 'class' ),
|
var classes = this.$.attr( 'class' ),
|
||||||
styles = this.model.getElementAttribute( 'styles' );
|
styles = this.model.getElementAttribute( 'styles' );
|
||||||
|
@ -46,4 +47,4 @@ es.ListItemView.prototype.setNumber = function( number ) {
|
||||||
|
|
||||||
/* Inheritance */
|
/* Inheritance */
|
||||||
|
|
||||||
es.extendClass( es.ListItemView, es.DocumentViewLeafNode );
|
es.extendClass( es.ListItemView, es.DocumentViewBranchNode );
|
||||||
|
|
Loading…
Reference in a new issue