mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-23 18:28:51 +00:00
Fixes for definition lists
This commit is contained in:
parent
85def70a8a
commit
83a80bad49
|
@ -99,13 +99,14 @@ es.HtmlSerializer.prototype.list = function( node ) {
|
||||||
var commonPrefixLength = function (x, y) {
|
var commonPrefixLength = function (x, y) {
|
||||||
var minLength = Math.min(x.length, y.length);
|
var minLength = Math.min(x.length, y.length);
|
||||||
for(var i = 0; i < minLength; i++) {
|
for(var i = 0; i < minLength; i++) {
|
||||||
if (x[i] !== y[i]
|
if (x[i] !== y[i]) {
|
||||||
// Both definitiondata and definitionterm are
|
// Both definitiondata and definitionterm are
|
||||||
// inside dls, so consider them equivalent here.
|
// inside dls, so consider them equivalent here.
|
||||||
&& [x[i], y[i]].sort()
|
var diffs = [x[i], y[i]].sort();
|
||||||
!== ['definitiondata', 'definitionterm'] )
|
if (diffs[0] !== 'definitiondata'
|
||||||
{
|
&& diffs[1] !== 'definitionterm' ) {
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return i;
|
return i;
|
||||||
|
|
|
@ -55,8 +55,8 @@
|
||||||
var level_padding = "";
|
var level_padding = "";
|
||||||
var bracket_level_padding = "";
|
var bracket_level_padding = "";
|
||||||
|
|
||||||
for (var j = 0; j < level + 1; j++) level_padding += " ";
|
for (var j = 0; j < level + 1; j++) level_padding += " ";
|
||||||
for (var b = 0; b < level; b++) bracket_level_padding += " ";
|
for (var b = 0; b < level; b++) bracket_level_padding += " ";
|
||||||
|
|
||||||
if (typeof(arr) == 'object') { //Array/Hashes/Objects
|
if (typeof(arr) == 'object') { //Array/Hashes/Objects
|
||||||
dumped_text += "Array\n";
|
dumped_text += "Array\n";
|
||||||
|
@ -74,8 +74,8 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
dumped_text += bracket_level_padding + ")\n\n";
|
dumped_text += bracket_level_padding + ")\n\n";
|
||||||
} else { //Stings/Chars/Numbers etc.
|
} else { //Strings/Chars/Numbers etc.
|
||||||
dumped_text = "===>" + arr + "<===(" + typeof(arr) + ")";
|
dumped_text = "=>" + arr + "<=(" + typeof(arr) + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
return dumped_text;
|
return dumped_text;
|
||||||
|
@ -566,19 +566,20 @@ ext_param_val
|
||||||
|
|
||||||
lists = es:(dtdd / li)+
|
lists = es:(dtdd / li)+
|
||||||
{
|
{
|
||||||
// flatten es
|
// Flatten es
|
||||||
var esLen = es.length;
|
var esLen = es.length;
|
||||||
var flatEs = [];
|
var flatEs = [];
|
||||||
for (var i = 0; i < esLen; i++) {
|
for (var i = 0; i < esLen; i++) {
|
||||||
if (es[i].constructor === Array) {
|
var ei = es[i];
|
||||||
flatEs.concat(es[i]);
|
if ($.isArray(ei)) {
|
||||||
|
flatEs = flatEs.concat(ei);
|
||||||
} else {
|
} else {
|
||||||
flatEs.push(es[i]);
|
flatEs.push(ei);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
type: 'list',
|
type: 'list',
|
||||||
children: es
|
children: flatEs
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -598,7 +599,7 @@ li = bullets:list_char+
|
||||||
dtdd = bullets:list_char+
|
dtdd = bullets:list_char+
|
||||||
c:(inline_element / [^:\n])+
|
c:(inline_element / [^:\n])+
|
||||||
":"
|
":"
|
||||||
d:(inline / anyline)
|
d:(inline_element / [^\n])+
|
||||||
newline
|
newline
|
||||||
{
|
{
|
||||||
// reject rule if bullets do not end in semicolon
|
// reject rule if bullets do not end in semicolon
|
||||||
|
@ -609,12 +610,12 @@ dtdd = bullets:list_char+
|
||||||
{
|
{
|
||||||
type: 'listItem',
|
type: 'listItem',
|
||||||
attributes: {styles: bulletsToTypes(bullets)},
|
attributes: {styles: bulletsToTypes(bullets)},
|
||||||
content: c[0]
|
content: {text: c.join('')}
|
||||||
}, {
|
}, {
|
||||||
type: 'listItem',
|
type: 'listItem',
|
||||||
attributes: {styles: bulletsToTypes(
|
attributes: {styles: bulletsToTypes(
|
||||||
bullets.slice(0, bullets.length - 1) + ':')},
|
bullets.slice(0, bullets.length - 1) + ':')},
|
||||||
content: d[0]
|
content: {text: d.join('')}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue