Project

General

Profile

Bug #22379 » rtehtmlarea_bugfix_14004_typo3_4-3.patch

Administrator Admin, 2010-04-06 03:11

View differences:

typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectFont/select-font.js (copie de travail)
/***************************************************************
* Copyright notice
*
* (c) 2008-2009 Stanislas Rolland <typo3(arobas)sjbr.ca>
* (c) 2008-2010 Stanislas Rolland <typo3(arobas)sjbr.ca>
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
......
param = "";
}
editor.focusEditor();
var selection = editor._getSelection(),
range = editor._createRange(selection),
statusBarSelection = editor.getPluginInstance("StatusBar") ? editor.getPluginInstance("StatusBar").getSelection() : null,
element;
if (editor._selectionEmpty(selection)) {
element = editor.getParentElement(selection, range);
var element, fullNodeSelected = false;
var selection = editor._getSelection();
var range = editor._createRange(selection);
var parent = editor.getParentElement(selection, range);
var ancestors = editor.getAllAncestors();
var selectionEmpty = editor._selectionEmpty(selection);
var statusBarSelection = editor.getPluginInstance("StatusBar") ? editor.getPluginInstance("StatusBar").getSelection() : null;
if (!selectionEmpty) {
// The selection is not empty.
for (var i = 0; i < ancestors.length; ++i) {
fullNodeSelected = (HTMLArea.is_ie && ((selection.type !== "Control" && ancestors[i].innerText === range.text) || (selection.type === "Control" && ancestors[i].innerText === range.item(0).text)))
|| (HTMLArea.is_gecko && ((statusBarSelection === ancestors[i] && ancestors[i].textContent === range.toString()) || (!statusBarSelection && ancestors[i].textContent === range.toString())));
if (fullNodeSelected) {
parent = ancestors[i];
break;
}
}
// Working around bug in Safari selectNodeContents
if (!fullNodeSelected && HTMLArea.is_safari && statusBarSelection && statusBarSelection.textContent === range.toString()) {
fullNodeSelected = true;
parent = statusBarSelection;
}
fullNodeSelected = (HTMLArea.is_gecko && parent.textContent === range.toString())
|| (HTMLArea.is_ie && parent.innerText === range.text);
}
if (selectionEmpty || fullNodeSelected) {
element = parent;
// Set the style attribute
this.setStyle(element, buttonId, param);
// Remove the span tag if it has no more attribute
typo3/sysext/rtehtmlarea/htmlarea/plugins/TYPO3Color/typo3color.js (copie de travail)
/***************************************************************
* Copyright notice
*
* (c) 2004-2009 Stanislas Rolland <typo3(arobas)sjbr.ca>
* (c) 2004-2010 Stanislas Rolland <typo3(arobas)sjbr.ca>
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
......
switch (dialog.arguments.buttonId) {
case "ForeColor":
case "HiliteColor":
var fullNodeSelected = false;
var selection = editor._getSelection();
var range = editor._createRange(selection);
var parent = editor.getParentElement(selection, range);
var ancestors = editor.getAllAncestors();
var selectionEmpty = editor._selectionEmpty(selection);
var statusBarSelection = editor.getPluginInstance("StatusBar") ? editor.getPluginInstance("StatusBar").getSelection() : null;
var range = editor._createRange(selection);
if (editor._selectionEmpty(selection)) {
element = editor.getParentElement(selection, range);
if (!selectionEmpty) {
// The selection is not empty.
for (var i = 0; i < ancestors.length; ++i) {
fullNodeSelected = (HTMLArea.is_ie && ((selection.type !== "Control" && ancestors[i].innerText === range.text) || (selection.type === "Control" && ancestors[i].innerText === range.item(0).text)))
|| (HTMLArea.is_gecko && ((statusBarSelection === ancestors[i] && ancestors[i].textContent === range.toString()) || (!statusBarSelection && ancestors[i].textContent === range.toString())));
if (fullNodeSelected) {
parent = ancestors[i];
break;
}
}
// Working around bug in Safari selectNodeContents
if (!fullNodeSelected && HTMLArea.is_safari && statusBarSelection && statusBarSelection.textContent === range.toString()) {
fullNodeSelected = true;
parent = statusBarSelection;
}
var fullNodeSelected = (HTMLArea.is_gecko && parent.textContent === range.toString())
|| (HTMLArea.is_ie && parent.innerText === range.text);
}
if (selectionEmpty || fullNodeSelected) {
element = parent;
// Set the color in the style attribute
this.processStyle(dialog, params, element, dialog.arguments.field);
// Remove the span tag if it has no more attribute
(2-2/2)