Project

General

Profile

Bug #22607 » rtehtmlarea_bugfix_14333_trunk.patch

Administrator Admin, 2010-05-25 09:15

View differences:

typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail)
var range = this._createRange(selection);
if (!Ext.isIE) {
var parentStart = range.startContainer;
if (/^(body)$/i.test(parentStart.nodeName)) {
parentStart = parentStart.firstChild;
}
var parentEnd = range.endContainer;
if (/^(body)$/i.test(parentEnd.nodeName)) {
parentEnd = parentEnd.lastChild;
}
} else {
if (selection.type !== "Control" ) {
var rangeEnd = range.duplicate();
typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockElements/block-elements.js (copie de travail)
if (endBlocks.start === endBlocks.end) {
--index;
}
for (var block = startAncestors[index]; block; block = block.nextSibling) {
if (HTMLArea.isBlockElement(block)) {
switch (buttonId) {
case "Indent" :
if (!HTMLArea._hasClass(block, this.useClass[buttonId])) {
HTMLArea._addClass(block, this.useClass[buttonId]);
}
break;
case "Outdent" :
if (HTMLArea._hasClass(block, this.useClass["Indent"])) {
HTMLArea._removeClass(block, this.useClass["Indent"]);
}
break;
case "JustifyLeft" :
case "JustifyCenter" :
case "JustifyRight" :
case "JustifyFull" :
this.toggleAlignmentClass(block, buttonId);
break;
default :
if (this.standardBlockElements.test(buttonId.toLowerCase()) && buttonId.toLowerCase() == block.nodeName.toLowerCase()) {
this.cleanClasses(block);
if (className) {
HTMLArea._addClass(block, className);
if (!/^(body)$/i.test(startAncestors[index].nodeName)) {
for (var block = startAncestors[index]; block; block = block.nextSibling) {
if (HTMLArea.isBlockElement(block)) {
switch (buttonId) {
case "Indent" :
if (!HTMLArea._hasClass(block, this.useClass[buttonId])) {
HTMLArea._addClass(block, this.useClass[buttonId]);
}
}
break;
break;
case "Outdent" :
if (HTMLArea._hasClass(block, this.useClass["Indent"])) {
HTMLArea._removeClass(block, this.useClass["Indent"]);
}
break;
case "JustifyLeft" :
case "JustifyCenter" :
case "JustifyRight" :
case "JustifyFull" :
this.toggleAlignmentClass(block, buttonId);
break;
default :
if (this.standardBlockElements.test(buttonId.toLowerCase()) && buttonId.toLowerCase() == block.nodeName.toLowerCase()) {
this.cleanClasses(block);
if (className) {
HTMLArea._addClass(block, className);
}
}
break;
}
}
if (block == endAncestors[index]) {
break;
}
}
if (block == endAncestors[index]) {
break;
}
}
},
(2-2/3)