r102329 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r102328‎ | r102329 | r102330 >
Date:21:30, 7 November 2011
Author:inez
Status:deferred
Tags:
Comment:
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)
Modified paths:
  • /trunk/extensions/VisualEditor/demo/es.js (modified) (history)
  • /trunk/extensions/VisualEditor/modules/es/es.Surface.css (modified) (history)
  • /trunk/extensions/VisualEditor/modules/es/models/es.ListItemModel.js (modified) (history)
  • /trunk/extensions/VisualEditor/modules/es/views/es.ListItemView.js (modified) (history)

Diff [purge]

Index: trunk/extensions/VisualEditor/demo/es.js
@@ -132,63 +132,84 @@
133133 'attributes': {
134134 'styles': ['bullet']
135135 },
136 - 'content': {
137 - 'text': 'Test 4444'
138 - }
 136+ 'children' : [
 137+ {
 138+ 'type': 'paragraph',
 139+ 'content': { 'text': 'Test 4444' }
 140+ }
 141+ ]
139142 },
140143 {
141144 'type': 'listItem',
142145 'attributes': {
143146 'styles': ['bullet', 'bullet']
144147 },
145 - 'content': {
146 - 'text': 'Test 55555'
147 - }
 148+ 'children' : [
 149+ {
 150+ 'type': 'paragraph',
 151+ 'content': { 'text': 'Test 55555' }
 152+ }
 153+ ]
148154 },
149155 {
150156 'type': 'listItem',
151157 'attributes': {
152158 'styles': ['bullet', 'bullet', 'bullet']
153159 },
154 - 'content': {
155 - 'text': 'Test 666666'
156 - }
 160+ 'children' : [
 161+ {
 162+ 'type': 'paragraph',
 163+ 'content': { 'text': 'Test 666666' }
 164+ }
 165+ ]
157166 },
158167 {
159168 'type': 'listItem',
160169 'attributes': {
161170 'styles': ['number']
162171 },
163 - 'content': {
164 - 'text': 'Test 7777777'
165 - }
 172+ 'children' : [
 173+ {
 174+ 'type': 'paragraph',
 175+ 'content': { 'text': 'Test 7777777' }
 176+ }
 177+ ]
166178 },
167179 {
168180 'type': 'listItem',
169181 'attributes': {
170182 'styles': ['number', 'number']
171183 },
172 - 'content': {
173 - 'text': 'Test 88888888'
174 - }
 184+ 'children' : [
 185+ {
 186+ 'type': 'paragraph',
 187+ 'content': { 'text': 'Test 88888888' }
 188+ }
 189+ ]
175190 },
176191 {
177192 'type': 'listItem',
178193 'attributes': {
179194 'styles': ['term']
180195 },
181 - 'content': {
182 - 'text': 'Test 999999999'
183 - }
 196+ 'children' : [
 197+ {
 198+ 'type': 'paragraph',
 199+ 'content': { 'text': 'Test 999999999' }
 200+ }
 201+ ]
184202 },
185203 {
186204 'type': 'listItem',
187205 'attributes': {
188206 'styles': ['definition']
189207 },
190 - 'content': {
191 - 'text': 'Test 0000000000'
192 - }
 208+ 'children' : [
 209+ {
 210+ 'type': 'paragraph',
 211+ 'content': { 'text': 'Test 0000000000' }
 212+ }
 213+ ]
193214 }
194215 ]
195216 },
@@ -215,27 +236,36 @@
216237 'attributes': {
217238 'styles': ['bullet']
218239 },
219 - 'content': {
220 - 'text': 'Test 4444'
221 - }
 240+ 'children' : [
 241+ {
 242+ 'type': 'paragraph',
 243+ 'content': { 'text': 'Test 4444' }
 244+ }
 245+ ]
222246 },
223247 {
224248 'type': 'listItem',
225249 'attributes': {
226250 'styles': ['bullet', 'bullet']
227251 },
228 - 'content': {
229 - 'text': 'Test 55555'
230 - }
 252+ 'children' : [
 253+ {
 254+ 'type': 'paragraph',
 255+ 'content': { 'text': 'Test 55555' }
 256+ }
 257+ ]
231258 },
232259 {
233260 'type': 'listItem',
234261 'attributes': {
235262 'styles': ['number']
236263 },
237 - 'content': {
238 - 'text': 'Test 666666'
239 - }
 264+ 'children' : [
 265+ {
 266+ 'type': 'paragraph',
 267+ 'content': { 'text': 'Test 666666' }
 268+ }
 269+ ]
240270 }
241271 ]
242272 }
Index: trunk/extensions/VisualEditor/modules/es/models/es.ListItemModel.js
@@ -7,9 +7,9 @@
88 * @param {Object} element Document data element of this node
99 * @param {Integer} length Length of document data element
1010 */
11 -es.ListItemModel = function( element, length ) {
 11+es.ListItemModel = function( element, contents ) {
1212 // Inheritance
13 - es.DocumentModelLeafNode.call( this, 'listItem', element, length );
 13+ es.DocumentModelBranchNode.call( this, 'listItem', element, contents );
1414 };
1515
1616 /* Methods */
@@ -30,9 +30,9 @@
3131
3232 es.DocumentModel.nodeRules.listItem = {
3333 'parents': ['list'],
34 - 'children': []
 34+ 'children': ['paragraph', 'table']
3535 };
3636
3737 /* Inheritance */
3838
39 -es.extendClass( es.ListItemModel, es.DocumentModelLeafNode );
 39+es.extendClass( es.ListItemModel, es.DocumentModelBranchNode );
Index: trunk/extensions/VisualEditor/modules/es/es.Surface.css
@@ -49,6 +49,10 @@
5050 font-size: 1em;
5151 }
5252
 53+.es-listItemView > .es-paragraphView {
 54+ margin: 0;
 55+}
 56+
5357 .es-headingView-level1,
5458 .es-headingView-level2 {
5559 border-bottom: 1px solid #AAA;
Index: trunk/extensions/VisualEditor/modules/es/views/es.ListItemView.js
@@ -8,7 +8,7 @@
99 */
1010 es.ListItemView = function( model ) {
1111 // Inheritance
12 - es.DocumentViewLeafNode.call( this, model );
 12+ es.DocumentViewBranchNode.call( this, model );
1313
1414 // Properties
1515 this.$icon = $( '<div class="es-listItemView-icon"></div>' ).prependTo( this.$ );
@@ -23,6 +23,7 @@
2424 this.setClasses();
2525 };
2626
 27+
2728 es.ListItemView.prototype.setClasses = function() {
2829 var classes = this.$.attr( 'class' ),
2930 styles = this.model.getElementAttribute( 'styles' );
@@ -46,4 +47,4 @@
4748
4849 /* Inheritance */
4950
50 -es.extendClass( es.ListItemView, es.DocumentViewLeafNode );
 51+es.extendClass( es.ListItemView, es.DocumentViewBranchNode );

Status & tagging log