Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail)
@@ -3577,16 +3577,7 @@
getButton: function(buttonId) {
return this.editor.toolbar.getButton(buttonId);
},
-
/**
- * Arrays of ExtJS config properties that may be used on a button or dropdown in Page TSConfig
- */
- ExtJSProperties: {
- htmlareabutton: [],
- htmlareacombo: ['width', 'listWidth', 'maxHeight' ]
- },
-
- /**
* Registers a button for inclusion in the toolbar
*
* @param object buttonConfiguration: the configuration object of the button:
@@ -3616,9 +3607,10 @@
buttonConfiguration.dimensions.left = buttonConfiguration.dimensions.left ? buttonConfiguration.dimensions.left : this.editorConfiguration.dialogueWindows.defaultPositionFromLeft;
}
buttonConfiguration.hidden = buttonConfiguration.hide;
- // Copy ExtJS properties for the button
+ // Apply additional ExtJS config properties set in Page TSConfig
+ // May not always work for values that must be integers
if (this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[buttonConfiguration.id]]) {
- buttonConfiguration = Ext.copyTo(buttonConfiguration, this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[buttonConfiguration.id]], this.ExtJSProperties['htmlareabutton']);
+ Ext.applyIf(buttonConfiguration, this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[buttonConfiguration.id]]);
}
if (this.editorConfiguration.registerButton(buttonConfiguration)) {
var hotKey = buttonConfiguration.hotKey ? buttonConfiguration.hotKey :
@@ -3661,8 +3653,10 @@
dropDownConfiguration.plugins = this;
dropDownConfiguration.hidden = dropDownConfiguration.hide;
dropDownConfiguration.xtype = 'htmlareacombo';
+ // Apply additional ExtJS config properties set in Page TSConfig
+ // May not always work for values that must be integers
if (this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[dropDownConfiguration.id]]) {
- dropDownConfiguration = Ext.copyTo(dropDownConfiguration, this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[dropDownConfiguration.id]], this.ExtJSProperties['htmlareacombo']);
+ Ext.applyIf(dropDownConfiguration, this.editorConfiguration.buttons[this.editorConfiguration.convertButtonId[dropDownConfiguration.id]]);
}
return this.editorConfiguration.registerButton(dropDownConfiguration);
} else {
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockElements/block-elements.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockElements/block-elements.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockElements/block-elements.js (copie de travail)
@@ -123,14 +123,19 @@
var dropDownConfiguration = {
id: buttonId,
tooltip: this.localize(buttonId + "-Tooltip"),
- width: (this.buttonsConfiguration.formatblock && this.buttonsConfiguration.formatblock.width) ? this.buttonsConfiguration.formatblock.width : 200,
- listWidth: (this.buttonsConfiguration.formatblock && this.buttonsConfiguration.formatblock.listWidth) ? this.buttonsConfiguration.formatblock.listWidth : 200,
- maxHeight: (this.buttonsConfiguration.formatblock && this.buttonsConfiguration.formatblock.maxHeight) ? this.buttonsConfiguration.formatblock.maxHeight : 300,
options: (this.buttonsConfiguration.formatblock ? this.buttonsConfiguration.formatblock.data : null),
action: "onChange"
};
+ if (this.buttonsConfiguration.formatblock) {
+ dropDownConfiguration.width = this.buttonsConfiguration.formatblock.width ? parseInt(this.buttonsConfiguration.formatblock.width, 10) : 200;
+ if (this.buttonsConfiguration.formatblock.listWidth) {
+ dropDownConfiguration.listWidth = parseInt(this.buttonsConfiguration.formatblock.listWidth, 10);
+ }
+ if (this.buttonsConfiguration.formatblock.maxHeight) {
+ dropDownConfiguration.maxHeight = parseInt(this.buttonsConfiguration.formatblock.maxHeight, 10);
+ }
+ }
this.registerDropDown(dropDownConfiguration);
-
/*
* Establishing the list of allowed block elements
*/
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockStyle/block-style.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockStyle/block-style.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockStyle/block-style.js (copie de travail)
@@ -122,14 +122,20 @@
id: dropDownId,
tooltip: this.localize(dropDownId + '-Tooltip'),
fieldLabel: fieldLabel,
- width: this.pageTSconfiguration.width ? this.pageTSconfiguration.width : 'auto',
- listWidth: this.pageTSconfiguration.listWidth ? this.pageTSconfiguration.listWidth : 250,
- maxHeight: this.pageTSconfiguration.maxHeight ? this.pageTSconfiguration.maxHeight : 300,
options: [[this.localize('No style'), 'none']],
action: 'onChange',
storeFields: [ { name: 'text'}, { name: 'value'}, { name: 'style'} ],
tpl: '{text}
'
};
+ if (this.pageTSconfiguration.width) {
+ dropDownConfiguration.width = parseInt(this.pageTSconfiguration.width, 10);
+ }
+ if (this.pageTSconfiguration.listWidth) {
+ dropDownConfiguration.listWidth = parseInt(this.pageTSconfiguration.listWidth, 10);
+ }
+ if (this.pageTSconfiguration.maxHeight) {
+ dropDownConfiguration.maxHeight = parseInt(this.pageTSconfiguration.maxHeight, 10);
+ }
this.registerDropDown(dropDownConfiguration);
return true;
},
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/Language/language.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/Language/language.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/Language/language.js (copie de travail)
@@ -113,11 +113,18 @@
id : buttonId,
tooltip : this.localize(buttonId + "-Tooltip"),
options : options,
- action : "onChange",
- listWidth : 200
+ action : "onChange"
};
+ if (this.buttonsConfiguration.language) {
+ dropDownConfiguration.width = this.buttonsConfiguration.language.width ? parseInt(this.buttonsConfiguration.language.width, 10) : 200;
+ if (this.buttonsConfiguration.language.listWidth) {
+ dropDownConfiguration.listWidth = parseInt(this.buttonsConfiguration.language.listWidth, 10);
+ }
+ if (this.buttonsConfiguration.language.maxHeight) {
+ dropDownConfiguration.maxHeight = parseInt(this.buttonsConfiguration.language.maxHeight, 10);
+ }
+ }
this.registerDropDown(dropDownConfiguration);
-
return true;
},
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectFont/select-font.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectFont/select-font.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/SelectFont/select-font.js (copie de travail)
@@ -97,6 +97,17 @@
action: "onChange",
tpl: this.disablePCexamples ? '' : '{text}
'
};
+ if (this.buttonsConfiguration[dropDown[2]]) {
+ if (this.editorConfiguration.buttons[dropDown[2]].width) {
+ dropDownConfiguration.width = parseInt(this.editorConfiguration.buttons[dropDown[2]].width, 10);
+ }
+ if (this.editorConfiguration.buttons[dropDown[2]].listWidth) {
+ dropDownConfiguration.listWidth = parseInt(this.editorConfiguration.buttons[dropDown[2]].listWidth, 10);
+ }
+ if (this.editorConfiguration.buttons[dropDown[2]].maxHeight) {
+ dropDownConfiguration.maxHeight = parseInt(this.editorConfiguration.buttons[dropDown[2]].maxHeight, 10);
+ }
+ }
this.registerDropDown(dropDownConfiguration);
return true;
}, this);
Index: typo3/sysext/rtehtmlarea/htmlarea/plugins/TextStyle/text-style.js
===================================================================
--- typo3/sysext/rtehtmlarea/htmlarea/plugins/TextStyle/text-style.js (révision 7037)
+++ typo3/sysext/rtehtmlarea/htmlarea/plugins/TextStyle/text-style.js (copie de travail)
@@ -121,16 +121,21 @@
id: buttonId,
tooltip: this.localize(buttonId + '-Tooltip'),
fieldLabel: fieldLabel,
- width: this.pageTSconfiguration.width ? this.pageTSconfiguration.width : 'auto',
- listWidth: this.pageTSconfiguration.listWidth ? this.pageTSconfiguration.listWidth : 250,
- maxHeight: this.pageTSconfiguration.maxHeight ? this.pageTSconfiguration.maxHeight : 300,
options: [[this.localize('No style'), 'none']],
action: 'onChange',
storeFields: [ { name: 'text'}, { name: 'value'}, { name: 'style'} ],
tpl: '{text}
'
};
+ if (this.pageTSconfiguration.width) {
+ dropDownConfiguration.width = parseInt(this.pageTSconfiguration.width, 10);
+ }
+ if (this.pageTSconfiguration.listWidth) {
+ dropDownConfiguration.listWidth = parseInt(this.pageTSconfiguration.listWidth, 10);
+ }
+ if (this.pageTSconfiguration.maxHeight) {
+ dropDownConfiguration.maxHeight = parseInt(this.pageTSconfiguration.maxHeight, 10);
+ }
this.registerDropDown(dropDownConfiguration);
-
return true;
},