Index: typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php
===================================================================
--- typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php (révision 10509)
+++ typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php (copie de travail)
@@ -845,12 +845,15 @@
RTEarea[editornumber].showTagFreeClasses = ' . (trim($this->thisConfig['showTagFreeClasses'])?'true':'false') . ';
RTEarea[editornumber].useHTTPS = ' . ((trim(stristr($this->siteURL, 'https')) || $this->thisConfig['forceHTTPS'])?'true':'false') . ';
RTEarea[editornumber].tceformsNested = ' . (is_object($this->TCEform) && method_exists($this->TCEform, 'getDynNestedStack') ? $this->TCEform->getDynNestedStack(true) : '[]') . ';
- RTEarea[editornumber].dialogueWindows = new Object();
- RTEarea[editornumber].dialogueWindows.defaultPositionFromTop = ' . (isset($this->thisConfig['dialogueWindows.']['defaultPositionFromTop'])? intval($this->thisConfig['dialogueWindows.']['defaultPositionFromTop']) : '100') . ';
- RTEarea[editornumber].dialogueWindows.defaultPositionFromLeft = ' . (isset($this->thisConfig['dialogueWindows.']['defaultPositionFromLeft'])? intval($this->thisConfig['dialogueWindows.']['defaultPositionFromLeft']) : '100') . ';
- RTEarea[editornumber].dialogueWindows.doNotResize = ' . (trim($this->thisConfig['dialogueWindows.']['doNotResize'])?'true':'false') . ';
- RTEarea[editornumber].dialogueWindows.doNotCenter = ' . (trim($this->thisConfig['dialogueWindows.']['doNotCenter'])?'true':'false') . ';';
-
+ RTEarea[editornumber].dialogueWindows = new Object();';
+ if (isset($this->thisConfig['dialogueWindows.']['defaultPositionFromTop'])) {
+ $configureRTEInJavascriptString .= '
+ RTEarea[editornumber].dialogueWindows.positionFromTop = ' . intval($this->thisConfig['dialogueWindows.']['defaultPositionFromTop']) . ';';
+ }
+ if (isset($this->thisConfig['dialogueWindows.']['defaultPositionFromLeft'])) {
+ $configureRTEInJavascriptString .= '
+ RTEarea[editornumber].dialogueWindows.positionFromLeft = ' . intval($this->thisConfig['dialogueWindows.']['defaultPositionFromLeft']) . ';';
+ }
// The following properties apply only to the backend
if (!$this->is_FE()) {
$configureRTEInJavascriptString .= '
Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 10508)
+++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail)
@@ -4530,30 +4530,26 @@
*/
getWindowDimensions: function (dimensions, buttonId) {
// Apply default dimensions
- var dialogueWindowDimensions = {
+ this.dialogueWindowDimensions = {
width: 250,
- height: 250,
- top: this.editorConfiguration.dialogueWindows.defaultPositionFromTop,
- left: this.editorConfiguration.dialogueWindows.defaultPositionFromLeft
+ height: 250
};
+ // Apply default values as per PageTSConfig
+ if (this.editorConfiguration.dialogueWindows) {
+ Ext.apply(this.dialogueWindowDimensions, this.editorConfiguration.dialogueWindows);
+ }
// Apply dimensions as per button registration
if (this.editorConfiguration.buttonsConfig[buttonId]) {
- Ext.apply(dialogueWindowDimensions, this.editorConfiguration.buttonsConfig[buttonId].dimensions);
+ Ext.apply(this.dialogueWindowDimensions, this.editorConfiguration.buttonsConfig[buttonId].dimensions);
}
// Apply dimensions as per call
- Ext.apply(dialogueWindowDimensions, dimensions);
+ Ext.apply(this.dialogueWindowDimensions, dimensions);
// Overrride dimensions as per PageTSConfig
var buttonConfiguration = this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[buttonId]];
if (buttonConfiguration && buttonConfiguration.dialogueWindow) {
- Ext.apply(dialogueWindowDimensions, buttonConfiguration.dialogueWindow);
- if (buttonConfiguration.dialogueWindow.top) {
- dialogueWindowDimensions.top = buttonConfiguration.dialogueWindow.positionFromTop;
- }
- if (buttonConfiguration.dialogueWindow.left) {
- dialogueWindowDimensions.left = buttonConfiguration.dialogueWindow.positionFromLeft;
- }
+ Ext.apply(this.dialogueWindowDimensions, buttonConfiguration.dialogueWindow);
}
- return dialogueWindowDimensions;
+ return this.dialogueWindowDimensions;
},
/**
***********************************************
@@ -4621,6 +4617,9 @@
// Close the window if the editor changes mode
this.dialog.mon(this.editor, 'modeChange', this.close, this, {single: true });
this.saveSelection();
+ if (typeof(this.dialogueWindowDimensions) !== 'undefined') {
+ this.dialog.setPosition(this.dialogueWindowDimensions.positionFromLeft, this.dialogueWindowDimensions.positionFromTop);
+ }
this.dialog.show();
this.restoreSelection();
},